DetCon https://arxiv.org/abs/2103.10957
Efficient Visual Pretraining with Contrastive Detection
自监督的预训练已经被证明能为迁移学习提供有力的表征。然而,这些性能的提高需要大量的计算成本,而最先进的方法需要比有监督的预训练多一个数量级的计算量。我们通过引入一个新的自监督目标,即对比检测,来解决这个计算瓶颈,对比检测的任务是辨别不同增强视图的物体级的特征。这一目标为每幅图像提取了丰富的学习信号,从而实现了从ImageNet到COCO的最先进的迁移性能,同时所需的预训练成本减少了5倍。特别是,我们最强的ImageNet预训练模型的性能与SEER相当,SEER是迄今为止最大的自监督系统之一,它使用了1000倍以上的预训练数据。最后,我们的目标无缝地处理更复杂的图像(如COCO中的图像)的预训练,弥补了与监督迁移学习(从COCO到PASCAL)的差距。
1. 引言
自从AlexNet在ImageNet上取得突破性进展以来,从大型标记数据集进行迁移学习已成为计算机视觉领域的主流范式[34,49]。尽管自监督学习的最新进展缓解了对标签的依赖性,但这是以巨大的计算成本完成的,最先进的方法需要比有监督的预训练多一个数量级的计算量[7,9,20]。然而,自监督学习的前景是利用大量未标记的数据集,使其计算成本成为一个关键的瓶颈。
在这项工作中,我们旨在减轻自监督预训练的计算负担。为此,我们引入了对比检测,这是一个新的目标,最大化不同视图同一物体的物体级特征之间的相似性。
这一目标的好处有三个。首先,它从图像中的所有物体中提取单独的学习信号,无额外成本地丰富了每个训练样本提供的信息,因为物体级的特征可以简单地从中间特征arrays中获取。第二,它提供了更大规模、更多样化的负样本集,这也加速了学习。最后,这个目标非常适合于从包含很多物体的复杂场景,这种场景已被证明是对自监督方法来说具有挑战性的。
我们通过使用无监督分割算法来识别图像中近似的基于物体的区域。Perceptual grouping[32,40]——也就是数据中的低级或中级的特征,如颜色、方向和纹理,可以将场景近似解析为连接的表面或物体部分的想法,长期以来一直被认为是视觉的有力先验[21,39,54]。我们对局部特征向量进行相应地分类来利用这些先验知识,并将我们的对比目标分别应用于每个物体级特征。我们调查了几种无监督、图像可计算的掩模的使用情况[16,2],发现尽管它们不准确,但我们的目标仍能很好地工作。
我们通过将目标应用于ImageNet数据集并测量其在COCO检测和实例分割等挑战性任务上的迁移性能,测试了目标快速学习可迁移表示的能力。与最近的自监督目标(如SimCLR和BYOL)[8,20]相比,我们的表示更精确,并且可以用更少的训练时间获得。我们还发现这个学习目标可以更好地处理更复杂场景的图像,弥合了与有监督迁移学习(从COCO数据集迁移)的差距。总之,我们做出了以下贡献:
(1)我们提出了一个新的对比目标,该目标通过一个简单的、无监督的启发式算法来提供物体区域,使得对于场景中所有物体,不同增强视图下同一物体的特征的相似性最大化。我们剖析了这一新目标,并评估了每一个要素所带来的改进。
(2)我们发现这个目标可以减轻自监督迁移学习的计算负担,将ImageNet的有监督迁移学习所需的计算量减少5倍。更长的训练时间会导致最先进的COCO检测和实例分割,我们的最佳模型与最新的最先进的自监督系统SEER[19]相当,SEER是在差不多1000×更多的图像上训练的。
(3)当从复杂场景数据集(如COCO)迁移时,我们的方法弥补了与有监督迁移学习(其依赖于人工标注的分割的标签)的差距。
(4)最后,我们评估了在高质量图像分割的前提下,现有的对比学习范式在多大程度上可以简化,提出了问题并为未来的工作开辟了道路。
2. 相关工作
将包含在一个任务和数据集中的知识迁移到解决其他下游任务(即迁移学习)已被证明在一系列计算机视觉问题中非常成功[18,38]。早期的工作集中在改善预训练的结构[26,50]和数据[51],而最近的自监督学习工作则集中在预训练目标和任务的选择上。早期的自监督预训练通常涉及图像恢复,包括去噪[58]、修复[45]、着色[64,35]、拍摄者运动预测(egomotion prediction)[1]等[14,42,65]。更高层次的借口任务也被研究过,例如预测上下文[12]、方向[17]、空间布局、时间顺序[41]和聚类分配[5]。
对比目标,它最大化一个表示在不同视图间的相似性,同时最小化了其与分散注意力的负样本(distracting negative samples)的相似性,最近获得了相当大的吸引力[22]。视图被定义为局部和全局的裁剪[29、4、55、28]或不同的输入通道[52]。实例辨别方法通过数据增强生成图像的全局随机视图,并最大化它们之间的相似性(相对于marginally sampled negatives)[8,13,15,23,61],尽管最近,对负样本是否必需提出了质疑[11,20]。尽管实例识别方法的优点主要局限于从ImageNet等简单数据集进行预训练,但基于聚类的预训练已证明在利用大量未处理图像进行迁移学习方面非常成功[3,6,7,19,31]。
虽然大多数工作都集中在学习整个图像表示,但人们对学习与下游任务(如检测和分割)更相关的局部表示越来越感兴趣。这类工作的例子包括增加额外的辅助损失[53]、结构组件[47]或两者兼而有之[62,Propagate Urself]。虽然perceptual grouping长期以来一直被用于表征学习,通常依赖于视频中的连贯运动[36,44,59],但直到最近才与对比学习相结合[30,57,66]。与我们的工作最相关的是[57,66](57就是MaskContrast),它们也利用图像分割进行自监督学习,尽管两者与我们的不同之处在于它们学习专门用于语义分割的主干,并使用不同的损失函数。虽然这些工作在无监督的情况下取得了很高的分割精度,但对于COCO检测和实例分割等迁移学习任务,都没有报告在预训练的效率上有所提高,我们接下来将对其进行研究。
3 方法
我们引入了一个新的对比目标,它最大限度地提高了表示同一物体的局部特征视图之间的相似性(图2)。为了分离这些变化带来的好处,我们在可能的情况下有意选择重新使用现有对比学习框架的元素。为了测试我们的方法的通用性,我们分别基于最近的两个自监督基线SimCLR[8]和BYOL[20],导出了两个变体DetCon_S和DetCon_B。我们采用了这些方法的数据扩充过程和网络结构,并将我们提出的对比检测方法应用于每种方法。
3.1 对比检测框架
数据增强。 每个图像被随机增强两次,得到两个图像:。DetCon_S和DetCon_B分别选择SimCLR和BYOL的增强管道,大致包括随机裁剪、翻转、模糊和逐点颜色变换。更多详情请参阅附录A.1。在所有情况下,图像的大小都调整为224×224像素分辨率。此外,我们为每个图像计算一组掩膜,将图像分割为不同的部分。如第3.2节所述,这些掩模可以使用计算高效地、只计算一次然后使用现成结果的、无监督的分割算法来计算。如果可用,也可以使用带人工标注的掩膜。在任何情况下,我们使用与underlying(底下的)RGB图像相同的裁剪和调整大小来变换每个掩膜(表示为二值图像),得到两组掩膜,其与增强的图像是对齐的(参见图2,augmented views)。
结构。 我们使用卷积特征提取器对每个图像编码为隐藏向量的空间映射:,其中。在最终的平均池层之前,我们使用标准ResNet-50编码器[26]的输出,这样隐藏层就形成7×7、2048通道的向量。对于每个与图像相关的掩模,我们计算一个掩模池化隐藏向量:
其通过平均池化将二值掩膜在空间上下采样为7×7的大小。然后,我们用两层MLP变换每个向量,得到非线性映射。注意,在这一步中,我们如果使用的是单个的全局的掩膜,就是SimCLR和BYOL的结构。
对于DetCon_S,我们使用相同的编码器和投影网络处理两个视图,其中是学习的参数。对于DetCon_B,一个视图用和处理,另一个用和处理,其中是的指数移动平均。第一个视图被预测网络进一步地变换。在这里,我们再次在投影和预测网络的定义中分别重用了DetCon_S和DetCon_B的SimCLR和BYOL的细节(见附录A.2)。总之,我们将每个视图和掩码表示为潜在变量(latents)和,其中,对于DetCon_S,有
对于DetCon_B,有
我们用一个温度参数重新缩放所有的latents,使得它们的范数等于,。注意,对于下游任务,我们只保留特征提取器,而丢弃网络的所有其他部分(预测和投影头,以及任何指数移动平均)。
目的:对比检测。令为视图中的掩膜的latent表示,对比损失为:
其定义为一个预测任务:在观察到投影后,学习在负样本存在的情况下认出。我们的负样本来自同一图像的不同掩膜,以及同一批量中的不同图像。请注意,我们对这些掩膜不做任何假设,允许负掩膜罩与正掩膜重叠。
这种损失的自然延伸是联合对原始图像中对应于相同区域的成对遮罩进行采样,并最大化它们的特征表示的相似性:
我们对这个目标做了一些实际的改变。首先,为了便于批量计算,我们在每次迭代时从数量可变的掩膜中随机抽取一组16个(可能是冗余的)。然后,我们密集地评估所有掩模对和所有图像之间的相似性,这样,每幅图像为公式(1)中的集合提供16个负样本,而不是一个。我们通过选择与场景中不同物体大致匹配的掩膜,使这些负样本尽可能的多样化(第3.2节)。最后,我们屏蔽了损失(mask out the loss),以最大限度地提高成对位置的相似性,使我们能够处理一个掩膜出现在一个视图中而不是另一个视图中的情况(见图2)。总之,这些简单的修改将我们带到DetCon目标:
其中二值变量表示掩膜是否对应于图像上的同一块区域。
优化。 在ImageNet上进行预训练时,采用SimCLR和BYOL的优化细节分别训练DetCon_S和DetCon_B。在对COCO进行预训练时,我们会对学习计划做一些小的改变,以减轻过度拟合(见附录A.3)。
计算成本。 自监督学习的计算要求很大程度上是由于通过卷积主干的前向传播和后向传播。对于应用于224×224分辨率图像的典型ResNet-50体系结构,单个前向过程需要大约4B FLOPS。SimCLR和DetConS中的额外投影头需要额外的4M FLOPS。由于我们对投影头输入16个隐藏向量而不是1个,因此我们将forward过程的计算量增加了67M FLOPS,不到总数的2%。加上对比损失的增加复杂性,DetCon S和DetConB的增加分别为5.3%和11.6%(见附录A.2)。最后,计算图像分割的成本可以忽略不计,因为它们可以只计算一次然后一直重复使用。因此,我们的方法相对于基线的复杂度增加非常小,这样,相对于基线的训练迭代和计算成本的增加就非常小。
3.2 无监督掩膜生成
为了生成DetCon目标所需的掩模,我们研究了几个分割过程,从简单的空间启发式到基于图的算法。
为了产生DetCon目标所需的掩码,我们研究了几种分割过程,从简单的空间启发式到基于图的算法( graph-based algorithms)。
Spatial heuristic 空间启发式。最简单的分割我们只考虑基于空间接近度的组位置。具体来说,我们将图像划分为一个n×n的非重叠方块区域网格(图3,第2列)。如第3.1节所述,当使用单个全局掩码(n=1)时,DetConS目标恢复为SimCLR。
Image-computable masks: FH. 图像可计算掩模。我们还考虑Felzenszwalb-Huttenlocher算法[16],一个经典的分割过程,使用基于像素的相似性迭代合并区域(图3,第3列)。我们通过改变尺度s和最小簇大小c这两个超参数,在COCO上训练时使用s∈{500,1000,1500}和c=s,在ImageNet上训练时使用s=1000,生成了一组不同的掩模。(Efficient graph-based image segmentation,2004)
Image-computable masks: MCG. 图像可计算掩模。多尺度组合分组[2]是一种更复杂的算法,它在中级分类器的指导下,将超像素分组到许多重叠的对象建议区域(图3,第4列)。对于每幅图像,我们使用16 MCG最高分数的掩模。注意,我们的公式支持掩模可以重叠的事实。(Multiscale combinatorial grouping,2014)
Human annotated masks. 人类标注。在这项工作中,我们考虑了使用上述无监督mask所带来的好处。在最后一节中,我们询问更高质量的掩码(由人工注释器提供;图3,第5列)是否可以改进我们的结果。
3.3 评估协议
在一个无监督的人工神经网络中训练了一个特征抽取器,通过将其转换到COCO检测、COCO实例分割和PASCAL语义分割任务中来评价特征抽取的质量。
迁移到COCO。我们使用该表示来初始化Mask RCNN[25]的特征提取器,Mask RCNN结构包含特征金字塔网络[37]和cross-replica batch-norm[46]。我们采用了公开的云TPU 实现(注释https://github.com/tensorflow/tpu/tree/master/models/official/detection),使用时不做任何修改。我们端到端地微调整个模型,并在VAL2017集上报告边界框AP(AP bb)和掩码AP(AP mk)。我们使用两个标准的训练计划:12个epoch(“1×计划”)和24个epoch(“2×计划”)[23]。
迁移到PASCAL。按照[23],我们将一个全卷积的网络[38]堆叠在表示之上,并对网络进行端到端的语义分割训练。我们在trainaug2012,在val2012集上报告mIoU。
4. 实验
我们的主要自监督学习实验采用FH掩码,因为我们将展示,使用DetCon,FH比简单的空间启发式效果要好,性能接近MCG掩码,但比MCG的计算要快得多,鉴于其在scikit image中的可用性[56],其更容易在大规模数据集(如ImageNet)上使用。
4.1 从ImageNet迁移
我们首先研究DetCon目标是否提高了ImageNet迁移学习的预训练效率。
训练效率。 我们在ImageNet上为100、200、500和1000个epoch训练SimCLR和DetConS模型,并将它们迁移到COCO和PASCAL。当在COCO上进行微调时,DetConS在所有的训练模式中都显著地优于SimCLR(图4,左,中)。SimCLR所获得的最大性能是由DetCon S通过5×更少的训练迭代而达到的(表1,顶部)。我们还将这些相同的模型迁移到PASCAL上的语义分割,并发现类似的结果(DetConS产生2倍的预训练效率增益;图4,右)。
我们还评估了在ImageNet上训练的监督预训练ResNet-50的迁移性能(图4,红色)。请注意,尽管SimCLR达到了有监督迁移的精度,但与之前的工作一致[8,23],它这样做的计算成本大大增加,需要10×更多的预训练迭代才能达到这种表示质量。相比之下,DetCon S的收敛速度要快得多,能够得到有用的表示:迁移到COCO上200个epoch足以超越监督预训练,迁移到PASCAL上500个epoch足以超越监督预训练。
从BYOL到DetConB。 DetCon有多通用?我们通过比较DetConB与其基线BYOL来测试这一点。在这里,我们也不加修改地采用底层框架细节(关于架构、优化等),这可能使DetCon目标处于不利地位。尽管如此,DetCon_B表现得比BYOL要好,预训练效率提高了3倍(表1,底部)。
与现有工作比较。 我们现在将自监督迁移学习与以前的工作进行比较,并使用经过充分训练的DetCon_S和Detcon_B模型进行比较。请注意,其他方法使用了略有不同的MaskRCNN实现[60],但是它们对ImageNet监督预训练和SimCLR的结果与我们自己的结果相匹配[53,62],因此比较可以看做是公平的。表2a显示,DetCon在有监督和自监督迁移学习方面优于所有其他方法。
缩放模型容量。 在自监督学习方面的前期工作已经证明可以很好地扩展模型容量[13,33,8]。DetCon带来的收益会随着更大的型号而消失吗?我们在ImageNet上训练SimCLR、BYOL和DetConB模型,使用ResNet-101、ResNet-152和ResNet-200特征提取器而不是ResNet-50。表2和2c以及图5显示,在这种更高容量的情况下,DetCon继续优于其他方法。
我们更进一步,训练了一个具有2×宽度乘数[33]的ResNet-200,包含2.5亿个参数。令人惊讶的是,尽管只在ImageNet上进行了训练,但该模型的迁移性能与最近提出的大规模自监督模型SEER[19]相匹配,SEER具有693M的参数,并在1000×更多的数据上进行了训练(表3)。虽然比较是不完善的(大范围的数据必然更多噪声),但它突出了单独从自监督学习目标改进的潜力。
4.2 从COCO迁移
接下来我们将研究DetCon目标处理具有多个对象的复杂场景的能力。为此,我们对COCO数据集进行了预训练,并与SimCLR进行了比较。
预训练效率。 我们对SimCLR和DetConS进行了一系列不同epoch的训练(324-5184个epoch),并将所有模型迁移到PASCAL上的语义分割。我们发现DetConS在预训练成本方面优于SimCLR(图6)。DetConS要达到SimCLR的最大准确度只需要1/4的训练时间。
超过了COCO的监督传输。 我们还评估了监督预训练,从COCO迁移的性能。具体的是,我们训练了一个长时间的Mask-RCNN(108个epoch,一个“9×” schedule),并使用学习的特征提取器(ResNet-50,对于SimCLR和DetCon预训练)作为PASCAL分割的表示。虽然DetCon预训练超过了监督基线的性能,但SimCLR仍然落后(图6)。
4.3 烧蚀和分析
我们现在剖析DetCon目标的组成部分,并评估每一个目标的好处。为此,我们对COCO进行了预训练,因为它的图片是包含许多物体的复杂场景,并且有相应的掩膜,使我们能够准确地测量分割它们的影响。我们通过冻结特征来评估学习到的表示,其中的特征提取器是固定的,而我们在COCO上训练MaskRCNN的其它层。此受控设置类似于用于评估图像识别的自监督表示质量的线性分类协议[12、14、44、64]。
什么样的掩膜是好的? DetCon目标可以使用各种不同的图像分割,哪种分割可以得到最佳的表现?我们首先考虑将图像划分为2×2、5×5或10×10网格的空间启发式算法,1×1网格相当于使用Sim-CLR目标。我们发现下游性能随着网格的细化而提高,5×5网格是最佳的(图7)。
接下来我们考虑图像可计算的FH和MCG掩模,这两种掩模都优于空间启发式掩模,MCG掩模导致稍微更好的表示。有趣的是,表示的质量与预训练掩模和真值掩膜之间的重叠非常相关,每个真值物体被某个掩模覆盖得越好,DetCon的表现就越好。
对比检测vs对比识别 DetCon目标如何从这些图像分割中获益?我们通过将每个组件增量添加到SimCLR框架来评估它们的影响。如第3.1节所述,我们在DetCon目标中使用单个全局掩码时恢复SimCLR。作为一种安全性检查,我们验证了,将次掩膜(global)复制多次,并将复制的结果(这些相同的特征)包含到DetCon中,这样对表示质量没有影响(表4,a行)。有趣的是,使用FH掩模但仅对每幅图像采样一个掩模会略微降低性能,这可能是因为模型在每次迭代时仅从图像的一部分进行学习(表4,b行)。通过对目标区域进行密集采样,DetConS可以从整个图像中进行学习,同时还可以从一组不同的正样本和负样本中获益,从而提高检测和分割精度(表4,最后一行)。
如果分割得到解决怎么办?尽管使用了相当接近的分割模板,但DetCon目标函数导致了快速的迁移学习和强大的性能。在第4.3节中,我们发现更高质量分割(例如使用MCG计算的分割,或从人类标注获得的分割)以提高表示质量。如果分割更准确,我们如何提高学习目标?我们通过重新考虑对比目标的设计选择来评估这个问题,给出COCO数据集的真值掩模,而不是近似的FH掩模。
缩放图像分辨率。我们假设,更高的图像分辨率可能会使网络从这些信息量更大的分割中受益更多。为了保留细粒度信息,我们在每个掩膜内采样局部特征,并使用DetCon目标对其进行优化。我们在384×384或512×512分辨率的图像上预训练配备了FH或真值(GT)掩模的SimCLR和DetConS模型。虽然带FH掩模的DetCon只获得了适度的益处,而带高分辨率图像的SimCLR的性能恶化,带GT掩模的DetCon得到了显著的改善(图8)。请注意,这完全是由于提高了表示质量;用于下游评估的图像分辨率主要保持在1024×1024(对于所有模型)。
重新审视对比框架。最后,我们提出了一个问题,即当前的对比学习范式(利用不同的随机增强产生的大量的负样本和预测)在DetCon目标并具有高质量的分割掩膜的背景下,仍然是最优的。
是否需要大量的负样本? 不用高质量的掩膜。将负样本数量除以128(实现是,仅仅用一个worker来收集负样本),DetCon(带FH掩膜)的表现下降(表5,row a),与当前的对比学习框架一致[8,23]。相比之下,使用GT掩模的DetCon S尽管有此限制,但仍有改进。
在不同增强视图中采样正样本是否必要?不用高质量的掩膜。我们运行DetCon模型,同时为每个图像采样单个增强,并在该视图中最大化基于掩码的特征的相似性。在这里,DetCon目标在使用近似FH遮罩时会遇到这种障碍,但在使用高质量分段时不会遇到这种障碍(表5,b行)。
这是怎么回事? 一种解释是,其他图片给我们提供了干净的负样本,因为COCO中的所有图像都描绘了不同的场景,但这并不意味着这些图像的负样本的质量高于同一图像中的负样本的质量。事实上,看起来是,来自同一个图像的负样本提供了更好的信号,前提是我们能确保它们是干净的,也就是说,我们没有把同一个物体的特征去拉开(pushing apart)。如果同一图像的正样本也是至少和来自不同增强视图的正样本一样好,前提是,它们是干净的,也就是说,我们没有把来自不同物体的特征拉近(pulling together)。
讨论
我们提出了DetCon,这是对现有自监督学习算法(如Sim-CLR和BYOL)的一种简单而强大的改进。DetCon利用低级线索将图像组织成物体和背景区域等实体,将大数据集的预训练效率提高了5倍,同时也提高了下游任务学习表示的准确性。在ImageNet上预训练的自监督方法中,我们的最佳模型达到了最先进的性能,与最近在更大数据集上训练更大模型的最先进方法的性能相似[19]。
我们表明,DetCon的能力与使用的掩膜与物体边界对齐的程度密切相关。这似乎是直观的——DetCon目标只能利用从每个图像区域(如果他们包含不同的内容)独立的学习信号。同样,只有当负样本代表不同的物体时,它们才是真正不同的。然而,这在联合学习表征和发现物体方面创造了令人兴奋的研究前景。考虑到DetCon表示的改进性能,例如分割,一个自然的问题是,它们是否可以用于生成更好的无监督分割(比预训练阶段更好)。如果是这样的话,这些可能会被用来学习更好的表示,导致一个良性的热潮,无监督的场景理解。
感谢 作者感谢Carl Doersch、Raia Hadsell和Evan Shelhamer对手稿的深入讨论和反馈。
A.附录
A.1。实现:数据扩充
自监督训练前。每人图像被随机放大两次,结果是两次图像:x;x0 . 算符构造为以下操作的组合,每个操作以给定的概率应用:
随机裁剪:
选择图像的随机面片,其面积在[0:08 a;a]中均匀采样,其中Ais是原始图像的面积,其纵横比在[3=4;4=3]中对数采样。然后使用双三次插值;
水平翻转;
3将面片调整为224×224像素。颜色抖动:亮度、对比度、饱和度和色调通过均匀分布的偏移量进行偏移;
颜色下降:RGB图像由其灰度值替换;
5。高斯模糊,23×23平方核,标准差从[0:1;2:0];
6均匀采样。日晒:一个点式颜色转换x 7!x A 1x<0:5+(1 x)A 1x→0:5,像素sin[0;1]。增广图像x;x 0分别来自分布t和t 0的增广采样。这些分布适用于上述具有不同概率和不同震级的原语。下表为SimCLR[8]和BYOL框架[20]指定了这些参数,我们对DetCon S和DetConB采用这些参数而不进行修改。
传输到COCO。
微调,图像随机翻转,并调整到最长一侧1024像素的分辨率,其中UI在[0:8;1:25]中均匀采样,然后进行裁剪或者填充到1024×1024的图像。宽高比保持与原始图像相同。在测试期间,图像在最长的一侧被调整到1024像素,然后填充到1024×1024像素。
转到帕斯卡。在训练过程中,图像会以[0:5;2:0]中的因子进行翻转和缩放。用513×513分辨率的图像进行训练和测试。实现:
体系结构
我们的默认特性提取器是ResNet-50[27]。在第4.1节中,我们还研究了更深层次的体系结构(ResNet-101、-152和-200)和更宽的模型(ResNet-200×2),该模型通过将所有通道尺寸缩放2倍而获得。如第3.1节所述,该编码器产生一个隐藏向量的网格,我们将其聚集在掩码中,以获得一组表示每个掩码的向量hmr。然后,在输入对比损失之前,通过投影头g(以及可选的预测头q)对其进行变换。在SimCLR之后,投影头是一个两层MLP,其隐藏和输出尺寸是2048和128。该网络使用两个视图的学习参数θ。DetConB公司。根据BYOL,投影头是一个两层MLP,其隐藏和输出尺寸分别为4096和256。该网络使用所学习的参数θ来处理一个视图,并使用这些参数ξ的指数移动平均值来处理第二个视图。具体地说,ξ是用ξ→Aξ+(1→)Aθ来更新的,其中衰减率→在训练过程中使用余弦表从→0到1进行退火[20]。→当训练1000个历元时,0设置为0.996,当训练300个历元时,0设置为0.99。第一视图的投影进一步通过预测头进行变换,预测头的结构与投影头的结构相同。
1计算成本。通过ResNet-50编码器的正向传递大约需要4B次触发器。忽略偏差项和逐点非线性的代价,DetCon S中的预测头大约需要440万次浮点运算(即2048×2048+2048×128)。由于这是计算16次而不是一次,因此与SimCLR相比,它会导致67M触发器的开销。对于detconb,与BYOL相比,评估投影和预测头的综合成本导致额外的173M失败。最后,评估对比损失的代价是DetCon S为134M次,DetConB为268M次。DetConS总共需要2.01亿个额外的触发器和4.41亿个DetConB,分别占主干网评估成本的5.3%和11.6%。与达到给定传输性能所需的训练迭代增益(例如,DetCon S的500%增益)相比,该开销足够小
对于我们来说,没有进一步区分计算和训练时间的收益。实施:
优化
自监督训练前。我们使用LARS op timizer[63]进行培训,批量大小为4096,分为128个云TPU v3工作人员。在ImageNet上训练时,我们再次对DetConS和DetConB采用SimCLR和BYOL的优化细节,将学习速率与批量大小线性缩放,并根据余弦调度进行衰减。对于DetCon S,基本学习率为0.3,权重衰减为106。DetConBalso在训练300个时期时使用这些值;在训练1000个时期时,它们是0.2和1:5 A 10 6。在对COCO进行预训练时,我们将cosine学习率表替换为一个分段常数,这被发现可以缓解过度拟合[24],在第96和98个百分位,学习率降低了10倍。为了公平比较,我们在将Sim-CLR应用于COCO数据集时使用了相同的调度,我们还发现它的性能比更激进的余弦调度更好。
迁移到COCO。
我们使用随机梯度下降进行微调,在前500次迭代中线性增加学习速率,之后两次下降10倍总训练时间的2 3和8 9,在[60]之后。我们对ResNet-50模型使用0.3的基本学习率,对较大的模型使用0.2的基本学习率,动量为0.9,权重衰减为4 a 10 5,批大小为64张图像,分成16个工作人员。
迁移到PASCAL。
我们使用随机梯度下降对45个时期进行微调,批大小为16,权重衰减为10 4。学习率为0.02,在第70百分位和第90百分位下降了10倍。