前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【ACL2019】最佳长论文阅读笔记,降低机器翻译中的exposure bias

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

作者头像
zenRRan
发布2019-11-21 18:03:02
1.4K0
发布2019-11-21 18:03:02
举报
文章被收录于专栏:深度学习自然语言处理

点击上方,选择星标置顶,每天给你送干货

阅读大概需要6分钟

跟随小博主,每天进步一丢丢

来自:纸鱼AI

文章知乎链接 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 问题都能起到一定的改善作用,从而提高翻译模型的性能。

代码语言:javascript
复制
方便交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。记得备注呦
推荐阅读:【ACL 2019】腾讯AI Lab解读三大前沿方向及20篇入选论文【一分钟论文】IJCAI2019 | Self-attentive Biaffine Dependency  Parsing
【一分钟论文】 NAACL2019-使用感知句法词表示的句法增强神经机器翻译
【一分钟论文】Semi-supervised Sequence Learning半监督序列学习
【一分钟论文】Deep Biaffine Attention for Neural Dependency Parsing
详解Transition-based Dependency parser基于转移的依存句法解析器经验 | 初入NLP领域的一些小建议
学术 | 如何写一篇合格的NLP论文
干货 | 那些高产的学者都是怎样工作的?
一个简单有效的联合模型近年来NLP在法律领域的相关研究工作

让更多的人知道你“在看”
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 深度学习自然语言处理 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Word-level oracle
  • Sentence-Level Oracle
相关产品与服务
机器翻译
机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档