无监督学习距离监督学习还有多远?Hinton组新作解读

点击我爱计算机视觉标星,更快获取CVML新技术


本文原载于知乎,已获作者授权转载,请勿二次转载。

https://zhuanlan.zhihu.com/p/107126866

无监督学习距离监督学习还有多远?Hinton组新作解读

最近一段时间,学术界对无监督学习的研究和关注越来越多。在ImageNet数据集上面的方法和研究对比也不断增加(主要是大组或者大厂,计算资源充足)。

之前写过自监督学习(self-supervised learning)和动量对比的笔记,今天读一下Hinton组最新的一篇论文:A Simple Framework for Contrastive Learning of Visual Representations。

之前kaiming在动量对比文章中写过:“This suggests that the gap between unsupervised and supervised representation learning has been largely closed in many vision tasks.“ 

通过Hinton的这篇文章(SimCLR),我们可以发现,无监督学习和监督学习性能之间的差距已经越来越小。如图1,在ImageNet上,基于ResNet50网络,SimCLR达到了69%,而监督学习基线是77%

无监督学习距离监督学习还有多远?Hinton组新作解读
图1. 不同无监督学习算法和监督学习基线对比,网络为ResNet50。可以看出,SimCLR的准确率距离监督学习已经非常接近(69% vs 77%)。

这篇文章没有提出新的方法,主要是基于现有无监督对比学习算法,做了技术细节上的简化和改进,比如数据增广、batchsize、训练步数等。本文的实验和对比非常多,所以后续部分会比较多实验图,如果只想了解主要思想,那么作者的结论可以总结为以下几条:

  • 组合使用多个数据增强方法对于对比学习算法非常重要。同时,数据增强对无监督学习的提升效果远大于监督学习;

  • 在对比损失和特征表示之间插入一个可学习的非线性变换模块(MLP),可以大幅度提升学习到的特征的质量

  • 与监督学习相比,无监督对比学习可以得益于更大的batchsize以及训练步数

一、方法介绍

无监督学习距离监督学习还有多远?Hinton组新作解读
图2. SimCLR算法结构。原始图片经过不同的数据增广变换t~T和t‘~T,然后经过神经网络f(.)得到特征表示,最后经过一个非线性变换模块g(.)。训练目的是最大化同一个样本在不同增广情况下的一致性。

如图2,SimCLR的算法非常简单,由数据增广、特征网络和变换网络组成。可以看出,整个过程比之前kaiming提出的动量对比(MoCo)更加的简单,同时省去了数据存储队列

为了更好的理解训练过程,我们看下面的图(by Mohammad Norouzi):如图3,假设batchisize=N,经过数据增广,得到2N训练图片。

我们的训练目标是使得来自同一图片的特征,例如 无监督学习距离监督学习还有多远?Hinton组新作解读 和 无监督学习距离监督学习还有多远?Hinton组新作解读 尽可能接近;而来自不同图片的特征,例如 无监督学习距离监督学习还有多远?Hinton组新作解读 和 无监督学习距离监督学习还有多远?Hinton组新作解读 尽可能远离。损失函数如下:

无监督学习距离监督学习还有多远?Hinton组新作解读 .

无监督学习距离监督学习还有多远?Hinton组新作解读
图3. SimCLR正负样本采样和训练图。对于batchsize=N,通过数据增广得到2N图片。来自同一图片(x1)的不同增广(z1, z2)互相吸引,它们的特征应该接近(红色的线);而来自不同图片的增广(例如z1和z_2N)互相排斥,它们的特征应该偏离(蓝色的线)。

二、数据增广

无监督学习距离监督学习还有多远?Hinton组新作解读
图4. 作者研究的数据增广的类型

作者研究了一系列数据增广和它们的两两组合如图4,完整的结果如下图6:

无监督学习距离监督学习还有多远?Hinton组新作解读
图5. 数据增广和组合实验结果。1. 组合效果要比单一方式(对角线)好,2. 通过最后一列看出,最好的三个增广是:Crop、Cutout、Color

三、网络结构和非线性变换

无监督学习距离监督学习还有多远?Hinton组新作解读
图6. 性能随模型大小变换图

如图6,随着模型大小的不断增加,SimCLR(红色的线)带来的提升,要大于监督学习(绿色的线)。说明无监督学习可以更好的利用更大模型的潜力。

无监督学习距离监督学习还有多远?Hinton组新作解读
图7. 在特征后面加入一个非线性变换,可以极大的提高特征的表达能力。

如图7对比可以发现,在特征后面加入一个非线性可学习变换,可以极大的提升特征的表达能力。这个结果与之前CVPR19 Revisiting Self-Supervised Visual Representation Learning有一定的联系。

CVPR19论文发现,对于VGG网络,深层特征的性能比之前的层要低,而ResNet则相对稳定。SimCLR的发现是,如果我们在ResNet后面继续加一个非线性变换,那么性能会进一步提升。

无监督学习距离监督学习还有多远?Hinton组新作解读
图8. CVPR19论文图。对于VGG深层特征性能反而比之前的层要低,但是ResNet相对稳定。

四、batchsize和训练步数

无监督学习距离监督学习还有多远?Hinton组新作解读
图9. 增大batchsize和训练步数可以带来性能的提升,但是提升会逐渐减小,

如图9,增大batchsize和训练步数,可以带来性能的提升。但是这个提升会随着stepsize以及步数的增加,而逐渐变小。我们可以看到作者尝试的最大batchsize=8192,最多训练epoch=1000,这对于一般的研究组是难以实现的。

作者用的是google的Cloud TPU,对于batchisze=4096以及epoch=100的情况,128个TPU v3,训练时间大约1.5小时所以尽管本文的方法非常简单有效,但是代价也很明显就是增加了对硬件和计算资源的消耗,一般的研究组或者公司是很难承受的。

五、和state-of-the-art对比

无监督学习距离监督学习还有多远?Hinton组新作解读
图10. 和state-of-the-art对比

可以看出,虽然本文提出的结构和改进都很简单,但是通过一些设计的探索,在Imagenet上取得了比当前最好性能高7%(相对提升)的结果。这个结果还是非常惊人的,同时由于和监督学习的差距进一步缩小,我们或许可以展望不久的将来,无监督学习可以赶上甚至超越监督学习的性能。

论文地址:

https://arxiv.org/abs/2002.05709

在我爱计算机视觉公众号后台回复“SimCLR”,即可收到论文下载地址。


无监督学习交流群

关注最新最前沿的无监督学习技术,扫码添加CV君拉你入群,(如已为CV君其他账号好友请直接私信)

请务必注明:无监督):

无监督学习距离监督学习还有多远?Hinton组新作解读

喜欢在QQ交流的童鞋可以加52CV官方QQ群:805388940

(不会时时在线,如果没能及时通过还请见谅)


无监督学习距离监督学习还有多远?Hinton组新作解读

长按关注我爱计算机视觉