前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「上帝视角」看对比自监督学习,SimCLR、CPC、AMDIM并无本质差异

「上帝视角」看对比自监督学习,SimCLR、CPC、AMDIM并无本质差异

作者头像
新智元
发布2020-09-17 09:57:02
1.5K0
发布2020-09-17 09:57:02
举报
文章被收录于专栏:新智元新智元

新智元报道

来源:towardsdatascience

编辑:QJP、小智

【新智元导读】近日,两位Facebook的研究员小哥,提出了一种新的对比各种自监督学习框架的方法,结果显示SimCLR、CPC、AMDIM这些框架,彼此之间并无本质差异。

对比自监督学习将取代监督式深度学习主导地位的预言,已经「甚嚣尘上」。

Hinton大力推广的SimCLR就是其中一种。

对比自监督学习(CLS)是从无标签数据中选择和对比Anchor,Positive,Negative(APN)三种特征,学习到有用表征的方法。

近日,Facebook的两位研究员,使用一个新的框架来对比分析了目前三个主流的自监督学习算法:SimCLR、CPC、AMDIM。结果显示,尽管这些方法表面上看起来非常不同,但实际上他们互相之间只有微小的差异。

回顾:自监督学习和对比学习

自监督学习

在有监督学习中,系统会给定一个输入x和一个标签y。而在自监督学习中,系统只给定了输入x,系统需要从输入x的一部分来预测输入的其他部分,输入既是source,也是target。

对比学习

俗话说,近朱者赤近墨者黑,机器学习中也有一种类似思想的算法就是聚类,对比学习与这种思想也是十分相似,通过三个要素来完成这个任务,即积极的,锚定的和消极的表征。

对于一张图片,我们需要一张相似的图片来构建一个正例二元组,需要一个相似的图片和一张不相关的图片来构成一个负例三元组。

但是在自监督学习中,样本的标签y是不知道的,所以无法得知两张照片是否相似。如果假设每张图片都有自己的标签,那就可以通过各种方法来形成这些三元组。

有了标签以后,就可以通过新提出的框架对各种CLS方法进行评估。

评估对比自监督学习的五个新视角

下面,这个框架通过五种视角来对比CLS的各种方法,包括:

1.数据增强管道

2.编码器选择

3.表征抽取

4.相似度度量

5.损失函数

第一个视角是定义一个数据增强管道。

在深度学习中,数据增强的目的就是为了扩充数据集,通过对输入图像进行翻转、对称、抖动、灰度等各种操作来增加数据的量。

主流的三种CLS方法的数据增强管道也是也有千秋。

CPC

CPC除了使用抖动、灰度和翻转之外,还使用了一种新的变换,就是将原来的图像分割成Patches小块。通过CPC管道,可以生成多组正负样本对。

AMDIM

AMDIM管道是通过执行完一些基本的翻转抖动等操作以后,对同一个图像使用两次数据增强管道,生成两个版本的图像。

SimCLR

在他们的论文中,发现变换方式的选择对于方法最后的表现十分重要,事实上,这些方法的表现都是通过选择特定的变换来驱动的。

对比CLS方法的第二个视角是编码器Encoder。

CLS方法大多只是使用了不同宽度和深度的ResNet架构,通过消融实验可以发现,AMDIM不能够很好的泛化,而CPC受到编码器结构变化的影响较小。

在消融实验中还有一个额外的发现,更宽的编码器在对比学习中的表现更好。

第三种视角是表征抽取。

这是「魔术」发生的地方,也是他们不同之处最大的地方。

CPC通过在隐藏空间中预测未来信息来学习表征。把图片当成一条时间线,过去的信息在左上方,未来的信息在右下方。

AMDIM是比较从CNN不同层的得到特征图之间的表征方式。这些表征来自于两个部分:一个图像的多个视图和CNN的中间层。

SimCLR与AMDIM类似,但是进行了两个改进:一是只使用最后一个特征图,二是通过投影头运行特征映射并比较两个向量(类似于 CPC 上下文投影)。

用来比较这些方法还有两种方式:相似性度量和损失函数。

相似性度量使用了点积或者余弦距离,作者的实验表明,相似性的选择是无关紧要的。损失函数都使用了NCE损失。

YADIM:目前的对比学习框架只是特例

研究人员找到了一种新的方法来显示这个框架的用途,这种方法叫做Yet Another DIM (YADIM).

YADIM的特点如下:

1.合并了CPC和AMDIM的管道

2.使用了AMDIM的编码器

3.对一个图像进行多个版本的编码,并使用最后一层的特征图进行比较。

4.使用点积求相似度

5.使用NCE损失函数

YADIM的实验结果

可以看出,尽管融合了AMDIM和CPC的模型效果最优,但是YADIM的效果也仅差了一点。

SimCLR只是YADIM的一种特殊情况。

SimCLR像AMDIM一样,通过最大化同一图像的两个视图之间的相似性来提取表征。

SimCLR与AMDIM相似,但进行了一些小调整。首先,它使用非定制的通用ResNet。其次,它使用了经过修改的数据增强管道。第三,它使用投影头添加了参数化的相似性度量。最后,它为NCE损失增加了比例系数(τ)。

接下来,我们具体分析下SimCLR是如何做的。

数据增强管道:SimCLR的数据增强跟AMDIM类似,对同一输入使用两次随机扩充,包括随机调整大小和裁剪,随机水平翻转,颜色抖动,随机灰度和高斯模糊。

编码器:SimCLR中的编码器是一个可变宽度和深度的ResNet,SimCLR中的ResNet使用批量归一化。

表征抽取:R与AMDIM类似,但只使用最后一个特征图,二是通过投影头进行特征映射并比较相似度。

相似性度量:SimCLR使用投影头z =fφ将表示向量从编码器映射到另一个向量空间,即fφ:R c→R c,将两个向量之间的余弦相似度作为评分。

损失函数:SimCLR使用NCE损失来调整相似性评分的范围。

这种损失将锚点和正样本聚集在一起,而将锚点和负样本分开。

如果再分析下AMDIM和CPC就不难发现,这些对比自监督学习框架都是大同小异,只是从上面五个角度做了微小改动而已。

这也是首个在同一标准下对三大框架进行对比的工作,让我们从一个更高的视角窥探了对比自监督学习的原理,也为后来者提供了改进现有对比学习方法的新思路。

参考链接:

https://towardsdatascience.com/a-framework-for-contrastive-self-supervised-learning-and-designing-a-new-approach-3caab5d29619

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 回顾:自监督学习和对比学习
  • 评估对比自监督学习的五个新视角
  • YADIM:目前的对比学习框架只是特例
相关产品与服务
日志服务
日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档