由于最近学习的需要,对论文《Learning Phrase Representations using RNN Encoder–Decoderfor Statistical Machine Translation》进行了不地道的翻译,翻译存在许多问题,因此仅供自己参考。也希望大家在留言中提出意见,我会认真修改。
翻译全文如下:
使用RNN编码器 - 解码器学习短语表示以进行统计机器翻译
摘要
在本文中,我们提出了一种新的神经网络模型,称为RNN编码器 - 解码器,它由两个循环神经网络(RNN)组成。 一个RNN将符号序列编码成固定长度矢量表示,而另一个RNN将该表示编码成另一个符号序列。 所提出的模型的编码器和解码器被联合训练以最大化给定源序列的目标序列的条件概率。通过使用由RNN编码器 - 解码器计算的短语对的连续概率作为现有对数线性模型中的附加特征,经验地发现统计机器翻译系统的性能得到改善。 定性地,我们表明所提出的模型学习语义和句法上有意义的语言短语表示。
1 介绍
深度神经网络已经显示出非常成功的各种应用,例如目标识别(参见,例如,(Krizhevsky等人,2012))和语音识别(参见,例如,(Dahl等人,2012))。 此外,许多最近的工作表明,神经网络可以成功地用于自然语言处理(NLP)中的许多任务。这些包括但不限于语言建模(Bengio等,2003),释义检测(Socher) et al。,2011)和单词嵌入提取(Mikolov等,2013)。 在统计机器翻译(SMT)领域,深度神经网络已经开始显示出有希望的结果。(Schwenk,2012)总结了基于短语的SMT系统框架中前馈神经网络的成功应用。
在研究神经网络在SMT中的应用的基础上,提出了一种新的神经网络体系结构,可以作为传统基于短语的SMT系统的一部分。提出的神经网络结构,我们将称为一个RNN编码器解码器,由两个循环神经网络(RNN)作为编码器和解码器对。编码器将变长源序列映射到固定长度的向量,解码器将向量表示映射回变长目标序列。在给定源序列的情况下,对两个网络进行联合训练,使目标序列的条件概率最大化。此外,我们建议使用一个相当复杂的隐藏单元,以提高记忆力和训练的易用性。
所提出的带有隐藏单元的RNN编码器 - 解码器在从英语到法语的翻译任务中进行了实证评估。我们训练该模型学习英语短语到相应法语短语的翻译概率。然后,通过在短语表中为每个短语对打分,将该模型用作基于短语的标准SMT系统的一部分。实验结果表明,采用RNN编译码器对短语进行评分的方法可以提高翻译性能。
通过对训练后的RNN码译码器的短语评分与已有的翻译模型进行比较,定性地分析了训练后的RNN码译码器的短语评分。定性分析表明,RNN编解码器能较好地捕捉短语表中的语言规律,间接解释了整体翻译性能的量化改进。对该模型的进一步分析表明,RNN编译码器学习了短语的连续空间表示,同时保留了短语的语义和句法结构。
2 RNN的编码-解码
2.1 初步:循环神经网络
循环神经网络(RNN)是一种神经网络,由隐藏的状态选择性输出y组成,其在可变长度序列x =(x1,...,xT)上操作。 在每个时间步t,RNN的隐藏状态ht更新由
。。。。。。。。。
其中f是非线性激活函数。 f可以像元素逻辑sigmoid函数一样简单,也可以像长短期记忆(LSTM)单元一样复杂(Hochreiter和Schmidhuber,1997)。
RNN可以通过训练预测序列中的下一个符号来学习序列上的概率分布。在这种情况下,每一步t的输出是条件分布p(xt|xt 1,…,x1)。例如,可以使用softmax激活函数输出多项式分布(1- kcoding)
。。。。。。。。。。
对于所有可能的符号j = 1,...,K,其中wj是权重矩阵W的行。通过组合这些概率,我们可以计算序列x的概率用
。。。。。。。。。。。。。。。。。。。
从这种学习的分布中,通过在每个时间步迭代地对符号进行采样来直接采样新序列。
2.2 RNN 编码-解码
本文提出了一种新的神经网络结构,该结构学习将变长序列编码为定长向量表示,并将给定的定长向量表示解码为变长序列。从概率的角度出发,该模型是研究变长序列上条件分布的一种通用方法。例如 p(y1,...,yT′|x1,...,xT),其中输入和输出序列长度T和T可能不同。
编码器是RNN,其顺序地读取输入序列x的每个符号。 当它读取每个符号时,RNN的隐藏状态根据等式(1)而改变。 在读取序列的结尾(由序列结束符号标记)之后,RNN的隐藏状态是整个输入序列的摘要c。
该模型的解码器是另一种RNN