ConSERT:一个自监督对比学习句子表示迁移框架

简介: ConSERT:一个自监督对比学习句子表示迁移框架

论文标题:ConSERT: A Contrastive Framework for Self-Supervised Sentence

Representation Transfer


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


论文来源:ACL 2021


一、概述


通常,对于BERT模型来说,我们使用[CLS]token的embedding向量或者最后几层的token embedding向量的平均来作为句子的sentence embedding。然而BERT的原生句子表示被证明是低质量的。如下图所示,当应用BERT的句子表示到STS(semantic textual similarity)任务上时,几乎所有句子对都达到了0.6~1.0的相似度得分,这就是BERT的原生句子表示的坍塌问题(collapse issue),这意味着几乎所有的句子表示被映射到一个局部小区域,因此产生了极高的相似度:


AV0E8WF{7H%{DA5_)_DAZO8.png

                                       BERT句子表示的坍塌问题


类似的现象在先前的研究中也有被观察到,研究人员发现BERT的词表示空间是各向异性的,高频词聚集到一起并且靠近坐标原点,而低频词则稀疏分散。当使用token embedding的平均作为句子表示时,高频词的就会起到主导地位,这就导致产生了对句子真实语义的偏置。因此,在下游任务中直接应用BERT的原生句子表示是不合适的。传统的方法通常使用额外的监督数据来微调BERT,不过由于人工标注是昂贵的,在真实场景中经常不可用。


为了解决坍塌问题并且减少对标注数据的需求,本文基于对比学习提出了一种新的句子级别训练目标,该方法能够有效地将句子表示迁移到下游任务。本文将提出的方法命名为Contrastive Framework for SEntence Representation Transfer(ConSERT)。


ConSERT提出了一种无监督的目标来微调BERT以获得更好的句子表示,另外研究表明Natural Language Inference(NLI)任务能够训练好的句子表示,因此ConSERT也可以采用一些有监督的NLI数据来进一步提升BERT句子表示的性能。


对比学习简介,参考以下链接:对比学习(Contrastive Learning)


二、方法


给定一个BERT-like预训练语言模型@X_L9@)@QCPO`U~)~DK(KVQ.png以及无监督数据集3@VT7JTC8W`Y[2%2}LLVMVY.png,我们的目标是在3@VT7JTC8W`Y[2%2}LLVMVY.png上对@X_L9@)@QCPO`U~)~DK(KVQ.png进行微调,使句子表示更加与任务相关,并适用于下游任务。


  1. 总体框架


下图展示了ConSERT的大体框架:


[T6R`Q940))HELE]ZQ)RMLJ.png

                                        ConSERT  


如上图所示,ConSERT主要包括三个部分:


①数据增强模块,生成输入样本在token embedding层的不同view;


②BERT encoder,计算句子表示,本文实验采用最后层的token embedding的平均来获得句子表示;


③对比loss层,它使样本增强之后的view之间相互接近,同一个batch的不同样本的view之间相互远离。


Q%K]609)EI[BT%12Q4W7AIU.png


  1. 数据增强策略


本文采用了四种数据增强的策略,分别是adversarial attack,token shuffling,cutoff 和dropout,大体操作如下图所示:


[KORS(1W(LP(21S0LF3GMO5.png

                                数据增强


  • Adversarial Attack


为样本添加对抗性的干扰(Adversarial Perturbations)来获得样本的新view,本文采用Fast Gradient Value(FGV)方法,直接使用梯度来计算干扰。注意此策略仅适用于与监督方法联合训练时,因为它依赖监督损失来计算对抗扰动。


  • Token Shuffling


此方法随机打乱输入序列的token顺序。Transformer架构具有bag-of-words属性,序列的位置信息由位置编码唯一决定,因此在实现时会打乱位置id而不是打乱token的顺序。


  • Cutoff


这种方法随机抹去V9M8BG`RN[HOWM%)7)RKO_O.png特征矩阵的一些token(token cutoff)或者一些特征维度(feature cutoff)或者一些token span(span cutoff)。在本文实验中只采用token cutoff和feature cutoff。


  • Dropout


依照一定概率随机丢弃token embedding层的一些元素,将它们的值设置为0。这种方法与Cutoff是不同的,因为每个元素被单独考虑。


  1. 结合监督方法


除了前述无监督迁移的方法,ConSERT也能结合有监督的方法来训练,本文结合NLI监督任务来继续提升ConSERT的性能。NLI是一个句子对分类任务,主要用来判断两个句子在语义上的关系,一般可以分为:Entailment(蕴含)、Contradiction(矛盾)、Neutral(中立)。分类目标损失可以表示为:


D%CBBR22GQ1OZ0T6P2{PZFU.png


三、实验


  1. 实验设置


为了验证本文提出的方法的有效性,我们对语义文本相似度(STS)任务在无监督和有监督设置下进行了实验。采用的STS统计如下,实验时会采用这些数据集中的未标注数据来微调模型:


9_TEBF$W9%O4Q7%]@09HHD1.png

                                           STS数据集


有监督数据集采用SNLI(570k samples)和 MNLI(430k samples)两个数据集,联合训练时也会将这些数据集里的文本应用于对比目标。


实验使用模型最后2层的token embedding的平均作为句子表示,使用句子表示余弦相似度与人工标注评分之间的斯皮尔曼相关系数(spearman correlation)作为评价指标。另外由于有数据增强模块的存在,因此移除了BERT中的dropout层。


  1. 无监督结果


下表展示了无监督训练的结果:


U~YYX0[CQ1QU]9@ZV022CBH.png

                                   无监督结果


  1. 有监督结果


下表展示了有监督训练的结果:


%Y(X$EKPG(TAG`A]{V}SS@M.png

                                           有监督结果


四、定性分析


  1. BERT embedding空间分析


为了证明坍塌问题主要是由于对token词频敏感的各向异性空间的假设,本文设计实验在平均池化时mask掉几个出现最频繁的token。实验结果如下:


JC)K[$AO1HEZ1XVS${7ZU2P.png

                                       BERT embedding空间分析


移除了部分最频繁token后,BERT的性能增长迅猛,而对于ConSERT则变化不大,这表明ConSERT重构了BERT的原始embedding空间,减少了频繁出现的token的影响。


  1. 数据增强策略的影响


考虑数据增强的5个设置:None,Shuffle,Token Cutoff,Feature Cutoff,Dropout。注意,这里不考虑Adversarial Attack策略,因为它需要额外的监督训练来生成对抗性样本。实验结果如下:


G)QFNZ7U[~HI]W`P()QRAX4.png

                                          数据增强策略的影响


结果表明Shuffle和Token Cutoff是最有效的两个策略, Feature Cutoff和Dropout在于另外两个结合时也会产生比较好的效果。


  1. Few-shot条件下的影响


限制无标注样本数量分别为1,10,100,1000和10000,实验结果如下:


S[]28793S@(2QMZ[]~@[B%1.png

                                       Few-shot条件下的影响


当训练样本增加到1000时,本文的方法基本上可以达到与在完整数据集上训练的模型相当的结果。结果表明,本文的方法在数据稀缺性场景下的鲁棒性和有效性,这在现实中是很常见的。


  1. Temperature的影响


设计不同的temperature对比实验结果:


9}B(~8GUSC[N{7IFR~BV1MO.png

                                           Temperature的影响


  1. batch size的影响


设计不同的batch size对比实验结果:


P`%1F]Z~R2H~OO7XMKR@DDI.png

                                        batch size的影响


实验表明batch size对模型性能影响不大。

相关文章
|
1月前
|
机器学习/深度学习 存储 算法
Transformer、RNN和SSM的相似性探究:揭示看似不相关的LLM架构之间的联系
通过探索大语言模型(LLM)架构之间的潜在联系,我们可能开辟新途径,促进不同模型间的知识交流并提高整体效率。尽管Transformer仍是主流,但Mamba等线性循环神经网络(RNN)和状态空间模型(SSM)展现出巨大潜力。近期研究揭示了Transformer、RNN、SSM和矩阵混合器之间的深层联系,为跨架构的思想迁移提供了可能。本文深入探讨了这些架构间的相似性和差异,包括Transformer与RNN的关系、状态空间模型在自注意力机制中的隐含作用以及Mamba在特定条件下的重写方式。
57 7
Transformer、RNN和SSM的相似性探究:揭示看似不相关的LLM架构之间的联系
|
2月前
|
自然语言处理
评估数据集CGoDial问题之半监督终身语言学习是重要的问题如何解决
评估数据集CGoDial问题之半监督终身语言学习是重要的问题如何解决
|
5月前
|
存储 机器学习/深度学习 人工智能
论文介绍:InfLLM——揭示大型语言模型在无需训练的情况下处理极长序列的内在能力
【5月更文挑战第18天】InfLLM是一种新方法,无需额外训练即可增强大型语言模型处理极长序列的能力。通过使用记忆单元存储长序列的远距离上下文,InfLLM能更准确地捕捉长距离依赖,提高对长文本理解。实验表明,InfLLM使预训练在短序列上的模型在处理极长序列时表现媲美甚至超过专门训练的模型。尽管有挑战,如动态上下文分割和记忆单元效率,InfLLM为长序列处理提供了有效且未经训练的解决方案。论文链接:https://arxiv.org/abs/2402.04617
137 3
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
NNLM - 神经网络语言模型 | 高效的单词预测工具
NNLM - 神经网络语言模型 | 高效的单词预测工具
95 1
|
5月前
|
SQL 机器学习/深度学习 算法
离线蒸馏奢侈?在线蒸馏难?都不再是问题DKEL统统帮你解决,蒸馏同质化问题也解决!
离线蒸馏奢侈?在线蒸馏难?都不再是问题DKEL统统帮你解决,蒸馏同质化问题也解决!
175 0
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch搭建循环神经网络(RNN)进行文本分类、预测及损失分析(对不同国家的语言单词和姓氏进行分类,附源码和数据集)
PyTorch搭建循环神经网络(RNN)进行文本分类、预测及损失分析(对不同国家的语言单词和姓氏进行分类,附源码和数据集)
215 0
|
机器学习/深度学习 编解码 自然语言处理
DAFormer | 使用Transformer进行语义分割无监督域自适应的开篇之作(一)
DAFormer | 使用Transformer进行语义分割无监督域自适应的开篇之作(一)
393 0
|
机器学习/深度学习 算法 计算机视觉
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力(1)
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力
151 0
|
算法 数据挖掘 计算机视觉
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力(2)
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力
146 0
|
机器学习/深度学习 数据采集 Oracle
DAFormer | 使用Transformer进行语义分割无监督域自适应的开篇之作(二)
DAFormer | 使用Transformer进行语义分割无监督域自适应的开篇之作(二)
373 0