【对比学习】【论文翻译】Contrastive Multiview Coding

在这里插入图片描述
Contrastive Multiview Coding
ECCV 2020

0.论文摘要和作者信息

摘要

人类通过许多感官通道观察世界,例如,由左眼观察的长波长光通道,或由右耳听到的高频振动通道。每个视图都是嘈杂和不完整的,但重要的因素,如物理、几何和语义,往往在所有视图之间共享(例如,可以看到、听到和感觉到一只“狗”)。我们研究了一个经典的假设,即一个强大的表示是一个模型视图不变的因素。我们在多视图对比学习的框架下研究这一假设,在多视图对比学习的框架下,我们学习一种旨在最大化同一场景的不同视图之间的互信息的表示,但在其他方面是紧凑的。我们的方法可以扩展到任意数量的视图,并且是视图不可知的。我们分析了使其工作的方法的关键属性,发现对比损失优于基于交叉视图预测的流行替代方案,并且我们从更多的视图中学习,结果表示越好地捕捉潜在的场景语义。我们的方法在图像和视频无监督学习基准上实现了最先进的结果。

1.研究背景

编码理论中的一个基本思想是学习压缩的表示,但仍然可以用来重建原始数据。这种想法以自动编码器[65]和生成模型[40,24]的形式出现在当代表示学习中,它们试图尽可能无损地表示数据点或分布。然而,无损表示可能不是我们真正想要的,而且实现起来确实很简单——原始数据本身就是无损表示。相反,我们可能更喜欢保留“好的”信息(信号),扔掉其余的(噪音)。我们如何识别什么信息是信号,什么是噪声?

对于自动编码器或最大似然生成模型,位就是位。没有一个比另一个更好。我们在本文中的推测是,有些比特实际上比其他比特更好。一些比特编码重要的属性,如语义、物理和几何,而另一些比特编码我们可能认为不太重要的属性,如附带照明相机传感器中的条件或热噪声

我们重温了经典的假设,即好的部分是在世界的多种观点之间共享的,例如在视觉、声音和触觉等多种感官形态之间[70]。在这种观点下,“狗的存在”是好的信息,因为狗可以被看到、听到和感觉到,但“相机姿势”是坏的信息,因为相机姿势对成像场景的声学和触觉属性影响很小或没有影响。这个假设对应于一种归纳偏见,即你看待一个场景的方式不应该影响它的语义。认知科学和神经科学文献中有重要证据表明,这种视图不变的表征是由大脑编码的(例如[70,15,32])。在本文中,我们专门研究了不同视图是不同图像通道的设置,如亮度、色度、深度和光流。我们利用的基本监督信号是在自然数据中,同一场景的多个视图的共现。例如,我们将Lab颜色空间中的图像视为场景的两个视图(L视图和ab视图)共现的成对示例:{L,ab}。

因此,我们的目标是学习能够捕捉在多个感觉通道之间共享的信息,但在其他方面是紧凑的(即,丢弃通道特定的干扰因素)。为此,我们采用对比学习,其中我们学习特征嵌入,使得同一场景的视图映射到附近的点(用表示空间中的欧几里德距离测量),而不同场景的视图映射到相距较远的点。特别是,我们采用了最近提出的对比预测编码(CPC)[57]方法,只是我们简化了它——删除了递归网络——并对其进行了推广——展示了如何将其应用于图像通道的任意集合,而不仅仅是时间或空间预测。关于CPC,我们将我们的方法称为对比多视图编码(CMC),尽管我们注意到我们的公式可以说同样与实例区分相关[79]。我们公式中的对比目标,如CPC和实例区分,可以理解为试图最大化数据的多个视图的表示之间的互信息。

我们有意只对“好的比特”进行松散的定义,并将其定义视为一个经验问题。最终,证据就在布丁里:我们认为一个表示是好的,如果它能使人类感兴趣的任务的后续问题解决变得容易。例如,图像的一个有用的表示可能是一个特征空间,在这个空间中很容易学会识别对象。因此,我们通过测试学习到的表征是否能很好地转移到标准的语义识别任务来评估我们的方法。在几个基准任务上,与其他用于自我监督表征学习的方法相比,我们的方法取得了与现有技术相竞争的结果。我们还发现,表示的质量随着用于训练的视图数量的增加而提高。最后,我们将多视图学习的对比公式与最近流行的交叉视图预测方法进行了比较,发现在面对面的比较中,对比方法学习了更强的表示。

我们建立的核心思想:对比学习、互信息最大化和深度表征学习,并不新鲜,已经在表征和多视图学习的文献中探索了几十年[64,45,80,3]。我们的主要贡献是建立一个框架,将这些想法扩展到任何数量的视图,并在这个框架中实证研究导致成功的因素。第2节对相关文献进行了综述;并且图1给出了我们的框架的图示概览。我们的主要贡献是:

在这里插入图片描述
图1:给定一组感官视图,通过在嵌入空间中将同一场景的视图组合在一起,同时将不同场景的视图分开,来学习深度表示。在这里,我们展示了一个4视图数据集(NYU RGBD[53])及其学习表示的例子。每个视图的编码可以被连接以形成场景的完整表示。

•我们将对比学习应用于多视图设置,试图最大化同一场景的不同视图之间的相互信息(特别是不同图像通道之间的相互信息)。
•我们扩展了框架,从两个以上的视图中学习,并表明学习到的表示的质量随着视图数量的增加而提高。我们的作品第一次明确展示了多种视图对表现质量的好处。
•我们进行对照实验,以测量互信息估计对表征质量的影响。我们的实验表明,互信息和视图之间的关系是微妙的。
•我们的表述可与流行基准的最先进技术相媲美。
•我们证明对比目标优于交叉视图预测。

2.相关工作

无监督表示学习是关于学习数据的转换,使随后的问题解决更容易[7]。这个领域有着悠久的历史,从具有成熟算法的经典方法开始,如主成分分析(PCA[37])和独立成分分析(ICA[33])。这些方法倾向于学习关注数据中低级变化的表示,从对象识别等下游任务的角度来看,这不是很有用。

更适合这些任务的表示已经使用深度神经网络学习,从开创性的技术开始,如玻尔兹曼机[71,65],自动编码器[30],变分自动编码器[40],生成对抗网络[24]和自回归模型[56]。还有许多其他的作品,综述见[7]。在“自我监督”学习的保护伞下收集了一个强大的无监督表征模型家族[64,35,85,84,78,60,83]。在这些模型中,模型的输入X被转换成输出 X ^ \hat{X} X^,它应该接近另一个信号Y(通常在欧几里得空间中),而另一个信号Y本身以某种有意义的方式与X相关。这种X/Y对的例子是:图像的亮度和色度颜色通道[85],来自单个图像的补丁[57],诸如视觉和声音的模态[58]或视频的帧[78]。显然,这样的例子在世界上数不胜数,并为我们提供了几乎无限量的训练数据:这是这种范式的吸引力之一。时间对比网络[68]使用三重损失框架从由不同摄像机拍摄的同一场景的对齐视频序列中学习表示。与自我监督学习密切相关的是多视图学习的思想,这是一个通用术语,涉及许多不同的方法,如共同训练[8],多核学习[13]和度量学习[6,87];有关综述,请参见[80,45]。几乎所有现有的作品都处理过一两种视图,如视频或图像/声音。然而,在许多情况下,更多的视图可用于为任何表示提供训练信号。

在上述许多方法中,用于训练基于深度学习的表示的目标函数或者是基于重建的损失函数,例如不同范数中的欧几里德损失,例如[34],除了表示之外还学习损失的对抗性损失函数[24],或者是利用多个视图的共现的对比损失,例如[26,81,72,25,31,57,3,29,36]。

一些与我们自己的工作最相似(并对我们有启发)的先前工作是对比预测编码(CPC)[57]、Deep InfoMax[31]和实例辨别[79]。这些方法和我们的方法一样,通过对比场景的一致和不一致表示来学习表示。CPC从两个角度学习——过去和未来,适用于空间或时间上的顺序数据。Deep Infomax[31]认为这两个视图是神经网络的输入和输出。实例辨别学习匹配同一图像的两个子裁剪。CPC和Deep InfoMax最近分别在[29]和[4]中进行了扩展。这些方法都有相似的数学目标,但视图的定义不同。我们的方法在以下方面与这些工作不同:我们将目标扩展到两个以上视图的情况,并且我们探索了一组不同的视图定义、架构和应用程序设置。此外,我们对这种表征学习范式进行了独特的实证研究。

对比学习的思想也开始传播到各种其他领域的许多其他任务中[74,86,61,76,48,38,75]。

3.方法

让V1和V2代表一个数据集的两个视图。例如,V1可能是特定图像的亮度,V2可能是色度。我们将预测学习设置定义为通过潜在变量z从v1到v2的深度非线性变换,如图2所示。

在这里插入图片描述

图2:预测学习与对比学习。交叉视图预测(Top)学习从一个视图预测另一个视图的潜在表示,在输出空间中测量损失。常见的预测损失,如L1和L2范数,是非结构化的,因为它们独立地惩罚每个输出维度,可能导致表示不能捕获视图之间的所有共享信息。在对比学习中(下图),通过对比一致和不一致的观点来学习表征,在表征空间中测量损失。红色虚线表示损失函数的应用位置。

形式上, z = f ( v 1 ) z = f(v_1) z=f(v1) v ^ 2 = g ( z ) \hat{v}_2 = g(z) v^2=g(z),其中f和g分别代表编码器和解码器,而 v ^ 2 \hat{v}_2 v^2是给定 v 1 v_1 v1 v 2 v_2 v2的预测值。然后使用目标函数训练编码器和解码器模型的参数,该目标函数试图使 v ^ 2 \hat{v}_2 v^2“接近” v 2 v_2 v2。这种目标的简单例子包括 L 1 \mathcal{L}_1 L1 L 2 \mathcal{L}_2 L2损失函数。注意,这些目标假定在给定 v 1 v_1 v1 v 2 v_2 v2的每个像素或元素之间是独立的,例如, p ( v 2 ∣ v 1 ) = ∏ i p ( v 2 i ∣ v 1 ) p(v_2|v_1) = \prod_ip(v_{2i}|v_1) p(v2v1)=ip(v2iv1),从而降低了它们对相关性或复杂结构建模的能力。预测方法已广泛用于表征学习,例如,彩色化[84,85]和从视觉预测声音[58]。

3.2两视图下的对比学习

对比学习背后的想法是学习从两个不同分布中分离(对比)样本的嵌入。给定由 { v 1 i , v 2 i } i = 1 N \{v^i_1, v^i_2\}^N_{i=1} {v1i,v2i}i=1N样本集合组成的 V 1 V_1 V1 V 2 V_2 V2数据集,我们考虑对比全等和不全等对,即来自联合分布 x ∼ p ( v 1 , v 2 ) x ∼ p(v_1, v_2) xp(v1,v2) x = { v 1 i , v 2 i } x = \{v^i_1, v^i_2\} x={v1i,v2i}的样本,我们称之为正,而来自边际乘积 y ∼ p ( v 1 ) p ( v 2 ) y ∼ p(v_1)p(v_2) yp(v1)p(v2) y = { v 1 j , v 2 j } y = \{v^j_1, v^j_2\} y={v1j,v2j}的样本,我们称之为负。

我们学习一个“critic”(一个判别函数) h θ ( ⋅ ) h_θ(·) hθ(),它被训练成对正对达到高值,对负对达到低值。类似于最近的对比学习设置[57,25,51],我们训练该函数从包含k个负样本的集合 S = { x , y 1 , y 2 , . . . , y k } S = \{x, y_1, y_2, ..., y_k\} S={x,y1,y2,...,yk}中正确地选择单个正样本x:

在这里插入图片描述
为了构造S,我们只需固定一个视图,并从另一个视图枚举正样本和负样本,这样我们就可以将目标重写为:

在这里插入图片描述
其中k是给定样本 v 1 1 v_1^1 v11的负样本数 v 2 j v^j_2 v2j。实际上,k可能非常大(例如,ImageNet中的120万),因此直接最小化等式2是不可行的。在第3.4节中,我们展示了两个允许易处理计算的近似值。

我们将critich h θ ( ⋅ ) h_θ(·) hθ()实现为一个神经网络。为了提取 v 1 v_1 v1 v 2 v_2 v2的紧致潜在表示,我们使用了两个编码器 f θ 1 ( ⋅ ) f_{θ_1}(·) fθ1() f θ 2 ( ⋅ ) f_{θ_2}(·) fθ2(),分别具有参数 θ 1 θ_1 θ1 θ 2 θ_2 θ2。潜在的表征被提取为 z 1 = f θ 1 ( v 1 ) z_1 = f_{θ_1}(v_1) z1=fθ1(v1) z 2 = f θ 2 ( v 2 ) z_2 = f_{θ_2}(v_2) z2=fθ2(v2)。我们计算它们的余弦相似度作为分数,并通过超参数 τ τ τ调整其动态范围:

在这里插入图片描述

等式2中的损失 L c o n t r a s t V 1 , V 2 \mathcal{L}^{V_1,V_2}_{contrast} LcontrastV1,V2将视图 V 1 V_1 V1视为锚点,并在 V 2 V_2 V2上枚举。对称地,我们可以通过锚定 V 2 V_2 V2得到 L c o n t r a s t V 2 , V 1 \mathcal{L}^{V_2,V_1}_{contrast} LcontrastV2,V1。我们把它们加起来作为我们的双视图损失:

在这里插入图片描述
在对比学习阶段之后,我们使用表示 z 1 z_1 z1 z 2 z_2 z2,或者两者的连接, [ z 1 , z 2 ] [z_1, z_2] [z1,z2],这取决于我们的范式。该过程在图1中可视化。

在这里插入图片描述
图1:给定一组感官视图,通过在嵌入空间中将同一场景的视图组合在一起,同时将不同场景的视图分开,来学习深度表示。在这里,我们展示了一个4视图数据集(NYU RGBD[53])及其学习表示的例子。每个视图的编码可以被连接以形成场景的完整表示。

与互信息相联系,最优critic h θ ∗ h^∗_θ hθ与联合分布 p ( z 1 , z 2 ) p(z_1, z_2) p(z1,z2)和边际 p ( z 1 ) p ( z 2 ) p(z_1)p(z_2) p(z1)p(z2)的乘积之间的密度比成正比(补充材料中提供了证明):

在这里插入图片描述这个量是等式2中的逐点互信息及其期望,产生与互信息相关的估计量。[57,62]给出了一个正式的证明,我们在补充中对其进行了概括,表明:

在这里插入图片描述

其中,如上所述,k是样本集S中负样本的数量。因此,最小化目标 L \mathcal{L} L最大化了互信息 I ( z i ; z j ) I(z_i; z_j) I(zi;zj),其在上面由 I ( v i ; v j ) I(v_i; v_j) I(vi;vj)通过数据处理不等式。对k的依赖也表明使用更多的负样本可以导致改进的表示;我们证明情况确实如此(见附录)。我们注意到最近的工作[47]表明等式6中的界限可以很弱;寻找更好的互信息估计器是一个重要的公开问题。

3.3 多视图对比学习

我们给出了等式2的更一般的公式,它可以处理任意数量的视图。我们称之为“核心视图”和“全图”范例,它们在效率和有效性之间提供了不同的权衡。这些公式在图3中可视化。

在这里插入图片描述
图3:与核心视图和完整图形范例相关联的图形模型和信息图[1],对于4个视图的情况,总共给出了6个学习目标。区域内的数字显示了总损失对每个信息分区的“权重”(即该分区对6个目标中的多少有贡献)。没有数字的区域对应于0权重。例如,在完整图的情况下,所有4个视图之间的互信息在所有6个目标中被考虑,因此用数字6标记。

假设我们有一个M视图的集合 V 1 , . . . , V M V_1, . . . , V_M V1,...,VM。“核心视图”公式将我们想要优化的一个视图分开,比如说 V 1 V_1 V1,并通过优化一组成对目标的总和,在 V 1 V_1 V1和其他视图 V j , j > 1 V_j, j > 1 Vj,j>1之间构建成对表示:

在这里插入图片描述
第二个更一般的公式是“全图”,其中我们考虑所有对 ( i , j ) (i, j) (i,j) i ≠ j i \neq j i=j,并在所有对中建立 ( n 2 ) \left( \begin{array}{c} n\\2 \end{array} \right) (n2)个关系。通过涉及所有对,我们优化的目标函数是:

在这里插入图片描述
这两种表述的效果都是,信息的优先级与共享该信息的视图数量成比例。这可以在图3中可视化的信息图中看到。图中每个分区中的数字表示该分区贡献了多少成对目标 L ( V i , V j ) \mathcal{L}(V_i, V_j) L(Vi,Vj)。在核心视图和全图目标下,所有视图共有的因素(如“狗的存在”)将优于影响较少视图的因素(如“深度传感器噪声”)。

全图公式中二元评分函数的计算成本在视图数量上是组合的。然而,从图3可以清楚地看出,这使得完整的图形公式能够捕获不同视图之间的更多信息,这对于下游任务可能是有用的。例如,在核心视图范例中, V 2 V_2 V2 V 3 V_3 V3 V 2 V_2 V2 V 4 V_4 V4之间的互信息被完全忽略(如信息图中的0计数所示)。全图公式的另一个好处是,它可以以自然的方式处理缺失的信息(例如,缺失的视图)。

3.4 实现对比损失

在方程2中使用 L c o n t r a s t V 1 , V 2 \mathcal{L}^{V_1,V_2}_{contrast} LcontrastV1,V2的更好的表示是通过使用许多负样本来学习的。在极端情况下,我们将每个数据样本都包含在给定数据集的分母中。然而,对于ImageNet这样的大型数据集来说,计算完整的softmax损失非常昂贵。近似这种完整的softmax分布以及减轻计算负荷的一种方法是使用噪声对比估计[25,79](见补充)。我们在这里也采用的另一种解决方案是随机采样m个负样本,并进行简单的(m+1)路softmax分类。[4,29,27]中也使用了这种策略,并且可以追溯到[72]。

记忆银行。根据[79],我们维护一个记忆库来存储每个训练样本的潜在特征。因此,我们可以有效地从内存缓冲区中检索m个负样本,以与每个正样本配对,而无需重新计算它们的特征。用动态计算的特征动态地更新存储器库。内存库的好处是允许与更多的负对进行对比,代价是稍微陈旧的特征。

4.实验

在[84]之后,我们通过在不同层之上训练1000路线性分类器来评估学习表示的任务泛化。这是一个标准基准,已被文献中的许多论文采用。

4.1.1 设置

给定RGB图像的数据集,我们将它们转换到Lab图像颜色空间,并将每个图像分成L和ab通道,正如最初在SplitBrain autoencoders[85]中提出的那样。在对比学习过程中,来自同一图像的L和ab被视为正对,来自其他随机选择的图像的ab通道被视为负对(对于给定的L)。每个分割代表原始图像的视图,并通过单独的编码器传递。与SplitBrain一样,我们通过将给定的深度网络(如AlexNet[43])平均分割成跨信道维度的子网络来设计这两个编码器。通过逐层连接来自这两个编码器的表示,我们实现了输入图像的最终表示。如先前文献[57,31,3,87,79]所提出的,通过冻结编码器的权重并在每层顶部训练线性分类器来评估这种表示的质量。

4.1.2 实现

除非另有说明,我们使用PyTorch[59]默认数据扩充。根据[79],我们将温度 τ τ τ设置为0.07,并使用动量0.5进行内存更新。我们用了16384张负样本。补充材料提供了关于超参数设置的更多细节。

4.1.3 CMC with AlexNet

由于许多以前的无监督方法是在ImageNet[16,42,17,84,54,18,85,55,22,11,83]上用AlexNet[43]评估的,我们也包括了使用该网络的CMC的结果。由于篇幅有限,我们在补充材料中介绍了这一比较。

4.1.4 CMC with ResNets

我们用ResNets等大型网络验证了CMC的有效性[28]。我们在两个色彩空间 { L , a b } \{L,ab\} {Lab} { Y , D b D r } \{Y,DbDr\} {YDbDr}中进行了从亮度和色度视图中学习的实验(参见第4.4节以验证此选择),并且我们为每个视图改变ResNet编码器的宽度。我们使用全局池化层后的特征来训练线性分类器,结果如表1所示。 { L , a b } \{L,ab\} {Lab}对于每个视图使用ResNet50x2实现了68.3%的top-1单裁剪准确度,切换到 { Y , D b D r } \{Y,DbDr\} {YDbDr}进一步带来了0.7%的改进。最重要的是,使用RandAugment[14]加强数据扩充会产生比其他最先进的方法更好或相当的结果[41,79,87,27,49,19,29,4]。

在这里插入图片描述
表1 ImageNet上使用监督逻辑回归分类器的Top-1 / Top-5 单一crop分类准确度(%)。我们使用具有不同宽度的ResNet50作为两个视图(例如L和ab)的编码器来评估CMC。“RA”代表随机增加[14]。

4.2 CMC on videos

我们通过从双流假说[67,23]中汲取洞察力,将CMC应用于视频,该假说假设人类视觉皮层由两个不同的处理流组成:执行物体识别的腹侧流和处理运动的背侧流。在我们的公式中,给定一个图像 i t i_t it是以时间t为中心的帧,腹侧流将其与相邻帧 i t + k i_{t+k} it+k相关联,而背侧流将其连接到以t为中心的光流 f t f_t ft。因此,我们从两个模态中提取 i t i_t it i t + k i_{t+k} it+k f t f_t ft作为一个视频的三个视图;对于光流,我们使用TV-L1算法[82]。在腹侧流 ( i t , i t + k ) (i_t,i_{t+k}) itit+k和背侧流 ( i t , f t ) (i_t, f_t) (it,ft)中建立了两个独立的对比学习目标。对于腹侧流,从另一个随机选择的视频中选择其负样本作为随机帧;对于背侧流,它的负样本被选择为对应于另一个随机选择的视频中的随机帧的流。

4.2.1 预训练

我们在UCF101[73]上训练CMC,并使用两个CaffeNets[43]分别从图像和光流中提取特征。在我们的实现中, f t f_t ft代表以t为中心的10个连续流帧。我们使用128的批量大小,并将每个正样本对与127个负样本对进行对比。

4.2.2 动作识别

我们将学习的表征应用于动作识别的任务。[69]中的空间网络是用于评估动作识别任务的预训练RGB网络的成熟范例。我们遵循同样的精神,在UCF101和HMDB51数据集上评估我们的RGB CaffeNet的可转移性。我们使用来自预训练的RGB CaffeNet的权重将动作识别CaffeNet初始化到conv5。三次分割的平均精度如表2所示。在预训练期间统一腹侧和背侧流比仅使用单个流产生更高的下游识别准确性。将数据视图的数量从2个增加到3个(使用两个流而不是一个流)为UCF-101提供了动力。

在这里插入图片描述
表2:评估任务可转移性的UCF-101和评估任务和数据集可转移性的HMDB-51的测试准确性(%)。大多数方法要么使用单一的RGB视图,要么使用额外的光流视图,而VGAN将声音作为第二视图。*表示不同的网络体系结构。

4.3 将CMC扩展到更多视图

我们进一步将我们的CMC学习框架扩展到多视图场景。我们在由1449幅标记图像组成的NYU-Depth-V2[53]数据集上进行实验。我们专注于更深入地了解CMC的行为和有效性。我们考虑的视图有:亮度(L通道)、色度(ab通道)、深度、表面法线[20]和语义标签。

设置。为了从每个视图中提取特征,我们使用具有5个卷积层和2个完全连接层的神经网络。由于数据集的规模相对较小,我们采用基于子图块的对比目标(见附录)来增加负样本的数量。从原始图像中随机裁剪尺寸为128 × 128的图块,用于对比学习(从尺寸为480 × 640的图像中)。对于下游任务,我们丢弃全连接层,并使用卷积层作为表示进行评估。

4.3.1 表示质量是否随着视图数量的增加而提高?

为了测量学习表征的质量,我们考虑从L的表征预测语义标签的任务。我们遵循核心视图范式,并使用L作为核心视图,从而通过将不同视图与L进行对比来学习一组表示。UNet风格的架构[63]用于执行分割任务。对比训练是在上述相当于UNet编码器的架构上进行的。在对比训练完成后,我们从L编码器(它们是等价的架构)初始化UNet的编码器权重,并保持它们冻结。在这个微调阶段,只有解码器被训练。

由于我们使用基于patch的对比损失,在1视图设置的情况下,CMC与DIM重合[31]。2-4个视图案例将L与ab进行对比,然后依次添加深度和表面法线。如图4所示,通过所有类别的平均IoU和像素精度来测量语义标记结果。我们看到,随着新视图的添加,性能稳步提高。我们测试了添加视图的不同顺序,它们都遵循相似的模式。

在这里插入图片描述
图4:我们显示了NYU-Depth-V2数据集的并集交集(IoU)(左)和像素精度(右),因为CMC使用从1到4的越来越多的视图进行训练。随着更多视图的添加,这两个指标都在稳步增长。视图为(按包含顺序):L、ab、深度和表面法线。

我们还将CMC与两个基线进行了比较。首先,我们随机初始化并冻结编码器,我们称之为随机基线;它作为质量的下限,因为表示只是一个随机投影。而不是冻结随机初始化的编码器,我们可以与解码器一起训练它。这个端到端监督基线作为上限。结果如表3所示,它显示了我们的CMC生成了高质量的特征图,即使它不知道下游的任务。

在这里插入图片描述
表3:从L通道表示预测语义标签的任务的结果,L通道表示是使用基于patch的对比损失和所有4个视图学习的。我们将CMC与随机基线和监督基线进行比较,随机基线和监督基线分别作为下限和上限。核心视图范例参考图3(a)和图3(b)的全视图。

4.3.2 CMC是否在改善所有视图?

在多个视图或模态上操作的理想的无监督表示学习算法应该提高所有视图的表示质量。因此,我们研究了L通道以外的CMC框架。为了公平地对待所有视图,我们按照全图范式训练这些编码器,其中每个视图都与所有其他视图进行对比。

我们通过仅从v的表示预测语义标签来评估每个视图v的表示,其中v是L、ab、深度或表面法线。这使用了全图范例。与上一节一样,我们将CMC与随机基线和监督基线进行比较。如表4所示,CMC使用全图学习的表示的性能显著优于随机投影表示的性能,并且接近完全监督表示的性能。此外,全图表示提供了一个很好的表示为所有视图学习,显示跨视图捕获不同类型的互信息的重要性。

在这里插入图片描述

表4:使用单视图v预测语义标签的任务性能,其中v可以是L、ab、深度或表面法线。对于所研究的所有视图,我们的CMC框架将无监督表示的质量提高到有监督表示的质量。这使用图3(b)的全图范例。

4.3.3 预测学习与对比学习

虽然第4.1节中的实验表明,在实验室色彩空间的背景下,对比学习优于预测学习[85],但尚不清楚这种优势是否是由于任务本身的自然归纳偏差。为了进一步理解这一点,我们超越了色度(ab),并试图在几何或语义标签存在的情况下回答这个问题。

我们考虑NYU深度数据集上的三个视图对:(1)L和深度,(2)L和表面法线,以及(3)L和分割图。对于它们中的每一个,我们为L训练两个相同的编码器,一个使用对比学习,另一个使用预测学习。然后,我们通过在STL-10数据集上的这些编码器上训练线性分类器来评估表示质量。

比较结果如表5所示,它表明在任务和数据集都未知的情况下,对比学习始终优于预测学习。我们还包括类似于前几节的“随机”和“监督”基线。虽然在无监督阶段,我们只使用来自与目标数据集STL-10大不相同的数据集的1.3 k图像,目标识别精度接近监督方法,监督方法使用直接在STL-10上训练的端到端深度网络。

给定数据的两个视图 V 1 V_1 V1 V 2 V_2 V2,预测学习方法近似建模p(v2v1)。此外,通常用于预测学习的损失,如逐像素重建损失,通常会对建模施加独立性假设: p ( v 2 ∣ v 1 ) = ∏ i p ( v 2 i ∣ v 1 ) p(v_2|v_1) = \prod_ip(v_{2i}|v_1) p(v2v1)=ip(v2iv1)。另一方面,通过构建的对比学习方法并不假设跨 v 2 v_2 v2维度的条件独立性。此外,视图之间的随机抖动和裁剪的使用允许对比学习方法除了跨视图的对比之外,还受益于空间共现(空间中的对比)。我们推测这是对比学习方法优于预测学习的两个原因。

4.4 互信息如何影响表示质量?

给定一组固定的视图,CMC的目标是最大化这些视图的表示之间的互信息。我们已经发现,以这种方式最大化信息确实会产生强表征,但推断信息最大化(infomax)是良好表征学习的关键是不正确的。事实上,本文提出了恰恰相反的观点:交叉视图表示学习是有效的,因为它导致了一种信息最小化,丢弃了视图之间不共享的讨厌因素。

解决这个明显困境的方法是,我们希望在我们的表征中最大化“好”信息——信号,同时最小化“坏”信息——噪音。CMC背后的想法是,这可以通过在共享信号但具有独立噪声的两个视图上进行infomax学习来实现。这暗示了一个“金发姑娘原则”[39]:一个好的观点集合是共享一些信息但不太多的观点。在这里,我们在两个领域测试这个假设:学习形成两种视图的不同色彩空间的图像的表示;以及学习从图像中提取的由变化的空间距离分开的成对斑块的表示。

在patch实验中,我们从同一幅图像中随机裁剪两个大小为64x64的RGB patch,并将这些patch用作两个视图。它们的相对位置是固定的。也就是说,这两个patch总是从位置(x,y)和(x+d,y+d)开始,随机采样(x,y)。当改变距离d时,我们从64开始以避免重叠。存在一种可能的偏差,即对于相对较小尺寸(例如,512x512)的图像,大的d(例如,384)将总是围绕边界推动这两个patch。为了最小化这种偏差,我们使用来自DIV2K[2]数据集的高分辨率图像(例如2k)。

图5示出了这些实验的结果。左图显示了在不同色彩空间上学习表示的结果(将每个色彩空间分成两个视图,如(L,ab),(R,GB)等)。然后,我们使用MINE估计器[5]来估计视图之间的互信息。我们通过在STL-10数据集上对学习的表示训练线性分类器来测量表示质量[12]。这些图清楚地表明,使用具有最小互信息的色彩空间给出了最好的下游精度(对于该图中的异常HSV,我们推测表示质量受到H的周期性的损害。).另一方面,对于在彼此不同偏移的面片之间学习的表示,故事更加微妙(图5,右)。这里我们看到MI太少或太多的视图表现更差;中间存在一个最佳代表点。存在这样一个甜蜜点应该是预期。如果两个视图不共享任何信息,那么原则上,CMC就没有学习任何东西的动力。如果两个视图共享它们的所有信息,就不会丢弃任何麻烦,我们会回到类似于自动编码器或生成模型的东西,它只是试图表示多视图数据中的所有位。

这些实验表明,互信息与表征质量之间的关系是有意义的,但不是直接的。选择共享相关信号的最佳视图可能是未来研究的一个富有成效的方向。

5.总结

我们提出了一个对比学习框架,它能够从数据集的多个视图中学习无监督的表示。互信息最大化的原则使得强大的表示的学习成为可能。大量实证结果表明,与预测学习相比,我们的框架表现良好,并与视图数量成比例。

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量子-Alex

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值