美文网首页
注意力的起源:用于神经机器翻译的对齐和翻译的联合学习

注意力的起源:用于神经机器翻译的对齐和翻译的联合学习

作者: Valar_Morghulis | 来源:发表于2022-01-06 13:46 被阅读0次

    Neural Machine Translation by Jointly Learning to Align and Translate

    作者:Dzmitry BahdanauKyunghyun ChoYoshua Bengio

    https://arxiv.org/abs/1409.0473v7

    originally announced September 2014.

    ICLR 2015 Oral

    摘要:神经机器翻译是近年来提出的一种机器翻译方法。与传统的统计机器翻译不同,神经机器翻译旨在构建一个可以被联合调谐以最大化翻译性能的单个神经网络。最近提出的用于神经机器翻译的模型通常属于一个编码器解码器的家族,并且由编码器将源句子编码成固定长度向量,解码器从该向量中生成翻译。在本文中,我们推测使用固定长度向量是提高这种基本编码器-解码器体系结构性能的瓶颈,并建议通过允许模型自动(软)搜索与预测目标词相关的源语句部分来扩展这一点,无需将这些部分明确地形成硬段。通过这种新方法,我们在英法翻译任务上实现了与现有最先进的基于短语的系统相当的翻译性能。此外,定性分析表明,该模型发现的(软)对齐与我们的直觉非常吻合。

    1    导言

    神经机器翻译是一种新兴的机器翻译方法,最近由Kalchbrenner和BrunsOM(2013)、SutskFor等人(2014)和Co等人(2014b)提出。不同于传统的基于短语的翻译系统(参见,例如,Koen等人,2003),它由许多小的子组件单独对齐,神经机器翻译试图建立和训练单个、大的神经网络,读取句子并输出正确的翻译。

    所提出的神经机器翻译模型大部分属于一个编码器-解码器家族(SutsKyFor等人,2014;CHO等人,2014A),具有编码器和解码器,用于每种语言,或涉及应用于特定的编码器的每个句子,然后将其输出进行比较(赫尔曼和艺龙网,2014)。编码器神经网络读取源语句并将其编码为固定长度的向量。解码器然后输出编码向量的翻译。整个编码器-解码器系统由一对语言的编码器和解码器组成,经过联合训练,以最大限度地提高给定源语句的正确翻译概率。

    这种编码器-解码器方法的一个潜在问题是,神经网络需要能够将源语句的所有必要信息压缩到一个固定长度的向量中。这可能使神经网络难以处理长句,尤其是那些比训练语料库中的句子长的句子。Cho等人(2014b)表明,事实上,基本编码器-解码器的性能随着输入句子长度的增加而迅速恶化。

    为了解决这个问题,我们引入了对编码器-解码器模型的扩展,该模型学习联合对齐和翻译。每次提出的模型在翻译中生成一个单词时,它(软)搜索源语句中最相关信息集中的一组位置。然后,该模型基于与这些源位置相关联的上下文向量和所有先前生成的目标词预测目标词。

    这种方法与基本编码器-解码器最重要的区别在于,它不试图将整个输入句子编码为单个固定长度向量。相反,它将输入句子编码成一系列向量,并在解码翻译时自适应地选择这些向量的子集。这使得神经翻译模型不必将源语句的所有信息(无论其长度如何)压缩成固定长度的向量。我们展示了这使得模型能够更好地处理长句。

    在本文中,我们证明了所提出的联合学习对齐和翻译的方法比基本的编码器-解码器方法显著提高了翻译性能。这种改善在句子较长时更为明显,但在任何长度的句子中都可以观察到。在英法翻译任务中,该方法通过单一模型实现了与传统的基于短语的翻译系统相当或接近的翻译性能。此外,定性分析表明,该模型在源句和相应的目标句之间找到了一种语言上合理的(软)对齐

    2    背景:神经机器翻译

    从概率的角度来看,翻译相当于找到一个目标句子y,该目标句子y在给定源句子x的情况下使y的条件概率最大化,即arg maxy p(y | x)。在神经机器翻译中,我们使用一个参数化的模型来使用并行训练语料库来最大化句子对的条件概率。一旦通过翻译模型学习了条件分布,给定一个源句子,可以通过搜索条件概率最大的句子生成相应的翻译。

    最近,许多论文提出使用神经网络直接学习这种条件分布(见Kalchbrenner和Blunsom,2013;Cho等人,2014a;Sutskever等人,2014;Cho等人,2014b;Forcada和Neco,1997)。这种神经机器翻译方法TYP-由两个部件组成,其中第一个编码源句子X,第二个解码到目标句子Y。(Cho等人,2014a)和(Sutskever等人,2014)使用两个递归神经网络(RNN)将变长源句子编码为固定长度向量,并将该向量解码为变长目标句子。

    尽管是一种全新的方法,神经机器翻译已经显示出有希望的结果。SutsKyver等人(2014)报道,基于RNNs的长时间记忆(LSTM)单元的神经机器翻译实现了基于英译英翻译任务的传统短语机器翻译系统的最新性能。1将神经组件添加到现有翻译系统中,例如,对短语表中的短语对进行评分(Cho等人,2014a)或对候选翻译进行重新排序(Sutskever等人,2014),可以超过先前的最先进性能水平。

    2.1     RNN编码器-解码器

    在此,我们简要描述了由Cho等人(2014a)和Sutskever等人(2014)提出的名为RNN编码器-解码器的底层框架,在此基础上,我们构建了一个新的体系结构,可以同时学习对齐和翻译。

    在编码器-解码器框架中,编码器将输入句子——向量\mathrm{x}=(x_{1} ...x_{T_{x} } )——读入为一个向量c(注释2),最常见的方法是使用RNN:

    h_{t} =f(x_{t} ,h_{t-1} )

    c=q(\left\{ {h_{1} ...h_{T_{x} } } \right\} )    (1)

    其中h_{t} \in R^n是时间步t的隐藏向量,c是根据隐藏向量序列而生成的向量,fq是一些非线性函数。例如,Sutskever等人(2014年)将LSTM用作f,令qq(\left\{ {h_{1} ...h_{T} } \right\} )=h_{T}

    注释2:尽管之前的大多数作品(例如,见Cho等人,2014a;Sutskever等人,2014;Kalchbrenner和Blunsom,2013)用于将可变长度的输入句子编码为固定长度的向量,但这并不是必需的,即使是可变长度的向量也可能是有益的,我们将在后面介绍。

    解码器通常被训练来根据上下文向量c和所有之前已经预测的词\left\{ {y_{1} ...y_{t’-1} } \right\} 来预测下一个词y_{t’} 。换言之,解码器通过将联合概率分解为有序条件来定义翻译的\mathrm{y}的概率:

    p(\mathrm{y})=\prod_{t=1}^T p(y_{t} \vert \left\{ y_{1}...y_{t-1}  \right\}  ,c)    (2)

    其中\mathrm{y}=(y_{1}...y_{T_y}  )。使用RNN,每个条件概率建模为

    p(y_{t} \vert \left\{ y_{1}...y_{t-1}  \right\}  ,c)=g(y_{t-1} ,s_{t} ,c)    (3)

    其中,g是一个非线性、潜在的多层函数,输出y_t的概率,s_t是RNN的隐藏状态。应该注意的是,可以使用其他架构,例如RNN和转置卷积神经网络的混合(Kalchbrenner和Blunsom,2013)

    3    学习对齐和翻译

    在本节中,我们提出了一种新的神经机器翻译体系结构。新的体系结构包括作为编码器的双向RNN(第3.2节)和在翻译解码期间模拟搜索源语句的解码器(第3.1节)。

    3.1    解码器:一般说明

    在新的模型架构中,我们定义公式(2)中每个条件概率为:

    p(y_{i} \vert \left\{ y_{1}...y_{i-1}  \right\}  ,\mathrm{x})=g(y_{i-1},s_{i},c_{i}   )

    其中s_{i} 是RNN在时间步i的隐藏状态,计算为:

    s_i=f(s_{i-1} ,y_{i-1} ,c_{i} )

    应该注意的是,与现有的编码器-解码器方法不同(参见等式(2)),这里,对于每个目标词y_{i} ,概率取决于不同的上下文向量c_{i} ( here the probability is conditioned on a distinct context vector ci for each target word yi)

    图1:给出一个源语句(x1,x2,…,xT),试图生成第t个目标词yt的我们提出模型的图示。

    上下文向量c_i取决于编码器将输入句子映射到的注释(annotation)序列(h_{1} ...h_{T_{x} })。每个注释h_i包含有关整个输入序列的信息,重点放在输入序列的第i个字周围的部分。我们将在下一节详细解释如何计算注释。

    然后,将上下文向量c_i计算为这些注释h_i的加权和:

    c_i=\sum_{j=1}^{T_{x} }\alpha _{ij} h_{j}     (5)

    每个注释h_j的权重α_{ij}计算为:

    \alpha _{ij} =\frac{exp(e_{ij} )}{\sum\nolimits_{k=1}^{T_{x} } exp(e_{ik } )}     (6)

    其中e_{ij}=a(s_{i-1},h_j)是一个对齐模型,它给位置j附近的输入和位置i处的输出匹配情况进行评分。分数基于RNN隐藏状态s_{i−1}(在发出公式(4)中发出y_i之前)和输入句子的第j个注释h_j

    我们将对齐模型a参数化为前馈神经网络,该神经网络与所提系统的所有其他组件联合训练。请注意,与传统的机器翻译不同,对齐不被视为潜在变量(latent variable.)。相反,对齐模型直接计算软对齐,这允许损失函数的梯度反向传播。该梯度可以用来联合训练对齐模型和整个翻译模型。

    我们可以将该方法理解为对所有注释做加权和,以计算期望注释,其中期望是对所有可能的对齐。令\alpha _{ij} 表示目标词y_{i} 要对齐(或者,翻译自)源词x_j的概率。于是,第i个上下文向量c_i是概率为\alpha _{ij} 的所有注释的期望注释。

    We can understand the approach of taking a weighted sum of all the annotations as computing an expected annotation, where the expectation is over possible alignments. Let αij be a probability that the target word yi is aligned to, or translated from, a source word xj . Then, the i-th context vector ci is the expected annotation over all the annotations with probabilities αij .

    概率α_{ij}或其相关能量e_{ij}反映了在决定下一个状态s_i和生成y_i的时候,注释h_j相对于先前隐藏状态s_{i−1}的重要性。直观地说,这在解码器中实现了注意机制。解码器决定了要关注源语句的哪些部分。通过让解码器有一个注意机制,我们减轻了编码器必须将源语句中的所有信息编码为固定长度向量的负担。通过这种新方法,信息可以在注释序列中传播,解码器可以相应地选择性地检索注释序列。

    The probability αij , or its associated energy eij , reflects the importance of the annotation hj with respect to the previous hidden state si−1 in deciding the next state si and generating yi. Intuitively, this implements a mechanism of attention in the decoder. The decoder decides parts of the source sentence to pay attention to. By letting the decoder have an attention mechanism, we relieve the encoder from the burden of having to encode all information in the source sentence into a fixedlength vector. With this new approach the information can be spread throughout the sequence of annotations, which can be selectively retrieved by the decoder accordingly.

    3.2    编码器:用于注释序列的双向RNN

    等式(1)中描述的普通RNN按照从第一个符号x1到最后一个符号xTx的顺序读取输入序列x。然而,在建议的方案中,我们希望每个单词的注释不仅要概括前面的单词,还要概括后面的单词。因此,我们建议使用双向RNN(BiRNN、Schuster和Paliwal,1997),最近已成功用于语音识别(参见Graves等人,2013)。

    BiRNN由前向和后向RNN组成。前向RNN−→f按顺序读取输入序列(从x1到xTx),并计算前向隐藏状态序列(−→H1,···,−→h Tx)。反向RNN←−f以相反的顺序读取序列(从xTx到x1),从而产生一系列向后隐藏状态(←− H1,···,←− h Tx)。

    我们通过连接前向隐藏状态为每个单词xj获得注释−→hj和向后的一个←− h j,即hj=h−→h>j;←− h>ji>。通过这种方式,注释hj包含前面单词和后面单词的摘要。由于RNN倾向于更好地表示最近的输入,注释hj将侧重于xj周围的单词。解码器和对齐模型随后使用该注释序列来计算上下文向量(等式(5)-(6))。

    建议模型的图示见图1。

    4    实验设置

    我们评估了拟议的英法翻译任务方法。我们使用ACL WMT'14.3提供的双语平行语料库作为比较,我们还报告了最近由Cho等人(2014a)提出的RNN编码器-解码器的性能。我们对这两个模型使用相同的训练过程和相同的数据集。4.

    4.1    数据集

    WMT'14包含以下英法平行语料库:Europarl(6100万字)、新闻评论(550万字)、UN(4.21亿字)和两个分别为9000万字和27250万字的爬网语料库,共计8.5亿字。按照Cho et al.(2014a)中描述的程序,我们使用Axelrod et al.(2011)的数据选择方法将组合语料库的大小减少到3.48亿个单词。5除了上述平行语料库外,我们不使用任何单语数据,尽管可能使用更大的单语语料库来预训练编码器。我们将news test 2012和news-test-2013连接起来,形成一个开发(验证)集,并评估WMT'14测试集(news-test-2014)上的模型,该测试集由训练数据中不存在的3003个句子组成。

    在一次常规的标记化6之后,我们使用每种语言中30000个最常用单词的短名单来训练我们的模型。短名单中未包含的任何单词都映射到一个特殊标记([UNK])。我们不对数据应用任何其他特殊的预处理,例如小写或词干处理。

    4.2    模型

    我们训练两种类型的模型。第一个是RNN编码器-解码器(RNNencdec,Cho等人,2014a),另一个是提议的模型,我们称之为RNNsearch。我们对每个模型进行两次训练:首先训练长度不超过30个单词的句子(RNNencdec-30,RNNsearch-30),然后训练长度不超过50个单词的句子(RNNencdec-50,RNNsearch-50)。

    RNNencdec的编码器和解码器各有1000个隐藏单元。7 RNN研究的编码器由前向和后向递归神经网络(RNN)组成,每个网络有1000个隐藏单元。它的解码器有1000个隐藏单元。在这两种情况下,我们使用一个带有单个maxout(Goodfello等人,2013)隐藏层的多层网络来计算每个目标词的条件概率(Pascanu等人,2014)。

    我们使用小批量随机梯度下降(SGD)算法和Adadelta(Zeiler,2012)来训练每个模型。每个SGD更新方向都使用80个句子的小批量计算。我们对每个模型进行了大约5天的训练。一旦对模型进行了训练,我们将使用波束搜索找到近似最大化条件概率的平移(见Graves,2012;Boulanger-Lewandowski等人,2013)。StSkFor等人(2014)使用这种方法从他们的神经机器翻译模型生成翻译。有关实验中使用的模型架构和训练程序的更多详细信息,请参见附录A和附录B。

    5    结果

    5.1    定量结果

    在表1中,我们列出了以BLEU分数衡量的翻译性能。从表中可以清楚地看出,在所有情况下,建议的RNN搜索都优于传统的RNNencdec。更重要的是,当只考虑由已知单词组成的句子时,RNNsearch的性能与传统的基于短语的翻译系统(Moses)的性能一样高。这是一项重大成就,考虑到摩西使用了一个单独的单语语料库(4.18亿个单词),以及我们用来训练RNNsearch和RNNencdec的平行语料库。

    提出的方法背后的动机之一是在基本编码器-解码器方法中使用固定长度的上下文向量。我们推测,这种限制可能会使基本的编码器-解码器方法在长句中表现不佳。在图2中,我们看到RNNencdec的性能随着句子长度的增加而显著下降。另一方面,RNNsearch-30和RNNsearch-50对句子长度更为稳健。尤其是RNNsearch50,即使句子长度为50或50以上,也不会表现出性能下降。RNNsearch-30甚至优于RNNencdec-50(见表1),这一事实进一步证实了拟议模型优于基本编码器-解码器。

    表1 图2

    5.2    定性分析

    5.2.1    对齐

    所提出的方法提供了一种直观的方法来检查生成译文中的单词与源句子中的单词之间的(软)对齐。这是通过可视化等式(6)中的注释权重αij来实现的,如图3所示。每个图中矩阵的每一行表示与注释关联的权重。由此我们可以看出,在生成目标词时,源句中的哪些位置被认为更重要。

    从图3中的对齐可以看出,英语和法语之间的单词对齐基本上是单调的。我们看到每个矩阵的对角线上都有很强的权重。然而,我们也观察到一些非平凡、非单调的排列。法语和英语中形容词和名词的顺序通常不同,我们在图3(a)中看到了一个例子。从该图中,我们可以看出,该模型正确地将一个短语[欧洲经济区]翻译为[欧洲经济区]。RNN研究能够正确地将[zone]与[Area]对齐,跳过两个词([European]和[Economic]),然后一次回过头一个词来完成整个短语[zone Economicque Europe''eenne]。´

    图3

    例如,从图3(d)可以明显看出软对齐相对于硬对齐的强度。考虑源短语[人],它被翻译成[ L’HOMME ]。任何硬对齐都会将[the]映射到[l'],将[man]映射到[home]。这对翻译没有帮助,因为必须考虑以下单词[]来确定它是否应该翻译成[LE ]、[La]、[LE]或[L]。我们的软对齐通过让模型同时查看[the]和[man]自然地解决了这个问题,在本例中,我们看到模型能够正确地将[the]转换为[l']。我们在图3所示的所有案例中观察到类似的行为。软对齐的另一个好处是,它自然地处理不同长度的源短语和目标短语,而不需要以反直觉的方式将某些单词映射到任何地方([NULL])(例如,参见Koehn,2010年第4章和第5章)。

    5.2.2    长句

    从图2中可以清楚地看到,在翻译长句方面,建议的模型(RNNsearch)比传统模型(RNNencdec)要好得多。这可能是因为RNN搜索不需要将长句子完美地编码为固定长度向量,而只需要准确地编码输入句子中围绕特定单词的部分。

    作为一个例子,从测试集中考虑这个源句子:

    RNNencdec-50将这句话翻译成:

    RNNencdec-50正确地翻译了源语句,直到[医疗中心]。然而,从那时起(下划线),它偏离了源句的原始意思。例如,它将源句中的[基于他作为医院医护人员的身份]替换为[基于他的健康状况”)。´

    另一方面,RNNsearch-50生成了以下正确的译文,保留了输入句子的全部含义,而不遗漏任何细节:

    让我们考虑测试集中的另一个句子:

    RNNencdec-50的翻译为

    与前一个示例一样,RNNencdec在生成大约30个单词后开始偏离源语句的实际含义(参见带下划线的短语)。在这一点之后,翻译质量下降,出现了一些基本错误,如缺少结束引号。

    RNNsearch-50同样能够正确地翻译这一长句:

    结合已经给出的定量结果,这些定性观察证实了我们的假设,即RNNsearch架构能够比标准RNNencdec模型更可靠地翻译长句。在附录C中,我们提供了由RNNencdec-50、RNNsearch-50和Google Translate生成的长源句的更多示例翻译以及参考翻译。

    6    相关工作

    6.1    学会对齐

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

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

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

    6.2    用于机器翻译的神经网络

    自Bengio et al.(2003)提出一种神经概率语言模型以来,神经网络已广泛应用于机器翻译中,该模型使用神经网络对给定固定数量前导词的词的条件概率进行建模。然而,神经网络的作用在很大程度上仅限于向现有统计机器翻译系统提供单一特征,或对现有系统提供的候选翻译列表进行重新排序。

    例如,Schwenk(2012)提出使用前馈神经网络计算一对源短语和目标短语的分数,并将分数用作基于短语的统计机器翻译系统中的附加特征。最近,Kalchbrenner和Blunsom(2013)以及Devlin等人(2014)报告了神经网络作为现有翻译系统子组件的成功应用。传统上,作为目标端语言模型训练的神经网络用于重新存储或重新排列候选翻译列表(例如,参见Schwenk et al.,2006)。

    尽管上述方法被证明比最先进的机器翻译系统提高了翻译性能,但我们更感兴趣的是设计一个基于神经网络的全新翻译系统这一雄心勃勃的目标。因此,我们认为本文中的神经机器翻译方法是从这些早期作品的根本出发点。我们的模型不使用神经网络作为现有系统的一部分,而是独立工作,直接从源语句生成翻译。

    7    结论

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

    在本文中,我们提出了一种新的体系结构来解决这个问题。我们扩展了基本的编码器-解码器,在生成每个目标词时,让模型(软)搜索一组输入词,或由编码器计算的它们的注释。这使模型不必将整个源语句编码为固定长度的向量,也使模型只关注与生成下一个目标词相关的信息。这对神经机器翻译系统在较长句子中产生良好结果的能力有重大的正面影响。与传统的机器翻译系统不同,翻译系统的所有部分,包括对齐机制,都经过联合训练,以提高生成正确翻译的对数概率。

    我们在英法翻译任务中测试了提出的模型RNNsearch。实验表明,无论句子长度如何,所提出的RNNsearch都显著优于传统的编码器-解码器模型(RNNencdec),并且它对源句子的长度更具鲁棒性。从定性分析中,我们调查了RNN搜索生成的(软)对齐,我们能够得出结论,该模型可以在生成正确翻译的同时,将每个目标词与源句子中的相关词或其注释正确对齐。

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

    未来的挑战之一是更好地处理未知或罕见的单词。这将需要该模型得到更广泛的应用,并在所有上下文中匹配当前最先进的机器翻译系统的性能。

    致谢

    作者要感谢Theano的开发者(Bergstra等人,2010年;Bastien等人,2012年)。我们感谢以下机构对研究资助和计算支持的支持:NSERC、Calcul魁北克、Compute Canada、加拿大研究主席和CIFAR。Bah-`danau感谢Planet Intelligent Systems GmbH的支持。我们也感谢Felix Hill、Bart van Merrienboer、Jean Pouget Abadie、Coline Devin和Tae Ho Kim。

    模型体系结构

    A.1架构选择

    第3节中提出的方案是一个通用框架,其中可以自由定义,例如,递归神经网络(RNN)的激活函数f和对齐模型a。在这里,我们描述了我们在本文中为实验所做的选择。

    A.1.1递归神经网络

    对于RNN的激活函数f,我们使用Cho等人(2014a)最近提出的选通隐藏单元。选通隐藏单元是传统简单单元(如元件级tanh)的替代方案。这种门控单元类似于Hochreiter和Schmidhuber(1997)早些时候提出的长-短期记忆(LSTM)单元,具有更好的建模和学习长期依赖性的能力。这是通过在未展开的RNN中具有计算路径实现的,对于该RNN,导数的乘积接近1。这些路径允许梯度容易向后流动,而不会受到消失效应的影响(Hochreiter,1991;Bengio等人,1994;Pascanu等人,2013a)。因此,可以使用LSTM单元代替此处描述的选通隐藏单元,正如Sutskever等人(2014)在类似上下文中所做的那样。

    采用n个选通隐藏单元8的RNN的新状态si通过以下公式计算:

    哪里◦ 是元素级乘法,zi是更新门的输出(见下文)。建议的更新状态s~i由以下公式计算:

    其中e(yi)−1) ∈ rm是一个词yi的m维嵌入−1,ri是复位门的输出(见下文)。当yi表示为K取1向量时,e(yi)只是嵌入矩阵e的一列∈ R m×K。只要可能,我们就省略偏差项,以使方程不那么混乱。

    更新门zi允许每个隐藏单元保持其先前的激活状态,而重置门ri控制来自先前状态的信息的重置量和内容。我们通过

    其中σ(·)是逻辑S形函数。

    在解码器的每个步骤中,我们将输出概率(等式(4))计算为一个多层函数(Pascanu等人,2014)。我们使用maxout单元的单个隐藏层(Goodfello等人,2013),并使用softmax函数(见等式(6))对输出概率(每个字一个)进行规范化。

    A.1.2 对齐模型

    在设计对齐模型时,应考虑到需要对长度为Tx和Ty的每个句子对的模型进行Tx×Ty次评估。为了减少计算量,我们使用单层多层感知器

    Wa在哪里∈ rn×n,Ua∈ rn×2n与va∈ R n是权重矩阵。由于Uahj不依赖于i,因此我们可以提前对其进行预计算,以最小化计算成本。

    A.2模型的详细说明

    A.2.1编码器

    在本节中,我们详细描述了实验中使用的拟议模型(RNNsearch)的体系结构(见第4-5节)。从这里开始,为了增加可读性,我们省略了所有的偏差项。

    该模型以K个编码字向量中的1个为输入

    并输出K个编码字向量中的1个的翻译句子

    其中Kx和Ky分别是源语言和目标语言的词汇量。Tx和Ty分别表示源语句和目标语句的长度。

    首先,计算双向递归神经网络(BiRNN)的正向状态:

    E∈ rm×Kx是单词嵌入矩阵。−→W−→Wz,−→西铁∈ rn×m,−→U−→uz,−→乌尔∈ rn×n是权矩阵。m和n分别是单词嵌入维数和隐藏单元数。σ(·)通常是一个逻辑S形函数。落后国家(←− H1,···,←− h Tx)的计算方法类似。与权重矩阵不同,我们在前向和后向RNN之间共享单词嵌入矩阵E。我们连接前向和后向状态以获得注释(h1、h2、·hTx)

    A.2.2解码器

    给定来自编码器的注释的解码器的隐藏状态si由以下公式计算:

    E是目标语言的单词嵌入矩阵。W、 Wz,Wr∈ rn×m,U,Uz,Ur∈ rn×n,和C,Cz,Cr∈ rn×2n是权重。同样,m和n分别是单词嵌入维度和隐藏单元数。初始隐藏状态s0由s0=tanh c Ws计算←− h1c,其中Ws∈ rn×n。

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

    hj是源语句中的第j个注释(见等式(7))。弗吉尼亚州∈ R n 0,Wa∈ rn0×n和Ua∈ rn0×2n是权矩阵。请注意,如果我们将ci修复为−→h Tx。

    解码器状态为si−1、上下文ci和最后生成的单词yi−1,我们将目标词yi的概率定义为

    而t〜i,k是向量t〜i的第k个元素,该向量由

    沃∈ Rky×l,Uo∈ r2l×n,Vo∈ r2l×m与Co∈ r2l×2n是权矩阵。这可以理解为有一个深输出(Pascanu et al.,2014)和一个maxout隐藏层(Goodfello et al.,2013)。

    A.2.3型号尺寸

    对于本文使用的所有模型,隐藏层的大小n为1000,单词嵌入维度m为620,深度输出l中的maxout隐藏层的大小为500。对齐模型n 0中的隐藏单元数为1000

    B.训练程序

    B.1参数初始化

    我们初始化了循环权重矩阵U,Uz,Ur,←− U←− uz,←− 乌尔,−→U−→uz和−→U r为随机正交矩阵。对于Wa和Ua,我们通过从均值0和方差0.0012的高斯分布中采样每个元素来初始化它们。Va的所有元素和所有偏差向量均初始化为零。通过从均值0和方差0.012的高斯分布中取样,初始化任何其他权重矩阵。

    B.2训练

    我们使用了随机梯度下降(SGD)算法。Adadelta(Zeiler,2012)用于自动对齐每个参数(c=10)的学习率−6和ρ=0.95)。当范数大于阈值时,我们明确将每次成本函数梯度的L2范数标准化为最多1的预定义阈值(Pascanu et al.,2013b)。每个SGD更新方向都是用80句话的小批量计算出来的。

    每次更新时,我们的实现都需要与小批量中最长句子的长度成比例的时间。因此,为了最大限度地减少计算浪费,在每20次更新之前,我们检索了1600个句子对,根据长度对它们进行排序,并将它们分成20个小批量。训练数据在训练前被洗牌一次,并以这种方式顺序遍历。在表2中,我们展示了与训练实验中使用的所有模型相关的统计数据。

    表2

    C 长句的翻译

    相关文章

      网友评论

          本文标题:注意力的起源:用于神经机器翻译的对齐和翻译的联合学习

          本文链接:https://www.haomeiwen.com/subject/kswlcrtx.html