其他
对比学习领域近期必读的 5 篇论文 | 本周值得读 Vol.01
论文速览
CLINE:如何利用对比学习提高模型的鲁棒性
CLSA:对比学习如何高效利用数据增强
SG-BERT:利用对比学习来改进预训练模型的句子表示
Survey:对比自监督学习综述文章
SCCL:基于对比学习的端到端无监督聚类方法
CLINE
为了解决这个问题,作者提出了 CLINE,利用无监督的方法构建负样本,并同时让模型去对比语义相似或者语义相反的样例,从而提升模型的鲁棒性。具体而言,作者在构建正负样本的时候是通过以下方式的,正样本通过将句子中的名词,动词或者形容词替换为对应的同义词,而负例则是通过将句子中的词替换为反义词或者随机选择的词。
除此之外,作者还在损失函数上进行了额外的设计,损失函数由三部分组成:1)MLM 的损失函数;2)当前词是否是替换词的预测损失;3)对比损失 InfoNCE。通过优化这三种损失实现整个模型的训练。最终作者也在对抗测试和对比测试中验证了模型效果的提升。
本文是关于对比学习如何高效利用数据增强的一个工作。对比学习中非常核心的一个观点就是如何做正负采样,现有正采样的方法是通过一个数据增强的方法进行,例如图像中的旋转,缩放,裁剪等,负采样一般是使用同一批次中的其他样本。
在本文中,作者对正采样进行了深入研究,作者认为现有的正采样数据增强方法都是 weakly augmentations,即弱增强。不仅理论上,监督和半监督学习已经证明更强的数据增强方式能够提升模型效果,而且能够帮助模型学习的新的模式。但是直接将强增强放到对比学习中,反而会造成模型效果的下降。通过深入研究,作者发现,强增强在一定程度上会改变图像的原有结构和一些信息,这些不一致性会导致模型效果的下降,为了解决这个问题,作者设计了一个全新的分布离散度 loss。
首先,作者将对比损失改写,变成了正例的分布离散度和负例的分布离散度与理想的正负例离散度的交叉熵损失。但事实上理想的正负例分布离散度是无法获取的,目前的对比损失是直接将正例的定为 1,负例为 0,但这种明显会丢失很多信息。而作者另辟蹊径,既然理想的无法获得,那么就不用理想的正负例分布离散度,而是用弱增强的分布离散度去监督强增强的分布离散度,通过这种方式实现对强数据增强的充分利用,进而提升模型的效果。这点还是很有意思的,值得深入研究。
SG-BERT
利用对比学习来改进预训练模型的句子表示本文结合最近大火的对比学习,提出了一种基于自我指导的对比学习方法来改进 BERT 在句子级别的 embedding。该方法以一种自我监督的方式对 BERT 进行微调,不依赖于任何数据增强,并且使通常的 [CLS] 标记嵌入能够作为句子向量。
通过大量的实验发现本文提出的方法可以在不依赖于外部数据的情况下获得对比学习带来的增益,如在数据挖掘或反译领域,本文提出的方法成功地生成了比 baseline 更高质量的句子表达。此外,本文提出的方法因为它不需要任何后处理,一旦其训练完成,就能够进行相对稳健的领域转移。
Survey
对比自监督学习综述文章接下来,作者分别从计算机视觉和自然语言处理两方面进行深入分析和介绍,包括常见的前序任务设计方法以及各自的优缺点。在此基础上,对对比自监督学习的基本框架进行了介绍,包括 End-to-End Learning,Using a Memory Bank,Using a Momentum Encoder,Clustering Feature Representations。同时作者还介绍了常用的损失函数, 主要包括 NCE, InfoNCE 和 triplet loss。以及介绍了对比自监督学习在计算机视觉和自然语言处理两方面的一些下游任务应用。整体内容是比较全面的,相关方向的研究人员可以用来参考。
SCCL
基于对比学习的端到端无监督聚类方法
具体而言,作者针对每个输入,首先使用数据增强的方法进行处理,得到两组不同的数据增强,接着使用一个神经网络对这三个输入进行编码,得到向量表示。在此基础上,对比学习应用到增强的数据上,in-batch 操作,数据增强的为正例,batch 中的其他为负例,infoNCE 作为损失函数。这里是考虑了每一个输入实例的特点。与此同时,聚类方法是直接作用在原始的数据上的,通过 student's t-distribution 来计算每个实例属于每个 cluster 的概率,从类别的粒度来处理每个输入的表示,最后将两个损失函数加起来作为最终的优化目标。然后在短文本聚类的多个实验证明了作者提出的方法的有效性。
详细解读:NAACL 2021 | AWS AI 提出基于对比学习的端到端无监督聚类方法