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

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

最近一段时间,学术界对无监督学习的研究和关注越来越多。在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%。

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

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

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

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

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

一、方法介绍

图2. SimCLR算法结构。原始图片经过不同的数据增广变换t~T和t‘~T,然后经过神经网络f(.)得到特征表示,最后经过一个非线性变换模块g(.)。训练目的是最大化同一个样本在不同增广情况下的一致性。

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

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

我们的训练目标是使得来自同一图片的特征,例如  和  尽可能接近;而来自不同图片的特征,例如  和  尽可能远离。损失函数如下:

 .

图3. SimCLR正负样本采样和训练图。对于batchsize=N,通过数据增广得到2N图片。来自同一图片(x1)的不同增广(z1, z2)互相吸引,它们的特征应该接近(红色的线);而来自不同图片的增广(例如z1和z_2N)互相排斥,它们的特征应该偏离(蓝色的线)。

二、数据增广

图4. 作者研究的数据增广的类型

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

图5. 数据增广和组合实验结果。1. 组合效果要比单一方式(对角线)好,2. 通过最后一列看出,最好的三个增广是:Crop、Cutout、Color

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

图6. 性能随模型大小变换图

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

图7. 在特征后面加入一个非线性变换,可以极大的提高特征的表达能力。

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

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

图8. CVPR19论文图。对于VGG深层特征性能反而比之前的层要低,但是ResNet相对稳定。

四、batchsize和训练步数

图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对比

图10. 和state-of-the-art对比

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

论文地址:

https://arxiv.org/abs/2002.05709

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

  1. 无监督学习与监督学习_有监督与无监督学习

    无监督学习与监督学习 If we don't know what the objective of the machine learning algorithm is, we may fail to ...

  2. 无监督学习和监督学习的区别

    1.什么是无监督学习? 无监督学习是机器学习技术中的一类,用于发现数据 中的模式.利用 学习数据的分布或数据与数 据之间的关系被称作无监督学习. 2.无监督学习代表算法: 1.k-means算法(聚类 ...

  3. 无监督学习与监督学习的区别

          1.什么是无监督学习? 无监督学习是机器学习技术中的一类,用于发现数据 中的模式.利用 学习数据的分布或数据与数 据之间的关系被称作无监督学习. 2.无监督学习代表算法: 1.k-mean ...

  4. 机器学习的五大分类,监督学习 无监督学习 半监督学习 迁移学习 增强学习

    机器学习的五大分类,监督学习 无监督学习 半监督学习 迁移学习 增强学习@监督学习 无监督学习 半监督学习 监督学习 在监督学习中,给定一组数据,我们知道正确的输出结果应该是什么样子,并且知道在输入和 ...

  5. 1. 机器学习与深度学习——关系、无/半/有监督学习、差异、主流框架

    机器学习与深度学习 目标 1. 人工智能.机器学习.深度学习三者之间的关系 2. 机器学习方式介绍 2.1 无监督学习 2.2 半监督学习 2.3 有监督学习 3. 深度学习与传统机器学习的差异 3. ...

  6. NRF905无线通讯模块的距离到底有多远呢?

    NRF905无线通讯模块的距离到底有多远呢? 我们店铺里有NRF905无线模块出售,但是,我遇到很多的客户都弄不清楚,MRF905模块的通讯距离到底有多远? 有些客户,已经买了905模块,但是通讯距离 ...

  7. 什么是监督学习非监督学习,强化学习

    什么是监督学习非监督学习,强化学习 机器学习按照学习方式的不同,分为很多的类型,主要的类型分为 监督学习 非监督学习 强化学习 半监督学习 什么是监督学习? 利用一组已知类别的样本调整分类器的参数,使 ...

  8. 马斯克的脑机接口,距离我们还有多远?

    腾讯<潜望> 纪振宇 7月18日发自硅谷 想象一下在未来,你可以用意念控制屏幕上鼠标的移动.文字的输入,甚至只需要通过"下载",就能熟练掌握一门新的语言,或者不需要语言 ...

  9. 马斯克公布猴子成功用“意念”打游戏,脑机接口技术距离人类还有多远?

    Neuralink 发布的最新视频显示,猴子也能用意念打乒乓,随着脑机互联网的再一次试验成功,它距离人类还有多远? 整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 近日,埃隆·马斯克所创 ...

最新文章

  1. C#实现类似qq的屏幕截图程序
  2. 2021年春季学期-信号与系统-第一次作业参考答案-第五题
  3. Fabric 架构和概念
  4. android 是否允许打印debug级别日志的开关_log日志功能及设置方法
  5. DCMTK:测试DcmSCU的C-FIND / GET / MOVE会话处理
  6. 计算机网络实验(华为eNSP模拟器)——第十三章 VLAN注册协议(GVRP)
  7. Android虚拟机和Java虚拟机的区别
  8. 王道操作系统考研笔记——2.1.6 处理机调度的概念和层次
  9. php fizz,php 的 FizzBuzzWhizznbsp;nbsp;
  10. 博弈——无向图删边游戏
  11. ABP官方文档翻译 4.6 审计日志
  12. 推荐一款Mac远程桌面工具——Parallels Client(免费)
  13. html校验邮箱格式,邮箱格式验证 方法总结
  14. 机器学习-基础知识 - Precision, Recall, Sensitivity, Specificity, Accuracy, FNR, FPR, TPR, TNR, F1 Score
  15. [eCharts,angularjs]echarts小试-龙虎榜数据显示
  16. html表格自动分列,CSS3 Columns分列式布局方法简介
  17. 全键盘 掌上 linux,拥有QWERTY打字体验手机秒变掌上电脑 OPPO全键盘保护壳专利曝光...
  18. Meta公布四款VR原型机,提出“视觉图灵测试”概念
  19. Google 总部员工终于也享受到了 “蜗居” 待遇
  20. 从管理的角度分享技术 TL 的核心职责:包括沟通与辅导、招聘与解雇等

热门文章

  1. 数据结构与算法课程的代码链接
  2. 【ACM】杭电OJ 2036(待更)
  3. 硬核!Python 四种变量的代码对象和反汇编分析
  4. 苹果新功能惹网友众怒,还有隐私可言吗?
  5. 良心贴!没想到 Google 排名第一的编程语言,可以这么简单!
  6. 「2019嵌入式智能国际大会」 399元超值学生票来啦,帮你豪省2600元!
  7. ​50年来最具影响力的十大编程语言!
  8. 深度学习已至“瓶颈”?英特尔:数据处理是一剂良药
  9. NLP顶级专家Dan Roth :自然语言处理领域近期的任务和主要应用
  10. 对话 | 不能与人类直接对话的智能硬件都是“伪”智能