什么是无监督句向量一致性训练(SimCSE)?
SimCSE 是论文《SimCSE: Simple Contrastive Learning of Sentence Embeddings》提出的句向量对比学习框架,包含无监督与有监督两条路线。无监督路线把同一句话输入预训练模型两次,仅靠标准 dropout 制造噪声,让句子在对比目标中预测自身;论文报告该做法与先前的有监督方法表现相当。
无监督句向量一致性训练(SimCSE,Simple Contrastive Learning of Sentence Embeddings)是论文《SimCSE: Simple Contrastive Learning of Sentence Embeddings》提出的一种句向量(sentence embedding)对比学习框架。它的核心做法是:把同一句输入文本送进带 dropout 的预训练编码器两次,得到两个略有差异的向量表示,然后在一个对比目标里让这句话「预测它自己」。它要解决的问题是:如何在不依赖人工标注句对的前提下,训练出语义质量足够高的句向量。
为什么重要
句向量是把一整句话映射成定长向量的表示形式,常用于语义文本相似度(semantic textual similarity,STS)等任务。在 SimCSE 出现之前,要拿到高质量的句向量,通常需要借助自然语言推理(natural language inference,NLI)等带标注的句对数据做有监督训练,或者依赖其他形式的外部监督信号。标注数据的获取成本高、覆盖面有限,这构成了句向量训练的主要瓶颈。
论文指出,此前的方法在提升句向量质量时往往需要引入较复杂的训练流程或额外的监督来源。SimCSE 的价值主张在于「简单」:它试图说明,只要用对对比学习目标,一个几乎不需要额外数据构造步骤的方案也能取得很强的效果。论文报告,其无监督方法的表现与先前的有监督对应方法相当(performing on par with previous supervised counterparts)。
工作机制
SimCSE 在论文中被描述为包含两条路线:无监督方法与有监督方法。两者共用对比学习的骨架,区别在于正样本与负样本从哪里来。
无监督路线:dropout 作为最小数据增强
无监督路线的做法可以拆成几步:
- 同一句输入两次。把一句输入文本分别送入同一个预训练编码器,得到两个表示。由于编码器中存在标准 dropout,两次前向得到的向量不会完全相同。
- 把噪声限定为 dropout。论文明确说明,这条路线「只使用标准 dropout 作为噪声」(with only standard dropout used as noise),不引入额外的数据增强手段。
- 在对比目标中预测自身。论文的表述是:取一句输入句子,在一个对比目标中预测它自己(takes an input sentence and predicts itself in a contrastive objective)。也就是说,同一句话的两次 dropout 采样互为正样本,批次内其他句子则充当负样本。
论文特别强调了一个观察:dropout 在这里起到了最小数据增强的作用,而去掉 dropout 会导致表示坍缩(removing it leads to a representation collapse)。这是无监督路线成立的关键条件——正样本对之间的差异必须存在,但不能太大。
有监督路线:用 NLI 句对构造正负样本
有监督路线把自然语言推理数据集中的已标注句对纳入同一套对比学习框架,构造方式为:
- 正样本:使用「蕴含」(entailment)关系的句对。
- 难负样本:使用「矛盾」(contradiction)关系的句对。
论文称,当有监督信号可用时,对比学习目标能更好地对齐正样本对(it better aligns positive pairs when supervised signals are available)。
对表示空间的解释
论文从理论和实证两方面说明,对比学习目标会把预训练表示原本各向异性的空间正则化为更均匀的分布(regularizes pre-trained embeddings' anisotropic space to be more uniform)。这是论文对「为什么这套目标有效」给出的机制性解释。
典型例子
论文给出的评测场景是标准的语义文本相似度(STS)任务。论文报告的结果如下:
| 模型 | 平均 Spearman 相关系数 | 相对此前最优结果的提升 |
|---|---|---|
| 无监督 SimCSE(BERT base) | 76.3% | 4.2% |
| 有监督 SimCSE(BERT base) | 81.6% | 2.2% |
上述数字均出自论文摘要,指的是使用 BERT base 的模型在 STS 任务上的平均 Spearman 相关系数,以及相对此前最优结果的提升幅度。
论文还提到,代码与预训练模型已公开。该论文被 EMNLP 2021 接收,收录于 Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing,页码 6894–6910,作者为 Tianyu Gao、Xingcheng Yao 与 Danqi Chen。
边界与常见误解
不要把无监督路线理解成「不需要任何噪声来源」。论文的表述很明确:无监督路线依赖标准 dropout 作为唯一的噪声来源,并且明确指出去掉 dropout 会导致表示坍缩。因此 dropout 不是可有可无的实现细节,而是该方法成立的前提条件之一。
不要把「与有监督方法相当」扩大成「无监督全面优于有监督」。论文的原话是无监督方法「与先前的有监督对应方法表现相当」,而有监督路线在论文自己的评测中取得了更高的分数(81.6% 对 76.3%)。两条路线是并列提出的,不是替代关系。
不要把论文报告的提升幅度当成通用结论。76.3%、81.6%、4.2%、2.2% 这些数字都绑定在特定条件上:标准 STS 任务、BERT base 作为编码器、与论文写作时的此前最优结果比较。换用其他编码器、其他评测集合或其他基线,结果不必然相同。
不要把论文的机制解释当成已被普遍验证的定论。「对比学习目标把各向异性空间正则化为更均匀」是论文从理论和实证两方面给出的论证,属于该论文的主张,而非独立于该论文的行业共识。
关于适用范围的已知代价。有监督路线需要自然语言推理数据集中的标注句对,因此它并不适用于完全没有标注数据的场景;无监督路线虽然不依赖句对标注,但其正样本对的信息量完全来自 dropout 带来的扰动,论文本身也把这种扰动描述为「最小数据增强」。