文章目录
论文信息
论文 | Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation 用RNN encoder-decoder 学习短语表表达,用于统计机器翻译 |
---|---|
年份 | 2014 |
作者 | Kyunghyun Cho Bart van Merrienboer Caglar Gulcehre |
来源 | 未知 |
方法 | 类型 |
---|---|
GRU | RNN |
what
文中提出了一个新颖的神经网络称为RNN Encoder-Decoder,包括两个RNN,一个RNN将一个序列符号encode为一个固定的表达,另一个RNN将表达decode为另一个符号序列。模型中的encoder和的decoder联合训练给定source条件下target的条件概率。经验说明,把由RNN Encoder-Decoder计算得出的phrase pairs作为已有的对数线性模型的附加特征,可以提高条件概率。
定性的说,提出的模型可以学出语法上和句法上有意义的语言学短语。
why
前人(2012)已经成功的将前馈神经网络应用与phrase-based SMT 系统,展示了promising(有希望的,有前途的)结果。沿着这条研究路线提出新的模型。
-
RNN Encoder: maps a variable-length source sequence to a
fixed-length vector
可变长度的source 序列映射为固定长度向量
RNN Decoder: maps the vector representation back to a variable-length target sequence
向量表达式映射回可变长target序列 -
两个网络联合训练
-
提出用更复杂的隐藏层来提升记忆能力和训练的易用性
model and method ideas
1. RNN Encoder-Decoder
1.1 介绍RNN
略
用RNN可以学习一个概率分布,在一个训练出的序列的前提下预测序列中的下一个符号。
输入一个序列,隐藏层状态更新公式如下:
每一步的输出都是一个条件概率:
每一步 t 时刻,可能的符号有为
j
=
1
,
…
,
K
j = 1, \dots, K
j=1,…,K,
w
j
w_j
wj是权重矩阵
W
W
W的某行权重向量,整个序列的概率计算如下:
1.2 RNN Encoder-Decoder
模型本质上学习在一个可变长度序列的条件下另一个可变长度序列的条件概率。
上图是文中提出的RNN Encoder-Decoder结构示意图。
encoder是一个RNN,循序地读取输入序列中的每一个字符,RNN中隐藏层状态在1.1节
已经给出,在读取最后一个结束符号之后,隐藏层输出一个总结性的向量
c
c
c。
decoder是另一个RNN,用于循序地预测每一个输出字符,最后生成输出。在 t 时刻,解码器的隐藏层状态和条件概率不仅仅基于
y
t
、
h
<
t
>
y_t、h_{<t>}
yt、h<t>,还基于向量
c
c
c,解码器隐藏层状态的计算如下:
预测下一个符号的条件分布如下:
f 和 g 是两个激励函数,而且函数 g 必须产生有效的概率,比如softmax函数。
上面两个组成结构联合训练来最大化如下条件对数似然:
这个RNN Encoder-Decoder可以用于:
- 输入source序列,生成target序列
- 对输入输出序列对打分
1.3 自适应记住和遗忘隐藏层单元 GRU 【论文重要贡献】
受启发于LSTM,提出新的隐藏层单元GRU,但是比LSTM更易于计算和实现。
- reset gate:
This effectively allows the hidden state to drop any information that is found to be irrelevant later in the future, thus, allowing a more compact representation.
capture short-term dependencies will tend to have reset gates that are frequently active.
作用:决定是否忽略先前的隐藏层,有效的允许隐藏层忽略将来无关的信息。当捕获短依赖的时候,复位门活跃。
计算第 j 个隐藏层单元,reset gate的计算公式为:
σ \sigma σ是对数sigmoid函数, [ . ] j [.]_j [.]j是向量中的第 j 个元素,(s说明 r j r_j rj是标量), x , h t − 1 x, h_{t-1} x,ht−1分别是输入和前一个隐藏层, W , U W, U W,U是学习出的权重矩阵。
- update gate:
the update gate controls how much information from the previous hidden state will carry over to the current hidden state.
capture longer-term dependencies will have update gates that are mostly active.
决定是否用新隐藏层更新当前隐藏层,控制先前隐藏层状态的信息传输到当前隐藏层多少。当捕获长依赖的时候,更新门活跃。
update gate 对的计算公式为:
当前第j个隐藏层单元的计算公式为:
其中,
2. 短语对打分
SMT模型的本质是最大化下面的公式:
前一项叫做翻译模型,后一项叫做语言模型。而实际上,大多数SMT系统将
log
p
(
f
∣
e
)
\log{p(f|e)}
logp(f∣e)当作具有附加特征和相应权重的对数线性模型,公式如下:
f
n
,
w
n
)
f_n,w_n)
fn,wn)分别是第n个特征和权重,
Z
(
e
)
Z(e)
Z(e)是依赖于权重的正则化常量,通常优化权重使BLEU分数最大化。最近训练神经网络的热点在于使用source句子对翻译好的句子(或者短语对)打分,然后作为附加输入。
用RNN Encoder-Decoder给phrased-pair打分
我们忽略原始语料中每个短语对的正则化频率,当训练RNN Encoder-Decoder的时候,为phrase table中的短语对重新添加一个新的分数。
result
定量分析:对研究对象的性质、特征、关系从数量上进行分析。
定性分析:依据主观判断分析能力判断研究对象的性质和发展趋势。
-
定量分析
-
定性分析
解释性能提升的原因:比较传统模型和RNN Encoder-Decoder模型打分情况,Figure 3 右上角许多分数是相似的(绿色框),但是也有一部分极为不同(红色框),这产生的原因可能是在一组独特的词组对上训练RNN Encoder-Decoder,这不鼓励模型仅从语料库中词组对的频率。 -
学习词表达和短语表达
The proposed RNN Encoder–Decoder naturally generates a continuous-space representation of a phrase.
The RNN Encoder–Decoder captures both semantic and syntactic structures of the phrases.
conclusion
- 【贡献1】论文提出了一个新的神经网络结构,称作RNN Encoder-Decoder。可以有两个用途,一个是为一对序列打分,另一个是给定source序列的情况下,生成target序列。
- 【贡献2】提出了一个新的隐藏层单元,包括已给reset gate和一个update gate,当读取或生成序列时,自适应地控制每一个隐藏层记住或者遗忘多少信息。
- 【评估结果】使用由RNN Encoder-Decoder产生的新分数,最终提升了BLEU值。可视化发现原始分数和新分数的图像呈直角的曲线。
- 【评估分析】定性分析中发现训练模型可以捕获词或短语级别的语言学规则。(如同聚类),说明RNN Encoder-Decoder可能还可以有其他相关的应用。
- 【其他假设或可能性】
- 本文没有使用RNN Encoder-Decoder模型生成target phrase,然后替换整个或者部分phrase table。
- 其他可能的应用如:speech transcription 语言转录