注意力机制入门

重点

  • attention mechanism可以和很多现有模型结合,插入两层之间:attention model接手前一层的输出,以及一个上下文参数(这个上下文是注意力机制的关键),经过注意力模型,从前一层的输出中筛选出和上下文相关的一部分(没必要直接删减,可以采用加权平均的方式筛选)作为注意力模型的输出,这个输出作为下一层的输入,从而让下一层关注于局部信息,下图是一个示意图
    注意力机制usage.png

  • image captioning中,输入的子图的CNN特征,即输入图还是要先划分成若干子图,每个子图分别提取CNN特征,然后每个注意力模型要输入所有子图的CNN特征,注意力模型的输出送入RNN解码器

Attention

涉及注意力的神经处理在Neuroscience和Computational Neuroscience领域内得到广泛研究.一个特殊的方向是visual attention: 很多动物利用视觉输入的一些特殊部分来计算视觉响应.这一原则在神经计算领域由巨大作用,我们不必选择全部可用的信息,而只需要选择相关的部分来计算响应,大部分输入信息都是无关的.

Attention for Image Captioning

我们用”图像注释”(image captioning)的例子来解释注意力机制. image captioning的目标是为给定的图片增加注释,描述图片内容.
一个经典的image captioning系统利用预训练的CNN对图像编码,生成隐状态 h h ,然后利用RNN解码该隐状态,递归的生成图片注释的每个文字.
base_image_captioning

这种方法的缺陷是:当模型生成下一个字时,这个字只是描述了图的一部分. 但是隐状态h是对整个图的编码,因此基于全局信息的 h h 生成对部分图像内容的描述效果不是很好,attention mechanism正适合处理这种问题.
基于attention mechanism, 图像首先被划分乘n个部分,每个部分都用CNN处理,生成对应的隐状态 h1,...,hn h 1 , . . . , h n . 当RNN生成一个新的词时,attention mechanism会选择相关的那一部分图像输入解码器.

下图的上面一行,我们可以看到每个文字是通过白色区域生成的.

attention_bird

下面的例子中,下划线标注的文字是通过图中白色区域生成的

attention_captions

我们将继续解释注意力模型的工作原理

What is an attention model?

high_attentionmodel-svg.png

注意力模型接受 n n 个输入参数y1,...,yn(在前面的例子中相当于 h h )和一个上下文c, 返回一个向量 z z , 逻辑上z要是从输入 yi y i 中生成的和 c c 相关的摘要.更加精确的描述,z yi y i 的算术平均值,权重就是每个 yi y i 和上下文 c c 的关联度.
上面的例子中,上下文是生成的句子的开头,yi是子图( hi h i )的CNN特征描述, 输出的是过滤后,而且和当前生成词相关的特征图.

attention model的一个有趣的特性是算术平均值的权重可以可视化,因此前面显示的图表中白色区域显示的就是图中权重较大的区域.

下图显示了attention model的细节

detail_attentionmodel1.png

下面我们一步步解释网络的细节.

首先我们认识一下输入. c c 是上下文, yi是数据的一部分
detail_attentionmodel_step01.png

下一步,通过 tanh t a n h 层计算 m1,...,mn m 1 , . . . , m n , 计算 yi y i c c 的aggregation的值. 如图所示,每个mi只依赖于对应的 yi y i ,而不依赖其他 yj ji y j   j ≠ i

detail_attentionmodel_step12.png

mi=tanh(Wcmc+Wymyi) m i = t a n h ( W c m c + W y m y i )

然后利用softmax计算权重. softmax的响应类似argmax,但是它是可求导的. 假设我们有一个argmax函数,满足 argmax(x1,...,xn)=(0,...,0,1,0,...0) a r g m a x ( x 1 , . . . , x n ) = ( 0 , . . . , 0 , 1 , 0 , . . .0 ) ,输入向量中唯一的1对应输入向量中最大值. softmax的定义如下

softmax(x1,...,xn)=(expxijexpxj)i s o f t m a x ( x 1 , . . . , x n ) = ( e x p x i ∑ j e x p x j ) i

如果 xi x i 中有一个比其他的值大,那么 softmax(x1,...,xn) s o f t m a x ( x 1 , . . . , x n ) 将和 argmax(x1,...,xn) a r g m a x ( x 1 , . . . , x n ) 很接近.

detail_attentionmodel_step22.png

siexp(dot(wm,mi))isi=1 s i ∝ e x p ( d o t ( w m , m i ) ) ∑ i s i = 1

si s i mi m i wm w m 方向上投影值的softmax结果,因此这里softmax可以被理解为和上下文相关度最大的值.
输出 z z yi的加权算术平均值,其中权重是和上下文的关联度.

detail_attentionmodel_step32.png

z=isiyi z = ∑ i s i y i

An other computation of relevance

上述注意力模型可以修改,首先 tanh t a n h 层可以被其他网络层替换,只要可以混合 c c yi即可.下图是一个点乘的版本

detail_attentionmodel_dotproduct1.png

这个版本更加容易理解,这个注意力模型softly-choosing和上下文最相关的变量.实际上两个系统输出的结果差异不大.

Soft Attention and Hard Attention

上面讨论的是Soft attention, 完全可导, 可以方便的插入任意系统, 和系统其他部分一样,进行梯度反向传播.
Hard attention是一个随机过程: 不是输入所有隐状态导解码器,而是按照概率 si s i 对隐状态采样.为了进行梯度传播,需要利用Monte Carlo sampling估算梯度.

detail_attentionmodel_hardattention.png

Soft/Hard注意力机制各有优缺点,但是因为soft注意力机制容易计算梯度信息而得到广泛应用.

Return to the image captioning

现在我们对image captioning系统有了更进一步理解
caption_attention1.png

上述image captioning经典模型中增加了一个新的注意力模型层.当我们预测词i时,LSTM的隐状态是 hi h i . 我们把 hi h i 作为上下文选择相关的子图.注意力模型的输出 zi z i ,相关子图的CNN特征,作为LSTM的输入,然后LSTM预测新的词和下一个隐含状态 hi+1 h i + 1

Learning to Align in Machine Translation

Bahdanau, et al 提出一个结合注意力机制的语言翻译模型. 在解释注意力机制之前,早期的语言翻译模型基于编解码网络.英语的句子作为编码器RNN的输入,生成隐含状态 h h , 解码器RNN利用h输出正确的法语语句.
trad_basic2.png

直觉上,翻译和image captioning类似.当我们生成一个新的词,我们通常只依赖源语言的一个词. 注意力模型可以让每个新词只依赖输入文本的一部分.
和image captioning模型的唯一区别是 hi h i 成为RNN的一个隐层(译注:编码器端的RNN?,感觉就是相当于子图)
trad_attention1.png

不是整个句子生成一个隐含状态,编码器生成 T T 和隐含状态,每一个对应一个词. 每次解码器端RNN需要生成一个词,注意力模型会决定每个隐含状态对输入的贡献,如下图,一般只会选择一个. 贡献度通过softmax计算:隐含状态hi的贡献权重是 ai a i ,而且 aj=1 ∑ a j = 1 .
在上面的例子中,注意力模型不需要额外的监督参数,完全基于梯度就可以学习相关模型参数,所以可以和任何已有的编解码模型组合.

这个过程可以看作对齐过程,因为网络往往只依赖一个输入词就可以生成一个输出词.大部分注意力权重是0(黑色)而只有一个是1(白色). 下图显示了翻译过程中的注意力权重, 显示了对齐过程和网络学习到的知识.
alignment_badhanau.png

Attention without Recurrent Neural Networks

至此我们讨论的注意力模型都是基于编解码模型. However, when the order of input does not matter, it is possible to consider independant hidden states hj h j . This is the case for instance in Raffel et Al, where the attention model is fully feed-forward. The same applies to the simple case of Memory Networks

From Attention to Memory Addressing

Final Word

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值