【论文阅读】EMNLP 2018 基于自适应的多轮解码机制的神经机器翻译模型

2019-11-20 17:35:57 浏览数 (1)

最近一直在调NMT的参数,所以找了一篇NMT的代码,分享给大家!

本文介绍哈尔滨工业大学社会计算与信息检索研究中心(SCIR)录用于EMNLP 2018的论文《Adaptive Multi-Pass Decoder for Neural Machine Translation》中的工作。本文基于将polishing机制引入到机器翻译中,针对不同翻译情况需要不同的解码次数提出了自适应的多轮解码机制,其通过引入策略网络动态根据上下文信息动态决定合适的解码次数,并使用强化学习的方法对其进行训练。在中英机器翻译数据集上证明了此模型的优异性能。

论文作者:耿昕伟,冯晓骋,秦兵,刘挺

1. 引言

近年来,神经机器翻译模型吸引众多的研究者青睐。与传统的统计机器翻译模型相比,神经机器翻译模型经常使用encoder-decoder框架直接建模源语言句子和目标语言句子的翻译过程。此外,通过引入gating和attention机制,神经机器翻译模型可以在一定程度上解决长距离的依存问题。

最近,有很多研究者开始研究将polishing机制引入到机器翻译中。基于polishing机制的方法首先将创建一个daft,然后根据对draft获得一个全局理解对之前生成的draft进行不断的改进。虽然这些基于polishing机制的方法获得显著的提升,但是这些方法最多进行两轮的解码,而对于多于两轮的多轮解码在神经机器翻译的研究很少。在本工作中,首先我们探索使用固定解码次数改进神经机器翻译的性能。然而,在某些情况下比如某些比较容易翻译的句子,过多的解码次数可能导致翻译质量的下降以及消耗更多的时间。针对这种情况,我们提出自适应的多轮解码机制,其通过引入策略网络动态根据上下文信息动态决定合适的解码次数,并使用强化学习的方法对其进行训练。

2. 自适应的多轮解码

我们提出的自适应的多轮解码机制如图表 1所示。自适应多轮解码框架有三个部分组成:解码器,其将源语言句子转化成分布式表示;多轮解码器,根据分布式表示生成相应的目标语言翻译;策略网络,其主要用来选择合适的解码次数。我们提出框架的编码器和以前的方法是相同的。在下面内容中,我们将详细介绍多轮解码器以及相应的策略网络。

图1 自适应多轮解码框架

2.1 多轮解码器

我们的多轮解码器是在标准的解码器上进行扩展,使其可以利用目标端的上下文的信息。给定解码器生成的源端上下文信息以及上一轮解码器生成目标端的上下文信息,我们多轮解码器使用两个attention model分别捕捉两种上下文信息。我们模型使用的attention model和标准的神经机器翻译模型相同,即使用两层feed forward网络计算相应对齐的分数。其中,需要强调的是目标端的上下文信息使用Greedy Search方法生成翻译对应的隐含层序列。

2.2 策略网络

我们提出策略网络主要用来动态选择解码的深度。理想情况下,我们期望如果输入的源语言的句子比较难以翻译,其需要更多的解码论述来改进其翻译解码;而针对简单的输入,只需要一轮解码就足以得到较好的翻译结果。我们提出的策略网络输出两个动作,即continue,继续进行下一轮解码;stop,停止解码。我们是使用GRU来计算策略网络的状态表示,从而建模相邻解码之间的不同;而我们使用一个attention模型计算GRU的输入。该attention模型用以捕捉每轮解码中对于策略网络中有用的上下文信息,其以策略网络的状态以及目标端的上下文信息为输入。我们使用REINFORCE算法来学习对应的策略网络的参数,并将最后一轮解码对应的翻译的BLEU作为其对应的奖励。

3. 实验

我们使用1.25M LDC的中英句对作为训练集,NIST02作为开发集,而NIST03、NIST04、NIST05以及NIST06作为测试集。并且,使用multi-bleu.perl计算相应的BLEU。为了提升模型训练的效率,我们过滤句子长度差过50的输入句对。而相应的中英的词表大小分别设置为30K。beam大小设置为10,而我们的多轮解码器最大深度为5。

3.1 中英机器翻译

我们的固定解码次数的模型以及自适应多轮解码机制模型在NIST测试集上的结果如表 1所示。使用固定的解码次数确实可以在一定程度上提升模型的效果,但是随着解码深度的提升,其对应的模型的性能提升并不是很明显。而我们提出的自适应的多轮解码机制相比固定的解码深度确实可以提升模型的性能。(注:我们使用REINFORCE和Gumbel-Softmax重新实现Deliberation Network,但是与原始论文中结果仍存在一定的差距,其原因可能是与原始实现中存在一些未知的不同;为了保证公平,我们实现的ABDNMT(Bidirectional Decoder for Neural Machine Translation,AAAI 2018)将backward decoder替换成forward decoder)

表1 中英机器翻译结果

3.2 解码深度

为了研究策略网络性能,我们统计一下翻译结果中解码深度的分布,如表 2所示。我们提出的策略网络针对46.57%的实例仅使用单轮的解码,53.43%左右的实例需要多于一轮的解码。而其对应的平均的解码深度为2.12。其与ABDNMT和Deliberation Network解码深度相差不多,并且使用更少的参数。

表2 解码深度分布情况

3.3 句子长度影响

我们将按句子长度划分成不同的区间来研究句子长度与对应的翻译BLEU的变化情况。相比RNNSearch模型,我们提出的自适应解码器几乎在所有的解码区间上取得较好的结果。相比固定的解码模型,自适应解码机制可以选择最优的解码深度,从而其获得的翻译结果超过绝大多数模型结果。

图2 翻译结果在不同句子长度下的性能

4. 翻译实例

给定一个实例,我们强制自适应解码机制使用固定的解码深度进行翻译,其翻译结果如表 3所示。随着解码深度从1到3,翻译的质量随之提升。但是解码深度为4和5时,其翻译的结果保持不变。而我们的自适应解码机制在这种情况下在解码深度为3时终止解码,从而避免更深的解码带来巨大的时间消耗。

表3 自适应解码机制翻译实例

5. 结论

本工作实现探索采用固定的解码次数对于神经机器翻译模型的影响。再此基础上引入自适应解码机制动态选择解码的深度,并在中英机器翻译数据集上证明模型的性能。

本期责任编辑:刘一佳

本期编辑:赖勇魁

来源:哈工大SCIR

0 人点赞