ACL2019最佳长论文阅读笔记,降低机器翻译中的exposure bias

2019 年 11 月 20 日 AINLP

文章知乎链接 https://zhuanlan.zhihu.com/p/92654122


今天开组会的时候一个师兄说到了这篇文章,之前就有一定的印象,现在补看完后赶紧写一篇阅读笔记记录一下。论文的题目为《Bridging the Gap between Training and Inference for Neural Machine Translation》


文章简介


文章发表于ACL2019,是 ACL2019的最佳长论文。作者在论文中提出了一种方法来解决文本生成当中的exposure bias问题,并应用到了机器翻译当中。


背景知识


没做机器翻译的同学可能不知道为什么机器翻译中存在exposure bias的问题(后面我也会整理一下机器翻译的一些资料,虽然我也不知道什么时候有空填坑T-T),这里先解释一下exposure bias产生的原因。


在机器翻译的模型中通常使用的是seq2seq模型。在seq2seq模型的解码端中,当前词是根据前一个词来生成的,但是在训练时使用的是Teacher Forcing,前一个词是从ground truth中得到的,而在测试时,前一个词是模型自己生成的,这就使得在训练和测试时预测出的单词实际上从不同的分布中得到的,这就是exposure bias。由于exposure bias的存在,在测试时,如果某一步出现错误,那么错误就会一直累积(因为训练时前一个单词总是正确的),最终导致生成不正确的文本。


teacher forcing


除此之外作者认为在机器翻译的过程中还有另一个问题:overcorrection。即在机器翻译中,损失函数通常是交叉熵,交叉熵函数会严格匹配预测的输出和ground truth是否一致,如果预测的词和 ground truth中的词不同,尽管这个翻译是合理的,但也会被交叉熵纠正,这降低了翻译结果的多样性


论文的方法


总的来说,作者取消了训练中仅使用ground truth单词的做法,而使用一种概率采样,以一定的概率从模型预测的结果Oracle Word和ground truth中选择一个单词作为当前步的输入,从而一定程度上消除这种偏差带来的影响,下面是具体的选择方法。

首先作者提出了Oracle Word Selection的概念,即从模型生成的单词中选择当前步的输入,而模型生成单词也有两种方式,一种是词级别的Word-level oracle,另一种是句子级别的输出sentence-level oracle。

Word-level oracle

Word-level oracle旨从模型在 j-1 时刻的备选输出选出单词做为在模型在第 j 步中训练时的输入,而j-1时刻的单词的选择,作者并没有简单地使用概率最大的单词作为输出,而是使用了Gumbel-Max 方法,它是一种简单有效的从类别分布中进行采样的方法。


假设oj-1为上一步的备选输出。则作者通过他们的概率加噪后(方式如下)取softmax,然后选择Word-level oracle的单词

Sentence-Level Oracle

Sentence-Level Oracle是从句子层面来选择 j-1 时刻的单词,在该过程中需要先对每个句子进行 beam search(这个我后面也会更一篇文章详解)。给每个句子选择 k 个候选翻译,然后选择 BLEU 得分最高 的那个句子作为 sentence-level oracle。


但是 Sentence-level oracle 的长度需要和 ground truth 句子的长度相等,而普通的 beam search 不能保 证这一点。为了解决这个问题,作者对 beam search 进行改动,提出了 force decoding:假设 ground truth 句子包含 n 个单词。(1) 如果模型在时间步 n 之前的第 t 步就预测除了终止符,那么选择第 t 步概率第二高的单词作为输出;(2) 如果模型在第 n 步还没有预测出终止符,那么将第 n 步的输出替换为终止符 。


衰减概率采样


上面介绍结束后就是如何采样的问题了。作者在训练的过程中在每个时间步以概率 p 从 ground truth 中采样,以概率 1-p 从 oracle 中采样。但是如果模型在训练刚开始时就从 oracle 中采样过于频繁 (p 较小),将会导致收敛缓慢。如果在模型训练快结束时从 groud 2truth 中采样过于频繁 (p 较大),那么将不能对训练和测试时数据分布的差异进行模拟。所以一个较为合理的方法是:训练初期将 p 设的较大,随着训练的进行逐渐对 p 进行衰减。

其中e为epoches,u为超参数。


损失函数


前文提到作者认为交叉熵容易over correcton,所以这里作者使用最大似然作为损失函数。


实验结果

作者在机器翻译的 2 个数据集上做了实验,两个数据集分别是NIST ChineseEnglish和 WMT' 14 EnglishGerman。实验结果如下 :


实验结果也证明了该方法在RNN和transformer的nmt模型中都对exposure bias 问题都能起到一定的改善作用,从而提高翻译模型的性能。




 

本文转载在公众号:纸鱼AI,作者:linhw

推荐阅读

Transformer详解《attention is all your need》论文笔记

站在BERT肩膀上的NLP新秀们(PART I)

站在BERT肩膀上的NLP新秀们(PART II)

站在BERT肩膀上的NLP新秀们(PART III)

Nvidia League Player:来呀比到天荒地老

关于AINLP


AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP君微信(id:AINLP2),备注工作/研究方向+加群目的。

 

登录查看更多
2

相关内容

近期必读的5篇顶会WWW2020【推荐系统】相关论文-Part2
专知会员服务
69+阅读 · 2020年4月7日
近期必读的6篇AI顶会WWW2020【推荐系统】相关论文
专知会员服务
56+阅读 · 2020年2月25日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
六篇 EMNLP 2019【图神经网络(GNN)+NLP】相关论文
专知会员服务
71+阅读 · 2019年11月3日
赛尔原创 | ACL 2019 检索增强的对抗式回复生成
哈工大SCIR
12+阅读 · 2019年7月4日
哈工大SCIR三篇论文被ACL 2019录用
哈工大SCIR
17+阅读 · 2019年5月15日
论文浅尝 | 基于图注意力的常识对话生成
开放知识图谱
8+阅读 · 2019年2月5日
自然语言处理中注意力机制综述
Python开发者
11+阅读 · 2019年1月31日
论文浅尝 | 远程监督关系抽取的生成式对抗训练
开放知识图谱
17+阅读 · 2018年7月12日
论文荐读 | NLP之Attention从入门到精通
人工智能前沿讲习班
5+阅读 · 2018年5月14日
从2017年顶会论文看Attention Model
黑龙江大学自然语言处理实验室
5+阅读 · 2017年11月1日
Arxiv
21+阅读 · 2019年8月21日
Sparse Sequence-to-Sequence Models
Arxiv
5+阅读 · 2019年5月14日
Arxiv
6+阅读 · 2019年3月19日
Arxiv
5+阅读 · 2018年5月28日
VIP会员
相关资讯
赛尔原创 | ACL 2019 检索增强的对抗式回复生成
哈工大SCIR
12+阅读 · 2019年7月4日
哈工大SCIR三篇论文被ACL 2019录用
哈工大SCIR
17+阅读 · 2019年5月15日
论文浅尝 | 基于图注意力的常识对话生成
开放知识图谱
8+阅读 · 2019年2月5日
自然语言处理中注意力机制综述
Python开发者
11+阅读 · 2019年1月31日
论文浅尝 | 远程监督关系抽取的生成式对抗训练
开放知识图谱
17+阅读 · 2018年7月12日
论文荐读 | NLP之Attention从入门到精通
人工智能前沿讲习班
5+阅读 · 2018年5月14日
从2017年顶会论文看Attention Model
黑龙江大学自然语言处理实验室
5+阅读 · 2017年11月1日
Top
微信扫码咨询专知VIP会员