ICLR2021对比学习(Contrastive Learning)NLP领域论文进展梳理
本文首发于微信公众号「对白的算法屋」,来一起学AI叭
大家好,卷王们and懂王们好,我是对白。
本次我挑选了ICLR2021中NLP领域下的六篇文章进行解读,包含了文本生成、自然语言理解、预训练语言模型训练和去偏、以及文本匹配和文本检索。从这些论文的思想中借鉴了一些idea用于公司自身的业务中,最终起到了一个不错的效果。
1、Contrastive Learning with Adversarial Perturbations for Conditional Text Generation
任务:端到端文本生成

本文要解决的是文本生成任务中的暴露偏差(exposure bias)问题,即在文本生成自回归形式的生成任务中,解码器的输入总是ground truth的token,没有遇到过错误的生成结果。
本文通过引入对比学习损失,让模型从负样本中区分正样本,使得模型暴露于不同的噪声情况下,来解决这一问题。然而,完全随机生成噪声样本会导致模型非常容易区分,特别是对于预训练模型而言。因此,本文提出了一种对抗扰动方法,添加扰动使得正样本具有较高的似然度;使得负样本具有较低的似然度。
2、CoDA: Contrast-enhanced and Diversity-promoting Data Augmentation for Natural Language Understanding
任务:自然语言理解、在fine-tune阶段增强文本表示
本文主要研究文本领域的数据增强方法,研究了如下问题:
- 可以将哪些增强方法应用于文本?
- 这些增强方式是互补的吗,是否可以找到一些策略来整合它们以产生更多不同的增强示例?
- 如何有效地将获得的增强样本融入训练过程?
作者考虑了五种针对于文本的数据增强方法:
- 回译(back-translation)
- c-BERT 词替换
- mixup
- cutoff
- 对抗训练

进一步,作者考虑了三种不同的数据增强的策略,以探究问题1和问题2,如上图所示:
随机选择:为mini-batch内的每一条样本,随机选择一种数据增强方法;
mixup:将mini-batch内的两条样本通过mixup的策略随机组合
将不同的增强方法堆叠:

在第三个问题——如何将其更好地融入finetune任务上,提出了对比损失。
实验发现,两种增强方式的堆叠能进一步增强性能。在GLUE上进行了实验,均分相比Baseline提升了2个点。
3、FairFil: Contrastive Neural Debiasing Method for Pretrained Text Encoders
任务:预训练语言模型去偏

本文将对比学习用于消除预训练语言模型生成的文本表示中的偏见因素(例如性别偏见、种族偏见等)。为了做到这一点,本文训练一个额外的映射网络,将语言模型生成的文本表示转换成另一个表示,在新生成的表示上能达到消除偏见的效果。本文的创新点在于:
- 将原文本中的偏见词替换成其反义词(如man<->woman; her<->his; she<->he),这样可以构建一个增强的文本。通过对比损失,在转换后的表示中,最大化这两者的互信息;
- 为了进一步消除文本中隐含的偏见,额外提出了一个损失,去最小化生成的句子表示和偏见词表示的互信息。
4、Towards Robust and Efficient Contrastive Textual Representation Learning
任务:语言模型预训练

本文分析了目前将对比学习用于文本表示学习存在的问题(2.2节),包括:
- 对比学习中,如果采用KL散度作为训练目标,训练过程会不稳定;
- 对比学习要求一个较大的负样本集合,效率低。
对于第一个问题,作者添加了一个Wasserstein约束,来增强其训练时的稳定性;对于第二个问题,作者提出了只采样最近的K个负样本,称为Active Negative-sample selection(和NIPS那篇:Hard Negatives Mixing比较类似)。
5、Self-supervised Contrastive Zero to Few-shot Learning from Small, Long-tailed Text data
任务:文本匹配;多标签文本分类

本文主要尝试解决多标签文本分类问题,特别是其存在的长尾标签问题(即当数据较少时,类别分布往往不均匀,会存在大量很多只出现了一两次的标签,同时少量类别频繁出现)。
本文主要将多标签分类任务建模成类似文本匹配的形式。将采样不同的正负标签,同时也会从句子中采样文本片段,构成伪标签。这四种形式的标签(正标签、负标签、正伪标签、负伪标签)编码后,和句子编码拼接,经过一个匹配层,通过二分类交叉熵损失(BCE),或NCE损失(将正例区别于负例)训练匹配模型。
6、Approximate Nearest Neighbor Negative Contrastive Learning for Dense Text Retrieval
任务:稠密文本检索

本文研究文本检索领域,不同于传统的利用词级别进行检索(稀疏检索),本文通过训练文本表示进行文本检索(称为Dence Retrieval,DR)。DR包含两个阶段:
- 预训练一个模型,将文本编码成一个向量,训练目标是使得similar pairs具有最大的相似度分数;
- 通过训练好的编码模型,将文本编码、索引,根据query的相似度执行检索。
本文主要关注于第一阶段,即如何训练一个好的表示。本文从一个假设出发:负样本采样方法是限制DR性能的瓶颈。本文的贡献:
- 提出了一种更好的负采样方法,用于采样优质的dissimilar pairs;
- 本文提出的效果能让训练更快收敛;
- 本文提出的方法相比基于BERT的方法提升了100倍效率,同时达到了相似的准确率。
本文所提出的负采样方法是一种不断迭代的形式,将ANN索引的结果用于负样本采样,随后进一步训练模型;模型训练完之后,用于更新文档表示以及索引。
最后欢迎大家关注我的微信公众号:对白的算法屋(duibainotes),跟踪NLP、推荐系统和对比学习等机器学习领域前沿。
想进一步交流的同学也可以通过公众号加我的微信一同探讨技术问题,谢谢。
ICLR2021对比学习(Contrastive Learning)NLP领域论文进展梳理的更多相关文章
- 论文解读(ClusterSCL)《ClusterSCL: Cluster-Aware Supervised Contrastive Learning on Graphs》
论文信息 论文标题:ClusterSCL: Cluster-Aware Supervised Contrastive Learning on Graphs论文作者:Yanling Wang, Jing ...
- 论文解读(PCL)《Prototypical Contrastive Learning of Unsupervised Representations》
论文标题:Prototypical Contrastive Learning of Unsupervised Representations 论文方向:图像领域,提出原型对比学习,效果远超MoCo和S ...
- 论文解读(SimGRACE)《SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation》
论文信息 论文标题:SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation论文作者: ...
- 论文解读(S^3-CL)《Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learning》
论文信息 论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learn ...
- 论文解读(MLGCL)《Multi-Level Graph Contrastive Learning》
论文信息 论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learn ...
- 论文解读(GCA)《Graph Contrastive Learning with Adaptive Augmentation》
论文信息 论文标题:Graph Contrastive Learning with Adaptive Augmentation论文作者:Yanqiao Zhu.Yichen Xu3.Feng Yu4. ...
- 论文解读(GROC)《Towards Robust Graph Contrastive Learning》
论文信息 论文标题:Towards Robust Graph Contrastive Learning论文作者:Nikola Jovanović, Zhao Meng, Lukas Faber, Ro ...
- 论文解读(Debiased)《Debiased Contrastive Learning》
论文信息 论文标题:Debiased Contrastive Learning论文作者:Ching-Yao Chuang, Joshua Robinson, Lin Yen-Chen, Antonio ...
- 论文解读(gCooL)《Graph Communal Contrastive Learning》
论文信息 论文标题:Graph Communal Contrastive Learning论文作者:Bolian Li, Baoyu Jing, Hanghang Tong论文来源:2022, WWW ...
随机推荐
- 【LeetCode】752. Open the Lock 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- python极简教程01:基础变量
测试奇谭,BUG不见. 其实很久之前,就有身边的同事或者网友让我分享一些关于python编程语言的教程,他们同大多数自学编程语言的人一样,无外乎遇到以下这些问题: 网络上的资料过多且良莠不全,不知道如 ...
- vue安装使用v-chart时报错解决方案
npm i v-charts echarts -S 1.在main.js中使用报以下错 liquidFill echarts/lib/visual/dataColor 找不到 出现此原因是因为版本问题 ...
- [error]Flask Address already in use
在Python的Flask框架下Address already in use [地址已在使用中] 出现这种错误提示, 说明你已经有一个流程绑定到默认端口(5000).如果您之前已经运行过相同的模块,则 ...
- 利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变
查看本章节 查看作业目录 需求说明: 利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变 当用户单击"+" ...
- 【MySQL作业】DDL 和 DML——美和易思使用 DDL 定义数据库表结构应用习题
点击打开所使用到的数据库>>> 1.使用 DDL 创建 easyShopping2 数据库. create database easyShopping2 2.使用 DDL 更改 ea ...
- SpringCloud创建Eureka模块
1.说明 本文详细介绍Spring Cloud创建Eureka模块的方法, 基于已经创建好的Spring Cloud父工程, 请参考SpringCloud创建项目父工程, 在里面创建Eureka模块, ...
- Linux 中安装、升级、配置 Swoole 扩展
从源码编译安装 # 下载Swoole wget http://pecl.php.net/get/swoole-4.5.2.tgz tar -zxvf swoole-4.5.2.tgz cd swool ...
- CSS基础 定位相关属性的使用方法
1.相对定位:position:relative: 属性名:position 属性值:relative: 特点:1.相对自己的位置移动 2.配合方位名词移动,如:top.left.right,bott ...
- HttpRunner_参数化进阶
一.获取返回包数据 在提取参数时,当 HTTP 的请求响应结果为 JSON 格式,则可以采用.运算符的方式,逐级往下获取到参数值:响应结果的整体内容引用方式为 content 或者 body,如上 ...