自监督预训练已被证明可以为迁移学习产生强大的表征。然而,这些性能提升是以巨大的计算成本为代价的,最先进的方法需要比监督预训练多一个数量级的计算量。我们通过引入一个新的自监督目标、对比检测来解决这个计算瓶颈,该目标通过 识别跨增强的目标级object-level特征 来任务表示。该目标从每幅图像中提取丰富的学习信号,从而在各种下游任务上实现最先进的传输精度,同时需要的预训练减少 10 倍。特别是,我们最强大的 ImageNet 预训练的模型的性能与 SEER 相当,SEER 是迄今为止最大的自监督系统之一,它使用了 1000 倍以上的预训练数据。最后,我们的目标无缝处理更复杂图像(例如 COCO 中的图像)的预训练,缩小了从 COCO 到 PASCAL 的监督迁移学习的差距。
自从 AlexNet 在 ImageNet 上取得突破以来,从大型标记数据集进行迁移学习已成为计算机视觉领域的主导范式 [34, 50]。虽然自监督学习的最新进展减轻了对预训练标签的依赖,但它们是以巨大的计算成本实现的,最先进的方法需要比监督预训练多一个数量级的计算 [7, 10 , 21]。然而,自监督学习的前景是利用大量未标记的数据集,使其计算成本成为关键瓶颈。
在这项工作中,我们旨在减轻自监督预训练的计算负担。为此,我们引入了对比检测,这是一个新的目标,可以最大化增强之间对象级特征的相似性。这一目标的好处有三方面。
首先,它 从图像中的所有目标中提取单独的学习信号,免费丰富每个训练示例提供的信息——对象级特征是从中间特征数组中简单地获得的。
其次,它提供了更大、更多样化的负样本集来进行对比,这也加速了学习。
最后,这个目标 非常适合从具有许多对象的复杂场景中学习,这是一个已证明对自监督方法具有挑战性的预训练领域。
我们通过 使用 无监督分割算法 来 识别图像中近似的基于对象的区域。Perceptual grouping感知分组[32,41]——数据中的低和中等水平的规律,如颜色、方向和纹理,允许将场景近似解析为连接的表面或物体部分——长期以来一直被理论认为是视觉的强大先验[22,40,56]。我们通过相应地 对局部特征向量进行分组 来利用这些先验,并 将 我们的对比目标 分别应用于每个对象级特征。我们研究了几种无监督、图像可计算掩码的使用[17,2],并发现尽管它们不准确,但我们的目标仍能很好地工作。
我们通过将其应用于 ImageNet 数据集 并测量其在具有挑战性的任务(例如 COCO 检测和实例分割、PASCAL 和 Cityscapes 上的语义分割 以及 NYU深度估计)上的迁移性能来测试我们的目标快速学习可迁移表示的能力。与从最近的自监督目标(如 SimCLR 和 BYOL [9, 21])获得的表示相比,我们的表示更准确,并且可以用更少的训练时间获得。我们还发现这个学习目标可以更好地处理更复杂场景的图像,弥补了与COCO 数据集的监督迁移的差距。总之,我们做出以下贡献:
1. 我们 制定了一个新的对比目标,该目标最大化场景中所有对象的增强之间的相似性,其中对象区域由简单的、无监督的启发式方法提供。
2. 我们发现这个目标可以减轻自监督迁移学习的计算负担,减少高达 10 倍的计算量,以匹配来自 ImageNet 的监督迁移学习。更长的训练schedule 导致最先进的 COCO 检测和实例分割转移,我们最好的模型与最新的最先进的自监督系统 SEER [20] 相匹配,该系统在 1000 倍以上(如果较少仔细挑选)图像上进行训练。
3. 当从 COCO 等复杂场景数据集迁移时,我们的方法缩小了与从人工注释分割中学习的监督模型的差距。
4. 最后,我们评估在存在高质量图像分割、提出问题并为未来工作开辟道路的情况下,现有对比学习范式可以在多大程度上得到简化。
将一项任务和数据集中包含的知识迁移到解决其他下游任务(即迁移学习)已被证明在一系列计算机视觉问题中非常成功 [19, 39]。虽然早期的工作侧重于 改进 预训练架构 [27、52] 和数据 [53],但最近在自监督学习方面的工作侧重于 预训练目标 和 任务的选择。早期的自监督预训练通常涉及图像恢复,包括去噪 [60]、修复 [46]、着色 [66、36]、自我运动预测 [1] 等 [15、43、67]。还研究了更高级别的前置任务,例如预测上下文 [13]、方向 [18]、空间布局 [44]、时间排序 [42] 和集群分配 [5]。
对比目标,最大化跨视图表示的相似性,同时最小化其与分散注意力的负样本的相似性,最近获得了相当大的关注 [23]。这些视图已被定义为 局部和全局裁剪 [29、4、57、28] 或 不同的输入通道 [54]。实例判别方法通过数据增强生成图像的全局、随机视图,并最大化它们与边际采样负样本的相似性 [9、14、16、24、63],尽管 负样本的必要性最近受到质疑 [12、21] ]。虽然 实例判别方法的好处 主要限于从简单的数据集(如 ImageNet)进行预训练,但事实证明,基于聚类的预训练 在利用大量未经整理的图像 进行迁移学习方面 非常成功 [3、6、7 SwAV、20、31] 。
虽然大多数工作都集中在学习整个图像表示,但人们越来越关注 学习与检测和分割等下游任务 更相关的局部描述符。此类工作的示例包括 添加 辅助损失 [51、55]、架构组件 [48] 或 两者 [64]。
([51] Casting your model: Learning to localize improves self-supervised representations.
[55] What makes for good views for contrastive learning.
[48] VADeR Unsupervised learning of dense visual representations.
[64] PixPro)
虽然 感知分组 长期以来一直用于表示学习,通常依赖于视频中的连贯运动 [37、45、61],但 直到最近才与对比学习相结合 [30、59、68]。与我们的工作最相关的是 [59, 68],它们也利用图像分割进行自监督学习,尽管两者与我们的不同之处在于它们学习专门用于语义分割的主干 并采用不同的损失函数。尽管这些工作达到了令人印象深刻的无监督分割精度,但都没有报告迁移学习任务(例如我们接下来研究的 COCO 检测和实例分割)的预训练效率提高。
我们引入了一个新的对比目标,它可以 最大化表示同一对象的局部特征视图之间的相似性(图 2)。为了隔离这些变化的好处,我们有意选择在可能的情况下重用现有对比学习框架的元素。为了测试我们方法的普遍性,我们分别基于两个最近的自监督基线 SimCLR [9] 和 BYOL [21],推导出两个变体 DetConS 和 DetConB。我们采用这些方法的数据增强程序和网络架构,同时将我们提出的对比检测损失应用于每种方法。
每个图像被随机增强两次,产生两个图像:x, x'。 DetConS 和 DetConB 分别采用SimCLR和BYOL的增强流程,大致包括随机裁剪、翻转、模糊 和 逐点颜色变换。我们建议读者参阅附录 A.1 了解更多详细信息。在所有情况下,图像的大小都会调整为 224 X 224 像素分辨率。
此外,我们为每个图像计算一组掩码,将图像分割成不同的组件。如第 3.2 节所述,可以使用高效的、现成的、无监督的分割算法来计算这些掩码。如果可用,也可以使用人工注释的分割。在任何情况下,我们使用 与底层 RGB 图像相同的裁剪和调整大小 来转换每个掩码(表示为二值图像),从而生成两组掩码 {m}、{m' },它们与增强图像 x , x’对齐(参见图 2,增强视图)。
我们使用卷积特征提取器 f 用隐藏向量的空间映射对每个图像进行编码:h = f(x) 其中 h ∈ RH×W×D。我们 在最终的mean-pooling均值池化层之前 使用标准 ResNet-50 编码器 [27] 的输出,这样隐藏层形成一个 7×7 网格的 2048 维向量 h[i, j] 网格。对于与图像关联的每个掩码 m,我们 计算一个mask-pooled掩码池化隐藏向量
在空间上使用平均池化将二元掩码下采样为 7×7 网格。 然后我们用 两层 MLP 变换这些向量中的每一个,产生非线性投影。
对于 DetConS,我们使用相同的编码器 fθ 和 投影网络 gθ 处理两个视图,其中 θ是学习的参数。对于 DetConB,一个视图用 fθ 和 gθ处理,另一个用 f ξ和 gξ 处理,其中 ξ 是 θ 的指数移动平均值。第一个视图用预测网络 qθ 进一步转换。在这里,我们再次在投影和预测网络的定义中分别为 DetConS 和 DetConB 重用 SimCLR 和 BYOL 的细节(参见附录 A.2)。总之,我们将每个视图和掩码表示为隐变量 vm 和 v'm,其中,对于 DetConS,
对于 DetConB,
我们使用温度超参数τ 重新缩放所有潜在变量,使它们的范数等于 ,其中 τ = 0.1。请注意,对于下游任务,我们仅保留特征提取器 fθ 并丢弃网络的所有其他部分(预测和投影头,以及任何指数移动平均值)。
设 vm、v'm' 是表示视图 x、x' 中的掩码 m、m' 的潜在变量。对比损失函数
定义一个预测任务:观察到投影 vm,学习在存在负样本 {vn} 的情况下识别潜在的 v'm'。我们在图像中包含来自不同掩码的负样本,并在批处理中包含不同图像。请注意,我们对这些掩码没有做任何假设,允许负掩码与正掩码重叠。
这种损失的自然扩展是 联合采样 对应于原始图像中相同区域的成对掩码 m、m',并最大化表示它们的特征的相似性
我们对这个目标做了一些实际的改变。首先,为了便于批量计算,我们在每次迭代中从可变大小的掩码集 {m} 和 {m'} 中随机抽取一组 16 个(可能是冗余的)掩码。其次,我们密集地评估所有掩码对和所有图像对之间的相似性,使得每个图像为等式(1)中的集合 {vn} 贡献 16 个负样本,而不是单个负样本。我们的目标是 通过 选择 与场景中不同对象 大致匹配的掩码 来使这些负样本 尽可能多样化(第 3.2 节)。最后,我们屏蔽了损失 以 仅最大化配对位置的相似性,从而允许我们处理一个视图中存在的掩码但另一个视图中不存在的情况(参见图 2)。这些简单的修改共同将我们带到了 DetCon 目标:
其中二进制变量 1m,m' 表示掩码 m, m' 是否对应于相同的底层区域。
在 ImageNet 上进行预训练时,我们分别采用 SimCLR 和 BYOL 的优化细节来训练 DetConS 和 DetConB。在 COCO 上进行预训练时,我们对学习计划进行了微小的更改以减轻过度拟合(参见附录 A.3)。
自监督学习的计算要求主要是由于通过卷积主干的前向和后向传递。对于应用于 224×224 分辨率图像的典型 ResNet-50 架构,单次前向传递需要大约 4B FLOPS。 SimCLR 和 DetConS 中的附加投影头需要额外的 4M FLOPS。由于我们通过投影头转发了 16 个隐藏向量而不是 1 个,因此我们将前向传递的计算成本增加了 67M FLOPS,不到总数的 2%。加上对比损失增加的复杂性,DetConS 增加了 5.3%,DetConB 增加了 11.6%(见附录 A.2)。最后,计算图像分割的成本可以忽略不计,因为它们可以计算一次并在整个训练过程中重复使用。因此,我们的方法相对于基线的复杂性增加足够小,我们可以互换地指代“训练迭代”和“计算成本”。
为了生成 DetCon 目标所需的掩码,我们研究了几种分割程序,从简单的空间启发式算法到文献中基于图的算法。
最简单的分割,我们只考虑基于空间接近度的分组位置。具体来说,我们将图像划分为 n × n 个不重叠的正方形子区域网格(图 3,第 2 列)。请注意,当使用单个全局掩码 (n = 1) 时,DetConS 目标将恢复为 SimCLR。
我们还考虑了 Felzenszwalb-Huttenlocher 算法 [17],这是一种经典的分割过程,它使用基于像素的affinity亲和力 迭代合并区域(图 3,第 3 列)。我们通过改变两个超参数(尺度 s 和最小簇大小 c)生成一组不同的掩码,在 COCO 上训练时使用 s∈{500, 1000, 1500} 和 c = s,在 ImageNet 上训练时使用 s = 1000。
Multiscale Combinatorial Grouping 多尺度组合分组 [2] 是一种更复杂的算法,它将超像素分组到许多重叠的目标建议区域 [8],由中级分类器引导(图 3,第 4 列)。对于每张图像,我们使用 16 个得分最高的 MCG 掩码。请注意,我们的方法支持这些掩码可以重叠这一事实。
在整个工作中,我们考虑了使用上面详述的无监督掩码所带来的好处。在最后一部分中,我们询问更高质量的掩码(由人工注释者提供;图 3,第 5 列)是否可以改善我们的结果。
以无监督方式训练了特征提取器后,我们通过对 COCO 上的目标检测和实例分割、PASCAL 和 Cityscapes 上的分段分割以及 NYU v2 上的深度估计进行微调来评估表示的质量。
我们使用预训练网络来初始化配备 特征金字塔网络 [38] 和 cross-replica batch-norm 交叉副本批处理规范 [47] 的 Mask-RCNN [26] 的特征提取器。我们采用 Cloud TPU 实现 并在不进行修改的情况下使用它。我们微调了 COCO train2017 集上的整个模型,并报告了 val2017 集上的边界框 AP (APbb) 和 掩码 AP (APmk)。我们使用两个标准训练计划:12 个时期和 24 个时期 [24]。
我们主要的自监督学习实验采用 FH 掩码,因为正如我们将要展示的那样,使用 DetCon 它们优于简单的空间启发式方法并接近 MCG 掩码的性能,同时快速且易于应用于 ImageNet 等大型数据集,给定它们scikit-image [58] 中的可用性。
我们首先研究 DetCon 目标是否提高了从 ImageNet 迁移学习的预训练效率。
我们在 ImageNet 上训练 SimCLR 和 DetConS 模型 100、200、500 和 1000 个时期,并将它们迁移到多个数据集和任务。在所有下游任务和预训练制度中,DetConS 的表现明显优于 SimCLR(图 1 和图 4,蓝色和橙色曲线)。在对 COCO 进行微调时,SimCLR 预训练 1,000 轮提供的性能被 DetConS 仅预训练 200 轮所超越(即预训练效率提高 5倍)。当迁移到其他下游任务时,我们发现了类似的结果:DetConS在PASCAL语义分割的预训练效率方面产生了2倍的增益(图4,第二列),在Cityscapes语义分割和NYU深度预测方面产生了10倍的 增益。(图4,第3列和第4列)。
我们还评估了在ImageNet上训练的监督ResNet-50的迁移性能(图1和图4,红色曲线)。虽然监督预训练在较小的计算预算(例如,100个预训练时期)下表现良好,但它很快饱和,这表明ImageNet 标签仅部分通知下游任务。这在城市景观语义分割和NYU深度预测中得到强调,这代表了领域和任务的更大转变。
DetCon 有多通用?我们通过将 DetConB 与它所基于的 BYOL 框架进行比较来测试这一点。我们采用了底层框架细节(例如数据增强、架构和优化)而不进行修改,这可能会使 DetCon 目标处于劣势。尽管如此,DetConB 在预训练预算和下游任务方面的表现优于 BYOL。特别是,DetConB 在转移到 COCO、PASCAL 和 Cityscapes 检测和分割时,预训练效率提高了 3倍,在转移到 NYU 深度预测时,提高了 10倍(表 1)。
我们现在与自监督迁移学习中的其他作品进行比较,并使用完全训练的 DetConS 和 DetConB 模型进行比较。在这里,我们重点关注向 COCO 的迁移,因为它得到了更广泛的研究。请注意,其他方法使用 Mask-RCNN [62] 的实现略有不同,但它们在监督 ImageNet 预训练和 SimCLR 上的结果与我们自己的 [55、64] 相匹配,从而实现公平比较。表 2 显示 DetCon 优于所有其他监督和自监督迁移学习方法。
自监督学习的先前工作已被证明 可以很好地扩展模型容量 [14、33、9]。 DetCon 提供的收益是否会随着模型的增大而消失?我们使用 ResNet-101、-152 和 -200 特征提取器而不是 ResNet-50 在 ImageNet 上训练了 SimCLR、BYOL 和 DetConB 模型。图 5 和表 A.1 显示 DetCon 在这种更高容量的情况下继续优于其他方法。
我们更进一步,训练了一个包含 250M 参数的 2× 宽度乘数 [33] 的 ResNet-200。令人惊讶的是,尽管只在 ImageNet 上进行了训练,但该模型的传输性能与最近提出的大规模自监督模型 SEER [20] 相匹配,SEER [20] 具有 693M 参数并在 1000 倍以上的数据上进行训练(表 3)。虽然比较不完美(大规模数据必然更嘈杂),但它突出了自监督学习目标本身的改进潜力。
我们接下来研究 DetCon 目标处理具有多个对象的复杂场景的能力。为此,我们在 COCO 数据集上进行预训练并与 SimCLR 进行比较。
我们针对一系列计划(324-5184 个时期)训练 SimCLR 和 DetConS,并将所有模型转移到 PASCAL 上的语义分割。我们发现 DetConS 在训练预算方面优于 SimCLR(图 6)。和以前一样,SimCLR 达到的最大准确度是在减少 4倍 预训练时间的情况下达到的。
我们还以监督方式评估了在 COCO 上训练的表征的迁移性能。具体来说,我们训练了一个具有较长时间表(108 轮,“9×”时间表)的 Mask-RCNN,并使用学习到的特征提取器(一个 ResNet-50,用于 SimCLR 和 DetCon 预训练)作为 PASCAL 分割的表示。与 SimCLR 不同,DetCon 预训练超越了这个完全监督的基线的性能(图 6)。
我们现在剖析 DetCon 目标的组成部分并评估每个组成部分的好处。为此,我们在 COCO 上进行了预训练,因为它包含具有许多对象的复杂场景和相关的真值掩码,使我们能够衡量准确分割它们的影响。我们通过冻结特征分析评估学习到的表示,其中当我们也在 COCO 上训练 Mask-RCNN 的其他层时,特征提取器保持固定。这种受控设置类似于用于评估图像识别自监督表示质量的线性分类协议 [13、15、45、66]
DetCon 目标可用于各种不同的图像分割,哪些图像分割效果最好?我们首先考虑将图像划分为 2×2、5×5 或 10×10 个网格的空间启发式方法,1×1 个网格相当于使用 SimCLR 目标。我们发现下游性能随着更精细的网格而提高,5×5 的网格是最佳的(图 7)。
接下来我们考虑图像可计算的 FH 和 MCG 掩码,它们都优于空间启发式掩码,MCG 掩码导致稍微更好的表示。有趣的是,表示的质量与预训练掩码和真值之间的重叠非常相关——每个真值对象被某个掩码覆盖得越好,DetCon 的表现就越好。
DetCon 目标如何从这些图像分割中获益?我们通过将每个组件逐步添加到 SimCLR 框架来评估其影响。如前所述,我们在 DetCon 目标中使用单个全局掩码时恢复 SimCLR。作为安全性检查,我们验证多次复制此掩码并将生成的(相同的)特征包含在 DetCon 目标中不会对表示质量产生影响(表 4,a 行)。有趣的是,使用 FH 掩码但仅对每个图像采样单个掩码会略微降低性能,这可能是因为模型在每次迭代时仅从图像的一部分中学习(表 4,行 b)。通过对对象区域进行密集采样,DetConS 从整个图像中学习,同时还受益于多样化的正负样本集,从而提高检测和分割精度(表 4,最后一行)。
尽管使用相当近似的分割掩码,DetCon 目标函数仍可实现快速迁移学习和强大的性能。在第 4.3 节中,我们发现更高质量的分割(例如使用 MCG 计算的分割,或从人类注释者那里获得的分割)可以提高表征质量。如果分割更准确,我们如何改进学习目标?我们通过重新审视对比目标的设计选择来评估这个问题,当给定来自 COCO 数据集的真值掩码而不是近似 FH 掩码时。
我们假设更高的图像分辨率可能使网络从这些信息量更大的分割中获益更多。为了保留细粒度信息,我们从每个掩码中采样局部特征,并使用 DetCon 目标对其进行优化。我们预训练配备 FH 或 真值 (GT) 掩码的 SimCLR 和 DetConS 模型,给定 384×384 或 512×512 分辨率图像。虽然使用 FH 掩码的 DetCon 仅适度受益,并且 SimCLR 的性能因高分辨率图像而恶化,但使用 GT 掩码的 DetCon 却有显著改善(图 8)。请注意,这完全是由于表示质量的提高;所有模型用于下游评估的图像分辨率都保持在 1024×1024。
最后,我们询问了当前的对比学习范式——在随机增强中利用大量负样本和预测——在具有高质量细分的DetCon目标的背景下是否仍然是最佳的。
不是用高质量的掩码。当将负样本总数除以 128(通过仅从一个worker 内部收集负样本)时,带有 FH 掩码的 DetCon 的性能下降(表 5,a 行),与其他对比学习框架 [9、24] 一致。相比之下,尽管有此限制,但使用 GT 掩码的 DetConS 有所改善。
不是用高质量的掩码。我们运行 DetCon 模型,同时为每个图像 采样单个增强,并最大化该视图中基于掩码的特征的相似性。在这里,DetCon 目标在使用近似 FH 掩码时再次遇到这种障碍,但在高质量分割时却没有(表 5,行 b)。
一种解释是其他图像给了我们干净的负样本,因为 COCO 中的图像描绘了不同的场景。然而,来自同一图像的负样本似乎提供了更强的学习信号(因为它们共享照明、背景等特征),只要它们是干净的——也就是说,我们没有将同一物体的特征分开。来自同一图像的正样本也至少与跨增强的正样本一样好,如果它们再次是干净的——也就是说,我们没有将来自不同对象的特征放在一起。
我们提出了 DetCon,一种简单但功能强大的自监督学习算法。通过利用低级线索将图像组织成物体和背景区域等实体,DetCon 加速了大型数据集的预训练,同时提高了各种下游任务的准确性。我们最好的模型在 ImageNet 上预训练的自监督方法中实现了最先进的性能,并且与最近在更大的数据集上训练更大模型的最先进方法相匹配 [20]。
我们表明,DetCon 的功能与使用的掩码与对象边界的对齐程度密切相关。这似乎很直观——DetCon 目标只能利用来自每个图像区域的独立学习信号,前提是它们包含不同的内容。同样,只有当它们代表不同的对象时,产生的负样本才是真正多样化的。这为共同发现对象和学习表示它们的研究开辟了令人兴奋的前景。鉴于 DetCon 表示在实例分割方面的改进性能,一个自然的问题是它们是否可以用于执行比预训练期间使用的更好的无监督分割。如果是这样,这些可能会被用来学习更好的表示,从而导致无监督场景理解的良性渐进。