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)是一个神经网络,它由一个隐藏状态 h h h和一个可选输出 y y y组成,该输出以可变长度序列 x = ( x 1 , … , x T ) x=(x_1,\dots,x_T) x=(x1,…,xT)进行操作。在每个时间步 t t t,RNN的隐藏状态 h < t > h_{<t>} h<t>通过
h < t > = f ( h < t − 1 > , x t ) h_{<t>} = f(h_{<t-1>,x_t}) h<t>=f(h<t−1>,xt)
其中 f f f是非线性激活函数。 f f f可能与元素逻辑对数乙状结肠功能一样简单,而与长短期记忆(LSTM)单位一样复杂(Hochreiter和Schmidhuber,1997)。
RNN可以通过训练以预测序列中的下一个符号来学习序列中的概率分布。在这种情况下,每个时间步 t t t的输出是条件分布 p ( x t ∣ x t − 1 , … , x 1 ) p(x_t | x_{t-1},\dots,x_1) p(xt∣xt−1,…,x1)。例如,可以使用softmax激活函数输出多项式分布(K编码中的1)
p ( x t , j = 1 ∣ x t − 1 , … , x 1 ) = e x p ( w j h < t > ) ∑ j ′ = 1 K e x p ( w j ′ h < t > ) , p(x_{t,j} = 1|x_{t-1},\dots,x_1) = \frac {exp(w_jh_{<t>})}{\sum^K_{j\prime = 1}exp(w_{j\prime h_{<t>}})}, p(xt,j=1∣xt−1,…,x1)=∑j′=1Kexp(wj′h<t>)exp(wjh<t>),
对于所有可能的符号 j = 1 , … , K j = 1, \dots ,K