1. paper
Effective Approaches to Attention-based Neural Machine Translation 2015
2. keypoint
提出了 global attention和local attention用于nmt。 其中global attention类似soft attention,而local attention是结合了soft attention和hard attention的变形。
3. 简介
此时nmt已经开始使用了,但是没有合适的attentin结构本文就提出了global 和 local attention结构。
4. 模型
4.1 概述
模型选用的RNN单元是LSTM,且用的是多层LSTM结构。
在预测阶段,输入LSMT最后一层输出的和同时用attention机制计算出的
,得到一个注意力隐藏层
通过一个softmax层得到该词被翻译成某个词的概率。
本文提出了global和local两种模型,最主要就是计算不同。在预测时,global是考虑target hidden state
与全局source items
的alignment weights。对全局source items和对应的alignment Weights求一个weighted average作为
而local根据target预测其在source items位置,在窗口内的source hiddent states才参与attention和weighted average计算。
4.2 global attention
如Figure2所示。计算时需要考虑encoder的全部hidden state。这里的
是变长的,因为source target是变长的。
score的计算方法有content based。这三个方法本质是一样的。
以及location based,即attention只与target hidden state有关。
4.3 local attention
global attention需要考虑之前所有的source hidden state,计算耗时很大。对于长文本(比如文章)这是不能接受的。因此提出了local attention。
对每一个target item,模型先预测一个,给一个窗口参数D,context vector
就是
这个区间的source hidden state 的weighted average。注意这里的 attention weight
是定长的,因为D确定了。
这里的计算方法也提出了2种。
- 单调对齐。
和stm模型中词对齐的作用一样。可以简单的设
,认为source item和target item是单调对齐的。
- 预测。
和
都是模型参数,S是source item length。为了让对齐的值更靠近
,这里用均值在
附近的高斯分布。
(经验值),
是一个实数,s是一个在
窗口内的整数。
4.3 input-feeding approch
尽管考虑了attention,但是每次的attention都是独立计算的,没有用到之前的“对齐信息”。(对齐有点类似记下来前面哪些词已经翻译过了, 翻译当前词时主要参考source的哪个词。)
本文提出了 input-feeding 方法,把attention hidden state 和输入concat,然后作为LSTM的输入。这样的好处有
- 有了上一个次的对齐信息
- 网络即有了横向连接,也有了纵向连接。
5. 实验
翻译的效果, ensemble增强的效果最好(emsemble is always good)。
对长度的效果。 也是对长句友好地。40到70 没有明显下降。
对比了下不同的attention方式, local+general 最好。