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

6da5cfcb56497c21a2b5d9fe19ef6f45.png

文 | 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的基本思想,它是对训练样本做数据增强(例如对于图像进行裁剪等),训练模型让同一图片增强后得到的表示相近,并互斥不同图片增强后的表示。

5c934ccd3769e2629d412f18c83b5f5d.png

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

fd6ea76c8f7c3c0dfe643f2a8e7cf9e0.png

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

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

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

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

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

  • 是归一化后的表示。

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

c4945ed4aaf5c1992fd2262ce3648b2c.png

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

6b83c257a884f4ec60064102d770cb1b.png

作者将这个导致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乘数分布的具体的关系见下图:

b3ed4944595d7548c3acb5fa5a5f01f6.png

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

25025fa7e123a99ff1cccba72a5703c6.png

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

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

2 Decoupled Contrastive Learning

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

db320eca7eee87b075dc6c7912037982.png

可见,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损失

eb9dbd4855956b9d007e6edabffad6a7.png

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

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

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

3 实验结果

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

5c97868846b90965d2908686b9c0fa0a.png

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

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

f4d4869877d2f95777f4026387670ac3.png

可以看出,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中不同方法可能存在不同的耦合现象,那么我们是否可以进一步地提升自监督模型的效果,这些都是值得我们去思考和探索的。

a0689d495f65e60e9c29160779e316ea.png后台回复关键词【入群

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

后台回复关键词【顶会

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

b78b9b85c7e5c6be5326533748d91e92.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477877.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5whys分析法在美团工程师中的实践

前言 网站的质量和稳定性对于用户和公司来说至关重要,但是在网站的快速发展过程中,由于各种原因导致事故不可避免的发生,这些大大小小的事故对公司难免会造成一些负面的影响,为了避免同类事故的再次发生,美团的工程师们…

LeetCode 382. 链表随机节点(概率)

1. 题目 给定一个单链表,随机选择链表的一个节点,并返回相应的节点值。保证每个节点被选的概率一样。 进阶: 如果链表十分大且长度未知,如何解决这个问题?你能否使用常数级空间复杂度实现? 来源:力扣&am…

图谱实战 | 斯坦福黄柯鑫:图机器学习在生物图上的应用

转载公众号 | DataFunSummit分享嘉宾:黄柯鑫 斯坦福大学 博士生编辑整理:元玉蒲 西北大学出品平台:DataFunTalk导读:大家好,我叫黄柯鑫。我现在是斯坦福大学的计算机科学博士第一年级,研究方向是机器学习在…

排得更好VS估得更准VS搜的更全「推荐、广告、搜索」算法间到底有什么区别?...

文 | 王喆源 | 王喆的机器学习笔记作为互联网的核心应用“搜广推”,三个方向基本都是互联网公司的标配。各头部公司的搜广推系统也都各自发展成了集成了多种模型、算法、策略的庞然大物,想一口气讲清楚三者的区别并不容易。不过万事总有一个头绪&#xf…

Solr Facet技术的应用与研究

问题背景 在《搜索引擎关键字智能提示的一种实现》一文中介绍过,美团的CRM系统负责管理销售人员的门店(POI)和项目(DEAL)信息,提供统一的检索功能,其索引层采用的是SolrCloud。在用户搜索时,如果能直观地给出每个品类的POI数目&am…

LeetCode 129. 求根到叶子节点数字之和(DFS)

1. 题目 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。 例如,从根到叶子节点路径 1->2->3 代表数字 123。 计算从根到叶子节点生成的所有数字之和。 说明: 叶子节点是指没有子节点的…

推荐精排之锋:FM的一小步,泛化的一大步

文 | 水哥源 | 知乎1.如果说LR是复读机,那么FM可以算作是电子词典2.泛化就是我没见过你,我也能懂你,但是泛化有时候和个性化有点矛盾,属于此消彼长的关系3.实践中的泛化往往来源于拆解,没见过组成的产品,但…

图谱实战 | 阿里周晓欢:如何将实体抽取从生成问题变成匹配问题?

转载公众号 | DataFunSummit分享嘉宾:周晓欢 阿里巴巴 算法专家编辑整理:刘香妍 中南财经政法大学出品平台:DataFunSummit导读:实体抽取或者说命名实体识别 ( NER ) 在信息抽取中扮演着重要角色,常见的实体抽取多是对文…

剖析 Promise 之基础篇

随着浏览器端异步操作复杂程度的日益增加,以及以 Evented I/O 为核心思想的 NodeJS 的持续火爆,Promise、Async 等异步操作封装由于解决了异步编程上面临的诸多挑战,得到了越来越广泛的应用。本文旨在剖析 Promise 的内部机制,从实…

LeetCode 318. 最大单词长度乘积(位运算)

1. 题目 给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的最大值,并且这两个单词不含有公共字母。你可以认为每个单词只包含小写字母。如果不存在这样的两个单词,返回 0。 示例 1: 输入: ["abcw","baz&…

百度研究院商业智能实验室招聘研究实习生!

致力于连接最靠谱的算法岗与最强的求职者招聘贴投放请联系微信xixiaoyao-1岗位职责:同实验室的数据科学家和工程师一起参与研发前沿的机器学习技术,主要内容为对前沿技术进行调研,复现前沿科研成果在顶级会议和期刊上发表论文支持及落地百度飞…

论文浅尝 | KGNLI: 知识图谱增强的自然语言推理模型

笔记整理 | 韩振峰,天津大学硕士链接:https://aclanthology.org/2020.coling-main.571.pdf动机自然语言推理 (NLI) 是自然语言处理中的一项重要任务,它旨在识别两个句子之间的逻辑关系。现有的大多数方法都是基于训练语料库来获得语义知识从而…

block在美团iOS的实践

说到block,相信大部分iOS开发者都会想到retain cycle或是__block修饰的变量。 但是本文将忽略这些老生常谈的讨论,而是将重点放在美团iOS在实践中对block的应用,希望能对同行有所助益。 本文假设读者对block有一定的了解。 从闭包说起 在Lisp…

写Rap,编菜谱,你画我猜……这些 AI demo 我可以玩一天!

文 | ZenMoore编 | 小轶上次写的那篇 《Prompt 综述15篇最新论文梳理]》 有亿点点肝。这次给大家整点轻松好玩的(顺便给这篇推文打个广告,快去看!)。不知道读者朋友们有没有遇到这样的情况:有新的论文发表了&#xff0…

LeetCode 1254. 统计封闭岛屿的数目(图的BFS DFS)

文章目录1. 题目2. 解题2.1 DFS2.2 BFS1. 题目 有一个二维矩阵 grid ,每个位置要么是陆地(记号为 0 )要么是水域(记号为 1 )。 我们从一块陆地出发,每次可以往上下左右 4 个方向相邻区域走,能…

技术动态 | 图对比学习的最新进展

转载公众号 | DataFunSummit 分享嘉宾:朱彦樵 中国科学院自动化研究所编辑整理:吴祺尧 加州大学圣地亚哥分校出品平台:DataFunSummit导读:本文跟大家分享下图自监督学习中最近比较热门的研究方向:图对比学习&#xff0…

如何把Android手机变成一个WIFI下载热点? — 报文转发及DNS报文拦截

随着WiFi的普及,移动运营商的热点也越来越多了,如中国移动的CMCC、中国电信的ChinaNet、中国联通的ChinaUnicom等,一般来说,连上此类的热点,打开浏览器上网时都会自动跳转到一个验证页面,最近有个项目也有类…

OpenKG 祝大家新春快乐

OpenKG 祝各位读者新春快乐,虎虎生威!OpenKGOpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。点击阅读原文,进入 OpenKG 网站。…

推荐中使用FNN/PNN/ONN/NFM优化特征交叉

文 | 水哥源 | 知乎sayingDNN时代来临的时候,LR没打过,也很难加入。FM打不过,但他可以加入FM的精髓,最上在于latent embedding,有了它才能把交互拆解到基底上;居中在于element-wise乘,能让两个特…

LeetCode 310. 最小高度树(图 聪明的BFS,从外向内包围)

文章目录1. 题目2. 解题2.1 暴力BFS2.2 聪明的BFS1. 题目 对于一个具有树特征的无向图,我们可选择任何一个节点作为根。图因此可以成为树,在所有可能的树中,具有最小高度的树被称为最小高度树。给出这样的一个图,写出一个函数找到…