2014-Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation
Kyunghyun Cho、Dzmitry Bahdanau、Fethi Bougares Holger Schwenk、Yoshua Bengio
Abstract
在本文中,我们提出了一种新颖的神经网络模型,称为RNN编码器-解码器,它由两个递归神经网络(RNN)组成。一个RNN将符号序列编码为固定长度的矢量表示形式,另一个RNN将表示形式解码为另一符号序列。共同训练提出模型的编码器和解码器,以在给定源序列的情况下最大化目标序列的条件概率。通过经验发现,通过使用RNN编码器-解码器计算的短语对的条件概率作为现有对数线性模型的附加功能,可以提高统计机器翻译系统的性能。定性地,我们表明所提出的模型学习了语言短语的语义和句法上有意义的表示。
1 Introduction
深度神经网络已在各种应用中显示出巨大的成功,例如对象识别(参见,例如(Krizhevsky等,2012))和语音识别(例如,(Dahl等,2012))。此外,最近的许多工作表明,神经网络可以成功地用于自然语言处理(NLP)的许多任务中。这些包括但不限于语言建模(Bengio等,2003),复述检测(Socher等,2011)和词嵌入提取(Mikolov等,2013)。在统计机器翻译(SMT)领域,深度神经网络已开始显示出令人鼓舞的结果。(Schwenk,2012)总结了在基于短语的SMT系统框架中前馈神经网络的成功使用。
沿着将神经网络用于SMT的研究路线,本文重点研究了一种新型的神经网络体系结构,该体系结构可用作常规的基于短语的SMT系统的一部分。所提出的神经网络架构(我们将其称为RNN编码器-解码器)由两个递归神经网络(RNN)分别充当编码器和解码器对。编码器将可变长度的源序列映射到固定长度的向量,而解码器将向量表示映射回可变长度的目标序列。共同训练两个网络,以在给定源序列的情况下最大化目标序列的条件概率。另外,我们建议使用相当复杂的隐藏单元,以提高存储容量和训练的简易性。
拟议的具有新型隐藏单元的RNN编码器-解码器在从英语到法语的翻译任务上进行了经验评估。我们训练模型以学习英语短语到对应法语短语的翻译概率。然后,通过对短语表中的每个短语对评分,该模型将用作标准基于短语的SMT系统的一部分。实证评估表明,使用RNN编码器-解码器对短语对进行评分的方法可提高翻译性能。
我们通过将经过训练的RNN编码器-短语解码器的短语分数与现有翻译模型给出的短语分数进行定性分析。定性分析表明,RNN编码器-解码器更擅长捕获短语表中的语言规则,从而间接说明了整体翻译性能的定量改进。对模型的进一步分析表明,RNN编码器-解码器学习了短语的连续空间表示,该短语保留了短语的语义和句法结构。
2 RNN Encoder–Decoder
2.1 Preliminary: Recurrent Neural Networks
递归神经网络(RNN)是一个神经网络,它由一个隐藏状态和一个可选输出组成,该输出以可变长度序列进行操作。在每个时间步 ,RNN的隐藏状态通过
其中是非线性**函数。可能与元素逻辑对数乙状结肠功能一样简单,而与长短期记忆(LSTM)单位一样复杂(Hochreiter和Schmidhuber,1997)。
RNN可以通过训练以预测序列中的下一个符号来学习序列中的概率分布。在这种情况下,每个时间步的输出是条件分布。例如,可以使用softmax**函数输出多项式分布(K编码中的1)
对于所有可能的符号,其中是权重矩阵的行。通过组合这些概率,我们可以使用
从这种学习的分布中,可以通过在每个时间步迭代对符号进行采样来直接对新序列进行采样。
2.2 RNN Encoder-Decoder
在本文中,我们提出了一种新颖的神经网络体系结构,该体系结构学习将可变长度序列编码为固定长度向量表示,并将给定的固定长度向量表示解码为可变长度序列。从概率的角度来看,这个新模型是一种通用方法,用于学习以另一个可变长度序列为条件的可变长度序列的条件分布。 ,其中应注意输入和输出序列长度和可能不同。
编码器是一个RNN,它顺序读取输入序列$ \mathbf{x} $的每个符号。当它读取每个符号时,RNN的隐藏状态根据等式(1)改变。读取序列的结尾(由序列结束符号标记)后,RNN的隐藏状态为整个输入序列的摘要c。
提出的模型的解码器是另一个RNN,经过训练,可以通过在给定隐藏状态的情况下预测下一个符号来生成输出序列。但是,与第2.1节中描述的RNN不同。和都以和输入序列的摘要c为条件。因此,在时间t处解码器的隐藏状态由下式计算:
同样,下一个符号的条件分布为:
对于给定的**函数和(后者必须产生有效概率,例如softmax)。
有关所建议的模型体系结构的图形描述,请参见图1。
拟议的RNN编码器-解码器的两个组件经过联合训练,以最大程度地提高条件对数可能性
其中是模型参数的集合,每个是训练集中的(输入序列,输出序列)对。在我们的情况下,由于解码器的输出从输入开始是可微分的,因此我们可以使用基于梯度的算法来估计模型参数。
一旦训练了RNN编码器-解码器,就可以以两种方式使用该模型。一种方法是使用模型在给定输入序列的情况下生成目标序列。另一方面,该模型可用于对给定的一对输入和输出序列进行评分,其中评分只是来自等式(3)(4)的概率。
2.3 Hidden Unit that Adaptively Remembers and Forgets
除了新颖的模型架构之外,我们还提出了一种新型的隐藏单元(等式(1)中的f),该单元由LSTM单元驱动,但是易于计算和实现。1图2显示了图形建议隐藏单元的描述。
让我们描述如何计算第j个隐藏单元的**。首先,通过
其中,是逻辑sigmoid函数,表示向量的第个元素。和分别是输入状态和先前的隐藏状态。和是学习的权重矩阵。
同样,更新门由
然后,计算提议单元$ h_j $的实际**通过
其中:
在此公式中,当复位门接近于0时,隐藏状态被迫忽略先前的隐藏状态,仅使用当前输入进行复位。这有效地允许隐藏状态丢弃将来以后发现不相关的任何信息,从而允许更紧凑的表示。
另一方面,更新门控制从先前的隐藏状态将有多少信息转移到当前的隐藏状态。这类似于LSTM网络中的存储单元,并有助于RNN记住长期信息。此外,这可以被认为是泄漏积分单元的自适应变体(Bengio等,2013)。
由于每个隐藏单元都有单独的重置和更新门,因此每个隐藏单元将学会捕获不同时间范围内的依赖关系。那些学习捕获短期依赖关系的单元将倾向于具有经常处于活动状态的复位门,而那些捕获长期依赖关系的单元将具有大部分处于活动状态的更新门。
在我们的初步实验中,我们发现将这个新单元与选通单元一起使用至关重要。没有任何门控,经常使用的tanh单元无法获得有意义的结果。
3 Statistical Machine Translation
在常用的统计机器翻译系统(SMT)中,该系统(特别是解码器)的目标是在给定源句子的情况下找到翻译,该翻译使最大化;右边第一个术语称为翻译模型,后一个语言模型(例如,参见(Koehn,2005))。但是实际上,大多数SMT系统将建模为具有附加特征和相应权重的对数线性模型:
其中和分别是第个特征和权重。 是不依赖权重的归一化常数。权重通常经过优化,以最大化开发集的得分。
在(Koehn et al,2003)和(Marcu and Wong,2002)中引入的基于短语的SMT框架中,翻译模型被分解为源句子和目标句子中匹配短语的翻译概率。这些概率再次被认为是对数线性模型中的其他特征(请参见等式(9)),并据此加权以最大化得分。
自从在(Bengio et al,2003)中提出了神经网络语言模型以来,神经网络已广泛用于SMT系统中。在许多情况下,神经网络已被用来重述翻译假设(n-best列表)(例如,参见(Schwenk等,2006))。然而,近来,对训练神经网络以使用源句子的表示作为附加输入来对翻译后的句子(或短语对)进行评分感兴趣。参见例如(Schwenk,2012),(Son等,2012)和(Zou等,2013)。
3.1 Scoring Phrase Pairs with RNN Encoder–Decoder
在这里,我们建议在短语对表上训练RNN编码器-解码器(请参阅第2.2节),并将其得分用作等式(9)中对数线性模型的附加功能。调优SMT解码器时。
当我们训练RNN编码器-解码器时,我们将忽略原始语料库中每个短语对的(规范化)频率。采取此措施是为了(1)减少根据标准化频率从大短语表中随机选择短语对的计算开销,以及(2)确保RNN编码器-解码器不会简单地学习对短语对进行排名根据他们的出现次数。这种选择的一个潜在原因是短语表中现有的翻译概率已经反映了原始语料库中短语对的频率。在RNN编码器-解码器具有固定容量的情况下,我们尝试确保模型的大部分容量集中于学习语言规律性,即区分合理和不合理的翻译,或学习“流形”(概率集中区域) 的合理翻译。
训练完RNN编码器-解码器后,我们将每个短语对的新分数添加到现有短语表中。这允许新分数以最小的计算额外开销进入现有的调整算法。
正如Schwenk在(Schwenk,2012)中指出的那样,有可能用建议的RNN编码器-解码器完全替换现有的短语表。在这种情况下,对于给定的源短语,RNN编码器-解码器将需要生成(良好)目标短语的列表。但是,这需要重复执行昂贵的采样过程。因此,在本文中,我们仅考虑对短语表中的短语对进行评分。
3.2 Related Approaches: Neural Networks in Machine Translation
在介绍实证结果之前,我们讨论了许多最近的工作,这些工作已提出在SMT的背景下使用神经网络。
Schwenk in(Schwenk,2012)提出了一种类似的评分短语对的方法。他使用基于前馈神经网络的前馈神经网络,而不是基于RNN的神经网络,前者具有固定大小的输入(在他的情况下为7个单词,较短的短语为零填充)和固定大小的输出(目标语言为7个单词)。当专门用于SMT系统的短语评分时,通常选择最大短语长度较小。但是,随着短语长度的增加或将神经网络应用于其他可变长度序列数据,神经网络能够处理可变长度的输入和输出非常重要。建议的RNN编码器-解码器非常适合这些应用。
与(Schwenk,2012)相似,Devlin等人(Devlin et al,2014)提出使用前馈神经网络为翻译模型建模,但是,是通过一次预测目标短语中的一个单词来实现的。他们报告了令人印象深刻的改进,但是他们的方法仍然需要事先确定输入短语(或上下文词)的最大长度。
尽管不是他们训练的神经网络,但(Zou et al。,2013)的作者建议学习单词/短语的双语嵌入。他们使用学习的嵌入来计算一对短语之间的距离,该距离在SMT系统中用作短语对的额外分数。
在(Chandar等人,2014)中,对前馈神经网络进行了训练,以学习从输入短语的词袋表示到输出短语的映射。这与拟议的RNN编码器-解码器和(Schwenk,2012)中提出的模型都密切相关,不同之处在于它们的短语输入表示是一个词袋。 (Gao等,2013)也提出了一种使用词袋表示的类似方法。早些时候,在(Socher et al。,2011)中提出了使用两个递归神经网络的类似编码器-解码器模型,但它们的模型仅限于单语设置,即该模型可重构输入句子。最近,在(Auli等,2013)中提出了使用RNN的另一种编码器-解码器模型,其中解码器以源句子或源上下文的表示为条件。
拟议的RNN编码器和解码器与(Zou等,2013)和(Chandar等,2014)中的方法之间的一个重要区别是,要考虑到源短语和目标短语中单词的顺序。 RNN编码器-解码器自然地区分具有相同单词但顺序不同的序列,而上述方法有效地忽略了顺序信息。
与拟议的RNN编码器-解码器最接近的方法是(Kalchbrenner and Blunsom,2013)中提出的递归连续翻译模型(模型2)。他们在论文中提出了一个类似的模型,该模型由编码器和解码器组成。与我们的模型的区别在于,他们对编码器使用了卷积n元语法模型(CGM),对解码器使用了反CGM和递归神经网络的混合体。但是,他们评估了他们的模型,以记录传统SMT系统提出的n个最佳列表,并计算了金标准翻译的困惑度。
4 Experiments
我们评估了WMT’14研讨会的英语/法语翻译任务的方法。
4.1 Data and Baseline System
在WMT’14翻译任务的框架内,大量资源可用于构建英语/法语SMT系统。双语语料库包括Europarl(6100万个单词),新闻评论(550万),UN(421M)以及两个分别为90M和780M单词的爬取语料库。后两个语料库非常嘈杂。要训练法语模型,除了bitexts的目标端之外,还可以使用约712M单词的经过爬网的报纸材料。在分词后,所有字数均指法语单词。
通常公认的是,对所有这些数据进行级联训练统计模型并不一定会导致最佳性能,并且会导致难以处理的超大型模型。取而代之的是,应专注于一项任务的最相关数据子集。为此,我们采用了(Moore和Lewis,2010)中提出的数据选择方法,并将其扩展到bitexts(Axelrod等,2011)。通过这些方法,我们从超过2G的单词中选择了418M个单词的子集进行语言建模,从850M的单词中选择了348M个单词的子集来训练RNN编码器-解码器。我们使用测试集newstest2012和2013通过MERT进行数据选择和权重调整,并使用newstest2014作为测试集。每套有超过7万个单词和一个参考翻译。
为了训练神经网络,包括拟议的RNN编码器-解码器,我们将源词汇表和目标词汇表限制为英语和法语中最频繁的15,000个单词。这覆盖了大约93%的数据集。所有词汇外单词都映射到一个特殊标记([UNK])。
基于基线短语的SMT系统是使用具有默认设置的Moses构建的。该系统在开发和测试集上的BLEU得分分别为30.64和33.3(请参见表1)。
4.1.1 RNN Encoder–Decoder
实验中使用的RNN编码器-解码器具有1000个隐藏单元,其中建议的门位于编码器和解码器处。每个输入符号与隐藏单元之间的输入矩阵使用两个较低等级的矩阵进行近似,而输出矩阵进行相似的近似处理。我们使用了rank-100矩阵,相当于为每个单词学习了100维的嵌入。等式(8)中使用的**函数是一个双曲正切函数。从解码器中的隐藏状态到输出的计算被实现为一个深度神经网络(Pascanu等,2014),其中单个中间层具有500个maxout单元,每个单元合并2个输入(Goodfellow等,2013)。
RNN编码器-解码器中的所有权重参数都是通过从各向同性零均值(白色)高斯分布中采样而初始化的,其标准偏差固定为0:01(递归权重参数除外)。对于递归权重矩阵,我们首先从白色高斯分布中采样,然后使用其左奇异矢量矩阵(Saxe等,2014)。
我们使用Adadelta和随机梯度下降来训练超参数和的RNN编码器-解码器(Zeiler,2012年)。每次更新时,我们从短语表(使用348M个单词创建)中使用了64个随机选择的短语对。对模型进行了大约三天的培训。
实验中使用的体系结构的详细信息在补充材料中有更深入的说明。
4.1.2 Neural Language Model
为了使用建议的RNN编码器-解码器评估短语对得分的有效性,我们还尝试了一种更为传统的方法,即使用神经网络来学习目标语言模型(CSLM)(Schwenk,2007)。尤其是,使用CSLM的SMT系统与使用RNN编码器-解码器提议的短语评分方法进行的比较将阐明SMT系统不同部分的多个神经网络的贡献是累加还是多余。
我们训练了来自目标语料库的7克CSLM模型。每个输入字都投影到嵌入空间R512中,并将它们连接起来以形成3072维向量。将串联的载体送入两个精馏层(大小分别为1536和1024)中(Glorot等,2011)。输出层是一个简单的softmax层(请参见等式(2))。所有权重参数均在????0:01和0:01之间进行统一初始化,并对模型进行训练,直到验证复杂性在10个时期内都没有改善。经过培训后,语言模型的困惑度达到了45.80。验证集是0.1%语料库的随机选择。该模型用于在解码过程中对部分翻译进行评分,这通常导致BLEU评分比n最佳列表评分更高(Vaswani等,2013)。
为了解决在解码器中使用CSLM的计算复杂性,在解码器执行的堆栈搜索期间,使用了一个缓冲区来聚合n-gram。仅当缓冲区已满或要修剪堆栈时,CSLM才会对n元语法进行评分。这使我们能够使用Theano在GPU上执行快速矩阵矩阵乘法(Bergstra等,2010; Bastien等,2012)。
4.2 Quantitative Analysis
我们尝试了以下组合:
- Baseline configuration
- Baseline + RNN
- Baseline + CSLM + RNN
- Baseline + CSLM + RNN + Word penalty
结果显示在表1中。如预期的那样,添加由神经网络计算的功能可以在基线性能之上持续提高性能。
当我们同时使用CSLM和RNN编码器-解码器的短语分数时,可以获得最佳性能。这表明CSLM和RNN编码器-解码器的贡献不太相关,并且可以通过独立地改进每种方法来期待更好的结果。此外,我们尝试惩罚神经网络未知的单词数量(即不在候选列表中的单词)。为此,我们只需将未知单词的数量添加为等式(9)中对数线性模型的附加功能即可。但是,在这种情况下,我们无法在测试集上实现更好的性能,而只能在开发集上实现。
4.3 Qualitative Analysis
为了了解性能改进的来源,我们针对翻译模型中的相应分析了RNN编码器-解码器计算的短语对分数。由于现有的翻译模型仅依赖于语料库中短语对的统计,因此我们希望对常见短语的分数进行更好的估计,而对稀有短语的分数进行不好的估计。同样,正如我们先前在第二节中提到的。如图3.1所示,我们进一步期望在没有任何频率信息的情况下训练的RNN编码器-解码器能够根据语言规则而不是根据语料库中出现的次数对短语对进行评分。
我们关注源短语较长(每个源短语超过3个单词)且频繁的词对。对于每个这样的源短语,我们查看由翻译概率或RNN编码器-解码器评分较高的目标短语。同样,我们对源短语较长但在语料库中很少的那些对执行相同的过程。
表2列出了翻译模型或RNN Encoder-Decoder支持的每个源短语的前3个目标短语。源短语是从长于4个或5个单词的长短语中随机选择的。
在大多数情况下,RNN编码器-解码器对目标短语的选择更接近于实际翻译或文字翻译。我们可以观察到,RNN编码器-解码器通常更喜欢较短的短语。
有趣的是,翻译模型和RNN编码器/解码器对许多短语对都进行了类似的评分,但其他短语对的评分却截然不同(见图3)。如前所述,这可能是由在一组唯一的短语对上训练RNN编码器-解码器的建议方法引起的,这不鼓励RNN编码器-解码器仅从语料库中学习短语对的频率。
此外,在表3中,我们为表2中的每个源短语显示了从RNN编码器-解码器生成的样本。对于每个源短语,我们生成了50个样本,并根据其得分显示了排名前五的短语。我们可以看到RNN编码器-解码器能够提出格式正确的目标短语,而无需查看实际的短语表。重要的是,生成的短语不会与短语表中的目标短语完全重叠。这鼓励我们进一步研究将来用提议的RNN编码器-解码器替换短语表的全部或一部分的可能性。
4.4 Word and Phrase Representations
由于建议的RNN编码器-解码器不是专门为机器翻译而设计的,因此在这里我们简要介绍训练模型的属性。
一段时间以来,人们都知道使用神经网络的连续空间语言模型能够学习语义上有意义的嵌入(例如,参见(Bengio等,2003; Mikolov等,2013))。由于拟议的RNN编码器-解码器也投影到单词序列并将其映射回连续的空间矢量,因此,我们希望所提出的模型也具有类似的特性。
图4的左图显示了使用RNN编码器-解码器学习的单词嵌入矩阵对单词进行二维嵌入。该预测是由最近提出的Barnes-Hut-SNE(van der Maaten,2013)完成的。我们可以清楚地看到在语义上相似的词彼此聚集(参见图4中的放大图)。
从可视化中可以明显看出,RNN编码器-解码器可以捕获短语的语义和句法结构。例如,在左下图中,大多数短语大约是持续时间,而语法上相似的短语则聚在一起。右下图显示了在语义上相似(国家或地区)的词组。另一方面,右上图显示了语法上相似的短语。
5 Conclusion
在本文中,我们提出了一种新的神经网络架构,称为RNN编码器-解码器,它能够学习从任意长度的序列到另一个序列的映射,甚至可能从另一个集合中任意长度的映射。提出的RNN编码器-解码器能够对一对序列评分(根据条件概率),或者在给定源序列的情况下生成目标序列。连同新的体系结构,我们提出了一种新颖的隐藏单元,其中包括一个重置门和一个更新门,它们可以自适应地控制每个隐藏单元在读取/生成序列时记住或忘记了多少。
我们用统计机器翻译的任务评估了提出的模型,在该模型中,我们使用了RNN编码器-解码器对短语表中的每个短语对进行评分。定性地,我们能够证明新模型能够很好地捕获短语对中的语言规律性,而且RNN编码器-解码器能够提出格式正确的目标短语。
发现RNN编码器-解码器的分数可以提高BLEU分数的整体翻译性能。此外,我们发现RNN编码器-解码器的贡献与SMT系统中使用神经网络的现有方法相当正交,因此我们可以通过使用例如SMT来进一步提高性能。 RNN编码器-解码器和神经网络语言模型结合在一起。
我们对经过训练的模型的定性分析表明,它确实捕获了多个级别(即单词级别和短语级别)的语言规则。这表明可能会有更多与自然语言相关的应用程序可以从建议的RNN编码器-解码器中受益。
所提出的架构具有进一步改进和分析的巨大潜力。此处未研究的一种方法是通过让RNN编码器-解码器建议目标短语来替换整个或部分短语表。另外,注意到提出的模型不限于与书面语言一起使用,将提出的体系结构应用于诸如语音转录的其他应用将是未来的重要研究。