文 | Rukawa_Y
编 | 智商掉了一地,Sheryc_王苏

比 SimCLR 更好用的 Self-Supervised Learning,一起来看看吧!

Self-Supervised Learning作为深度学习中的独孤九剑,当融汇贯通灵活应用之后,也能打败声名在外的武当太极剑。比如在NLP领域中,每当遇到文本分类的问题,BERT + funetuning的套路来应对,但是也正因为如此大家解决问题的思路出现固化。也正是这个原因,当本菜鸟第一次接触到Self-Supervised Learning这个概念时,就在项目中尝试应用Self-Supervised的SimCLR方法,但是却事与愿违,模型的预测效果并没有显著地提升,反而出现了一丢丢的下降,等厚着脸皮求助大佬后才明白,SimCLR对于模型效果的提升必须基于大Batch Size才会有效果。

而在近期,由 Yann Lecun 等人发表了一篇题为《Decouple Contrastive Learning》的论文,其中仔细分析了SimCLR和其他自监督学习模型所使用的InfoNCE损失函数,仅仅对InfoNCE的表达式进行了一处修改,就大大缓解了InfoNCE对于大Batch Size的需求问题,并在不同规模的Vision Benchmarks上均取得优于SimCLR的结果。

接下来就让我们跟随论文的思路,一起学习Decoupled Contrastive Learning吧。

论文标题
Decoupled Contrastive Learning

论文链接
https://arxiv.org/abs/2110.06848

1 对比学习中正负样本的解耦

作为本文的背景,我们先来介绍一下SimCLR的基本思想,它是对训练样本做数据增强(例如对于图像进行裁剪等),训练模型让同一图片增强后得到的表示相近,并互斥不同图片增强后的表示。

论文从SimCLR所使用的InfoNCE损失函数开始分析。InfoNCE对于其中一个样本的增强数据的InfoNCE损失函数如下:

其中所使用的各个变量的意义分别为:

  • 为一个Batch中所使用的样本, 为Batch Size;

  • 是样本增强后的两个数据;

  • 是对于Batch中所有样本增强后的数据集合;

  • 是样本的增强数据输入到Encode Layer中所对应的输出;

  • 是归一化后的表示。

InfoNCE的损失函数分别求对于,和的梯度:(这里作者对梯度进行了一定的变化,变化过程可参照论文附录的第一部分)

其中需要注意的是损失函数的梯度中均有一个系数,这个系数导致模型训练的梯度发生了放缩。该系数的具体形式如下:

作者将这个导致SimCLR模型梯度放缩的系数称为Negative-Positive Coupling (NPC) Multiplier,即NPC乘数。NPC乘数分子和分母上出现的中衡量了正样本对的相似度,而分母上出现的则衡量了负样本对的相似度。

顾名思义,对训练的影响与正负样本的耦合有关:当负样本较为分散时,正样本同样可能较为分散;反之,当正样本较为紧凑时,负样本同样可能较为紧凑。论文中对于不同情形下的NPC乘数进行了定性分析,总结如下:

  • 当训练使用的正样本较分散时,负样本可能同样比较分散。此时正样本为Hard Positive,负样本为Easy Negative。这使得NPC乘数分子分母上的相似度同时减小,得到的小于1的NPC乘数会减小Hard Positive带来的梯度幅度

  • 当训练使用的负样本较紧凑时,正样本可能同样比较紧凑。此时正样本为Easy Positive,负样本为Hard Negative。这使得NPC乘数分子分母上的相似度同时增大,得到的小于1的NPC乘数会减小Hard Negative带来的梯度幅度

  • Batch Size较小时,分母上对Batch中负样本相似度的求和会受限于Batch Size,得到更小的NPC乘数,使得梯度幅度进一步被减小

由此可见,SimCLR对于大Batch Size的需求很可能来自于NPC乘数对于梯度的缩小。Batch Size同NPC乘数分布的具体的关系见下图:

从图中可以明显看出,Batch Size越小,的分布越接近于;Batch Size越大,的分布越接近于。同时作者还给出了的均值和离散系数同Batch Size的关系,见下图:

可以看出,小的Batch Size使得的均值减小,离散系数增大,从而使得训练过程中的梯度被大幅缩小。

综上所述,SimCLR等自监督模型中对于大Batch Size的需求问题一定程度上来自于。论文的作者由此修改了InfoNCE的公式来消除的影响,从而引出了本文的核心:Decoupled Contrastive Learning Loss。

2 Decoupled Contrastive Learning

既然NPC乘数的存在会使得梯度被缩小,那么移除掉NPC乘数不就能解决上面的问题了么?通过将导数中的NPC乘数移除,作者推导出了下面的损失函数。在这个损失函数中,正负样本的耦合带来的梯度放缩被消去,作者将该损失称为Decoupled Contrastive Learning (DCL) Loss,即解耦对比损失函数

可见,Decoupled Constrive Learning中的损失直接去掉了SimCLR损失函数分母中两个正样本对之间的相似度,从而直接计算正样本对的相似度同所有负样本对相似度之和的比值。

Decoupled Contrastive Learning中所对应的梯度如下:

我们同样针对正负样本对耦合和Batch Size较小的情况,具体分析反向传播过程中的梯度:因为缺少了NPC这个系数的影响,当出现正负样本耦合的情况,正负样本比较分散(Hard Positive + Easy Negative)或者正负样本比较集中(Easy Positive + Hard Negative)反向传播过程中梯度幅度就不会减少,同时因为没有了NPC系数的存在,比较小的Batch Size也就不会使得梯度幅度变得很小。

综上所述,消去了NPC乘数的DCL损失函数能较SimCLR损失取得更好的效果,后面的实验结果也对此进行了证明。

同时论文的作者还提出了一种DCL损失的变形,即对DCL损失中衡量正样本对相似度的一项增加一个权重。作者将其称为DCLW损失

上式中,权重使用负von Mises-Fisher权重函数

且。为参数,在后续实验中取0.5。这一权重使得在出现Hard Positive时能增大其提供的训练信号。显然,是的一个特殊情况。

总结来说,DCL损失仅在SimCLR所采用的损失函数基础上采取了一些小的改动,使得模型能够在训练过程中也不要求大Batch Size,同时对正负样本对进行解耦。

3 实验结果

论文作者首先比较在不同的Batch Size下,使用DCL损失和InfoNCE损失的SimCLR在ImageNet、STL10、CIFAR10和CIFAR100数据集上的表现:

可以发现在不同的Batch Size上,DCL损失的效果均优于SimCLR。同时,Batch Size越小,DCL损失提供的性能提升越大,这与先前的理论推导一致。

作者又比较了在Batch Size固定为256,epoch固定为200时的DCL损失和加权重的DCLW损失,结果如下:

可以看出,DCLW损失相较于DCL损失能进一步提升模型效果,甚至在ImageNet-1K上能够以256的Batch Size超越SimCLR使用8192 Batch Size的结果,66.2%。可见,DCL和DCLW损失能够通过较小的改动解决SimCLR对于大Batch Size的依赖。

4 文章小结

本篇论文针对自监督学习中的SimCLR方法为何要求较大Batch Size的原因开始分析,提出了一种可以让自监督学习在较小的Batch Size上取得很好效果的loss函数,大幅降低了自监督学习的计算成本,使得自监督学习可以有更广泛的应用。

除此之外,本篇论文还分析了SimCLR中使用的loss函数在反向传播梯度计算中的问题时,提出的一种名为正负样本耦合(Negative-Positive Coupling) 现象,同时也给予了我们一定的启发,如果是同SimCLR中所用的InfoNCE形式不相同的loss函数,在计算梯度的时候,是否也会有正负样本耦合现象,或者说不仅仅有正负样本耦合的现象,还有例如对于不同正样本的,在不同负样本之间的负负样本耦合的现象等,如果能够分析出Self-Supervised Learning中不同方法可能存在不同的耦合现象,那么我们是否可以进一步地提升自监督模型的效果,这些都是值得我们去思考和探索的。

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

图灵奖大佬 Lecun 发表对比学习新作,比 SimCLR 更好用!相关推荐

  1. 未命名文章图灵奖Yann LeCun团队提出Masked Siamese ConvNets,让Mask策略也能应用于基于ViT的孪生网络,进行自监督学习!

    图灵奖Yann LeCun团队提出Masked Siamese ConvNets,让Mask策略也能应用于基于ViT的孪生网络,进行自监督学习! [写在前面] 自监督学习在各种视觉基准上表现出优于监督 ...

  2. 图灵奖大佬+谷歌团队,为通用人工智能背书!CV 任务也能用 LM 建模!

    文 | ZenMoore 编 | 小轶 图灵奖大佬 Geoffrey Hinton 的团队和 Google Brain 团队近日发布新工作 Pix2seq,将 CV 经典任务 目标检测 转换为了语言模 ...

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

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

  4. 【经典课程】图灵奖得主LeCun亲授,深度学习课程在线发布

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要5分钟 Follow小博主,每天更新前沿干货 深度学习作为AI入门的一门必修课程,在网上一直有着许多教学资源. 最常见的莫过于吴恩达老师的&l ...

  5. 图灵奖得主LeCun亲授,深度学习课程在线发布|资源

    木易 发自 凹非寺  量子位 报道 | 公众号 QbitAI 深度学习作为AI入门的一门必修课程,在网上一直有着许多教学资源. 最常见的莫过于吴恩达老师的<深度学习>课程. 就在前不久,纽 ...

  6. 6000星人气深度学习资源!架构模型技巧全都有,图灵奖得主LeCun推荐

    铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 暑假即将到来,不用来充电学习岂不是亏大了. 有这么一份干货,汇集了机器学习架构和模型的经典知识点,还有各种TensorFlow和PyTorc ...

  7. 图灵奖得主LeCun:不需要监督的AI才是未来!

    Datawhale干货 作者:ELIZA STRICKLAND,编译:机器之心 AI 的前进方向是通过更好的数据标签来改善监督学习,还是大力发展自监督 / 无监督学习?在 IEEE Spectrum ...

  8. 我的论文被NeurIPS拒了!图灵奖得主LeCun:自监督学习新工作

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 转载自:机器之心  |  编辑:张倩.小舟 双盲评审之下,图灵奖得主的论文也会被拒. 上周,全球人工智能顶会 ...

  9. 图灵奖得主Bengio:深度学习让AI得以推理和想象,不会被取代

    导读:机器会有意识吗?深度学习能否知道事情发生的因果关系?12月11日,图灵奖得主Yoshua Bengio在NeurIPS 2019大会上发表演讲,题目是<从系统1深度学习到系统2深度学习&g ...

最新文章

  1. 【转载】Hadoop 2.7.3 和Hbase 1.2.4安装教程
  2. 【数据挖掘】分类任务简介 ( 分类概念 | 分类和预测 | 分类过程 | 训练集 | 测试集 | 数据预处理 | 有监督学习 )
  3. 基于CNN的性别、年龄识别及Demo实现
  4. 向前欧拉公式例题_小学语文阅读理解答题万能公式,简单实用!
  5. “const char *“ 类型的实参与 “char *“ 类型的形参不兼容错误的解决方法
  6. 理想传输线终端短路开路和接纯电抗的沿线电压电流分布
  7. Android WebView中那些不得不解决的坑~~
  8. 计算机导论电子版_程序员进阶系列:拿下中科大的计算机课程全靠它了!
  9. JME3中级手册--最佳实践1
  10. java美图秀秀,【美图秀秀和Java手机游戏模拟器哪个好用】美图秀秀和Java手机游戏模拟器对比-ZOL下载...
  11. 最新架构amd服务器cpu,2015年或新变化?AMD将专注高性能架构
  12. PC软件-实用工具 True Launch Bar
  13. 大数据开发有哪些难点?
  14. Vmware 打不开vmx文件
  15. 乐观数据:企业抖音蓝V账号获取流量运营的四个技巧
  16. 【STM32】STM32F103C8T6+nrf24l01收发示例
  17. 坐等膜拜|什么是真正的架构设计?十年Java经验让我总结出了这些,不愧是我
  18. 蚂蚁全媒体中心刘鑫炜:从李子柒看如何打造成功的个人品牌形象
  19. 去哪儿网2023正式秋招啦,来这里可以内推
  20. springboot+thymeleaf实例

热门文章

  1. Matlab R2010a 32bit 绿色免安装版
  2. centos 限制只能访问某个目录的php文件
  3. PowerBuilder调用.Net编译好的DLL
  4. jQuery UI应用--滑块Slider
  5. strcpy()函数一个简单那程序来了解一下它。。
  6. PWM调光方法在LED亮度调节中的应用
  7. 哈希(hash)表查找速度为什么那么快?快在哪里了?
  8. 芯片公司急聘嵌入式软件精英人才
  9. 做10多年测试的老何
  10. mysql自动备份发邮箱,定时任务自动备份数据库并邮件发送