@songying
2018-10-18T20:35:43.000000Z
字数 1983
阅读 1434
Attention
本文介绍了两种高效的注意力机制: global 和 local。
本文中我们介绍了两种新的attention-based model:
- a global approach in which all source words are attended
- alocal one whereby only a subset of source words are considered at a time.
NMT 是通过计算 来翻译的。 x为, y 为 。一个基本的NMT包含两个组件:
- an encoder which computes a representation s for each source sentence
- a decoder which generates one target word at a time
在本文中,我们使用 stacking LSTM 。
global attention : context vector 考虑了encoder中所有的隐层状态。
: size equals the number of time steps on the source side
: the current target hidden state。 decoder 在t时刻的隐层状态
得到 后,通过加权平均的方式,得到上下文向量
Global Attention有一个明显的缺点就是,每一次,encoder端的所有hidden state都要参与计算,这样做计算开销会比较大,特别是当encoder的句子偏长,比如,一段话或者一篇文章,效率偏低。因此,为了提高效率,Local Attention应运而生。
local attention 一种介于Soft Attention和Hard Attention之间的一种Attention方式,即把两种方式折衷一下。
思想: local attention 可选的专注于上下文的 a small window 且是可微的。
我们讨论该模型的两种变体, 有两种获取方式:
- Monotonic alignment(local-m) - 我们简单的令 。
- Predictive alignment(local-p):
总之,Global Attention和Local Attention各有优劣,在实际应用中,Global Attention应用更普遍,因为local Attention需要预测一个位置向量p,这就带来两个问题:
1、当encoder句子不是很长时,相对Global Attention,计算量并没有明显减小。
2、位置向量的预测并不非常准确,这就直接计算的到的local Attention的准确率。