文章目录
前言
论文名:Neural Machine Translation By Jointly Learning to Align and Translate
论文作者:Dzmitry Bahdanau et.al.
期刊/会议名:ICLR 2015
本文作者:XMU_MIAO
摘要
神经机器翻译(NMT)是近来提出的应用于机器翻译的一种方法。不同于传统的统计机器翻译(SMT),神经机器翻译致力于构建一个能够联合最大化翻译性能的网络。近来提出的神经翻译模型通常属于Encoder-Decoder类的,其将源句编码成一个定长的向量,而后译码器将该向量解码成翻译句。
在本文中,我们推测使用定长向量是限制基础 Encoder-Decoder \textbf{Encoder{-}Decoder} Encoder-Decoder架构性能的瓶颈。同时提出允许模型自动地(软)搜索与目标词相关的源句的各个部分,而不是显式地指定。 通过这种新方法,我们的翻译性能可与现有的最先进的基于短语的系统在英法翻译任务上相媲美。此外,定性分析表明,该模型得到源句词和目标词的(软)对准与我们的直觉很一致。
一、神经机器翻译
1、机器翻译
从概率的观点看,翻译等同于找到一个在给定源句 x \textbf{x} x找到条件概率最大(即: a r g m a x y p ( y ∣ x ) argmax_{\textbf{y}}p(\textbf{y}|\textbf{x}) argmaxyp(y∣x))的目标句 y \textbf{y} y。在神经机器翻译中,我们使用平行训练语料库来拟合一个参数化的模型来最大化句子对的条件概率。翻译模型学习条件分布后,给定源句,通过搜索条件概率最大的句子,就可以生成相应的翻译。
2、基于RNN的Encoder-Decoder架构
该部分简要介绍由cho et.al.(2014a)和Sutskever et.al.(2014)提出的基于RNN的Encoder-Decoder架构。我们在此基础上提出一种能够同时学习对齐(源句词与目标句词的对齐)和翻译的架构。
在Encoder-Decoder框架中,编码器端读取输入句子,一个向量序列 x = ( x 1 , . . . , x T x ) \textbf{x}=(x_1,...,x_{T_x}) x=(x1,...,xTx)并得到向量 c c c,最常见的方法是使用这样的RNN h t = f ( x t , h t − 1 ) c = q ( { h 1 , . . . , h T x } ) h_t=f(x_t,h_{t-1})\\c=q(\{ h_1,...,h_{T_x} \}) ht=f(xt,ht−1)c=q({
h1,...,hTx})其中 h t ∈ R n h_t\in R^n ht∈Rn是 t t t时刻的隐藏状态, c c c是从隐藏状态序列中得到的上下文向量, f f f和 q q q是某些非线性函数。例如:Sutskever et.al.(2014)使用 LSTM \textbf{LSTM} LSTM作为 f f f, q ( { h 1 , . . . , h T } ) = h T q(\{ h_1,...,h_T\})=h_T q({
h1,...,hT})=hT。
译码器通常在给定上下文向量 c c c和所有之前预测过的词 { y 1 , . . . , y t ′ − 1 } \{y_1,...,y_{t^{'}-1}\} {
y1,...,yt′−1}上训练来预测下一个词 y t ′ y_{t^{'}} y