Auto Byte

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

微信扫一扫获取更多资讯

Science AI

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

微信扫一扫获取更多资讯

Kejin Jin作者Joni编辑

用编码器-解码器-重构器框架实现英语-日语的神经机器翻译

针对神经机器翻译翻译过度和翻译不足的问题,Tu et al. (2017) 的论文《Neural Machine Translation with Reconstruction》提出了一种“编码器-解码器-重构器框架”,其使用了回译来提升翻译准确度。日本首都大学东京的研究者在英语-日语翻译任务上实现了该框架。机器之心技术分析师对该实现的论文进行了解读和梳理。

论文链接:https://arxiv.org/pdf/1706.08198.pdf

论文作者:Yukio Matsumura, Takayu kiSato, Mamoru Komachi

引言

神经机器翻译(NMT)近段时间发展迅猛,已经在传统的统计机器翻译基础上实现了很大的提升,并且已经在很多语言内的翻译任务上实现了当前最佳表现。

但是,NMT 翻译过度和翻译不足的问题都存在,也就是说,有时候它可能会重复翻译某些词,有时候它可能会遗漏某些词。这是因为 NMT 模型通常可被看作是黑箱,而我们并不完全清楚它们背后的机制,即它们将源句转换成目标句的方式。

针对这一问题,Tu et al. (2017) 为 NMT 提出了一种“编码器-解码器-重构器框架”,其使用了回译(back translation)来提升翻译准确度。这篇论文是该框架在英语-日语翻译任务上的实现。

此外,这篇论文还指出,除非顺译(forward translation)模型的训练方式类似传统的基于注意的 NMT(也被称为预训练),否则该框架不能实现让人满意的表现。

传统的基于注意的 NMT 模型

下面展示了 Bahdanau et al. (2015) 提出的传统的基于注意的 NMT 模型。

图 1:基于注意的 NMT

其中编码器将源句转换成固定长度的向量 C,并将其作为语境向量(context vector)。在每个时间步骤 t 都使用一个双向 RNN,那么该编码器的隐藏状态 h_t 就可表示为:

其中前向状态和反向状态可分别按以下方式计算:

r 和 r’ 都是非线性函数。那么语境向量 C 就变成:

其中 q 也是一个非线性函数。

在经典的编码器-解码器模型中,编码器计算得到的语境向量 C 会被解码器直接“解码”成目标句。但因为解码器必须处理整个向量,所以之前的信息可能会被之后处理的信息覆盖。因此,语境向量越长,模型就越有可能丢失重要信息。这就是引入基于注意的机制的原因,这能让模型在每个步骤关注语境向量的特定部分以确保信息充分足够。

在每个时间步骤 i,输出词的条件概率可以这样计算:

其中 s_i 是解码器的隐藏状态,计算方式为:

根据这一等式,我们可以看到时间步骤 i 的隐藏状态 s_i 是使用语境向量 c_i 以及前一个时间步骤 i-1 的隐藏状态和目标词计算的。

不同于前文提及的较长的长度固定的向量 C,语境向量 c_i 是编码器的每个隐藏状态 h_j 的加权和,计算方式为:

其中

其中权重矩阵 e_ij 是由一个“对齐模型”生成的,该模型的作用是将位置 j 附近的输入与位置 i 处的输出对齐;而 α 可被理解成是一个“注意分配”向量。

最后,目标函数定义为:

其中 N 是数据的数量,θ 是一个模型参数

编码器-解码器-重构器框架

Tu et al. (2017) 为 NMT 提出的编码器-解码器-重构器框架在原来的 NMT 模型上增加了一个新的“重构器”结构。其目的是将解码器架构的隐藏状态翻译回源句,以进行比较并提升翻译准确度。下面描述了这种新结构:

图 2:编码器-解码器-重构

在每个时间步骤 i,输出的“源词”的条件概率的计算方式为:

隐藏状态 s' 的计算方式与之前的解码过程类似:

注意这里的 c’ 被称为“逆语境向量”,计算方式为:

其中 s 只是解码器的每个隐藏状态(在顺译时的)。

类似地,可以进一步计算 α’:

目标函数定义为:

注意这个优化函数包含两个部分,即顺译部分和回译部分。超参数 λ 指定了顺译和回译之间的权重

根据这篇论文,顺译部分衡量的是翻译流畅度,而回译部分衡量的是翻译充分性。以这种方式,这种新结构可以增强整体的翻译质量。

实验

这篇论文使用了 2 个英语-日语平行语料库:Asian Scientific Paper Excerpt Corpus(ASPEC)(Nakazawa etal.,2016)和 NTCIR PatentMT Parallel Corpus (Goto et al., 2013)。

实验中所用的 RNN 模型有 512 个隐藏单元、512 个嵌入单元、30000 的词汇量和 64 的批大小。训练平台是 GeForce GTX TITAN X GPU。

基准 NMT 模型是普通的基于注意的 NMT。

注意在这些实验中超参数 λ 设置为 1。

下面给出了一些英语-日语翻译任务的示例。注意“联合训练(jointly-training)”是指没有预训练的编码器-解码器-重构器。

表1:英语-日语翻译的输出示例

结果

表 2 和 3 展示了 BLEU 分数表示的翻译准确度、通过 bootstrap 重采样得到的显著性检验的 p 值(Koehn, 2004)以及在收敛之前的训练时间。

表 2:英语-日语翻译结果

表 3:日语-英语翻译结果

这个结果表明新的编码器-解码器-重构器框架所需的训练时间长于基准 NMT,但在英语-日语翻译中,其在 ASPEC 上的翻译准确度显著提升了 1.01 分,在 NTCIR 上提升了 1.37 分。但其在日语-英语翻译任务上却没有实现这样的提升。此外,联合训练得到的模型的表现甚至比基准模型还差一些。 

此外,这篇论文还检查了这种新模型是否能更好地解决上面提到的翻译过度和翻译不足的问题。比如,图 3 表明基准模型无法输出“乱流と粘性の数値的粘性の関係を基に”,而新提出的模型能成功翻译它。图 4 表明基准模型重复翻译了“新生児”和“30歳以上の”,新提出的模型则表现更好。

图 3:示例 1 中的注意层:对翻译不足问题的改进;其中左为基准 NMT,右为编码器-解码器-重构

图 4:示例 2 中的注意层:对翻译过度问题的改进;其中左为基准 NMT,右为编码器-解码器-重构

结论

这篇论文在英语-日语翻译任务上分析了新提出的编码器-解码器-重构器框架。结果表明,这种编码器-解码器-重构器能在英语-日语翻译任务上实现显著的 BLEU 分数提升,并且能缓解翻译中重复和遗漏词的问题。此外,通过将其与顺译和回译联合训练的模型进行比较,这篇论文还评估了预训练的重要性。

评阅者点评

回译一直都是翻译研究的一种有用方法,也能让人类译者检查他们是否翻译准确。在机器翻译任务中使用这种传统翻译方法是一个相当了不起的思路。

未来,语言学知识和自然语言处理会结合得更加紧密,这可能会成为一种新思路,有助于更好地提升语言处理任务的表现,比如机器翻译,尤其是对于日语这样具有很多“语法模板”(即日语的“文法”)的语言。

参考文献

  1. Dzmitry Bahdanau,Kyunghyun Cho,and Yoshua Bengio. 2015. Neural Machine Translation by Jointly Learning to Align and Translate. Proceedings of the 3rd International Conference on Learning Representations (ICLR), pages 1–15.
  2. Zhaopeng Tu, Yang Liu, Lifeng Shang, Xiaohua Liu, and Hang Li. 2017. Neural Machine Translation with Reconstruction. Proceedings of the ThirtyFirst AAAI Conference on Artificial Intelligence (AAAI), pages 3097–3103. 
  3. Philipp Koehn. 2004. Statistical Significance Tests for MachineTranslationEvaluation. Proceedings of the 2004 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 388–395.
理论
1
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

神经机器翻译技术

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

参数技术

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

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

机器翻译技术

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

统计机器翻译技术

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

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

推荐文章
暂无评论
暂无评论~