Contrastive Learning with Stronger Argumetations
Introduction
本文目前是放在ICLR2021的审稿网站,还没有正式的意见。但是文章的实验效果非常强,超过了之前一众的contrastive方法,并且已经非常接近监督学习的效果了。文章地址:Contrastive Learning with Stronger Argumetations
文章指出现有的对比学习方法中,一些数据增强的操作可能会导致变换后的图像与原图的差异过大,强行让网络提取出相似的特征反而会减弱自监督学习的效果。如下图所示:
最左边是原图,右边两张为变换后的图像,可以看出,最右边的图像和原图的差异已经非常大了,这种差异甚至有可能大于原图和其他图像的差异。这种情况在之前的对比学习方法中很难必要,而这反而会削弱特征学习的效果。作者在文中提出的解决方法是,将数据的增广操作划分为两大类,一类是不会显著改变图像视觉效果,叫做Weaker Augmentations;另一类是可能使图像发生非常大的变化的,叫做Strongerer Augmentations。然后作者在训练网络的时候,增加了一个新的损失函数,不是直接限制变换图像与原图的特征,而是通过优化原图与弱变换图像、弱变换图像与强变换图像之间的分布,达到特征学习的目的,消除上述的影响。在ImageNet的线性分类任务上,该方法最高可以达到76.2%的Top1精度,而监督学习的精度为76.5%,已经非常接近了。
Method
假设输入的图像表示为
x
i
x_i
xi,经过弱变换和强变换后的图像分别表示为
x
i
′
x_i'
xi′和
x
i
′
′
x_i''
xi′′,经过网络的特征提取以及MLP的映射,最终得到的特征表示为
z
i
z_i
zi、
z
i
′
z_i'
zi′和
z
i
′
′
z_i''
zi′′。训练网络的损失函数由两部分组成,首先是延续之前的对比学习的方法,求
z
i
z_i
zi和
z
i
′
z_i'
zi′的对比损失函数:
其中
s
i
m
sim
sim表示的是两个特征向量的相似程度,用余弦相似度表示:
第二部分的损失函数表示为如下的形式:
其中
p
(
z
k
∣
z
i
′
)
p(z_k|z_i')
p(zk∣zi′)表示联合概率分布:
上面的损失函数可以理解为直接用原图和强变换图像的特征计算损失函数,有时候会导致差异过大,影像性能,这时候使用弱变化的图像在中间搭一个桥,可能过渡的会自然一些。有点类似于网络蒸馏的思路
Experiments
Linear Classification on ImageNet
固定Resnet50的特征提取层,训练线性分类器,计算ImageNet的分类精度,得到的效果如下:
可以看出,该方法超过了之前的对比学习方法,而且和监督学习的方法已经很接近了。
Transfer learning results on various downstream tasks
在Voc07数据集上进行测试,计算分类的精度和检测的精度:
该方法完全超过了ImageNet预训练方法。
Conclusion
数据增广操作可能导致变换后的图像和原图差异过大,影响网络学习的效果,而这一点在之前的文章中很少被提及。作者在文中考虑了这个因素,提升了效果。这个也为之后的自监督学习方法提供了一个新的改进思路,尽管标签可以自动生成,但是应该更注重于标签生成的有效性,否则可能会降低自监督学习的效果。