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对模型性能影响不大。

相关文章
|
4天前
|
机器学习/深度学习 自然语言处理 计算机视觉
【大模型】小样本学习的概念及其在微调 LLM 中的应用
【5月更文挑战第5天】【大模型】小样本学习的概念及其在微调 LLM 中的应用
|
4天前
|
机器学习/深度学习 数据采集 人工智能
大模型开发:解释特征工程的重要性以及你如何进行特征选择。
特征工程对机器学习和深度学习至关重要,涉及数据清洗、转换和特征选择,以提升模型预测和泛化能力。它能提高数据质量、浓缩信息、优化模型性能及增强解释性。特征选择是关键步骤,包括过滤法、递归特征消除、嵌入式(如L1正则化)、包裹式和基于模型的方法。此过程通常迭代进行,结合多种工具和业务知识,并可通过自动化技术(如AutoML)简化。
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
大模型开发:描述模型可解释性的重要性以及如何实现它。
模型可解释性在AI和机器学习中至关重要,尤其在金融风控等领域,它关乎信任、公平性和法规合规。通过建立信任、发现偏见、排查错误和满足法规要求,可解释性促进了模型的改进和社会接受度。研究者采用简单模型、局部和全局解释方法、模型可视化及原型/反例等策略提升模型透明度。这是一项结合算法、专业知识和伦理的跨学科挑战。
53 1
|
4天前
|
自然语言处理 算法
强化上下文修剪提升LLM推理能力
强化上下文修剪提升LLM推理能力
16 1
|
4天前
|
机器学习/深度学习 人工智能 缓存
Contextual发布生成式表征指导调整模型
【2月更文挑战第17天】Contextual发布生成式表征指导调整模型
28 1
Contextual发布生成式表征指导调整模型
|
4天前
|
机器学习/深度学习 移动开发 自然语言处理
基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践
基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践
基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践
|
4天前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch搭建循环神经网络(RNN)进行文本分类、预测及损失分析(对不同国家的语言单词和姓氏进行分类,附源码和数据集)
PyTorch搭建循环神经网络(RNN)进行文本分类、预测及损失分析(对不同国家的语言单词和姓氏进行分类,附源码和数据集)
78 0
|
10月前
|
机器学习/深度学习 自然语言处理 分布式计算
零样本文本分类——低资源场景下文本分类的利器(1)
零样本文本分类——低资源场景下文本分类的利器
|
10月前
|
缓存 自然语言处理 测试技术
零样本文本分类——低资源场景下文本分类的利器(2)
零样本文本分类——低资源场景下文本分类的利器
|
10月前
|
算法 数据挖掘 计算机视觉
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力(2)
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力