Advertisement

SimCSE: Simple Contrastive Learning of Sentence Embeddings

阅读量:

Abstract

  • SimCSE, a straightforward contrastive sentence embedding approach

  • An unsupervised method: for any given sentence, it predicts its own self-representation under a contrastive learning objective in which only standard dropout is employed as the sole source of randomness.

  • A supervised method: based on annotated data from the NLI task, it constructs data pairs as follows:

    • Positive samples correspond to entailment pairs
    • Negative samples correspond to contradiction pairs
  • 实验测得的结果

  • 测试数据集采用STS

  • 评估指标为Spearman相关系数

  • 基于BERTbase模型的无监督学习方法在该任务上的准确率达到76.3%,而有监督学习方法则达到81.6%

通过对比学习的目标实现预训练嵌入空间的各向异性分布趋于均匀,在有监督信号存在的情况下,这种调整能够更有效地对齐正样本之间的关系。

1 Introduction

本文详细阐述了对比学习目标与 BERT 或 RoBERTa 等预训练语言模型结合使用所具有的显著价值。

在这里插入图片描述

Figure 1(a) 所示,在无监督学习框架SimCSE中,默认采用一种引入噪声的技术:即通过预训练编码器对同一个句子进行两次处理(即应用了两次标准的dropout操作),从而生成两个不同的正样本嵌入表示;而将同一批次内的其他样本则作为负样本参与对比学习过程。尽管看似这种方法非常简单易行,在实际应用中却展现了超越现有多种训练目标(如预测下一个单词任务(Logeswaran and Lee, 2018))以及离散数据增强方法(例如单词删除和替换操作)的效果,并且其性能甚至不逊于某些有监督学习方法;我们发现,在某种意义上说,dropout技术实际上是在隐层状态上施加了一种数据增强机制;移除这种噪声操作将会导致模型表示能力出现严重下降

如图1(b)所示,在最近的研究中基于NLI数据集探索了有监督的SimCSE方法[Conneau et al., 2017; Reimers and Gurevych, 2019]之后,并采用了标注的句子对来进行对比学习;与以往的方法将NLI数据分为三类不同我们主张将entailment pairs直接作为正样本使用;此外我们还注意到引入contradiction pairs作为一种有效的负样本选择策略能够显著提升模型性能;通过巧妙地利用NLI数据我们的方法相较于现有方法取得了显著的提升效果;并且通过对其他标注好的句子对的数据集进行对比实验发现该技术对于学习sentence embedding具有特别强的效果

为了更深入地了解SimCSE的性能特征,研究团队采用了Wang and Isola (2020)提出的评估工具,该工具通过计算语义关联正样本对之间的对齐程度以及全维度空间中嵌入表示的整体一致性(uniformity),来量化模型学习到的有效性。实验结果表明,采用监督学习方法优化后的SimCSE显著提升了均匀性,同时通过引入随机噪声抑制了对齐水平的退化,从而增强了句子表示的能力。此外,类似的分析框架还揭示了NLI训练信号在提升正样本对齐度的同时,能够生成更具竞争力的句子嵌入。值得注意的是,最近的研究发现表明预训练词嵌入受到了anisotropy的影响(Ethayarajh, 2019; Li et al., 2020)。从频谱视角来看,对比学习的目标"压平"了句子嵌入奇异值分布的变化范围,这有助于提升模型的整体一致性和表现力。

我们在七个基准的语义文本相似度(STS)任务以及七个迁移任务上对 SimCSE 进行了系统性评估。

基于 STS 任务的研究中,在采用BERTbase模型进行无监督学习时表现出更好成绩,在有监督学习中则表现得更为突出。与前一研究相比,在无监督模型上取得了显著提升(4.2%),而在有监督模型上的提升略显不及(仅提升2.2%)。

最后,在现有文献中我们发现了一个 disordered assessment process,并且整合汇总了不同设置下的结果,并为未来的 sentence embedding 评估工作奠定了坚实的基础。

2 Background: Contrastive Learning

基于对比学习框架的目标是通过优化方法将具有语义相似度的数据点吸引至同一类别空间中,并将其与不具有语义关联的数据点排斥于不同类别空间之外。具体而言,在本研究中我们主要关注样本对 \mathcal{D}=\{(x_i,x_i^+)\}_{i=1}^m 的学习过程,在该样本对中x_ix_i^+具有较高的语义相似度。我们遵循Chen et al. (2020)所提出的对比学习框架,并主要使用交叉熵损失函数以及in-batch negatives的方法(如Chen et al., 2017;Henderson et al., 2017)来优化模型性能。通过h_ih_i^+分别表示输入样本x_i及其正样本x_i^+的语义表征向量,在给定批量大小N的情况下设计了相应的训练策略。

在这里插入图片描述

其中 τ 作为温度参数应用在系统中用于调节相似度计算的效果。余弦相似度 sim(h₁,h₂) 用于衡量两向量间的相似程度,并通过预训练语言模型 BERT 和 RoBERTa 对输入文本进行编码操作 h=fθ(x)。接着采用对比学习方法( 公式1 )优化模型中的各项参数以实现更好的性能。

Positive instances. 对比学习中的一个关键问题是 如何生成正样本配对 (x_i,x_i^+)?在视觉研究领域中,通过随机变换(如剪裁、翻转、扭曲和旋转等操作)分别生成 x_ix_i^+ 的方法已被广泛采用(Dosovitskiy et al., 2014)。近年来在语言表示模型中被广泛采用(Wu et al., 2020; Meng et al., 2021) ,包括 word deletion, reordering, and substitution 等增强技术已取得显著成果。然而,在NLP领域中进行数据增强面临天然上的困难。我们在第 3 节将详细说明,在 中间表示 上简单应用标准的 dropout 方法能够显著超越这些离散增强操作的效果

在自然语言处理领域中,基于对比学习的目标在多样化的上下文中得到了研究(Henderson et al., 2017; Gillick et al., 2019; Karpukhin et al., 2020). 在这些研究案例中, 其中一个典型的数据来源是带有监督学习能力的数据集, 其中样本对(x_i,x_i^+)代表的是问题与段落匹配的问题中的具体实例. 在这种设定下, 由于x_ix_i^+所处的位置不同, 因此相关的方法通常采用了dual-encoder架构来进行编码, 即分别通过两个独立的编码器f_{\theta_1}f_{\theta_2}完成对x_ix_i^+的信息提取. 对于单个句子的编码任务,Logeswaran and Lee (2018)同样采用了基于dual-encoder框架的设计, 将当前句子与其后续的一个句子配对作为(x_i,x_i^+)进行训练.

Alignment and uniformity are two fundamental characteristics.

在这里插入图片描述

另一方面,uniformity 计算 embeddings 的均匀分布程度:

在这里插入图片描述

其中 p_{data} 代表了整个数据集的概率分布。这两个指标与对比学习的目标一致:一方面要求正样本尽可能接近彼此;另一方面则希望随机样本尽量均匀地分布在超球面上。

3 Unsupervised SimCSE

无监督SimCSE的核心思想在于针对句子集合\{x_{i}\}_{i=1}^{m}}并设定x_{i}^{+}=x_{i}。其关键在于通过独立采样生成x_{i}及其正样本x_{i}^{+}的dropout掩码。

在 Transformers 框架的标准训练流程中,dropout masks 被精确地配置为位于全连接层以及注意力概率计算机制中(默认设置为 p = 0.1)。为了提高模型的鲁棒性与多样性,在每一轮前馈传播过程中我们引入了一个随机的 dropout mask z 来调节神经元激活状态。为了获取更加稳定的嵌入表示我们采用了独特的策略即每次将同一输入数据经过两次独立的前馈过程分别施加两个独立的随机 dropout mask (z, z') 并计算对应的嵌入表示 h_i^{z}h_i^{z'} 。在此基础上 SimCSE 的对比目标函数则被定义为:

\mathcal{L} = \frac{1}{N}\sum_{i=1}^N\left(\text{similarity}(h_i^{z}, h_i^{z'}) - \text{similarity}(p_i, p_j)\right)^2

其中 p_ip_j 分别代表真实标签向量。

在这里插入图片描述

值得注意的是,在本研究中,变量 z 仅使用了 Transformer 中的标准 dropout mask,并未添加任何额外的 dropout 操作。

Dropout噪声被视为一种基础的数据增强手段。我们将这种方法视为最简单的数据增强技术之一:所有正样本对都源自同一句话。它们的嵌入差异仅体现在 dropout mask的应用上。该方法在STS-B开发集上的表现与其它训练策略进行了对比分析。表1对比展示了我们的方法与常用的数据增强策略(如裁剪、单词删除和替换)之间的差异性评估结果。通过实验结果可以看出,在仅移除一个单词的情况下,该方法的表现会显著下降,并且没有单一离散操作能够超越dropout噪声的效果。

在这里插入图片描述

我们不仅考察了这种自预测机制(self-predictive mechanism)与Logeswaran and Lee (2018)所采用的next-sentence-based approach之间的差异性,在表2中可以看出SimCSE目标相比next-sentence-based approach具有显著的优势(在STS-B任务上分别达到了82.5%和67.4%的准确率)。此外,在我们的研究方法中使用单一编码器模型(single encoder model)相较于双编码器模型(dual-encoder model)能获得更好的效果

在这里插入图片描述

为了更好地理解dropout噪声在无监督SimCSE中的作用机制,在表3的基础上我们系统性地测试了不同dropout率设置。实验结果表明,在基于p=0.1默认设定下所有参数调整方案均未能实现更好的性能表现。值得注意的是,“全零丢弃配置(p=0)”与“统一固定于p=0.1策略(即pair共享相同的丢弃掩码)”两种极端情况尤为引人注目——在这两种情况下,“一对样本生成的嵌入表示完全一致”,导致模型性能明显下降。

在这里插入图片描述

我们定期对这些模型每10个step保存一次检查点,并在 图2 中进行了alignment和 uniformity 的可视化分析。结果显示,在训练过程中,所有模型都实现了 uniformity 的提升。然而,在上述两种特殊例子中,alignment 的恶化情况尤为严重。同时,unsupervised SimCSE 持续展示了稳定的 alignment 性质。值得注意的是,在预训练阶段形成的检查点提供了一个良好的初始 alignment 基础。此外,“delete one word” 方法不仅提升了 alignment 效能,在 uniformity 方面也有小幅提升。然而总体效果略逊于 unsupervised SimCSE。

在这里插入图片描述

4 Supervised SimCSE

我们已经证明通过引入 dropout noise 能够促进正样本对的良好 alignment. 在本次研究中, 我们探讨是否可以通过有监督的数据集提供更好的训练信号以进一步提升 alignment. 研究表明, 有监督的 NLI 数据集对于学习 sentence embeddings 显著有效.

The selection of annotated datasets. We first investigate which supervised annotated datasets are suitable for constructing positive sample pairs (x_i, x_i^+). We conducted experiments on a series of sentence pair datasets, including:

复制代码
1. QQP4: Quora question pairs;

Flickr30k (Young et al., 2014):每个图像被注释了5个由人类书写的描述,并且我们把同一图像中的任意两个描述视为一对正样本;

  1. Neural Machine Translation数据集(Wieting和Gimpel, 2018)提供了一个具有广泛规模的反向翻译重述数据集编号为5;

    1. NLI datasets: SNLI (Bowman et al., 2015) and MNLI (Williams et al., 2018).

我们采用了多样化的数据集对对比学习模型进行训练( 公式1 ), 表4 展示了实验结果。在这些选项中,在NLI(SNLI+MN LI)数据集中选取蕴含对作为正样本时表现最佳。其主要原因在于,在N LI数据集中句子对之间的词汇重叠度较低。SN LI+MN LI蕴含对词袋 F1 为39%,而QQP和ParaNMT分别达到了60%和55%。

在这里插入图片描述

将矛盾实例作为硬负样本应用到模型训练中,并在NLI数据集上采用一对矛盾实例来充当hard negative样本。形式化地,在(\text{x}_i,\text{x}_i^{+})的基础上扩展出(\text{x}_j,\text{x}_j^{+},\text{x}_j^{-}),其中\text{x}_j是前提并分别对应蕴含假设与矛盾假设的情形下, 我们定义了当前训练的目标函数\mathcal{l}_{i}如下:

在这里插入图片描述

如 图4 所示,在原有的基础上增加了 hard negatives 后能够带来性能的显著提升(准确率从84.9%跃升至86.2%),这即我们的有监督 SimCSE模型。此外,在探索将ANLI数据集与无监督SimCSE结合的可能性后并未观察到显著的改进效果。然而,在基于有监督的学习框架中引入双编码器结构反而导致了性能的下降(从86.2%降至84.2%)。

5 Connection to Anisotropy

近期研究([Ethayarajh, 2019]; [Li et al., 2020])揭示了语言表示中的多维度差异性问题, 即学到的 embeddings 在向量空间中呈现出一个狭窄的锥形区域分布, 这一现象严重限制了它们在表达能力方面的潜力。[Gao et al. (2019)]表明, 使用绑定输入/输出嵌入进行训练的语言模型容易表现出各向异性的词嵌入特征。该现象已在[Ethayarajh (2019)]的研究中进一步探讨。[Wang et al. (2020)]通过研究表明, 在语言模型的词向量矩阵中,除了少数主要奇异值外, 其他奇异值均降至接近零水平

一种简化的方法可用于解决这一问题,并非只能通过简单的后处理即可实现这一效果;而可以通过在消除主成分的同时也可以通过将 embedding 映射到各向同性的分布来实现缓解(Arora et al., 2017; Mu and Viswanath, 2018);此外,在消除主成分的同时也可以通过将 embedding 映射到各向同性的分布来实现缓解(Li et al., 2020; Su et al., 2021)。另一种常用的方法是在训练过程中引入正则项以提升模型的稳定性(Gao et al., 2019; Wang et al., 2020)。本文研究表明,在理论上以及实践中对比学习目标同样能够有效缓解数据分布的异质性问题。

异质性问题与一致性之间具有天然的联系,在优化对比学习目标的过程中(即通过对比学习过程),随着负例被正例远离(pushed away),能改善一致性(亦可缓解异质性问题)。从奇异谱系分析的角度来看(即从单词嵌入的一个通用实践出发(Mu and Viswanath, 2018; Gao et al., 2019; Wang et al., 2020)),对比学习的目标能够flatten句子向量奇异值谱系(即通过对比学习目标的设计使得句子表示更加 isotropic)。

Following Wang and Isola (2020), 当负样本数量趋近无穷时,对比学习目标( 公式1 )的渐进性可以表示为:

在这里插入图片描述

其中一项通过提升正样本间的相似度来实现对数据的更好区分。另一项则通过增大负样本之间的间隔来增强模型的鲁棒性。假设训练数据集上的数据分布满足每个实例都被等可能地选取,则对于每个实例x_i来说,在这种情况下h_i=f(x_i) 。基于琴生不等式原理,在上述分析的基础上可以得到以下数学表达式:

在这里插入图片描述

W 为由 \{x_i\} 构建的句向量矩阵,则 W 的第 i 行对应 h_i。在 公式6 中的第二项旨在最小化 WW^\top 的所有元素之和上限。其计算方式为 \sum_{i=1}^{m}\sum_{j=1}^{m}h_i^\top h_j

由于我们对 h_i 进行了归一化,那么 WW^T 对角线上的所有元素为 1. 那么其 (特征值之和)tr(WW^T) 是一个常数。根据 Merikoski (1984), 如果 WW^T 中的所有元素是正的(由 图G.1 可知大部分情况下是这样的),那么 Sum(WW^T)WW^T 最大特征值的一个上界。当最小化 公式6 的第二项时,实际是在缩小 WW^T 的最大特征值,因此内在地 flatten 了嵌入空间的 singular spectrum. 因此,对比学习能够缓解表示衰退问题并提升句向量的 uniformity.

在这里插入图片描述

相较于 Li et al., 2020; Su et al., 2021 等人的 post-processing 方法而言, post-processing 方法仅促进各向同性表示;同时对比学习通过其第一项优化了正样本对齐,在此基础之上实现了 SimCSE 的成功。

6 Experiment

6.1 Evaluation Setup

  • 实验数据集:该实验数据集包含7个语义文本相似度(STS)任务

  • 未使用任何STS训练集合进行建模

  • Training details. * begin with the pre-trained BERT checkpoints (Devlin et al., 2019) in uncased form or RoBERTa checkpoints (Liu et al., 2019) in cased form.

  • Sentence embeddings are typically derived by taking the [CLS] token’s representation.

6.2 Main Results

比较对象:

Unsupervised baselines

recent methods using a contrastive objective

其他有监督方法

  • 该创新性方法(由Conneau等人于2017年提出)
    • 该编码器(研究者们于2018年提出)
    • SBERT/SRoBERTa结合后的处理手段(包括BERT-flow、去白化以及CT)
在这里插入图片描述

6.3 Ablation Studies

Pooling方法的研究表明:Reimers与Gurevych(2019年)以及Li等人(2020年)在通过预训练模型的平均向量(特别是从模型的初始层与最终层)进行实验后发现,在[CLS]方案的基础上展现出更优的效果。表6详细对比了在有监督与无监督SimCSE框架下各类池化方法的表现差异

在这里插入图片描述
  • 对于无监督方法而言,在训练过程中残留了BERT原始实现中的MLP层的[CLS]池化采用了,并表现出最佳的效果。
  • 对于有监督方法而言,在不同池化方案之间表现的差异并不明显。

Contradictory samples. 直观而言, 区分 hard negatives (对立样本)与其他 in-batch 负样本具有有益的区分作用。因此, 我们将如下的公式(5)所示:

在这里插入图片描述

引入了具有区分性的负样本权重\mathbb{I}_i^j\in\{0,1\}其中i=j时该变量值为1. 通过调整参数α我们对SimCSE模型进行了优化并对STS-B开发集进行了性能评估. 此外在实验中将中性假设纳入候选池中的方法也被考察. 如表7所示当α取值为1时表现最优. 这种策略未能带来显著性能提升.

在这里插入图片描述

7 Analysis

在这里插入图片描述

一致性和对齐性. 图3 显示了不同 sentence embedding 模型的一致性和对齐性及其平均STS结果。

  • 预训练嵌入模型在对齐方面表现优异(即其均匀性相对较低),因为这些嵌入表现出高度各向异性特征。
  • BERT-flow 和 BERT-whitening 等后处理技术显著提高了均匀性水平(但带来了对齐效果的下降)。
  • 无监督SimCSE框架不仅有效提升了均匀性水平(同时维持了良好的对齐效果)。
  • 通过引入有监督数据到SimCSE框架中进一步优化了均匀性水平。

定性对比分析:基于 Flickr30k 数据集包含了15万个标题的SBERTbase和SimCSE-BERTbase模型上进行了小规模的检索实验分析。如图8所示的结果数据显示:SimCSE检索出的句子质量显著高于SBERTbase模型输出的结果。

在这里插入图片描述

先前的研究尝试建立在分布性假设的基础上,并采用以下方法:利用给定的语句来推断其邻近的语句。其中涉及的关键文献包括:Kiros及其团队在2015年发表的一篇论文(链接),Hill团队于2016年的研究(链接),以及Logeswaran与Lee在2018年合作的文章(链接)。

Pagliardini et al. (2018)

一系列先进的对比学习方法 (Zhang et al., 2020; Giorgi et al., 2021; Wu et al., 2020; Meng et al., 2021; Carlsson et al., 2021; Kim et al., 2021; Yan et al., 2021)

复制代码
* data augmentation
* different copies of models

有监督 sentence embeddings 相比无监督方法效果更好。

  • Conneau等人(2017)建议,在NLI数据集上微调一个孪生模型。这一研究进一步扩展至其他编码器或预训练模型(Cer等人, 2018; Reimers和Gurevych, 2019)。
  • Wieting和Gimpel(2018)、Wieting等人(2020)研究表明, 双语及回译语料对于学习语义相似性提供了有效的监督信号。
  • 此外, 其他一些研究致力于对嵌入进行正则化(Li等人, 2020; Su等人, 2021; Huang等人, 2021)以缓解表示退化问题(as discussed in §5)。

9 Conclusion

  • 无监督 SimCSE:

    • 加入 dropout noise,预测输入句子本身
  • supervised SimCSE

  • 基于 NLI 数据集,在蕴含假设上设置为正类样本,在矛盾假设上设置为 hard negative 样本使用。

  • supervised SimCSE

  • 基于 NLI 数据集,在蕴含假设上设置为正类样本,在矛盾假设上设置为 hard negative 样本使用。

    • 分析 alignment 和 uniformity

全部评论 (0)

还没有任何评论哟~