Fine-Grained Attention Mechanism for Neural Machine Translation

  1. 在这篇文章中作者提出了一种fine-grained的注意力机制即每一维的context vector将获得一个单独的注意力得分。
  2. 作者证明了这种做法的合理性

通过Choi et al.(2017)的文章,对词向量的维度进行contextualization发现词向量的每一个维度都都在context中充当着不同的作用,由于这一观点的启发,作者Choi 和Bengio便提出这种fine-grained的注意力机制。

Background : Attention-based Neral Machine Translation

这部分主要介绍了Bahdanau et al.(2015)提出的注意力机制。

given a source sentence X=(w1x,w2x,...,wTx)

那么我们的目标函数就是p(Y=(w1y,w2y,...,wTy)|X).
解释为:在给定输入条件下,获得某一输出的概率。

在这个模型中包含Encoder,Decoder,and attention mechanism三个部分。

一、Encoder

encoder 通常通过双向循环神经网络来完成。在编码过程开始之前,每一个source word wtx被映射到一个连续的向量空间中去(所有输入单词的词嵌入矩阵)。

xt=Ex[.,wtx]

如果图示的话可以表示为:

Fine-Grained Attention Mechanism for Neural Machine Translation

将词向量一次输入到Encoder层中。
ht=Φ(ht1,xt),
ht=Φ(ht+1,xt),

这里的Φ可以是LSTM( Hochreiter and Schmidhuber (1997)),或者GRU( Cho et al. (2014)))。
在每一个t时刻将正反两个方向的结果concat在一起。

ht=[ht,ht]

这就获得了一个annotation vectors:
C=h1,h2,...,hT

二、Decoder

解码层可以模型化为:

p(wty|w<ty),X)

在source sentence和前t-1时刻的条件下取到当前标签的分布。
将这些概率相乘就得到了我们的目标概率。
解码层通常用一个单向的RNN:
ht=Φ(zt1,yt1,ci),

三、Attention mechanism

在解码层中维持着一个hidden state zt。在每一个t时刻模型首先用注意力机制fAtt对C中的每一个向量进行select ,or weight 。在Bahdanau的注意了机制中fAtt是一个前向神经网络,输入分别为前一时刻的解码层的hidden state,和C中的一个向量。在这个前向神经网络中tanh()常常被作为激发函数。

et,t=fAtt(zt1,ht)

这里的得分et,t用softmax来normalized.
att=exp(et,t)k=1Texp(et,k)

再将对每一个annotation vector的weights加起来。
ct=t=1Tattht

与编码层不同的是这里的yt1是上一个目标单词的向量。

这里的ct在作为Decoder的一个输入

ht=Φ(zt1,yt1,ci),

Variants of Attention Mechanism

Jean et al.(2015a); Chung et al. (2016a)L,uong et al.(2016)对Bahdanau et al.(2015)的注意力机制做了点改进。

前者将score function 修改成et,t=fAttY(zt1,ht,yt1)
即加入了上衣时刻的输出值。

Fine-Grained Attention Mechanism

上面无论是Bahdanau的还是后面工作者所做的改进,给定一个query对于每一个context vector 仅得到一个注意力值。如图(a)所示。
作者提出的模型类似于途中的(b)所示。

Fine-Grained Attention Mechanism for Neural Machine Translation

et,td=fAttY2Dd(zt1,ht,yt1)

at,td=exp(et,td)k=1Texcp(eet,kd)

ct=sumt=1Tat,tht

这里的改变是讲aligment结果进行softmax后与每一个annotation vector做Hadamard 乘积,这样就将annotation vector的每一个维度独立开来进行注意力机制的描述。

[1] Fine-grained attention mechanism for neural machine translation

相关文章: