NIPS 2017线上分享第二期:利用价值网络改进神经机器翻译

在 NIPS 2017 大会正式开始前,机器之心将选出数篇优质论文,邀请论文作者来做线上分享,聊聊理论、技术和研究方法。上周,我们进行了线上分享的第二期,邀请到了中国科大—微软亚洲研究院联合培养博士生夏应策讲解了一篇有关神经机器翻译的 NIPS 论文。本文将对该论文内容进行简要介绍。


线上分享视频回顾

神经机器翻译(Neural Machine Translation,NMT)基于深度神经网络,为机器翻译提供了端到端的解决方案,在研究社区中受到了越来越多的关注,且近几年已被逐渐应用到了产业中。NMT 使用基于 RNN 的编码器-解码器框架对整个翻译过程建模。在训练过程中,它会最大化目标语句对给定源语句的似然度。在测试的时候,给定一个源语句 x,它会寻找目标语言中的一个语句 y*,以最大化条件概率 P(y|x)。由于目标语句的可能数目是指数量级的,找到最优的 y*是 NP-hard 的。因此通常会使用束搜索(beam search)以找到合理的 y。

束搜索是一种启发式搜索算法,会以从左向右的形式保留得分最高的部分序列扩展。特别是,它保存了一群候选的部分序列。在在每个时间步上,该算法将都会通过添加新词的方法扩展每一个候选部分语句,然后保留由 NMT 模型评分最高的新候选语句。当达到最大解码深度或者所有的语句都完全生成的时候(即所有的语句都包含 EOS 符号后缀的时候),算法就会终止。

虽然 NMT 结合束搜索是很成功的,但也存在几个明显的问题,已经被研究过的包括曝光偏差(exposure bias)、损失评估失配(loss-evaluation mismatch)和标签偏差(label bias)。然而我们观察到,其中仍然有一个很重要的问题被广泛忽视,即短视偏差(myopic bias)。束搜索倾向于更关注短期奖励。例如,在第 t 次迭代中,对于候选语句 y_1,...,y_t-1(记为 y_<t),和两个词 w 和 w』,当把 w 添加到 y_<t 的时候记为 y_<t+w。如果

则新的候选语句 y_<t+w 相比 y_<t+w』 更可能被保留,即使 w'是在第 t 次迭代中的真实翻译,或在未来的解码中能获得更高的分数。这种源于短视的搜索错误有时候在模型很好的情况下也会提供糟糕的翻译。

为了解决短视偏差,对每一个词 w 和每一个候选语句 y_<t,我们设计了一个预测模型以在把 w 添加到 y_<t 的时候,评估长期奖励。这个过程会跟随当前使用的 NMT 模型,直到解码完成。然后我们可以在每个解码步中应用这个模型输出的预测分数帮助寻找更好的 w,以提升长句翻译性能。这种预测长期奖励的模型,恰好和强化学习中的价值函数的概念相同。

在本研究中我们开发了一个基于神经网络的预测模型,即为 NMT 设计的价值网络。该价值网络将源语句与任何部分序列作为输入,并输出预测值以估计 NMT 模型生成这一部分序列的期望总回报(例如 BLEU 分值)。在所有解码的步骤中,我们不仅基于该部分序列的条件概率选择最优的候选译文,同时还基于价值网络估计翻译效果的长期回报。

该项工作的主要贡献如下。首先我们开发了一个考虑长期回报的解码方案,它会为机器翻译逐一生成译文,这在 NMT 中是比较新的方案。在每个步骤中,新的解码方案不仅考虑源语句的条件概率,同时还依赖于未来的预测回报。我们相信考虑这两个部分将导致更好的翻译效果。

其次,我们设计了一种新颖的价值网络。在 NMT 编码器-解码器层的顶部,我们为价值网络开发了另外两个模块,即一个语义匹配模块和一个上下文覆盖(context-coverage)模块。语义匹配模块旨在估计源语句与目标语句之间的相似度,该模块直接有助于翻译质量的提升。不过我们经常观察到,随着注意力机制使用更多的上下文信息,模型能生成更好的翻译 [14, 15]。因此我们构建了一个上下文覆盖模块来度量编码器-解码器层中的上下文覆盖范围。通过这两个模块的输出,模型最终的预测将由全连接层完成。

图 1:价值网络的架构


算法 1:价值网络训练


算法 2:NMT 中用价值网络的束搜索


图 2:在三种任务的测试集上的翻译结果

表 1 :整体表现

对价值网络的分析

我们进一步观察了学习到的价值网络,并做了一些分析从而有更好的理解。

首先,因为我们在解码过程中使用一种附加组件,它会影响到翻译过程的效率。也因为设计的价值网络架构类似于基础的 NMT 模型,所以其计算复杂性也类似于 NMT 模型,且两个流程可并行运行。

其次,可以看到 NMT 的准确率在特定任务上有时对束搜索的大小极为敏感。我们在英语到德语的翻译上观察到了这一现象。Zhaopeng Tu 等人的论文《Neural Machine Translation with Reconstruction》认为,这是因为 NMT 的训练喜欢短小但不合适的翻译候选内容。然而,我们证明,通过使用价值网络,我们可以极大地避免这一缺陷。我们用不同的束大小测试了该算法的准确率,如图 3 所示。可以看到,NMT-VNN 要比没有价值网络的原始 NMT 更稳定:在不同大小的束搜索下,它的准确率只有略微不同,但 NMT-BS 在束大小变大的情况下准确率下降了超过 0.5 个点。


图 3:(a)英语到德语翻译任务关于不同束搜索的 BLEU 分值。(b)英语到德语翻译任务关于不同超参数 α 的 BLEU 分值。

第三,在英语到德语的解码过程中,我们测试了不同超参数α下的 NMT-VNN 的性能。从该图我们可以看出当α处于 0.7 到 0.95 时,性能是比较稳定的,而采用更小的α性能会有一些降低。这表明我们的算法对于超参数来说是鲁棒的。

论文:Decoding with Value Networks for Neural Machine Translation 


论文链接:https://papers.nips.cc/paper/6622-decoding-with-value-networks-for-neural-machine-translation.pdf

摘要:神经机器翻译(NMT)近几年正变得流行起来。在解码的时候,束搜索(beam search)能使得搜索空间缩小和计算复杂度降低,因而被广泛采用。然而,由于其在解码时只向前计算一步,所以只能在每个时间步搜索局部最优,而通常不能输出全局最优的目标语句。受到 AlphaGo 的成功和方法论的启发,在这篇论文中,我们提出了一种新方法,利用预测网络提升束搜索准确率,即在第 t 步选取源语句 x、当前可用的解码输出 y_1,...,y_{t-1} 和一个候选词 w 作为输入,并预测部分目标语句(假如它由 NMT 模型完成)的长期价值(例如,BLEU 分值)。根据强化学习的实践经验,我们将这个预测网络称为价值网络。具体来说,我们提出了价值网络的循环结构,并使用双语数据训练其参数。在测试过程中,当需要解码词 w 的时候,需要同时考虑由 NMT 模型给定的条件概率和由价值网络预测的长期价值。实验证明,这种方法可以显著提高多种翻译任务的准确率。

理论NMT微软亚洲研究院NIPS 2017论文NIPS
暂无评论
暂无评论~