摘要
本文提出的对比式自监督学习方法不需要专有结构或者 memory bank,结构比较简单。
主要证明了一下几点
1)多种数据增强方法的组合对于预测任务的有效设计是非常重要的;相比于监督型学习,非监督的对比式学习从更难的数据增强中获利更大。
2)投射头的设计提升了学习到的特征的质量;
3)相比于监督型学习,大的batch size和更多的训练步对于对比学习的帮助更大。更深更宽的网络对模型性能提升有帮助。
在imagenet上达到了76.5%的top1准确率,超过之前最有方法7%,达到了resnet-50的水平,使用1%的标签调参后,达到85.8%的top5准确率。
1.Introduction
目前不借助监督信息,学习视觉表征的主流方法是生成式和判别式。
生成式方法学习在输入空间生成像素。但是像素级生成是计算昂贵的,而且对于表征学习可能是不必要的。
判别式方法使用类似于监督型方法的损失函数学习表征。但是模型训练使用的代理任务,他的输入数据和标签都来自于无标签的数据集。
2.Method
2.1 对比学习框架
对于同一个样本的不同数据增强视角,SIMCLR通过最大化二者的相似度学习表征。细节如下:
image.png
-
样本x经过数据增强生成的两个视角
image.png
为正样本,使用的数据增强方法为三种方法叠加, random cropping, random color distortions, random Gaussian blur。
- 使用resnet作为基础编码器f(.)
- 使用带一个隐藏层MLP做投射头g(.),对比损失施加在z上而不是h上。
-
对比损失函数。minibatch=N,每张图像两个增强视角,共2N个视角数据。对负样本不显示建模,即只让正样本的两个视角距离更近。单张样本的正样本的损失函数为:最终的损失为计算所有样本的正样本的损失函数之和。
image.png
2.2 大batch size 进行训练
训练使用的batch size从256到8192。过大的batch size 使用标准的SGD/Momentum无法训练,选择 LARS optimizer 。涉及到分布式训练,使用GN而不是BN.
2.3验证标准
数据集使用ImageNet ILSVRC-2012 dataset ,为了验证模型表征学习的能力,模型冷冻后训练一个线性分类器。
默认网络设置:resnet50作为encoder,两层的MLP作为投射头,投射维度为128,损失函数NT-Xent,优化器LARS
batchsize=4096,训练100epoch.
3. 用于对比学习的数据增强
常用的数据增强方法.png实验发现单独的数据增强方法无法学习到较好的表征,即使能够较好的完成对比学习的训练。当叠加数据增强时,对比学习任务变得更难,表征学习的质量随之增加。
image.png
random cropping 与 random color distortion的叠加性能最优,因为随即裁剪的不同图像块服从同意颜色分布。这个特点可作为预测任务的捷径。random color distortion有助于学习可泛化的特征。
image.png
对于监督型学习,更强的颜色数据增强会降低模型性能,而自监督学习,更强的数据增强策略能够提升模型性能。在监督学习中表现优异的Autoaug方法应用于自监督学习性能较差。对于监督型方法没有性能贡献的数据增强方法,应用在对比式自监督学习中仍能够提升性能。
image.png
编码器与投射头结构
相比于监督学习,更大的模型对非监督对比式学习性能贡献更大。
image.png
非线性投射头能够获得搞好的表征质量。
image.png
作者认为应该使用h而不是z用作下游任务的表征,是因为对比学习会造成信息损失。h用于下游任务,z用于对比学习,投射头g的训练能够移除掉对于下游任务有用信息,方便对抗学习的训练,而h包含更多信息,能够提升下游任务的能力。
image.png
对比学习对于更大的batch_size和训练周期获益更多。
image.png
网友评论