查看原文
其他

ACL 2021 | ConSERT:基于对比学习的句子语义表示迁移框架

张琨 PaperWeekly 2022-07-04


©PaperWeekly 原创 · 作者 | 张琨

学校 | 中国科学技术大学博士生

研究方向 | 自然语言处理



Motivation

从 BERT,GPT 被提出来之后,自然语言处理领域相关研究进入了一个全新的阶段:预训练+微调。而且这种学习框架也取得了非常好的效果,成为现在 NLP 相关研究的标配。但这种框架也不是没有问题,预训练阶段还好,我们可以选择各种大厂推出的预训练模型,为具体任务寻找到一个好的初始点。

但这些预训练好的模型并不能完美适应下游任务,如下图,作者通过研究发现,BERT 的输出结果如果不经过微调的话,那么这些向量表示为坍缩在一个比较小的区域内,还会受到高频词的影响,这些都是损害了 BERT 的效果,因此需要在具体任务中进行微调。

但微调阶段仍需要和具体的任务数据结合起来,最好还得是有监督数据,涉及到对大模型的微调,这些监督数据也得有比较大的量。但在真实世界中,对数据进行标注仍然是个大工程,费时费力,有时还需要专家知识。因此如何在下游任务中减小对监督数据量的需求是一个比较重要的研究方向。针对这些问题,本文展开了自己的工作。

论文标题:

ConSERT: A Contrastive Framework for Self-Supervised Sentence Representation Transfer


论文作者:

Yuanmeng Yan, Rumei Li, Sirui Wang, Fuzheng Zhang, Wei Wu, Weiran Xu


论文链接:

https://arxiv.org/abs/2105.11741


代码链接:

https://github.com/yym6472/ConSERT




Preliminary

在介绍这个工作之前,首先介绍一个背景知识,对比学习:即通过对比不同样本,让相似的样本距离更近,不相似的样本距离更远,从而实现对输入数据的准确表征。其基本情况可以通过下图展示,这是近两年来非常热门的一个研究方向:


Model

为了解决以上问题,作者基于对比学习和预训练模型,提出了一个基于对比学习的句子语义表示迁移框架,具体框架图如下所示:
具体而言,作者提出的框架包含三部分,数据增强,BERT 编码层,对比损失层。接下来将进行详细分析:
3.1 数据增强

和之前的一些方法,例如回译,通过翻译模型翻译一遍再翻译回来等不同,在本文中,作者主要将数据增强部分放在了 embedding 层。因为自然语言处理中的数据增强本就是一个非常复杂的问题,在图像中,可以通过简单的裁剪,旋转,变色,缩放等操作实现数据增强,且能够保证原始标签的绝对正确。但在 NLP 中,通过打乱词序,替换词,删掉某些词等都会造成语义的变化。

因此,作者就不再输入层进行数据增强了,而是将目光放在 embedding 层,这样原始输入是不变的,那么一定是与原始标签一致的。具体而言,作者选择了如下几种数据增强方式:
  1. 对抗攻击:通过梯度反传生成对抗扰动,将该扰动加到原本的 Embedding 矩阵上,得到增强后的样本;

  2. 打乱词序:和之前讨论的打乱原始词的词序不同,这里作者通过利用 Transformer 中没有位置概念的特点,通过将每个 token对应的position id进行打乱,就实现了位置的打乱,这个还是很有意思的;
  3. 裁剪:这里分为两种,一种是 token 级别的,通过将选择到的 token 对应的 embedding 全部置为 0 得到,另一种是特征裁剪,通过将 embedding 中的某些维度整列置为 0,实现了特征的裁剪,这个也很有意思;
  4. Dropout:这种有点类似于 SimCES,通过利用 dropout,随机将某些输入置为 0,相当于加了对应的噪声,从而得到数据增强之后的样本。

相关的数据增强方法示意图如下图所示:
通过这些方法实现对数据进行增强后,参考 SimCLR 的思路,针对一个 Batch 中的 N 个样本做两次数据增强,这样就得到了 2N 个样本,然后这2N个样本经过 BERT 进行编码,输出,得到句子的语义表示,接着使用 InfoNCE 的变种 NT-Xent 损失函数作为目标,来实现对比的约束。

以上就是本文的整个技术部分和主要贡献。个人觉得最有意思的地方在于数据增强部分,作者巧妙避开了直接对输入做数据增强会造成语义变化的问题,而是从 embedding 入手,进行数据增强。非常巧妙,很有意思。




Experiments

为了验证提出的方法的效果,作者在文本语义匹配 STS 任务上进行了充分的实验,验证了 7 个不同的 STS 数据集,这个任务主要是用于验证两个句子之间的语义相似度(-1,1)。
4.1 无监督+有监督
首先是无监督和有监督实验结果,从实验结果中,作者在其他条件一致的情况下都去了非常好的效果,而且在融入监督信息的实验中,作者发现 joint-unsup 方法取得了最好的效果。

4.2 embedding空间的对比
在前文中作者提到 BERT 未经微调时其对句子语义的编码会坍缩在一个小范围内,为了验证作者提出的方法是否解决这个问题,作者进行了embedding空间的对比,实验结果证明作者提出的方法确实有效。

4.3 数据增强方式的效果对比
既然使用了数据增强,那就要验证哪种数据增强的效果好,作者也进行了相关的实验,实验结果正式,单纯从数据增强的方式进行对比的话,Token Shuffle > Token Cutoff >> Feature Cutoff ≈ Dropout >> None.

4.4 少样本实验
既然本文的目的是为了解决微调阶段对标注数据的依赖,那么就要验证在少标注样本的条件下,作者提出的方法方法是否有效,从实验结果看,还是有不错的效果的。


Conclusion
这篇文章还是一篇很有意思的文章,作者首先在使用数据增强方式上使用了一个很巧妙的思路,避开了使用数据增强对及自然语言句子语义的改变问题。其次,作者为了验证所提出的方法的有效性,进行了大量的实验,实验结果也充分证实了作者提出的方法的有效性。非常值得一读的一篇文章。

特别鸣谢

感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。


更多阅读




#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编





🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存