由于最近对比学习实在太火了,在ICLR2020上深度学习三巨头 Bengio 、 LeCun和Hinton就一致认定自监督学习(Self-Supervised Learning)是AI的未来,此外,在各大互联网公司中的业务落地也越来越多,且效果还非常不错(公司里亲身实践),于是写了两篇有关对比学习的文章:
一篇是对比学习在CV与NLP领域中的研究进展,写得比较系统与全面,里面介绍了对比学习是什么,以及该技术如何应用在各个领域中,包括MoCo、SimCLR、BYOL、SwAV、SimCSE等;
另一篇则梳理了ICLR2021上对比学习在NLP领域六大方向中的应用,均收获了很多小伙伴们的私信,感兴趣的同学也可以看一看:
1.对比学习(Contrastive Learning)在CV与NLP领域中的研究进展
2.ICLR2021对比学习(Contrastive Learning)NLP领域论文进展梳理
本篇文章则梳理了对比学习在ICLR2021、ICLR2020和NIPS2020中非常值得大家一读的一些经典论文,构思非常巧妙,涵盖了CV和NLP领域,且与之前两篇文章中介绍的模型均不重叠。后续等NIPS2021论文公开后,也会持续更新并分享给大家,话不多说,开始进入正题叭。
对比学习(ICLR2021/2020)
值得一读的八篇论文
1.PCL
论文标题:Prototypical Contrastive Learning of Unsupervised Representations
论文方向:图像领域,提出原型对比学习,效果远超MoCo和SimCLR
论文来源:ICLR2021
论文链接:https://arxiv.org/abs/2005.04966
论文代码:https://github.com/salesforce/PCL
作者提出了原型对比学习(PCL),它是无监督表示学习的一种新方法,综合了对比学习和聚类学习的优点。
在 PCL 中,作者引入了一个「原型」作为由相似图像形成的簇的质心。将每个图像分配给不同粒度的多个原型。训练的目标是使每个图像嵌入更接近其相关原型,这是通过最小化一个 ProtoNCE 损失函数来实现的。
在高层次上,PCL 的目标是找到给定观测图像的最大似然估计(MLE)模型参数:
作者引入原型 c 作为与观测数据相关的潜在变量,提出了一种EM算法来求解最大似然估计。在 E-step 中,通过执行 K 平均算法估计原型的概率。在M步中,通过训练模型来最大化似然估计,从而最小化一个 ProtoNCE 损失:
在期望最大化框架下,作者证明以前的对比学习方法是 PCL 的一个特例。
此外,作者在少样本迁移学习、半监督学习和目标检测三个任务上对 PCL 进行评估,在所有情况下都达到了SOTA的性能。
作者希望 PCL 可以扩展到视频,文本,语音等领域,让 PCL 激励更多有前途的非监督式学习领域的研究,推动未来人工智能的发展,使人工标注不再是模型训练的必要组成部分。
2.BalFeat
论文标题:Exploring Balanced Feature Spaces for Representation Learning
论文方向:图像领域,主要解决类别分布不均匀的问题
论文来源:ICLR2021
论文链接:https://openreview.net/forum?id=OqtLIabPTit
现有的自监督学习(SSL)方法主要用于训练来自人工平衡数据集(如ImageNet)的表示模型。目前还不清楚它们在实际情况下的表现如何,在实际情况下,数据集经常是不平衡的。基于这个问题,作者在训练实例分布从均匀分布到长尾分布的多个数据集上,对自监督对比学习和监督学习方法的性能进行了一系列的研究。作者发现与具有较大性能下降的监督学习方法不同的是,自监督对比学习方法即使在数据集严重不平衡的情况下也能保持稳定的学习性能。
这促使作者探索通过对比学习获得的平衡特征空间,其中特征表示在所有类中都具有相似的线性可分性。作者的实验表明,在多个条件下,生成平衡特征空间的表征模型比生成不平衡特征空间的表征模型具有更好的泛化能力。基于此,作者提出了k-positive对比学习,它有效地结合了监督学习方法和对比学习方法的优点来学习具有区别性和均衡性的表示。大量实验表明,该算法在长尾识别和正常平衡识别等多种识别任务中都具有优越性。
3.MiCE
论文标题:MiCE: Mixture of Contrastive Experts for Unsupervised Image Clustering
论文方向:图像领域,对比学习结合混合专家模型MoE,无需正则化
论文来源:ICLR2021
论文链接:https://arxiv.org/abs/2105.01899
论文代码:https://github.com/TsungWeiTsai/MiCE
目前深度聚类方法都是使用two-stage进行构建,即首先利用pre-trained模型进行表示学习,之后再使用聚类算法完成聚类,但是由于这两个stage相互独立且现有的baseline在表示学习中并没有很好的建模语义信息,导致后面无法得到很好的聚类。
作者提出一个统一概率聚类模型Mixture of Contrastive Experts (MiCE),其同时利用了对比学习学习到的判别性表示(discriminative representation)和潜在混合模型获取的语义结构(semantic structures)。受多专家模型(mixture of experts ,MoE)启发,通过引入潜变量来表示图像的聚类标签,从而形成一种混合条件模型,每个条件模型(也称为expert)学习区分实例的子集,同时该模型采用门控函数(gating function)通过在专家之间分配权重,将数据集根据语义信息划分为子集。进一步,为了解决潜在变量引起的非简单推断(nontrivial inference)和其他训练问题,作者进一步构建了可扩展的EM算法,并给出了收敛性证明。其中E步,根据观测数据得到潜在变量后验分布的估计,M步最大化关于所有变量的对数条件似然。
MICE具有以下优点:
方法论上的统一:MICE结合了通过对比学习得到的判别性表示和通过统一概率框架内的潜在混合模型得到的语义结构的优点。
无需正则化:MICE仅通过EM进行优化,不需要任何其他的辅助loss和正则化loss。
Preliminary
定义无标签数据集合 ,其中每个样本 会被分配一个独一无二的代理标签 ,即任两个不同的样本代理标签不同(该代理标签可以与图片索引有关)。使用无监督方法学习representation,考虑两个encoder ,分别生成经过L2归一化后的 (每个样本输入之前会经过随机数据增强),我们可以将概率分类器建模为
Mixture of Contrastive Experts (MiCE)
数据量为 的数据集 ,cluster数量为 ,考虑一个潜在变量 为图片 的cluster label,则作者将(1)式改写为MiCE Gate Function
门控函数根据输入图像的语义为expert加权,将实例判别任务分为K个子任务,定义encoder ,则对于图片 的输出为 ,则门控函数定义如下
其中 为temperature, 表示gating prototype,所有prototype和图像 都在 空间经过L2归一化。
门控函数根据图像 和gating prototype之间的余弦相似度对数据集进行软划分(soft partitioning),我们可以把它看作是一个基于prototype的判别聚类模块,使用后验推理来获得聚类标签,以考虑expert中的附加信息。
Experts
每个expert(定义为无正则化模型 )解决由门控函数安排的实例判别子任务,因此图像 被第 个expert识别为第 的概率为
其中, 为归一化因子,通常难以计算。
类似MoCo,构建学生网络 将图像 映射成 个连续 同样教师网络 的输出为 ,具体来说, 分别表示 在第 expert上的学生 和教师 ,参数化非归一化模型为
其中 表示expert的cluster protype。
在(5)式中,第一个instance-wise点积计算实例层次(instance-level)信息,以在每个expert中产生具有判别性的表示(discriminative representation),第二个instance-prototype点积将类别层次(class-level)信息整合到表示学习中,使之能够围绕prototype形成清晰的集群结构,因此产生的embedding具有语意结构同时有足够的判别性来表示不同实例
该式子基于MoCo和EMA构造,更多细节查看原文附录D。
4.i-Mix
论文标题:i-Mix: A Strategy for Regularizing Contrastive Representation Learning
论文方向:图像领域,少样本+MixUp策略来提升对比学习效果
论文来源:ICLR2021
论文链接:https://arxiv.org/abs/2010.08887
论文代码:https://github.com/kibok90/imix
对比表示学习已经证明了从未标记数据中学习表示是有效的。然而,利用领域知识精心设计的数据增强技术已经在视觉领域取得了很大进展。
作者提出了i-Mix,一个简单而有效的领域未知正则化策略,以改善对比表示学习。作者将 MixUp 技巧用在了无监督对比学习上,可有效提升现有的对比学习方法(尤其是在小数据集上):给每个样本引入虚拟标签,然后插值样本空间和 label 空间进行数据增强。实验结果证明了i-Mix在图像、语音和表格数据等领域不断提高表示学习的质量。
5.Contrastive Learning with Hard Negative Samples
论文标题:Contrastive Learning with Hard Negative Samples
论文方向:图像&文本领域,研究如何采样优质的难负样本
论文来源:ICLR2021
论文链接:https://arxiv.org/abs/2010.04592
论文代码:https://github.com/joshr17/HCL
对比学习在无监督表征学习领域的潜力无需多言,已经有非常多的例子证明其效果,目前比较多的针对对比学习的改进包括损失函数、抽样策略、数据增强方法等多方面,但是针对负对的研究相对而言更少一些,一般在构造正负对时,大部分模型都简单的把单张图像及其增强副本作为正对,其余样本均视为负对。这一策略可能会导致的问题是模型把相距很远的样本分得很开,而距离较近的负样本对之间可能比较难被区分。
基于此,本文构造了一个难负对的思想,主要目的在于,把离样本点距离很近但是又确实不属于同一类的样本作为负样本,加大了负样本的难度,从而使得类与类之间分的更开,来提升对比学习模型的表现。
好的难负样本有两点原则:1)与原始样本的标签不同;2)与原始样本尽量相似。
这一点就与之前的对比学习有比较明显的差异了,因为对比学习一般来说并不使用监督信息,因此除了锚点之外的其他样本,不管标签如何,都被认为是负对,所以问题的一个关键在于“用无监督的方法筛出不属于同一个标签的样本”。不仅如此,这里还有一个冲突的地方,既要与锚点尽可能相似,又得不属于同一类,这对于一个无监督模型来说是有难度的,因此本文在实际实现过程中进行了一个权衡,假如对样本的难度要求不是那么高的时候,就只满足原则1,而忽略原则2。同时,这种方法应该尽量不增加额外的训练成本。
6.LooC
论文标题:What Should Not Be Contrastive in Contrastive Learning
论文方向:图像领域,探讨对比学习可能会引入偏差
论文来源:ICLR2021
论文链接:https://arxiv.org/abs/2008.05659
当前对比学习的框架大多采用固定的数据增强方式,但是对于不同的下游任务,不同的数据增强肯定会有不一样的效果,例如在数据增强中加入旋转,那么下游任务就会难以辨别方向,本文针对该问题进行研究。
如果要应用一个数据增强集合 到模型中,传统模型的做法是将图片数据进行两次独立的数据增强(数据增强参数具有一定随机性)。作者提出LooC,方法是执行 种数据增强,第一种是将图片数据进行两次独立的数据增强,也即是对所有数据增强方式全应用;剩下N种是将 参数固定,这样就保证了最终训练出来的模型会对 这种变换敏感,这n+1种数据增强方式最终会生成n+1种嵌入空间。最终loss如下:
作者发现原来的对比学习都是映射到同一空间,但是这样会有害学习其他的特征,所以作者把每个特征都映射到单独的特征空间,这个空间里都只有经过这一种数据增强的数据。
总而言之,数据增强是要根据下游任务来说的,分成不同的Embedding空间来适合多种不同的下游任务,但是对需要两种以上特征的下游任务效果可能就不好了。比如不仅仅需要结构信息,还需要位置。
7.CALM
论文标题:Pre-training Text-to-Text Transformers for Concept-centric Common Sense
论文方向:文本领域,利用对比学习和自监督损失,在预训练语言模型中引入常识信息
论文来源:ICLR2021
论文链接:https://openreview.net/forum?id=3k20LAiHYL2
论文代码:https://github.com/INK-USC/CALM
预训练语言模型 在一系列自然语言理解和生成任务中取得了令人瞩目的成果。然而,当前的预训练目标,例如Masked预测和Masked跨度填充并没有明确地对关于日常概念的关系常识进行建模,对于许多需要常识来理解或生成的下游任务是至关重要的。
为了用以概念为中心的常识来增强预训练语言模型,在本文中,作者提出了从文本中学习常识的生成目标和对比目标,并将它们用作中间自监督学习任务,用于增量预训练语言模型(在特定任务之前下游微调数据集)。此外,作者开发了一个联合预训练框架来统一生成和对比目标,以便它们可以相互加强。
大量的实验结果表明,CALM可以在不依赖外部知识的情况下,将更多常识打包到预训练的文本到文本Transformer的参数中,在NLU和NLG 任务上都取得了更好的性能。作者表明,虽然仅在相对较小的语料库上进行了几步的增量预训练,但 CALM 以一致的幅度优于baseline,甚至可以与一些较大的 预训练语言模型相媲美,这表明 CALM 可以作为通用的“即插即用” 方法,用于提高预训练语言模型的常识推理能力。
8.Support-set bottlenecks for video-text representation learning
论文标题:Support-set bottlenecks for video-text representation learning
论文方向:多模态领域(文本+视频),提出了cross-captioning目标
论文来源:ICLR2021
论文链接:https://arxiv.org/abs/2010.02824
学习视频-文本表示的主流典范——噪声对比学习——增加了已知相关样本对的表示的相似性,例如来自同一样本的文本和视频,但将所有样本对都认为是负例。作者认为最后一个行为过于严格,即使对于语义相关的样本也强制执行不同的表示——例如,视觉上相似的视频或共享相同描述动作的视频。
在本文中,作者提出了一种新方法,通过利用生成模型将这些相关样本自然地推到一起来缓解这种情况:每个样本的标题必须重建为其他支持样本的视觉表示的加权组合。这个简单的想法确保表示不会过度专门用于单个样本,可以在整个数据集中重复使用,并产生明确编码样本之间共享语义的表示,这与噪声对比学习不同。作者提出的方法在 MSR-VTT、VATEX、ActivityNet 和 MSVD 的视频到文本和文本到视频检索方面明显优于其他方法。
Cross-modal discrimination和cross-captioning:作者的模型从两个互补的损失中学习:(a)Cross-modal 对比学习学习强大的联合视频文本的Embedding,但所有其他样本都被认为是负例,甚至推开语义相关的标题(橙色箭头)。(b) 我们引入了cross-captioning的生成任务,通过学习将样本的文本表示重构为支持集的加权组合,由其他样本的视频表示组成,从而缓解了这一问题。
作者的cross-modal框架具有判别(对比)目标和生成目标。该模型学习将公共Embedding空间中的视频-文本对与文本和视频编码器(顶部)相关联。同时,文本还必须重建为来自支持集的视频Embedding的加权组合,通过Attention选择,这会强制不同样本之间的Embedding共享。