这篇笔记主要是结合,各种学习资源,整理而成的查找笔记,整理的不好,还望指出错误,主要是用于查找与记录。
ICLR 2015年的一篇论文,作者Dmitry Bandana,KyungHyun Cho,Yoshua Bengio
摘要
神经机器翻译是最近提出的机器翻译方法。与传统的统计机器翻译不同,神经机器翻译的目标是建立一个单一的神经网络,可以共同调整以最大化翻译性能。最近提出的用于神经机器翻译的模型一般是编码器 - 译码器族,且将源句子编码成固定长度的矢量,解码器从该矢量生成翻译。在本文中,我们推测使用固定长度向量是提高这种基本编码器 - 解码器架构性能的瓶颈,并建议通过允许模型自动(软)搜索与预测目标单词相关的源句部分来扩展这一功能,而不必将这些部分显式地形成硬分段。采用这种新方法,我们的翻译性能可以与现有的基于短语的英法翻译系统相媲美。此外,定性分析表明,该模型得到的(软)对齐结果与我们的直觉非常吻合。
1 介绍
最近由Kalchbrenner和Blunsom(2013),Sutskever(2014)和Cho(2014b)提出的神经机器翻译是一种新兴的机器翻译方法。 与传统的基于短语的翻译系统(参见Koehn等人,2003)不同,它由许多分开调谐的小型子部件组成,神经机器翻译尝试构建和训练单个大型神经网络读取一个句子并输出正确的翻译。
所提出的神经机器翻译模型大多属于编码器译码器家族(Sutskever et al., 2014;Cho等人(2014a),为每种语言配备编码器和解码器,或为每句话应用特定于语言的编码器,然后对其输出进行比较(Hermann和Blunsom, 2014)。编码器神经网络将源信号读取并编码为固定长度的矢量, 解码器从编码矢量输出翻译。 整个编码器 - 译码器系统由编码器和语言对的译码器共同训练,以最大化给定源句子的正确译文的概率。
这种编码器解码器方法的一个潜在问题是,神经网络需要能够将源语句的所有必要信息压缩成一个固定长度的向量。这可能会使神经网络难以处理长句,特别是那些比训练语料库中的长句。Cho等人(2014b)的研究表明,随着输入语句长度的增加,基本编码器解码器的性能确实会迅速恶化。
为了解决这一问题,我们引入了一个扩展的编码器解码器模型,该模型联合学习了对齐和翻译。每次提出的模型在翻译中生成一个单词时,它(软)搜索源句中最相关信息集中的一组位置。然后,该模型根据与这些源位置相关的上下文向量和所有之前生成的目标单词预测目标单词。
这种方法与基本编码器解码器最重要的区别在于,它不试图将整个输入语句编码为一个固定长度的向量。相反,它将输入的句子编码成一个向量序列,并在解码翻译时自适应地选择这些向量的子集。这使得神经翻译模型不必将源句的所有信息(无论其长度)压缩到一个固定长度的向量中。我们证明这可以让模型更好地处理长句。
在这篇论文中,我们证明了提出的联合学习对齐和翻译的方法比基本的编码器解码器方法取得了显著的改善翻译性能。长句的这种改善更为明显,但任何长度的句子都可以观察到。在英法翻译任务中,该方法通过单一的模型实现了与传统的基于短语的翻译系统相当或接近的翻译性能。此外,定性分析表明,该模型在源句和对应的目标句之间找到了一种语言上合理的(软)对齐。
2 背景:神经机器翻译
从概率的角度来看,翻译等价于在给定源句x的情况下,找到一个最大化y条件概率的目标句y,即在神经机器翻译中,我们使用一个并行的训练语料库,拟合一个参数化的模型来最大化句子对的条件概率。当条件分布被翻译模型学习后,给定一个源句,通过搜索最大条件概率的句子,可以生成相应的翻译。
最近,许多论文提出利用神经网络直接学习这种条件分布(如Kalchbrenner and Blunsom, 2013;Cho等,2014a;Sutskever等,2014;Cho等,2014b;forada和Neco, 1997)。这种神经机器翻译方法一般包含两个组件,第一个:合成一个源句子x;第二个:解码一个目标句子y。例如,两个递归神经网络(RNN)所使用的(赵et al ., 2014)和(Sutskever et al ., 2014)将变长源句编码为定长向量,并将该向量解码为变长目标句。
尽管神经机器翻译是一种全新的方法,但它已经显示出了良好的效果。Sutskever等(2014)报道,基于长短时记忆(LSTM)单元的神经机器翻译在英法翻译任务上的性能接近传统基于短语的机器翻译系统的最高水平。在现有的翻译系统中添加神经成分,例如,在短语表中对短语对进行评分(Cho等,2014a),或者对候选翻译进行重新排序(Sutskever等,2014),都可以超过以前最先进的性能水平。
2.1 RNN编解码器
这里,我们简要描述了Cho等人(2014a)和Sutskever等人(2014)提出的被称为RNN编码器解码器的底层框架,在此基础上,我们构建了一个能够同时学习对齐和翻译的新架构。
在编码器译码器框架中,编码器读取输入语句,一个向量序列x = (x1;···xTx),变成向量c。最常见的方法是使用这样的RNN:
其中ht 是t时刻的一个隐藏状态,c是由隐藏状态序列生成的一个向量。f和q是一些非线性函数。Sutskever等(2014)使用LSTM作为f和q (h1,···,hTg) = hT.
在给定上下文向量c和之前预测的所有单词y1,···,yt'-1的情况下,解码器通常被训练来预测下一个单词yt'。换句话说,解码器通过将联合概率分解为有序条件,定义了译文y的概率:
对于一个RNN,每个条件概率被建模为:
其中g是输出yt概率的非线性潜在多层函数,st是RNN的隐藏状态。需要注意的是,可以使用其他结构,如RNN和去卷积神经网络的混合结构(Kalchbrenner and Blunsom, 2013)。
3.学习对齐和翻译
在本节中,我们提出了一种新的神经机器翻译架构,新的体系结构由一个双向RNN作为编码器 和一个解码器组成,该解码器在翻译解码过程中模拟搜索源语句. encoder (Sec. 3.2) , translation( Sec. 3.1)
3.1解码器:说明描述
在新的模型架构中,我们将等式(2)中的每个条件概率定义为:
其中si是时间i的RNN隐藏状态,由:
应该注意的是,与现有的编码器-解码器方法(见公式(2))不同,这里的概率取决于每个目标词yi的不同上下文向量ci。
上下文向量ci依赖于一系列注释(h1,···,htx)编码器将输入语句映射到其中。每个注释hi包含关于整个输入序列的信息,重点关注围绕输入序列第i个单词的部分。我们详细解释如何计算在下一节注释
上下文向量ci计算为这些注释的加权和 hi:
权重 alpha是通过以下方式计算出来:
其中:
是一个对齐模型,它对位置j周围的输入和位置i处的输出匹配程度进行评分.分数基于RNN隐藏状态Si-1 和 第j-th 个注释hj。
我们将对准模型a参数化为一个前馈神经网络,它与系统的所有其他部件联合训练。注意,与传统的机器翻译不同,对齐不被视为潜在变量。相反,对齐模型直接计算软对齐,从而允许成本函数的梯度反向传播。该梯度可用于联合训练对准模型和整个共同翻译模型.
我们可以理解将所有注释的加权和作为计算期望注释的方法,其中期望值超过可能的对齐。设 Aij 为目标词 Yj 与源词 Xj 对齐或从源词Xj 转换的概率。然后,第i-th 个上下文向量 Ci 是概率为Aij 的所有注释上的预期注释。
概率Aij 或 其相关能量Eij 反映了注释 Hj 相对于先前隐藏状态Si-1 在决定下一状态Si 和生成 Yi 中的重要性。直观地说,这在解码器中实现了注意机制。译码器决定了源句中需要注意的部分。通过让解码器具有注意机制,我们减轻了编码器将源语句中的所有信息编码为固定长度向量的负担。使用这种新方法,信息可以在注释序列中传播,解码器可以相应地选择性地检索注释序列。
3.2 编码器:用于序列注释的双向RNN
通常的RNN,在方程 (1)从第一符号x1开始到最后一个xTx为止读取输入序列x。 但是,在提出的方案中,我们希望每个单词的注释不仅总结前面的单词,而且总结之后的单词。 因此,我们建议使用最近在语音识别中成功使用的双向RNN(BiRNN,Schuster和Paliwal,1997)(参见例如Graves等,2013)。
BiRNN由前向和后向RNN组成。 正向RNN f读取输入序列(从x1到xTx),并计算一系列前向隐藏状态。 后向RNN f以相反的顺序(从xTx到x1)读取序列,产生一系列后向隐藏状态。
我们通过连接前向隐藏状态和后向隐藏状态来获得每个单词xj的注释。 这样,注释hj包含前面的单词和后面的单词的摘要。 由于RNN倾向于更好地代表最近的输入,所以注释hj将集中在xj周围的单词上。 解码器和对齐模型使用该序列的注释来计算上下文向量(等式(5) - (6))。
请参阅图1以了解所提议模型的图解说明。
4 实验设置
我们对所提出的英法翻译方法进行了评价。我们使用ACL WMT 14.3提供的双语并行语料库作为比较,并报告了Cho等人(2014a)最近提出的RNN编码器解码器的性能。我们对这两个模型使用相同的训练过程和相同的数据集。
4.1 数据集
WMT '14包含以下英法平行语料库:Europarl (61M words), news commentary (5.5M), UN (421M),两个爬虫语料库,分别为90M和272.5M,共计8.5 m words。按照Cho等人(2014a)的方法,我们使用Axelrod等人(2011)的数据选择方法,将合并后的语料库缩减为3.48亿词。除了上述并行语料库外,我们不使用任何单语数据,尽管可以使用更大的单语语料库对编码器进行预培训。我们将news-test-2012和news-test-2013串联起来,建立一个开发(验证)集,并对WMT’14的test set (news-test-2014)上的模型进行评估,其中包含3003个训练数据中没有的句子。
在通常的标记之后,我们使用每种语言中出现频率最高的3万个单词来训练我们的模型。任何没有包含在候选列表中的单词都被映射到一个特殊的令牌([UNK])。我们不应用任何其他特殊的预处理,如小写大小写或词干。
4.2 模型
我们训练了两种类型的模型。第一个是RNN编码器解码器(RNNencdec, Cho等,2014a),另一个是我们提出的模型,我们称之为RNNsearch。我们对每个模型进行两次训练:首先训练长度不超过30个单词的句子(RNNencdec-30, RNNsearch-30),然后训练长度不超过50个单词的句子(RNNencdec-50, RNNsearch-50)。
RNNencdec的编码器和解码器各有1000个隐藏单元。RNNsearch的编码器由前向和后向递归神经网络(RNN)组成,每个RNN都有1000个隐藏单元。它的解码器有1000个隐藏单元。在这两种情况下,我们使用一个单层maxout (Goodfellow et al., 2013)隐层的多层网络来计算每个目标单词的条件概率(Pascanu et al., 2014)。
我们使用小批量随机梯度下降(SGD)算法和Adadelta (Zeiler, 2012)对每个模型进行训练。每个SGD更新方向使用80个句子的小批计算。我们对每个模型进行了大约5天的训练。
一旦一个模型被训练好,我们使用定向搜索来找到一个近似最大化条件概率的翻译(见,例如Graves, 2012;Boulanger-Lewandowski等,2013)。Sutskever等(2014)使用这种方法从他们的神经机器翻译模型生成翻译。
有关实验中使用的模型体系结构和训练过程的更多细节,请参见附录A和附录B。
5 结果
5.1 定量结果
在表1中,我们列出了用BLEU评分衡量的翻译性能。从表中可以明显看出,在所有情况下,提议的RNNsearch都优于传统的RNNencdec。更重要的是,当只考虑由已知单词组成的句子时,RNNsearch的性能与传统的基于短语的翻译系统(Moses)一样高。考虑到Moses除了我们用来训练RNNsearch和RNNencdec的并行语料库之外,还使用了一个单独的单语语料库(4.18M 个单词),这是一个重大的成就。
表1:训练模型在测试集上的BLEU得分。第二栏和第三栏分别显示了所有句子的得分,以及不含生词的句子和参考译文的得分。注意,RNNsearch-50*经过长时间的训练,直到开发集的性能停止改善。◦当只评估没有未知单词的句子时,我们不允许模型生成[UNK]令牌(最后一列)。
提出这种方法的动机之一是在基本的编码器解码器方法中使用固定长度的上下文向量。我们推测,这一限制可能使基本的编码器解码器方法在长句中表现不佳。从图2中可以看出,随着句子长度的增加,RNNencdec的性能显著下降。另一方面,RNNsearch-30和RNNsearch-50都对句子的长度有更强的鲁棒性。特别是RNNsearch- 50,即使句子长度在50或50以上,也没有显示出性能下降。RNNsearch-30的性能甚至优于RNNencdec-50(见表1),这进一步证实了该模型相对于基本编码器解码器的优越性。
图2:测试集中生成的翻译的BLEU分数与句子长度的关系。结果是在完整的测试集上,其中包括对模型有未知单词的句子。
5.2 定性分析
5.2.1 对齐
提出的方法提供了一种直观的方法来检查生成翻译中的单词与源句中的单词之间的(软)对齐。这是通过可视化注释来实现的权重αij Eq。(6),如图3所示。每个图中矩阵的每一行都表示权重与注释相关联。从这里我们可以看出源句中的位置在生成目标单词时更重要。
图3:RNNsearch-50找到的四个样本对齐。每个情节的x轴和y轴分别对应源句中的单词(英语)和生成的翻译(法语)。每个像素显示的注释的重量αij j源词的第i个目标词(见Eq。(6)),在灰度级(0:黑色、1:白色)。(a)任意句。(b d)从测试集中随机抽取3个长度在10 - 20个单词之间、没有任何未知单词的句子作为样本。
从图3的对齐可以看出,英语和法语单词的对齐在很大程度上是单调的。我们在每个矩阵的对角线上都能看到强权重。然而,我们也观察到一些非平凡的、非单调的排列。在法语和英语中,形容词和名词的顺序通常是不同的,我们可以在图3 (a)中看到一个例子。从这个图中,我们可以看到模型正确地将短语[European Economic Area]翻译成[zone economique europ een]。RNNsearch能够正确地将[zone]与[Area]对齐,跳过两个单词([European]和[Economic]),然后一次返回一个单词来完成整个词组[zone economique europ eenne]。
相对于硬对齐,软对齐的强度是显而易见的,例如,从图3 (d)中可以看出。任何硬对齐都会将[the]映射到[l]和[man]映射到[homme]。这对翻译是没有帮助的,因为必须考虑[the]后面的单词来决定它应该被翻译成[le]、[la]、[les]还是[l]。我们的软对齐通过让模型同时考虑[the]和[man]很自然地解决了这个问题,在这个例子中,我们看到模型能够正确地将[the]转换成[l]。我们在图3所示的所有案例中都观察到了类似的行为。软对齐的另一个好处是,它可以自然地处理不同长度的源和目标短语,而不需要反直觉地将一些单词映射到某个地方或从某个地方映射到另一个地方([NULL])(参见Koehn, 2010年第4章和第5章)。
-------------未完,待完善