全文摘要
本文介绍了一种增强的无监督句子嵌入方法——ESimCSE。该方法通过引入重复操作和动量对比等技术,对原始的SimCSE模型进行了改进。实验结果表明,相较于原模型,ESimCSE在语义文本相似性任务上表现更好。
论文方法
方法描述
本文提出了一种增强版的Contrastive Sequence-to-Sequence Learning(ESimCSE)模型,用于自然语言处理任务中的句子表示学习。该模型在原有的SimCSE模型基础上进行了两个改进:引入了子词重复机制来构造更好的正样本对,并采用了动量对比方法来扩展负样本对。
方法改进
子词重复机制
子词重复机制通过随机复制句子中的一些子词来增加序列长度,从而提高模型的多样性。具体来说,给定一个句子s,经过子词分词后得到一个子词序列表示为x={x1,x2,...,xN},其中N是序列的长度。我们定义重复标记的数量为d,其最大重复率为超参数dup_rate。然后dup_len是一个在上文中定义的集合内的随机采样值,它将引入更多的多样性来扩展序列长度。确定dup_len之后,我们使用均匀分布随机选择需要重复的dup_len个子词,这些子词组成了dup_set,如下所示:
dup_set = uniform([1,N],num=dup_len)
例如,如果第一个子词在dup_set中,则序列x变为x+={x1,x1,x2,...,xN}。与SimCSE不同的是,E-SimCSE独立地传递x和x+。
动量对比方法
动量对比方法允许我们在当前批量中的输出句子嵌入被加入队列时,利用先前批次的编码句子嵌入进行重用。具体来说,队列中保存固定大小的句子嵌入,并逐步替换它们。当当前批次的输出句子嵌入被加入队列时,如果队列已满,则删除队列中最旧的嵌入。需要注意的是,我们使用带有动量更新的编码器来编码队列中的句子嵌入。形式化地说,假设编码器的参数为θe,而带有动量更新的编码器的参数为θm,则我们按以下方式更新θm:
θm ← (1−λ)θm + λθe
其中λ∈[0,1)是一个动量系数参数。需要注意的是,只有θe通过反向传播进行更新。在这里,我们引入θm来为队列生成句子嵌入,因为动量更新可以使θm比θe更加平滑地演化。因此,尽管在训练的不同“步长”期间,这些编码器由不同的编码器编码,但它们之间的差异可以变得很小。
有了队列中的句子嵌入,ESimCSE的损失函数进一步修改为:
L(θ)=−log(1/|Q|∑q∈QL(q,h+)exp(wT(q,h+)))
其中h+表示在动量更新的队列中的句子嵌入,M是队列的大小。
解决的问题
ESimCSE模型的改进使得模型能够更好地捕捉句子之间的相似性和差异性,提高了句子表示的质量,从而在各种自然语言处理任务中取得了更好的性能。
论文实验
本文主要介绍了在英语语境下对句子相似度任务的优化方法——增强式句子对比学习(Enhanced Sentence Contrastive Learning,ESimCSE)。该方法通过引入重复操作和动量对比来提高模型性能,并在七个标准语义文本相似度测试集上进行了比较实验。具体来说,本文主要进行了以下对比实验:
-
对比实验对象选择:本文选择了当前最先进的句子对比学习方法——SimCSE作为对比实验对象,并选取了其他几种基于预训练语言模型的方法作为对照组,包括IS-BERT、CT-BERT、ConSERT、SG-OPT、BERT-flow和Mirror-BERT等。
-
模型性能比较:本文将ESimCSE与SimCSE以及其他几种方法进行了性能比较。结果表明,在不同规模的语言模型(BERTbase和BERTlarge)以及RoBERTa的不同版本中,ESimCSE均能够显著提高模型的测量能力,表现出更好的效果。
-
增强方式分析:本文还针对EsimCSE中的两个增强方式——单词重复和动量对比进行了单独的实验,发现两种增强方式都能够带来明显的改进效果,而两者结合使用可以进一步提升模型性能。
-
句子长度扩展方法比较:本文还探索了几种不同的句子长度扩展方法,包括子词重复、插入停用词、插入[MASK]和插入掩码预测等。实验结果表明,子词重复是最有效的句子长度扩展方法之一,而插入[MASK]和插入掩码预测虽然也能带来一定的改进,但需要额外的计算成本。
-
批量处理实验:本文还尝试了将具有相似长度的句子批量处理的方法,以缓解模型对于相同序列长度的偏见。然而,实验结果表明这种方法并没有显著提高模型性能。
-
长度差异关系研究:本文进一步探究了句子长度差异与相似度之间的关系,并发现在STS测试集中,ESimCSE能够显著降低大于三句话的平均相似度差距,从而减少了学习偏差。
-
新的偏差检测实验:本文还进行了一个新的偏差检测实验,以验证单词重复是否会引入新的偏差。实验结果显示,单词重复并不会导致新的偏差问题。
-
超参数调优实验:本文还对EsimCSE中的超参数进行了调优,包括重复率和动量队列大小等。实验结果表明,当重复率为0.32时,模型表现最佳,而动量队列大小为2.5倍批
论文总结
文章优点
本文提出了一种基于对比学习的无监督句子嵌入优化方法——增强式SimCSE(Enhanced SimCSE),并在标准语义文本相似度任务上取得了显著提升。具体来说,文章针对SimCSE中正负样本长度信息不一致的问题,提出了“单词重复”方法来缓解这一问题;同时,为了解决负面样本数量不足的问题,引入了动量对比机制来扩充负面样本。实验结果表明,增强式SimCSE在不同模型设置下均能提高相似度测量性能,并且相对于之前的最佳状态-of-the-art方法SimCSE,平均提高了Spearman相关系数的2.02%。
方法创新点
本文的方法创新点主要体现在以下两个方面:首先,针对SimCSE中正负样本长度信息不一致的问题,提出了“单词重复”方法来缓解这一问题。这种方法通过随机复制一些单词来改变句子的长度,从而保持句子的意义不变,避免了插入或删除操作可能带来的噪声干扰。其次,为了解决负面样本数量不足的问题,引入了动量对比机制来扩充负面样本。该方法通过维护一个队列,将当前批次中的句子编码作为新加入的样本,同时将最旧的样本弹出队列,以此来扩充负面样本的数量。
未来展望
未来的研究可以从以下几个方向展开:首先,可以进一步探索其他数据增强方法,如使用不同的词向量替换等方法来扩充正负样本。其次,可以考虑结合其他无监督学习方法,如自注意力机制等,来提高句子嵌入的质量。最后,可以将该方法应用于更广泛的自然语言处理任务中,如情感分析、命名实体识别等。