自监督学习 (SSL) 的最新进展在很大程度上缩小了与监督 ImageNet 预训练的差距。尽管这些方法取得了成功,但它们主要应用于未标记的 ImageNet 图像,并且在对较大的未处理图像集进行训练时显示出小的收益。我们假设当前的 SSL 方法在 iconic标志性图像上 表现最佳,而在具有许多对象的复杂的 场景图像上表现不佳。分析对比 SSL 方法表明,它们在场景图像上训练时 视觉基础差 并且 接收到的监督信号差。
我们提出 Contrastive Attention-Supervised Tuning 对比注意力监督调优 (CAST) 来克服这些限制。 CAST 使用无监督显著图对裁剪进行智能采样,并通过 Grad-CAM 注意力损失提供基础监督。在 COCO 上的实验表明,CAST 显著提高了 SSL 方法在场景图像上学习到的特征,进一步的实验表明,CAST 训练的模型对背景变化的鲁棒性更强。
我们的代码可在 https://github.com/salesforce/CAST/ 获得。
近年来,视觉特征表示的自监督学习 (SSL) 引起了极大的兴趣。计算机视觉中的 SSL 旨在在不使用任何人工注释的情况下学习特征表示,这可以用于下游任务,例如监督图像分类 [1, 2]、目标检测 [3, 4] 和语义分割 [5, 6]。最近基于对比学习 [7, 8] 的 SSL 方法已经开始在几个下游任务 [9-14] 上匹配甚至优于监督预训练。
自监督方法的承诺是,它们应该允许我们通过扩展到更大的训练集来学习更好的特征,而不需要昂贵的人工提供的标签。不幸的是,最近 SSL 方法的成功主要局限于来自 ImageNet [2] 训练集的未标记图像。尽管使用比 ImageNet 大几个数量级的图像集(例如 Instagram-1B [15]、YFCC100M [16]、 JFT-300M [17]),但天真地将它们应用于更大的未经整理的互联网图像集已经显示出很小的收益 [11、12、14]。
我们假设当前的 SSL 方法在对单个对象的标志性图像(如 ImageNet 中的图像)进行训练时表现最佳,但在对具有许多对象的更复杂场景图像进行训练时表现较差。事实上,即使在场景图像 [18、19](例如 COCO [20] 或 Places205 [21])的精选数据集上进行训练时,当前的 SSL 方法也会遇到困难。
在本文中,我们分析了对比自监督模型,以了解这些限制的原因并提出克服这些限制的解决方案。具体来说,我们发现现有的对比自监督模型的视觉基础能力较差,并且 当增强视图包含不同的视觉概念 时,它们会接收到不完美的监督信号,这在复杂场景的图像中很常见。
这些问题可能源于使用图像的随机视图训练实例辨别任务的做法。这种做法不鼓励语义理解,并且 模型经常通过 利用低级视觉线索 或 虚假的背景相关性来作弊。例如,在图 1a 中,模型依靠草来匹配狗的两个增强视图。用于训练这些模型的增强视图通常从从图像中随机裁剪开始。对于标志性图像,此策略可能是可以接受的。然而,对于场景图像,如 COCO 中的场景图像,两个视图可能包含语义不同的对象(例如图 1b 中的裁剪)。这个事实可以解释在不同的网络图像上训练的对比 SSL 模型的改进减少,以及 当单独使用场景图像训练时 它们的性能下降。
为了减轻这些限制,我们提出了对比注意监督调整 (CAST),这是一种 提高对比 SSL 方法的视觉基础能力 的训练方法。 CAST 由两个算法组件组成:
(a) 基于来自 无监督显著性图 的约束,用于从输入图像裁剪不同视图的智能几何变换,以及
(b) 基于 Grad-CAM [22] 的注意力损失,提供 通过 强制 模型关注裁剪中常见的对象 来提供明确的基础监督。
我们在 COCO 数据集上使用 CAST 训练动量对比编码器 (MoCo) [12],这是一种领先的对比学习方法。我们使用图像分类、目标检测和实例分割任务评估其性能,在所有情况下都获得了稳健的收益。关于背景挑战 [23] 的其他实验表明,在执行图像分类时,CAST 训练的模型 对 对象背景的变化 更加适应。最后,定性和定量实验表明,CAST 提高了 COCO 场景图像和下游图像分类任务上 对比 SSL 特征表示的目标定位能力。我们希望 CAST 能够 从 包含具有多个对象复杂交互的图像的 无约束网络规模数据集中 进行自监督学习,并 带来 更好的分布外性能 和 对上下文偏差的更强鲁棒性。
SSL 方法使用 提供自由监督的“前置”任务 从未标记数据中学习特征,目的是在相关的监督学习任务中表现良好。一系列研究 包括 基于低级到高级的 计算机视觉的前置任务,包括图像修复 [24]、着色 [25、26]、预测patch顺序 [27、28] 或 旋转度数 [29]。执行伪标记和聚类 [13、14、19、30–32] 的前置任务也被证明是有效的。最近,学习执行实例辨别 [10、12、33-38] 的对比学习方法 [8] 已被证明 与完全监督学习 最具竞争力。
因此,最近的工作集中于发展对比表征的理论和实证理解[39-41],并改进学习框架。例如,Purushwalkam和Gupta[42] 提出了一种提高对比学习表示的 视角不变性的方法。Zhang和Maire[43] 利用图像的分层区域结构来指导对比学习方法,以提高分割性能。Zhao等人[44 Disco] 介绍了一种数据驱动方法,以使对比自监督模型对对象背景保持不变。在本文中,我们 展示了 视觉基础在改善对比表征学习中的效用。
改善神经网络的视觉基础是一个越来越重要的计算机视觉问题,它可以帮助图像字幕[45]、视觉问题解答[46] 和 去偏计算机视觉[47]等应用。这些问题中的基础方法 通常 使用人的注意力监督[48-50]。在我们的工作中,我们使用 目标显著性图 改进了自监督模型的视觉基础。
目标显著性预测的目标是 识别和分割图像中感兴趣的重要对象。显著性预测方法可以分为监督和非监督方法。显著性预测的监督方法[51,52]通常依赖于昂贵的人类注释训练数据。传统上,无监督显著性预测方法利用 基于人类感知[53,54] 或 图像统计[52,55,56]的 手工先验。最近提出的基于神经网络的显著性预测方法[57,58] 利用 来自手工无监督方法的显著性图 作为用于训练的噪声伪标签,从而消除了对人类标记数据的需要。在这项工作中,我们利用了Deep-USPS [59],这是一种无监督的显著性预测算法,它使用两阶段机制,结合了手工监督 和 迭代的自我训练。
我们的方法,我们称之为对比注意力监督调优(CAST),旨在调整自监督模型,使其在对比学习期间依赖于适当的区域。在高层次上,CAST由两个步骤组成:1. 基于使用图像显著图生成的约束,从原始图像中对query 和 key 裁剪进行约束抽样,2. 对比学习损失,迫使模型 通过Grad-CAM 监督 查看query 和 key 裁剪 之间常见的相关对象区域。虽然我们的方法是通用的,可以应用于任何架构,但我们在动量对比(MoCo)[12]预训练设置的背景下描述CAST。
MoCo 学习使用 InfoNCE [35] 对比目标(稍后在第 3.3 节中详细描述)来执行实例判别 [33] 任务。在此任务中,如果查询和键是同一图像的数据增强版本,则它们形成正对,否则形成负对。 MoCo 使用一个队列和一个移动平均编码器构建一个动态的负样本字典,该编码器可以访问一个大而一致的字典,该字典可用于表示的对比学习。
我们的目标是 通过 明确监督模型 查看相关图像区域 来 提高自监督模型的视觉基础能力。我们以 显著图 的形式提供这种监督 —— 一个指示这些相关区域的二进制掩码。这些通常包含图像中存在的所有对象和其他重要的视觉概念。我们利用 Deep-USPS [59] 生成无监督显著图。但是 提供局部的监督 不足以 解决视觉基础问题。如图 1b 所示,模型通常会接收到嘈杂的训练信号——图像中的随机裁剪可能包含不同的对象,或者根本没有对象。为了解决这个问题,我们设计了一个随机裁剪变换,生成 被约束为 与显著性图重叠的 输入裁剪。
给定高度为h、宽度为w的输入图像I,标准数据增强包括对两个独立的随机裁剪(query 和 key )进行采样,以输入到模型中。这里,我们假设访问显著图 M ∈ {0, 1}h×w,其中Mij = 1表示像素(I,j)是显著的,并且显著区域的面积是。
考虑图2中的例子。我们的技术基于超参数φ ∈ [0,1]指定的约束对随机裁剪进行采样。φ ∈ [0,1]:每个裁剪覆盖的显著图M的面积必须至少为φ ·AM。
我们称 φ 为区域重叠阈值。较高的φ值 意味着更严格的约束 - 强制采样的裁剪和显著区域之间有更高的重叠,而 设置φ = 0.0则恢复不受约束的随机裁剪,由MoCo和其他现有的SSL方法使用。
如图2所示,这种简单的基于区域重叠的约束 确保了 query 和 key 裁剪都包含一些显著的区域,我们监督模型在训练期间关注它们,以改善视觉基础。
我们的方法的前提是,当对比模型如MoCo [12]从一幅图像中获得多种裁剪时,关注裁剪中的显著(对象)区域将使它们学习更具普遍性的表示。这些模型可能更有基础,因此不太可能学到不必要的偏见。CAST引入了 grounding loss 基础损耗,以鼓励了这种行为。
回想一下,MoCo 对两种裁剪(query 和 key)进行了采样,并强制它们的表示与大型动态队列中的其他表示相比更接近。用于获得query 和 key裁剪的随机裁剪变换(如图 2 所示)也可以应用于特定于图像的显著图 M。这会产生两个相应的显著图 Mq 和 Mk,每个都包含query 和 key裁剪中的 显著对象区域。
但是,目标的整体可能不存在于query 和 key裁剪中。因此,当考虑 query 对应的显著图 Mq 时,可能会出现query 中只有一部分显著区域存在于 key 中的情况。在这种情况下,我们考虑query 中与key 中的显著区域相对应的所有区域。参见图 3 中的示例,其中两种裁剪包含不同程度的绵羊。在这种情况下,与 query 对应的显著图 将包含 query 中包含绵羊的所有区域。可以在附录中找到定性示例,说明 我们的随机裁剪与自监督学习方法使用的常规随机裁剪有何不同。如下所述,我们使用这些显著图来监督网络关注的地方。
我们将 网络重要性 定义为 编码器网络 fq 在query的空间区域 xq 上的重要性,以便预测 最接近 key 表示 xk 的query 表示,与队列中存在的所有表示相比。为了计算网络重要性,我们将 Grad-CAM [22] 扩展到对比训练的模型。
为了获得 Grad-CAM,我们首先将 query裁剪 xq 前向传播到 query 编码器 fq(见图 3 中的蓝色编码器框)。然后用相应的显著图掩码key,以获得key裁剪中的显著区域(参见图 3 的底部)。这个掩码key 然后被馈送到 key编码器(见图 3 中的绿色编码器框)fk。遵循 MoCo ,我们将 query 表示 q = fq(xq) 与 掩码的key裁剪表示 以及动态队列中的每个其他表示进行点积,并将它们连接起来。然后,我们对正确key的点积进行单热编码,并计算其(如图 3 中的蓝色向后箭头所示)相对于编码器网络 的最后一个卷积层激活的梯度,如下所示
与 Grad-CAM [22] 一样,αq 值表示编码器网络中每个最后卷积层神经元 n 的重要性,用于匹配 query 和 掩码key表示。为了得到这些重要的卷积神经元所代表的区域,我们使用 αq 对query对应的前向激活图 进行加权组合,再通过ReLU得到,
生成的 Grad-CAM 映射(图 3 右上角)中的较高值 表示网络在将掩码key区域 xk * Mk 映射到整个query裁剪 xq 时所依赖的query区域。这些热图构成了实施注意力监督的基础,我们接下来将对此进行解释。
CAST 损失由两个部分组成:1. 对比损失,来自 [12] 的 Lcont,它测量表示空间(图 3 中的黄色圆圈)中原始样本对(xq 和 xk)的相似性,以及 2. 一个注意力损失,Latt,衡量 Grad-CAM 热图与其相应显著图 Mq(图 3 中的紫色框)的相似性。 Lcont 定义为,
其中 K 表示队列中的表示数量,τ 是温度超参数。
由于网络重要性(从上面)是基于梯度的,我们根据 余弦距离 对预测的 Grad-CAM 映射 Gq 中的错误进行惩罚——强调对齐而不是大小(见图 3 中的顶部框)。我们最小化余弦距离损失,
最后的Contrastive Attention-Supervised Tuning loss 对比注意力监督调优损失变成 LCAST = Lcont + λLatt。
第二项 鼓励网络根据正确的区域进行预测,而第一项 鼓励网络实际做出正确的预测。请注意,是直到最后一个卷积层的所有编码器参数的函数,而 αq 是从最后一个卷积层到最后一个全连接层的层 以及 key编码器特征的函数。key k 和 km 与key编码器分离,因此梯度不会通过它们。因此,虽然 Grad-CAM 是 query和key编码器权重的函数,但在通过优化算法更新期间,仅更新query编码器权重。在 MoCo 中,由于key编码器是query编码器的移动平均值,因此key编码器权重 最终会在训练期间得到更新。
在我们的实验中,我们的目标是证明 使用局部监督训练自监督模型 有两个好处——更好的视觉基础能力 和 更好的迁移学习性能。我们在 COCO 数据集 [20] 的图像上使用 CAST 对 MoCo [12] 进行预训练,然后评估学习特征在多个下游任务上的迁移性能和基础能力。
首先,我们通过将学习特征转移到四个下游视觉识别任务来评估学习特征的质量:(a) PASCAL VOC [60] 线性分类,(b) ImageNet-1k [2, 61] 线性分类,(c) PASCAL VOC目标检测,(d) COCO [20] 实例分割。与之前的 SSL 研究一致,我们的下游任务涉及学习设置,其中预训练网络用作冻结的特征提取器 (a, b),或 用于微调的权重初始化 (c, d)。
我们将 MoCo-COCO + CAST 与基线方法进行比较,以显示我们算法不同组件的重要性:
1. Random Init 不使用预训练的视觉特征。
2. MoCo-COCO,没有 CAST 注意力损失 (λ = 0) 和 受限的随机裁剪 (φ = 0)。
3. MoCo-COCO + Constrained Crop,没有 CAST 注意力损失,仅观察更好的裁剪带来的收益。
对于所有任务,我们都遵循与 VirTex [18] 相同的超参数,使用其公开可用的代码 1。VirTex 使用与大多数最近关于自监督学习的工作类似的评估设置 [11-14, 62],包括我们的主要基线,MoCo。我们在这里描述主要细节。
我们使用 ResNet-50-C4 骨干训练 Faster RCNN [4]。我们用预训练的权重初始化这个主干,在 trainval07+12 split 上训练,并在 test2007 split 上评估。我们使用 SGD 训练 24K 次迭代,动量为 0.9,批量大小为 16(每个 GPU 2 个),权重衰减为 10−4。我们使用最大学习率 0.02,对前 100 次迭代执行线性预热,并在迭代 18K 和 22K 时将其除以 10。我们端到端地微调网络,批归一化层在 GPU 之间同步(SyncBN)[63]。
我们在表 1 中总结了我们的结果。MoCo + CAST 在所有下游任务上都优于 MoCo,在分类、检测和实例分割方面获得了稳健的收益。在使用 CAST 训练的模型中 改进的视觉基础 有助于 VOC 检测任务 的性能改进特别大。我们还发现,我们的无监督显著性约束裁剪单独在 VOC07 和 VOC-Detection 上优于 MoCo,并且在 Imagenet-1k 和 COCO 实例分割任务上接近 MoCo 性能。
接下来,我们对我们的训练设置进行消融研究,以隔离我们的设计决策的影响。在所有这些比较中,我们将 使用默认超参数训练的CAST的MoCo-COCO 作为我们的基础模型。我们主要在VOC07 和 IN-1k线性分类装置上观察所有消融的下游性能。
我们使用 基于显著性图的面积重叠约束 对随机裁剪进行采样,通过 面积阈值超参数φ 指定它们。在这里,我们量化了 由于 策略性抽样裁剪的 更好的训练监督 而导致的下游性能改善,我们训练了φ=0.0的模型,以恢复MoCo中使用的默认随机裁剪。结果在表2a中,我们观察到 去除显著性约束的随机裁剪损害了性能,表明我们的显著性约束的随机裁剪技术确实提供了更好的训练信号。
如第 3.3 节所述,CAST 损失是对比损失和注意力损失的线性组合。我们通过加权和将它们组合起来,并使用 λ 来衡量注意力损失。在这里,我们对 λ ∈ {0.0, 1.0, 3.0, 5.0} 的不同 λ 值进行实验。请注意,λ = 0.0 表示 MoCo-COCO + 约束裁剪(表 1,第 2 行)。表 2b 的结果表明,λ 的非零值优于 λ = 0.0,表明 注意力损失在 CAST 中很重要。更高的 λ 可在一定程度上提高性能 - λ = 1.0、3.0 时性能会提高,而 λ = 5.0 时性能会略有下降。
CAST 是一种通用方法,可以添加到对比 SSL 方法中以改善它们的视觉基础。在这里,我们调查改进底层 SSL 方法是否也会在使用 CAST 训练时显示改进。我们考虑 MoCo-v2 变体 [38],将线性投影替换为受 SimCLR [10] 启发的 MLP。表 2c 的结果表明,MoCo-MLP + CAST 在下游任务上匹配或超过 MoCo-COCO + CAST,表明 CAST 可以对其基础 SSL 方法进行附加改进。
我们认为 关注显著图像区域对于改善视觉基础很重要。因此,我们 强制模型关注 query裁剪内的 所有显著区域。与我们提出的方法相反,我们在此消融研究中 以减少监督的方式 训练 MoCo-COCO + CAST,强制模型仅查看 query 和 key 裁剪交集内的显著区域。表 2d 的结果表明,从 query 裁剪中排除一些显着区域(位于交集之外)会显著损害多个任务的下游性能。这表明 超越 两种裁剪之间的共同视觉内容 来解决实例判别 会产生更好的视觉特征。
背景挑战 [23] 旨在通过测量图像分类模型对包含叠加在各种背景类型上的前景对象的图像的准确性来评估图像分类模型的背景鲁棒性(有关数据集构建的详细信息,请参见 [23])。该数据集由 9 个 ImageNet 类组成,每个类有 450 个测试图像。评估是在图 4 中总结的八个前景背景组合上进行的。由于 CAST 强制模型在训练期间关注显著对象,我们希望 CAST 训练的模型在分类时较少依赖背景相关性。
我们使用三个设置使用 ImageNet-1K 训练的线性层(如第 4.1 节所述)评估 COCO 预训练模型在背景挑战赛中的性能:1. MoCo,2. MoCo 单独使用显著性约束随机裁剪训练,3. MoCo用 CAST 训练(表 3)。在背景挑战的所有八种设置中,使用裁剪约束和 CAST 训练的模型都优于普通 MoCo,而 CAST 在存在前景的五种设置中获得最佳性能。在背景设置为黑色的 Only-FG 设置中,CAST 比 MoCo 获得了 13% 的绝对改进,表明 由于显着性驱动的注意力监督训练,CAST 在利用前景信息方面明显更好。在交换背景的设置中(Mixed-Same、MixedRand 和 Mixed-Next),CAST 获得了 5-10% 的绝对改进,表明 使用 CAST 训练的模型对背景相关性的依赖程度较低。最后,在不包含前景对象(No-FG、OnlyBG-B 和 Only-BG-T)的设置中,CAST 的表现比原始模型稍差,正如我们对在做出分类决策时学会较少依赖背景信号的模型所期望的那样。在附录中可以找到显示 CAST 如何使下游模型减少对虚假背景相关性的依赖的定性示例。
我们使用 Grad-CAM 对使用 CAST 训练的对比 SSL 模型的视觉基础能力及其对下游任务基础的影响进行定性和定量评估。图 5 中的示例表明,经过 CAST 训练的模型似乎学习了语义类别特定的特征表示,这允许它在执行 query-key 匹配时 查看感兴趣的对象,并 避免学习虚假的相关性。我们使用 COCO val split 量化了 CAST 带来的基础改善。首先,我们通过 0.5 的阈值对 Grad-CAM 地图进行二值化。然后我们计算 Grad-CAM 映射 和 对应于query图像的显著性映射之间的并集交集 (IoU)。图 7 显示了基线 MoCo-COCO、具有约束裁剪的 MoCO-COCO 和 具有 CAST 的 MoCO-COCO 的 IoU 值密度。在 COCO 验证集上使用 CAST 训练的 MoCo 模型的平均 IoU 为 0.41,大大 大于没有使用 CAST 训练的模型的平均 IoU,即 0.24。此外,基础能力的提高很大程度上是由基于梯度的定位监督损失驱动的,因为单独使用显著性驱动裁剪约束训练的模型的平均 IoU 也是 0.24。
图 6 中的示例显示了预训练期间改进的基础如何转化为 Imagenet 线性分类下游任务中改进的基础。如图 6 (a,c) 所示,MoCo-COCO+CAST 模型对虚假背景相关性的依赖较少——主要依赖选手来预测 Ball Player 和 灯来预测 Table Lamp。图 6 (b,d) 显示,与其他方法相比,使用 CAST 预训练的模型学会了查看感兴趣对象的整个范围。
我们引入了一种 视觉基础对比自监督学习模型 的方法,该方法 改进了从场景图像中学习的特征表示。与仅通过对比学习训练的特征表示相比,这些特征表示对背景相关性的依赖也更少,这可以带来更好的分布外性能 以及 对 上下文偏差 和 对抗性背景 的更强鲁棒性。我们希望我们的方法能够开发出更通用、更强大的自监督方法,这些方法可以从网络上嘈杂、不受约束的真实世界图像数据中学习。