多标签分类:NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE

原文链接: https://arxiv.org/pdf/1409.0473.pdf

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

写在前面:本文第一次将注意力机制引入了NLP领域,本文提出的新型Seq2Seq架构为基于Seq2Seq的多标签学习提供新的思路。

摘要

神经机器翻译是近年来提出的一种机器翻译方法。与传统的统计机器翻译不同,神经机器翻译的目的是建立一个单一的神经网络,可以联合调整,以最大限度地提高翻译性能。最近提出的用于神经机器翻译的模型通常属于编码器-解码器家族,它们将源语句编码成固定长度的向量,然后由解码器生成翻译。在本文中,我们推测,使用一个固定长度的向量是改善这个基本的性能瓶颈encoder-decoder架构,并提出自动扩展这个通过允许一个模型(软)搜索部分源相关的句子预测目标词,没有形成硬段明确这些部分。采用这种新方法,我们的翻译效果可与现有最先进的基于短语的英法翻译系统相媲美。此外,定性分析表明,该模型得到的(软)对齐与我们的直觉非常吻合。

一、INTRODUCTION

神经机器翻译的目标是建立并训练一个可以读取一个句子并输出正确的翻译的单一的、大型的的神经网络。

很多提出的神经机器翻译都属于encoder-decoder。

一个解码神经网络读取和编码一个原序列为一个定长的向量。解码器输出编码向量的翻译。整个encoder-decoder系统,是由一个语言对的编码器和解码器组成的,它可以被整合训练来提高给定源句被正确翻译的概率。

这种encoder-decoder方法有一个潜在的问题是,神经网络需要将源句所有的必要信息压缩成定长的向量。这可能使神经网络难以处理长句子,尤其是那些比训练语料库中更长的句子。Cho(2014)发现,随着输入句子长度的增加,基本的encoder-decoder的性能会迅速下降。

为了解决这一问题,我们引入了一种对encoder-decoder模型的拓展。每当生成的模型在翻译中生成一个单词的时候,它会 (soft-)search 源句中最相关信息集中的位置。然后,该模型根据与源句位置相关的上下文向量和之前产生的所有目标词来预测目标词。

这些方法与基本的encoder-decoder最大的区别是它不试图将整个输入序列编码成一个定长的向量。相反,它将输入序列编码成向量,然后当解码翻译的时候自适应地选择向量的子集。这使得神经翻译模型避免把源句的所有信息,不管它的长度,压扁成一个定长的向量。我们发现这可以让模型更好的处理长句子。

在这篇论文中,我们证明了提出的联合学习对齐和翻译的方法比基本的编译码方法获得了显著的翻译性能改善。

二、BACKGROUND: NEURAL MACHINE TRANSLATION

翻译等价于找到给定的源句x时最大的条件概率y对应的目标句y,arg{max}_{y}P(y|x)。

神经机器翻译方法通常由两个部分组成,第一个是编码原序列,第二个是解码到目标序列。

注:编码器是一个双向(正向+反向)门控循环单元(BiGRU)。 解码器是一个GRU,其初始隐藏状态是从反向编码器GRU的最后隐藏状态修改而来的向量。

2.1 RNN ENCODER–DECODER

我们建立了一个新的架构,可以同时学习对齐和翻译。
在这里插入图片描述

上图中,encoder将向量x的序列x=(x1,…,xT)转换成向量c。ht是 t 时刻的隐藏状态,c是由隐藏状态产生的向量,f 和 s 是一些非线性函数。

在这里插入图片描述
上图中,解码器通常被训练用来预测下一个单词 yt,文本向量c和所有之前预测过的单词 { y1,…,yt-1 } 。这里g是非线性的,可能是多层的函数,它的输出是y_{t}的概率,s_{t}是RNN的隐层状态。

三、LEARNING TO ALIGN AND TRANSLATE

新的框架由一个双向的RNN作为编码器(3.2)和一个在解码翻译时対源句模拟搜索的解码器组成(3.1)。

3.1 DECODER: GENERAL DESCRIPTION(一般的描述)

在这里插入图片描述
上图解释了本文所提出的模型,给定源句子(x1,…,xt)尝试生成第t个目标字yt的过程。
在这里插入图片描述
si是i时刻RNN的隐层状态。

不同于现有的encoder-decoder方法,这里的概率是有一个对每个目标词 yi不同的上下文向量 ci决定的。

上下文向量 ci 取决于由编码器映射的输入序列的注释序列(h1,…,hT),每个注释 hi 包含整个输入序列的信息,特别是输入序列的第i个单词周围的部分。
在这里插入图片描述
上下文向量 ci 是通过计算所有注释的加权和。

每个注释 hi 的 权重 aij 的计算方法:在这里插入图片描述
在这里插入图片描述
这里 eij = a(si-1,hj) 是对齐模型,它可以评估 位置 j 附近的输入和位置 i 的输出的匹配程度。得分基于RNN隐层状态 si-1 和 输入序列的第 j 个注释 hj 来判断的。

我们把对齐模型 a 参数化为一个前馈神经网络,该神经网络与系统中的其他组件联合训练。

对齐不被认为是一个潜在的向量。相反,对齐模型直接计算软对齐,从而可以使代价函数的梯度反向传播。该梯度可用于联合训练对齐模型和整个翻译模型。

这种将所有注释的加权和作为计算一种预期注释的方法,这里的期望基于可能的对齐。aij是目标词 yi 是由源词 xj对齐,或者翻译过来的概率。那么,第 i 个上下文向量 ci 是所有具有概率 aij 的注释中的期望注释。

概率aij ,或者其相关的能量eij,反映了注释hj的在决定下一个状态si-1和生成yi时,过去的隐藏状态si-1的重要程度。直观的来说,在解码阶段实现了一种注意力机制。解码器决定源句的关注部分。通过让解码器具有注意力机制,我们减轻了要将源句中所有信息编码成一个定长向量的负担。用这种新方法,信息可以在注释序列中扩散,相应的解码器可以选择性的检索这些注释。

3.2 ENCODER: BIDIRECTIONAL RNN FOR ANNOTATING SEQUENCES(用于注释序列的双向RNN)

在我们提出的方案中,我们希望每个单词注释不仅要总结之前单词,还能总结之后的单词。因此,我们提出采用双向的RNN(biRNN,1997)。

一个biRNN包括前向和后向RNN。

我们将前向隐层状态和后向隐层状态联系起来,得到每个单词 xj 的注释。用这样的方法,注释hj 既能总结前面的单词又能总结后面的单词。因为RNN倾向于很好的表现最近的输入,注释 hj 就会更集中单词 xj 的注释。

四、EXPERIMENT SETTINGS

4.1 DATASET

4.2 MODELS

我们训练了两种模型。一种是Cho2014年提出的RNN Encoder-Decoder(RNNencdec),另一个本文提出的模型,我们称之为RNNsearch。每个模型训练两次:先用长度为30个单词的句子训练(RNNencdec-30,RNNsearch-30),然后用长度为50的句子训练(RNNencdec-50,RNNsearch-50)。

RNNencdec的编码器和解码器有1000个隐层单元。RNNsearch的编码器由前向和后向RNN组成,每个RNN有1000个隐层单元。在这两种情况下,我们都采用了有带有single maxout的隐层组成的多层网络来计算每个目标词的条件概率。

我们和Adadelta(Zeiler,2012)一样使用小批量的随机梯度下降算法。每次SGD更新的方向是通过对80个句子的小批量样本计算得来的。我们对每个模型进行了大概5天的训练。

一旦一个模型被训练,我们使用集束搜索来找到一个近似最大化条件概率的翻译,使用这种方法从神经机器翻译模型生成翻译

五、RESULTS

5.1 QUANTITATIVE RESULTS(定量结果)

表一中,我们列出以BLEU分数衡量翻译表现。在表中我们可以清晰地看到,在所有情况下,提出的RNNsearch都优于传统的RNNencdec。更重要的是,当只考虑由已知词组成的句子时,RNNsearch的性能和传统的基于短语的翻译系统(Moses)一样好。这是一个很重大的成就,因为考虑到Moses使用的是一个单独的语料库,而不是我们在训练RNNsearch和RNNencdec时使用的平行语料库。

我们提出方法的一个动机就是在基本的encoder-decoder中定长上下文向量的使用。我们推测这样的限制使得基本的encoder-decoder方法在长句子上表现不佳。

RNNsearch-30的性能甚至优于rnnenc12 -50,这进一步证明了所提出的模型相对于基本的编码器-解码器的优越性。

5.2 QUALITATIVE ANALYSIS(定性分析)

(1)ALIGNMENT(对齐)
提出的方法提供了一种直观的方法来检查生成的译文中的词和源句中的词之间的对齐(软对齐)。矩阵的每一行都暗示了与译文相关的权重。由此我们可以看出,在生成目标词时,源句中的哪些位置被认为更重要。

软对齐相对于硬对齐的优势是显而易见的。不像硬对齐处理翻译那么生硬,可以自然的考虑前后文进行对应;另一个好处是能自然的处理不同长度的源和目标短语,而不用以一种反直觉的方式把一些词映射成(NULL)。

(2)LONG SENTENCES(长句子)
RNNsearch可以在翻译长句方面比传统模型(RNNencdec)要好得多。这可能是因为RNNsearch不需要将一个长句子完美的编码到一个固定长度的向量中,而只精确的编码输入句子中某个特定单词的周围。

六、RELATED WORK

6.1 LEARNING TO ALIGN

在手写合成的背景下,graves(2013)最近提出了一个类似的方法,将输出符号与输入符号对齐。手写合成是一个任务,其中模型被要求生成一个给定的字符序列的手写。在他的工作中,他使用了高斯核的混合来计算注释的权重,其中每个核的位置、宽度和混合系数是通过一个对齐模型来预测的。更具体地说,他的定位被限制为预测位置,使位置单调增加。

与我们的方法的主要区别在于,在(Graves, 2013)中,注释权值的模式只朝一个方向移动。在机器翻译的环境中,这是一个严重的限制,因为(长距离的)重新排序常常需要生成语法正确的翻译(例如,从英语到德语)。

另一方面,我们的方法需要计算源句中每个词在翻译中的注释权重。这个缺点对于翻译来说并不严重,因为大多数的输入和输出的句子只有15-40个单词。但是,这可能会限制该方案对其他任务的适用性。

6.2 NEURAL NETWORKS FOR MACHINE TRANSLATION

自从Bengio等人(2003)提出了一种神经概率语言模型,该模型使用神经网络对给定一定数量的前一个单词的条件概率进行建模以来,神经网络在机器翻译中得到了广泛的应用。然而,神经网络的作用在很大程度上仅限于为现有的统计机器翻译系统提供一个单一的功能,或者对现有系统提供的候选翻译进行重新排序。

虽然上述方法已被证明可以提高翻译性能超过最先进的机器翻译系统,我们更感兴趣的是一个更雄心勃勃的目标,设计一个全新的翻译系统基于神经网络。因此,我们在本文中所考虑的神经机器翻译方法与这些早期的工作有根本的不同。我们的模型不使用神经网络作为现有系统的一部分,而是独立工作,直接从源句生成翻译。

七、CONCLUSION

传统的神经机器翻译方法,称为编码器-解码器方法,将整个输入语句编码成一个固定长度的向量,然后从这个向量中对翻译进行解码。根据Cho等人(2014b)和Pouget-Abadie等人(2014)最近的一项实证研究,我们推测使用固定长度的上下文向量来翻译长句子是有问题的。

在这篇论文中,我们提出了一个新的架构来解决这个问题。我们扩展了基本的编码器-解码器,在生成每个目标字时,允许模型(软)搜索一组输入字,或者由编码器计算出它们的注释。这使模型不必将整个源语句编码为一个固定长度的向量,而且还使模型只关注与生成下一个目标单词相关的信息。这对神经机器翻译系统处理长句子的能力有很大的积极影响。与传统的机器翻译系统不同,翻译系统的所有部分,包括对齐机制,都经过联合训练,以获得更好的生成正确翻译的日志概率。

我们在英法翻译任务中测试了这个被称为RNNsearch的模型。实验结果表明,无论句子长度如何,所提出的RNNsearch都比传统的编译码器模型(RNNencdec)有显著的优越性,并且对源语句的长度具有更强的鲁棒性。在定性分析中,我们研究了RNNsearch生成的(软)对齐,我们可以得出这样的结论:当模型生成正确的翻译时,它可以将源句中的每个目标单词与相关单词或它们的注释正确对齐。

也许更重要的是,所提出的方法实现了可与现有基于短语的统计机器翻译相媲美的翻译性能。考虑到提出的体系结构或整个神经机器翻译家族直到今年才被提出,这是一个引人注目的结果。我们相信这里提出的体系结构是朝着更好的机器翻译和更好地理解自然语言迈出的有希望的一步。

附录A:MODEL ARCHITECTURE(模型架构)

A.1 ARCHITECTURAL CHOICES

对于RNN的激活函数f,我们使用Cho等人最近提出的门控隐藏单元(2014a)。门控隐藏单元可以替代传统的简单单元,比如元素方面的tanh。这个门控单元类似于Hochreiter和Schmidhuber(1997)早先提出的长短时记忆(LSTM)单元,与它共享更好地建模和学习长期依赖关系的能力。这是通过在展开的RNN中设置导数乘积接近1的计算路径来实现的。这些路径允许梯度很容易地向后流动,而不会受到消失效应的太大影响(Hochreiter, 1991;Bengio et al., 1994; Pascanu et al., 2013)。因此,可以使用LSTM单元代替这里描述的门控隐藏单元,就像Sutskever等人(2014)在类似的上下文中所做的那样。

在解码器的每个步骤中,我们将输出概率(Eq.(4))计算为一个多层函数(Pascanu et al., 2014)。我们使用maxout单位的单个隐含层(Goodfellow et al., 2013),并使用softmax函数对输出概率(每个单词一个)进行规范化(参见公式(6))。

A.2 DETAILED DESCRIPTION OF THE MODEL

为了增加可读性,省略了所有的偏置项。

上下文向量ci在每个步骤由对齐模型重新计算。

对于本文使用的所有模型,隐层尺寸n为1000,嵌入维数m为620,深输出l的maxout隐层尺寸为500。对齐模型n0的隐藏单元数为1000。

附录B:TRAINING PROCEDURE(训练流程)

简述了训练流程。

附录C:TRANSLATIONS OF LONG SENTENCES(长句翻译)

作者列出了不同方法的长句翻译结果及对比。

猜你喜欢

转载自blog.csdn.net/MaybeForever/article/details/102505057