机器翻译以及注意力机制

注意力机制就是让计算机模拟人类大脑,在看东西的时候,将注意力集中在比较感兴趣的物体上。

1. 引入注意力机制的目的:

1、计算能力的限制:越复杂的模型才能记住更多的信息,但是当前计算能力依然是限制人工神经网络发展的瓶颈
2、优化算法的限制:虽然局部连接、权重共享以及pooling等优化操作可以让神经网络变得简单一些,
有效缓解模型复杂度和表达能力之间的矛盾;但是,信息“记忆”能力并不高

2. 按照认知神经学中的注意力,可分为两类:

1、聚焦式(focus)注意力: 自上而下的有意识的注意力,主动注意——是指有预定目的、依赖任务的、主动有意识地聚焦于某一对象的注意力;
2、显著性(saliency-based)注意力::自下而上的有意识的注意力,被动注意——基于显著性的注意力是由外界刺激驱动的注意,不需要主动干预,也和任务无关;可以将max-pooling和门控(gating)机制来近似地看作是自下而上的基于显著性的注意力机制。
在人工神经网络中,注意力机制一般就特指聚焦式注意力。

3. 注意力机制计算流程

机器翻译以及注意力机制
Attention机制的目的是计算Attention Value,通过给定一个和任务相关的查询Query向量 q,计算与Key的注意力分布并附加在Value上。注意力机制分为三个步骤:一是信息输入;二是计算注意力分布α;三是根据注意力分布α 来计算输入信息的加权平均。
在第二步中,我们将 αi 称之为注意力分布(概率分布),s(ht,hs) 为注意力打分机制,其中ht是Encoder部分的隐藏层,hs是decoder部分的隐藏层。有四种打分机制:
机器翻译以及注意力机制

4. 四种变体

另外呢,也有人将注意力机制其分为四种变体

机器翻译以及注意力机制

5. 神经网络中的机器翻译:

机器翻译是序列到序列的问题,也叫做编码器和解码器,encoder和decoder,Encoder的输入是x1,decoder的输入就是encoder最后一个隐藏层。一般呢,在机器翻译中,一般都使用RNN,比如LSTM和GPU。
机器翻译以及注意力机制
ht为编码器的隐藏状态, c是上下文向量, 是通过当前时间步上下文的隐藏向量计算得到的

6. 首次提出注意力机制【1】

机器翻译以及注意力机制
机器翻译以及注意力机制
在公式求eij中,Va和Wa,Ua都是网络的参数,其中Wa ∈ Rn×n,Ua ∈ Rn×2n,va ∈ Rn,eij ∈ Rn,对eij 进行归一化处理得到αij∈ R1
通过将所有的aij和hj作加和,即αi1h1i2h1+……αiThT=cj,cj ∈ R2n×1

7. 全局注意力和局部注意力【2】

机器翻译以及注意力机制
这是另外一篇论文提出来的,Global Attention Model和Local Attention Model
机器翻译以及注意力机制
机器翻译以及注意力机制
这个是斯坦福大学提出来的一篇论文。全局注意力比较简单,和[Bahdanau et al., 2014]提出来的做法相似,只不过他没有使用双向CNN。其中他还尝试了三种得分方式。实验证明:dot product在gloabal attention中表现更好,而general方程在local attention中表现更好。
机器翻译以及注意力机制
机器翻译以及注意力机制
局部注意力就对跟我的输出结果有影响的地方实行重点关注,实现的方法就是在某一窗口位置Pt取范围D之间的值,其中D是由我们自己设定的一个区域大小,Pt就是关注范围的中间值。
那么公式Pt=Txσ(VpTtanh(Wpht)),VpT,Wp是可训练的参数,σ是sigmoid函数,σ(VpTtanh(Wpht))的范围是在[0-1]之间,Tx是表示source sentence句子长度。

8. sotf attention and hard attention【3】

机器翻译以及注意力机制
sotf attention 上面的图,关注的是全局
hard attention 下面的图,关注的只是局部的一点
机器翻译以及注意力机制
在这里输入的图片是先经过VGG网络提取特征,得到(512,14,14)的特征图,将(14,14)拉成一维向量,即特征图变成了(512,196),即α∈(512,196)。式中的L就是196,αi∈(512,1),hi∈(1,512)。
机器翻译以及注意力机制
hard attention用的地方不多,在论文中有完整的公式。可以参考论文

参考文献
【1】Bahdanau D , Cho K , Bengio Y . Neural Machine Translation by Jointly Learning to Align and Translate[J]. Computer Science, 2014.

【2】Luong M T, Pham H, Manning C D. Effective approaches to attention-based neural machine translation[J]. arXiv preprint arXiv:1508.04025, 2015.

【3】Xu K, Ba J, Kiros R, et al. Show, attend and tell: Neural image caption generation with visual attention[J]. arXiv preprint arXiv:1502.03044, 2015.

参考博客
http://www.cnblogs.com/databingo/p/9769928.html
https://blog.****.net/jasonzhoujx/article/details/83386627
https://blog.****.net/u011414416/article/details/51057789
https://www.cnblogs.com/wangduo/p/6773601.html