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 ...
随机推荐
- python学习第五天:python基础(string、list、tuple)
首先,什么是sequence(序列)操作? 字符串的特性被称为sequence(序列) H o w a r e y o u ? 就好像存储在一个个连续的单元格里面,每个单元格存储一个字符,每个字符就是 ...
- LT7211替代芯片|低BOM成本替代LT7211 EDP转LVDS转换设计芯片CS5211
LT7211B是一种用于虚拟现实/显示应用的TYPE-C/DP1.2转LVDS转换芯片.LT7211B 对于DP1.2输入,LT7211B可以配置为1.2.4车道,还支持车道交换功能.自适应均衡使其适 ...
- SpringBoot集成MyBatis-Plus自定义SQL
1.说明 本文介绍Spring Boot集成MyBatis-Plus框架后, 基于已经创建好的Spring Boot工程, 添加自定义的SQL实现复杂查询等操作. 自定义SQL主要有两种方式, 一种是 ...
- go.mod file not found in current directory or any parent directory; see 'go help modules'
go的环境设置问题,执行 go env -w GO111MODULE=auto 我的环境:Windows 7, Go 1.17 D:\Apps\GOPATH\src\code.oldboyedu.co ...
- redis 重启服务丢失 密码设置 现象 与 解决过程
1. 前言 今天开电脑,开启redis服务后,项目使用redis的时候提示 不能找到 redisPools,并提示密码错误, 然后我用cmd打开却可以使用,真是奇了怪了!!! 2.使用现象: (1)c ...
- idea 个人settings和好看的主题推荐
idea 个人settings和好看的主题推荐 配置和主体搭配使用,效果最佳!!! 配置文件: 链接:https://pan.baidu.com/s/1K-oW9UNxUz_5XWz4Ru3_3w ...
- 使用Spring容器动态注册和获取Bean
有时候需要在运行时动态注册Bean到Spring容器,并根据名称获取注册的Bean.比如我们自己的SAAS架构的系统需要调用ThingsBoard API和Thingsboard交互,就可以通过Thi ...
- Linux命令(2)--cp拷贝、mv剪切、head、tail追踪、tar归档
文章目录 一.知识回顾 ls cd 二.Linux基本操作(二) 1.cp 拷贝 2.mv 移动(剪切) 3.head 头部 4.tail 追踪(尾部) 5.tar 归档 查看 压缩 解压 总结 一. ...
- vue3代码setup中this为什么无效
结论:setup并没有通过各种方式去绑定this 在vue2中,我们可以在optionsApi中调用this来指向当前组件的实例,但是在vue3的setup中并不能这样做,因为setup位于组件创建成 ...
- JVM完整详解:内存分配+运行原理+回收算法+GC参数等
不管是BAT面试,还是工作实践中的JVM调优以及参数设置,或者内存溢出检测等,都需要涉及到Java虚拟机的内存模型.内存分配,以及回收算法机制等,这些都是必考.必会技能. JVM内存模型 JVM内存模 ...