ACL2023:成分对比学习生成句子嵌入表示

title:Composition-contrastive Learning for Sentence Embeddings

很多基于对比学习的方法用在无监督语料中,通过最大化对齐同一句子的最小扰动,并且鼓励向量在广泛文本语料中的均匀分布。本文方法提出最大化文本与其短语成分的组合之间的对齐。

对比学习框架在计算机视觉中的成功很大程度上是由于用于创建正对时增强的多样性,这使得原始示例的身份保持不变,同时减少输入空间中的成对互信息。将相同的训练目标应用于句子的嵌入表示时,通过离散增强方法构造正向对没有效果。之前的研究通过消融实验可知,这样的增强对会损害相似性任务的下游性能。

而据观察dropout噪声可用于动态创建正对,可生成更强的表示。这就是SimCSE提出的简单而有效的框架。本文将短语成分组合用作增强,探索它在语言中作为信号学习句子,实验证明是有效的。

背景

1.无监督对比学习:对比学习旨在不依赖标注,学习数据的向量表示。对比学习的学习目标是InfoNCE

2.InfoNCE的缺点:同一批次中的不同示例可能与给定的锚点具有不同的相关相似性,所以生成的嵌入具有较差的组区分;维度崩溃,嵌入向量主要由一小部分特征轴区分,没有充分利用编码器的全部表达能力。最小增强与过度参数化的网络相结合,导致无监督对比目标的低秩性。我们猜测这和捷径学习(short-cut learning)密切相关,并且句子长度相关的虚假特征也可能被用于解决对比目标。这些不可泛化的特征不能很好的表示来自新领域的数据。

3.评价表示空间:嵌入表示的质量可以用两个指标衡量,对齐性和均匀性。对齐度量应该靠近的正向对的距离。均匀性衡量嵌入表示在单位超球面上的分散程度。

基于成分组合的对比学习

保留SimCSE的简单和效率。将输入文本根据token一分为二,分成的左右两个短语进行独立编码,并通过编码器和线性投影,然后对两者的cls token进行聚合(聚合方法通过看具体实验,与模型类型和尺寸相关)。

组合作为数据增强方法

例子来自STS-B的标注语料,高相似性:

A man is lifting weights in a garage.

A man is lifting weights.

第一句话有两个原子语义,一个是A man is lifting weights,另一个是a man is in a garage.这在实际的对话场景中是很常见的。上面两句话只在第一个原子语义是相似的,而第二原子语义并没有太多的相关性。所以就需要句子编码器学习更通用的短语表示,至少隐含的遵守语义的组合型原则。

分解输入下采样,本文实验了三种策略扩展数据:

1.相邻片段 2.相邻片段+重叠 3.相邻片段+重叠+递归采样

扩展数据的结果是 产生更难的批内负样本,这对对比学习是有益的。使用扩展训练集鼓励更均匀的嵌入分布,组合增强进行子采样也能获得更好的对齐。这是因为我们将自我预测目标保持不变,同时增加了难度:尽管子样本可能高度相关,但正对只能从完全相同的文本中挑选。因此,底层PLM被迫有效地区分词汇重叠高的例子。

实验

在BERT和RoBERTa两个预训练模型的base和large版本上进行实验,可以看到本文方法在不同模型和相同模型不同版本上表现不同。除了在RoBERTa-large版本上表现拉垮,在其他的模型版本下相对于SimCSE都有较明显优势,仅次于SNCSE(https://arxiv.org/pdf/2201.05979.pdf)。SNCSE采用显式构建负样本的方式发掘测试集偏差。

消融实验和向量聚合方式实验结果分别如图。

相关推荐
SUPER52661 小时前
本地开发环境_spring-ai项目启动异常
java·人工智能·spring
上进小菜猪6 小时前
基于 YOLOv8 的智能车牌定位检测系统设计与实现—从模型训练到 PyQt 可视化落地的完整实战方案
人工智能
AI浩6 小时前
UNIV:红外与可见光模态的统一基础模型
人工智能·深度学习
GitCode官方6 小时前
SGLang AI 金融 π 对(杭州站)回顾:大模型推理的工程实践全景
人工智能·金融·sglang
木头左7 小时前
LSTM模型入参有效性验证基于量化交易策略回测的方法学实践
人工智能·rnn·lstm
找方案7 小时前
我的 all-in-rag 学习笔记:文本分块 ——RAG 系统的 “信息切菜术“
人工智能·笔记·all-in-rag
亚马逊云开发者7 小时前
让 AI 工作空间更智能:Amazon Quick Suite 集成博查搜索实践
人工智能
腾讯WeTest7 小时前
「低成本、高质高效」WeTest AI翻译限时免费
人工智能
Lucas555555557 小时前
现代C++四十不惑:AI时代系统软件的基石与新征程
开发语言·c++·人工智能
言之。7 小时前
Claude Code 专业教学文档
人工智能