Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

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

EMNLP 2018 基于自适应的多轮解码机制的神经机器翻译模型

本文介绍哈尔滨工业大学社会计算与信息检索研究中心(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
哈工大SCIR

哈尔滨工业大学社会计算与信息检索研究中心

理论EMNLP 2018机器翻译
21
相关数据
信息检索技术

信息检索(IR)是基于用于查询检索信息的任务。流行的信息检索模型包括布尔模型、向量空间模型、概率模型和语言模型。信息检索最典型和最常见的应用是搜索引擎。

神经机器翻译技术

2013 年,Nal Kalchbrenner 和 Phil Blunsom 提出了一种用于机器翻译的新型端到端编码器-解码器结构 [4]。该模型可以使用卷积神经网络(CNN)将给定的一段源文本编码成一个连续的向量,然后再使用循环神经网络(RNN)作为解码器将该状态向量转换成目标语言。他们的研究成果可以说是神经机器翻译(NMT)的诞生;神经机器翻译是一种使用深度学习神经网络获取自然语言之间的映射关系的方法。NMT 的非线性映射不同于线性的 SMT 模型,而且是使用了连接编码器和解码器的状态向量来描述语义的等价关系。此外,RNN 应该还能得到无限长句子背后的信息,从而解决所谓的「长距离重新排序(long distance reordering)」问题。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

统计机器翻译技术

随着统计学的发展,研究者开始将统计模型应用于机器翻译,这种方法是基于对双语文本语料库的分析来生成翻译结果。这种方法被称为统计机器翻译(SMT)

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
请问有完整源代码,和数据集链接吗?