Neural Machine Translation by Jointly Learning to Align and Translate

Neural Machine Translation by Jointly Learning to Align and Translate 是神经机器翻译(Neural Machine Translation, NMT)的代表性论文,指出encoder-decoder将源语言句子压缩成一个固定维度的向量是造成性能瓶颈的主要原因,并提出了基于Attention的模型,有效地处理较长的句子。

Motivation

目前大多数神经机器翻译模型都是基于encoder-decoder的,而且是将源句子encode成一个固定大小的向量。这篇论文认为固定大小的向量会成为性能的瓶颈,特别是句子长度比训练集中的句子还要长的时候,Cho et al. (2014b)也表明,当句子长度增加时,RNNenc的性能会急剧下降。于是这篇论文提出了基于Attention的模型,能够有效地处理较长的句子。

RNN Encoder-Decoder

在encoder-decoder框架中,encoder读入输入序列x=(x1,,xTx)\textbf{x} = (x_1, \cdots, x_{T_x})并将其encode成向量cc。最常用的方法是使用RNN使得

ht=f(xt,ht1)h_t = f(x_t, h_{t - 1})

c=q({h1,,hTx})c = q(\{h_1, \cdots, h_{T_x}\})

其中htRnh_t \in R^{n}是时间tt的隐藏状态,ffqq都是非线性的函数。

decoder通常是给定上下文向量c和之前预测过的单词{y1,,yt1}\{y_1, \cdots, y_{t^\prime - 1}\},预测下一个单词yty_{t^\prime}

p(y)=t=1Tp(yt{y1,,yt1},c)p(\textbf{y}) = \sum_{t = 1}^{T} p(y_t | \{y_1, \cdots, y_{t^\prime - 1}\}, c)

其中y=(y1,,yTy)\textbf{y}=(y_1, \cdots, y_{T_y})

p(yt{y1,,yt1},c)=g(yt1,st,c)p(y_t | \{y_1, \cdots, y_{t - 1}\}, c) = g(y_{t-1}, s_t, c)

其中gg是一个非线性的输出yty_t的概率的函数,可能还是多层的,sts_t是RNN的隐藏状态。

Learning to Alignment and Translate

本论文提出了一种新的结构,使用双向RNN作为encoder,decoder在decode翻译的过程中模拟搜索源句子。

Decoder

p(y)p(\textbf{y})的方程中,我们定义每个条件概率为:

p(yi{y1,,yi1},x)=g(yi1,si,ci)p(y_i | \{y_1, \cdots, y_{i - 1}\}, x) = g(y_{i-1}, s_i, c_i)

其中si=f(si1,yi1,ci)s_i = f(s_{i - 1}, y_{i - 1}, c_i)是RNN在时间i的隐藏状态。需要注意的是不同于之前的encoder-decoder方法,对于每一个yiy_i,这里概率的条件是一个不同的上下文向量cic_icic_i依赖于标注序列h1,,hTx)h_1, \cdots, h_{T_x}),每一个hih_i包含整个序列的信息,并且关注与第ii个单词周围的部分。

ci=j=1Txαijhjc_i = \sum_{j = 1}^{T_x} \alpha_{i j}h_j

αij=exp(eij)k=1Txexp(eik)\alpha_{i j} = \frac{exp(e_{i j})}{\sum_{k = 1}^{T_x} exp(e_{i k})}

eij=a(si1,hj)e_{i j} = a(s_{i - 1}, h_j)

其中eije_{i j}是一个对齐模型,用来衡量目标端的第i个词和源端的第j个词的匹配程度。

Encoder

为了使得每个单词的标注包含前面和后面单词的信息,本论文使用了双向RNN,即hj=[hjT;hjT]Th_j = [\overrightarrow{h_j^T};\overleftarrow{h_j^T}]^T

Experiments

数据集使用的是WMT’14的English-French的平行语料库。训练使用SGD+Adadelta,训练结束后使用beam search找到概率最大的翻译。

结果如下图所示,其中-50和-30分别表示训练集中句子最长的长度,可以看到随着句子长度的增加RNNsearch更robust,特别是RNNsearch-50在句子长度大于50的情况下还没有明显的下降。

Author: Chen Cui
Link: https://cuichen.cc/neural-machine-translation-by-jointly-learning-to-align-and-translate/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
WeChat Pay
Alipay