今天介绍下SimCLR,也是Hinton老爷子在今年提出的工作。首先介绍下为什么下一代神经网络需要无监督对比学习。目前整个人工智能行业的落地,其实都依赖于监督学习模式,无论是OCR、ASR、TTS、ImageDetection,如果没有大量的标注,是很难训练出商业化程度的模型的。这个模式需要被打破,因为世界上存在太多的未知场景,完全依赖人肉标注是不行的。

所以未来无监督学习大势所趋。其实在这方面之前已经有了一些工作,比如Bert模型,就可以基于大量的unlabeled数据训练,然后在小数据集上Fintune来取得效果。类似Bert这一类的训练模式叫做自监督学习。这种模式在NLP领域会有比较好的效果,但是在图像领域效果不明显,因为图像的数据表示会比语意复杂得多。

举个简单例子,“喜欢_ _ _ _的人都会关注凡人机器学习”,这句话虽然空了4个字,但是根据上下文不难猜出这4个字是“机器学习”。所以在NLP领域,自监督是比较好实现的。但是在图像方面,假设戴了墨镜,你能根据一个人的鼻子、嘴和耳朵推测出这个人墨镜后面的样子么?所以图像领域的无监督学习要难的多。

SimCLR基本原理

SimCLR使用无监督对比学习模式在图像领域取得了突破性的成果,可以看下在ImageNet数据集的表现。

那SimCLR究竟是怎么实现的呢,我们分步骤介绍下,看下图:

第一步:Augmentation
无监督对比学习的本质其实是让模型通过不同的类别数据的对比学习出相同类别的属性。所以为了增强同一类别的数据的特征表现,需要做Augmentation,包含数据裁剪、翻转、颜色转换等。

第二步:CNN
可以选用CNN的Resnet网络,做数据的向量表示。Resnet也是最终的分类器模型。

第三步:MLP
通过MLP,也就是全连接层,可以学习出数据的非线性信息,是对上一步的一个增强。通过这一步的学习就可以得出同一类别数据的共同信息特点。如下图所示:

第四步:Optimization
在Optimization这一步,Lossfunction的求法就是要让相同类别的数据对比的Loss最小。比如同是来源于“猫”的图片,他们之间的Loss需要很小,这个Loss的计算需要通过L(猫,猫)去除以L(猫,猫)+L(猫,其它类别)的和。

最终通过Loss去优化CNN和MLP,CNN的输出结果就可以作为最终的模型输出结果了。

参考文献:

[1]https://ai.googleblog.com/2020/04/advancing-self-supervised-and-semi.html

[2]https://blog.csdn.net/u011984148/article/details/106233313/
————————————————
版权声明:本文为CSDN博主「李博Garvin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/buptgshengod/article/details/107899136

方法

SimCLR伪代码[2]

SimCLR示意图[1]

具体而言就是:

  • 随机采样一个batch;
  • 对batch里每张图像做两种增强,可以认为是两个view;
  • 让同一张图的不同view在latent space里靠近,不同图的view在latent space里远离,通过NT-Xent实现。

方法的确蛮简单的,想起了我们2017年的一篇文章Unsupervised Triplet Hashing for Fast Image Retrieval。方法见下图:

Unsupervised Triplet Hashing for Fast Image Retrieval示意图

即:

  • 随机采样一个batch;
  • 对batch里每张图像,原图和随机旋转可以认为是两个view;
  • 让同一张图的不同view在latent space里靠近,不同图的view在latent space里远离,通过triplet loss实现。

我们那篇文章是做无监督图像检索,当时在一些小数据集上(MNIST、CIFAR-10)也取得了不错的效果。

效果

这篇论文我是通过机器之心和量子位看到的。他们的描述如下。

机器之心

如今,在 ImageNet 上的图像识别准确率的性能提升每次通常只有零点几个百分点,而来自图灵奖获得者 Geoffrey Hinton 等谷歌研究者的最新研究一次就把无监督学习的指标提升了 7-10%,甚至可以媲美有监督学习的效果

量子位

在 ImageNet 上,SimCLR 方法训练出的线性分类器与有监督的 ResNet-50 性能相匹配,达到了 76.5% 的 top-1 准确率。

媒体报道给我的感觉是无监督能够做到跟有监督差不多好了,情况果真如此乐观了吗?我仔细看了一下论文。

SimCLR在无监督情况下top-1的accuracy是这么得到的:

1、backbone:ResNet-50(4x),即网络宽度是ResNet-50的4倍;

2、测试方式:linear evaluation protocol, where a linear classifier is trained on top of the frozen base network, and test accuracy is used as a proxy for representation quality,也就是说最后一层linear classifier其实是supervised learning训练得到的。

即媒体说的SimCLR可以媲美有监督的ResNet-50,有两个隐含条件:

1、网络参数更多;

2、在SimCLR无监督学习得到的网络之上使用有监督学习的方式训练了一个linear classifier。

SimCLR的效果当然很好,但是无监督跟有监督的差距还是蛮大的,情况没那么乐观。为了更直观地比较无监督和有监督,其实可以这样做:

1、使用相同网络;

2、直接用无监督学习得到的网络作为一个特征提取器,然后在验证集/测试集上通过检索的方式来获取类别,得到分类accuracy。

但是从特征提取器的角度来说,无监督学习的确取得了长足的进步,跟有监督学习的差距越来越小。

Reference

[1]机器之心:Hinton组力作:ImageNet无监督学习最佳性能一次提升7%,媲美监督学习

[2]A Simple Framework for Contrastive Learning of Visual Representations

关于Hinton团队无监督新作SimCLR的所思所想相关推荐

  1. 73岁Hinton老爷子构思下一代神经网络:属于无监督对比学习

    来源:机器之心 本文约2700字,建议阅读7分钟. 在近期举行的第 43 届国际信息检索年会 (ACM SIGIR2020) 上,Geoffrey Hinton 做了主题为<The Next G ...

  2. Hinton构思下一代神经网络:属于无监督对比学习

    本文由机器之心报道 Geoffrey Hinton 是谷歌副总裁.工程研究员,也是 Vector Institute 的首席科学顾问.多伦多大学 Emeritus 荣誉教授.2018 年,他与 Yos ...

  3. UBC、谷歌联合Hinton等提出3D点云的无监督胶囊网络,多任务上实现SOTA | AI日报...

    多任务上实现SOTA,UBC.谷歌联合Hinton等提出3D点云的无监督胶囊网络 理解对象是计算机视觉的核心问题之一.传统方法而言,理解对象任务可以依赖于大型带注释的数据集,而无监督方法已经消除了对标 ...

  4. 详解下一代神经网络-无监督对比学习框架SimCLR

    背景 今天介绍下SimCLR,也是Hinton老爷子在今年提出的工作.首先介绍下为什么下一代神经网络需要无监督对比学习.目前整个人工智能行业的落地,其实都依赖于监督学习模式,无论是OCR.ASR.TT ...

  5. 一文梳理无监督对比学习(MoCo/SimCLR/SwAV/BYOL/SimSiam)

    本文从对比学习的概念出发,收集了五个2020年的关于对比学习的经典研究,详细介绍了每个工作的模型及思路过程,帮助大家快速掌握对比学习的原理和发展的脉络. 对比学习的概念很早就有了,但真正成为热门方向是 ...

  6. Hinton团队CV新作:用语言建模做目标检测,性能媲美DETR

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来自|arxiv  编译|机器之心 目标检测的「尽头」是语言建模?近 ...

  7. 多任务上实现SOTA,UBC、谷歌联合Hinton等提出3D点云的无监督胶囊网络

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨杜伟.小舟 来源丨机器之心 这是一种为 3D 点云提出的无监督胶囊架构,并且在 3D 点云重构. ...

  8. 图灵奖大佬Hinton团队CV新作:用语言建模做目标检测,性能媲美DETR

    来源:机器之心 目标检测的「尽头」是语言建模?近日,Hinton 团队提出了全新目标检测通用框架 Pix2Seq,将目标检测视作基于像素的语言建模任务,实现了媲美 Faster R-CNN 和 DET ...

  9. 二次元妹子五官画风都能改,周博磊团队用无监督方法控制GAN | CVPR 2021

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 现在,GAN不仅能画出二次元妹子,还能精准调节五官.表情.姿势和绘画风格. 而且在调控某个因素的时候,其他条件能尽量保持不变. 这就是香港 ...

最新文章

  1. Nmap安装和扫描(一:Nmap安装和扫描基础知识点总结)
  2. 于其炒股,不如......
  3. css技巧之如何实现ul li边框重合
  4. DL之YoloV3:YoloV3论文《YOLOv3: An Incremental Improvement》的翻译与解读
  5. python3语法糖_Python笔记3:语法糖
  6. python深浅拷贝 面试_Python面试宝典之基础篇-02
  7. sonarqube对接maven
  8. python写入指定行_python文件操作如何写在指定的行
  9. JavaScript 预解析机制
  10. 语法制导的翻译是如何实现的_考研寄宿:怎样提高英语翻译的能力?
  11. 翻译:web制作、开发人员需知的Web缓存知识
  12. springboot启动自动停止
  13. ps 毛发 边缘_PS技巧:毛发抠图调整边缘法
  14. VBA代码片之计算加权平均分
  15. 机制检验——中介检验
  16. 阿里巴巴29个屌炸天的开源项目!
  17. If you insist running as root, then set the environment variable RUN_AS_USER=root
  18. (转)台式机华硕主板双显卡切换,怎么舒服怎么来
  19. pythonurllib新浪微博_Python代码登录新浪微博并自动发微博
  20. C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(上)

热门文章

  1. mysql 创建和删除库_Mysql创建和删除数据库
  2. python qq签到_Python开发qq批量登陆
  3. 设计一个user类(Java)
  4. 你以为border-radius只是圆角吗?【各种角度】
  5. A. Case of the Zeros and Ones
  6. ecshop /pick_out.php SQL Injection Vul By Local Variable Overriding
  7. java如何读取excel文件
  8. Codemirror-开源在线代码编辑器
  9. 一个不错的命令行解析类
  10. 基类与接口混合继承的声明问题 [C#, Design] -Allen Lee's Magic