©作者 | 牟宇滔
单位 | 北京邮电大学
研究方向 | 自然语言理解
文章来源:
文章链接:
聚焦的问题:近年来基于对比学习的句子表示学习研究取得了较大的进展,但是大多数方法都只关注如何挑选对比学习的正负样本对,而几乎没有人去关注对比学习目标函数本身。实际上,大家普遍使用的 NT-Xent 对比损失存在两个问题:1)判别能力不强,易受到噪声数据干扰;2)无法建模多个句子间的语义顺序。
提出的方法:本文提出一种 ArcSCE 方法,基本思想是将之前在欧氏空间中进行操作的 NT-Xent 目标函数转换到角度空间中,目的是强化成对判别性特征,并建模句子间的语义顺序关系。
ArcCSE 框架分为两个部分,一是成对判别性建模;二是三元语义顺序建模。分别设计了两个对比学习损失函数进行联合优化。
这个模块的目的与 SimCSE 相同,都是为了让正样本拉近,负样本拉远,其中正样本是 dropout 增强的样本,负样本是 batch 内其他样本。如果像 SimCSE 一样使用如下传统的 NT-Xent 目标函数:
▲ 两个表征的相似性用余弦相似度计算
作者认为这样目标函数判别能力不够出色,并且容易受到噪声数据的影响。为了更好地理解这两个问题,我们可以做一个数学变换,将余弦相似度(欧氏空间度量指标)转换为角度(角度空间度量指标)。
▲ 将余弦相似度转换为角度,余弦相似度越大,角度越小
这样一来,我们就可以画出 NT-Xent 函数的判别边界如下:
对于传统的 NT-Xent 目标函数,由于缺乏一个较大的决策 margin,因此决策边缘微小的扰动都可能错误决策。为了克服这个问题,作者提出了一个新的目标,即通过增加一个角度 margin 来得到更鲁棒的句子表示,新目标函数如下:
为了让模型能够学习到多个句子间的语义相似性顺序关系,作者提出了一个新的预训练任务,建模三元句子对的蕴含关系。首先,通过对一句话按不同的 mask 比例做两次 mask,得到三元组句子对。
▲ 通过不同mask比例显示构造这三句话的语义顺序
然后用如下三元损失函数进行训练:
本文聚焦的是句子表示学习,因此在两种句子相关的任务上进行了评估:一是 STS(文本语义相似性评估),二是 SentEval Transfer Tasks(将本文方法得到的句子表示用于各种下游任务中)。
▲ 在各种STS数据集上进行评估
▲ 将学习到的句子表示用于各种下游任务中
对比学习有两个重要性质,Alignment 指的是希望相似实例能够产生尽可能相近的表征,Uniformity 指的是希望表征分布尽可能均匀,有利于保留最大的信息量。
作者在训练过程中每 10 个 epoch 计算一次两个指标,结果如下图所示。可以看出相比于 SimCSE,ArcCSE 可以得到更好的 alignment 性质,和相当的 uniformity 性质。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧