Title
Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation
地址:https://arxiv.org/pdf/1406.1078.pdf
使用循环神经网络的解码编码结构做统计机器翻译
Abstract
本文提出了一种神经网络模型——解码编码结构的循环神经网络。编码部分负责处理固定长度序列的向量表示,解码部分处理另一个序列的表示.
这个模型使用“最大化target序列概率给定source序列”进行训练,The two networks are trained jointly to maximize the conditional probability of the target sequence given a source sequence.
L
=
a
r
g
m
a
x
(
1
N
Σ
n
=
1
N
l
o
g
p
θ
(
y
n
∣
x
n
)
)
L = argmax(\frac{1}{N}\Sigma_{n=1}^{N}logp_\theta(y_n | x_n))
L=argmax(N1Σn=1Nlogpθ(yn∣xn))
1.Introduction
encoder把变长source序列处理成固定长度的向量context vector,decoder把context vector处理成变长target序列;NVM——NV1&1VM
本文提出了一种复杂的隐藏单元hidden unit来提高“记忆容量”并帮助训练。
作者对encoder-decoder和现存翻译模型进行对比量化分析,结果显示encoder-decoder捕捉语言规律(语义和句法——语言的内容和形式)能力更强,翻译能力更强。
2.RNN Encoder-Decoder
WHAT RNN
RNN的输出, h t = f ( h ( t − 1 ) , x t ) h_t = f(h_{(t-1)},x_t) ht=f(h(t−1),xt)可以看成条件概率分布 P ( x t ∣ x t − 1 , x 3 , x 2 , x 1 ) P(x_t | x_{t-1},x3,x2,x1) P(xt∣xt−1,x3,x2,x1),使用sortmax函数可以将其映射成(1 of k coding)概率分布
WHAT Context vector
将变长序列(vector)转换成定长序列(context vector),context vector is summary of the whole input sequence这是实现NVM即不定长输入和不定长输出的关键之一,关键之二在于tag < EOS > ,它决定了输出长度。
decoder的输出不像上面的encoder, h t = f ( h ( t − 1 ) , y t − 1 , c ) h_t = f(h_{(t-1)},y_{t-1},c) ht=f(h(t−1),yt−1,c), P ( y t ∣ y t − 1 , y 3 , y 2 , y 1 ) P(y_t | y_{t-1},y3,y2,y1) P(yt∣yt−1,y3,y2,y1)
Hidden Unit that Adaptively Remembers and Forget
作者受LSTM启发,提出了一种更容易实现和计算的隐藏单元GRU
3.Statistical Machine Translation
介绍了前人的相关的工作
4.Experiments
任务:英译法的机器翻译任务
数据:收集了新闻、报纸等英文和法文数据,进行筛选,保留词频最高覆盖93%数据集的15000单词,oov做unk
基准:Moses,BLEU分数在训练集30.64在测试集33.3
结果:
5.Conclusion
-
提出了的模型,可以学习到从任意长度序列source到任意长度序列target的映射,提升翻译BLEU分数;
-
提出了自适应记忆和遗忘的隐藏单元——带重置门和更新门的GRU;