来自 | 知乎

作者 | 光某人

地址 | https://zhuanlan.zhihu.com/p/363900943

编辑 | 机器学习算法与自然语言处理公众号

本文仅作学术分享,若侵权,请联系后台删文处理

具体知识请参阅我之前的文章:

https://zhuanlan.zhihu.com/p/346686467

这里的论文我会慢慢更新【最近组里活挺多的,慢慢来】

1.解决NMT的单词遗漏[acl2019]

论文标题:Reducing Word Omission Errors in Neural Machine Translation: A Contrastive Learning Approach

论文链接:aclweb.org/anthology/P1

1.0 问题

NMT系统容易省略基本单词,会减弱机器翻译的充分性。

由于神经网络缺乏可解释性,很难解释这些遗漏错误是如何发生的,也很难用逻辑规则的方式来消除它们。

所以本文采用对比学习的方法来显式地解决这个问题。

示例:

I love it so much that I cannot sleep well.  我太喜欢它 (了以至于 ) 我夜不能寐

1.1 使用CL动机

  • 适应性强:可以对所有NMT模型加入CL进行对比学习来微调缺省后句向量与原向量距离。

  • 语言独立性强:方法是独立于语言的,可以应用于任何语言。

  • 训练快:对比学习从一个预先训练的NMT模型开始,通常只有几百个步骤。

用对比学习的思想解决该问题,其基本思想仍然与对比学习的思想是一致的:

  • 使NMT模型能够将更高的概率分配给真实(ground-truth)翻译,而将较低的概率分配给错误翻译。

  • 根据真实翻译进行省略词数、改变词频和词性设计不同类型的负实例,进行数据增强。

1.2 如何使用CL

输入:并行训练集  ,包含已翻译好的句子对

输出:无缺漏翻译的句子

  1. 用随机初始化获得D的最大似然估计 

  2. 构建否定集 

  3. 在  基础上用对比学习获得  上的 

第一步,在平行语料库(1-2行)上使用最大似然估计(MLE)训练模型获得绝对空间向量。

在第二步中,通过省略ground-truth翻译中的单词来自动构建否定例(第3行)。

在第三步中,以估计最大似然值为起点,使用对比学习对模型进行微调。

1.3 联合Loss

找到一组模型参数,使训练集进行正常翻译的对数似然最大化:

1.4 数据增强

基于并行语料库中的真实实例对构建负实例。

基于以下几种规则对数据构建负实例:

  • 随意省略。

  • 按单词频率省略。

  • 按词性省略。

1.5 对比损失【Triplet Loss变形】

这里是N个不同负样本平均概率与1个正样本间的概率差要趋向于margin 。本文实验取N=1。

1.6 实验

文章定义了margin difference 来衡量margin的大小。

效果:

然后作者也对不同省略方法进行拆解比较其效果:

注:  指随机省略1,2,3个词进行对比学习。  指随机省略低频词,高频词。  指随机省略动词或介词。

首先,我们可以看到CL收敛还是很快的,而且,对于省略来说,随机省略一个词,省略高频词,省略介词,对比学习效果最好。


2. 常识推理的对比性自我监督学习

论文标题:Contrastive Self-Supervised Learning for Commonsense Reasoning

论文链接:aclweb.org/anthology/20

代码链接:github.com/SAP-samples/

2.0 问题

该文章提出了一种自监督的方法来解决指代消解(Pronoun Disambiguation)和 Winograd Schema Challenge 问题,减少目前监督方法对常识推理的限制 。

示例:

“它”指:

这件衣服放不进这箱子,因为它太大 

A.衣服 B.箱子

这件衣服放不进这箱子,因为它太小 

A.衣服 B.箱子

2.1 使用CL动机

  • 训练快:对比学习能够较好的稳定优化和加快收敛速度。

  • 自动化寻找差异:采用该方式进行正则化,用于寻求语言模型中个体候选概率的最大差异。

2.2 如何使用CL

2.2.1 互斥损失

该文章利用了与所谓的触发词相关的训练语料库的特征结构,它负责在代词消解中翻转答案,从而构造两两对比的辅助预测来实现这样的常识推理。

在上面的示例中,big,small充当触发词,这两个选项包含文中所有的实体,那么二者存在异或的关系,即要么A成立,要么B成立。考虑到触发词所建立的上下文,候选答案A在第一句中要么是对的,要么在第二句中是对的【另一句是错的】。

则有异或关系

所以对于  ,

从例子中可以看出,触发词产生了训练对的相互排斥关系。该方法的目标是将这种成对关系作为训练阶段的唯一监督信号。所以这里引入 互斥损失(Mutual Exclusive (MEx) loss),最大限度地提高这两个看似合理的候选项的相互排斥概率。

具体来说,给定一对训练句子,将要解决的代词从句子中屏蔽(mask)掉,并使用语言模型来预测这样的候选词中只有一个可以填充mask的位置,而填充互斥条件。

2.2.2 原始CL

因为假如原来是正确的指代,那么被交换的指代就是负例了,那么就采用Triplet Loss:

2.3 联合Loss

所以二者联合即可

2.4 整体结构

2.5 试验结果

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑温州大学《机器学习课程》视频
本站qq群851320808,加入微信群请扫码:

【NLP】Contrastive Learning NLP Papers相关推荐

  1. 【论文阅读】【CVPR2022】Contrastive Learning of Class-agnostic Activation Map

    Contrastive Learning of Class-agnostic Activation Map for Weakly Supervised Object Localization and ...

  2. ZH奶酪:【阅读笔记】Deep Learning, NLP, and Representations

    中文译文:深度学习.自然语言处理和表征方法 http://blog.jobbole.com/77709/ 英文原文:Deep Learning, NLP, and Representations ht ...

  3. 【NLP】详聊NLP中的阅读理解(MRC)

    机器阅读理解,笔者认为他是NLP中最有意思的任务了.机器阅读一份文档之后,可以"理解"其中的内容,并可以回答关于这份文档的问题.听上去,有一种很强的"人工智能" ...

  4. 【NLP】 深度学习NLP开篇-循环神经网络(RNN)

    从这篇文章开始,有三AI-NLP专栏就要进入深度学习了.本文会介绍自然语言处理早期标志性的特征提取工具-循环神经网络(RNN).首先,会介绍RNN提出的由来:然后,详细介绍RNN的模型结构,前向传播和 ...

  5. 【干货】如何利用NLP与知识图谱处理长句理解.pdf(附下载链接)

    今天给大家分享来也科技副总裁翁嘉颀先生在2021年全球机器学习技术大会上所做的分享<如何利用NLP与知识图谱处理长句理解.pdf>,关注NLP.知识图谱.RPA等的伙伴们别错过啦!(到小程 ...

  6. 【TMI2023】Contrastive Semi-Supervised Learning for Domain Adaptive Segmentation Across Similar Anatom

    Contrastive Semi-Supervised Learning for Domain Adaptive Segmentation Across Similar Anatomical Stru ...

  7. 【转】初入NLP领域的一些小建议

    初入NLP领域的一些小建议 李纪为 ACL2019投稿刚刚落幕,投稿数超过了2800篇,可以说是历史以来最盛大的一届ACL.在深度学习的推动下,自然语言处理这个子领域也逐渐被推上人工智能大舞台的最前列 ...

  8. 【学习】Deep Learning for Deepfakes Creation and Detection

    论文题目:Deep Learning for Deepfakes Creation and Detection 翻译:基于深度学习的Deepfake创建与检测 作者: Thanh Thi Nguyen ...

  9. 【机器学习】Few-shot learning(少样本学习)

    文章目录 少样本学习的诞生 元学习 少样本学习 少样本学习中的相关概念 概念1:Support set VS training set 概念2:Supervised learning VS few-s ...

最新文章

  1. eclipse alt+/快捷键失效
  2. SATA硬盘如何使用GHOSTSATA硬盘如何使用GHOST
  3. crawler_JVM_DNS_在爬虫中的应用
  4. 犹豫不决时的78zb
  5. MongoCola使用教程 1 - MongoDB的基本操作和聚合功能
  6. python开发环境的安装与配置_Python开发环境的安装配置
  7. 自学stm32的一些个人经验
  8. sql timestep 秒数后6位_excel中,如何截取身份证号后6位?前4位?或者中间8位?...
  9. 计算机网络—时延相关真题练习(三)
  10. 我的Python成长之路---第三天---Python基础(9)---2016年1月16日(雾霾)
  11. SMB、FTP、DNS、等六个服务总结
  12. 计算机基础是五笔吗,计算机基础(五笔打字学习).ppt
  13. html5局部放大图片,图片局部放大效果原理详解
  14. cad生成最小包围盒lisp_cad.net 葛立恒凸包算法和面积最小包围盒
  15. 手机下载的Termux如何利用you-get 下载视频
  16. nmn抗衰老是骗局吗,美国nmn骗局,正面解答
  17. Infor宣布首次公开募股
  18. android 四舍五入函数,巧用WPS移动版组合函数四舍五入保留两位小数
  19. 微软输入法怎么打开软键盘?
  20. chartengine 图表的应用流程

热门文章

  1. hdu 2136 筛法求素数
  2. hdu 5066 小球碰撞(物理题)
  3. MY_Log,无缝替换原生Log,支持日志输出到文件、FirePHP
  4. HDU3474 Necklace
  5. VC++ 6.0 中如何使用 CRT 调试功能来检测内存泄漏[转]
  6. 正则匹配class并替换整个class为空
  7. 四步法分析定位生产环境下MySQL上千条SQL中的问题所在
  8. 三点顺序(计算几何)
  9. defined 函数使用
  10. 自学ng2 -生命周期钩子