注意力机制集锦

时间:2024-03-28 14:04:56

注意力机制模仿的是人类观察模式。一般我们在观察一个场景时,首先观察到的是整体场景,但当我们要深入了解某个目标时,我们的注意力就会集中到这个目标上,甚至为了观察到目标的纹理,我们会靠近目标,仔细观察。同理在深度学习中,我们提取到的信息流以同等重要性向后流动,而如果我们知道某些先验信息,我们就能够根据这些信息抑制某些无效信息的流动,从而使得重要信息得以保留。这是一种模式,而并非具体的公式,因此存在各种各样的实现方法。最为简单的理解方式,举个极端例子,对信息进行softmax后我们会得到每个logits的概率,这可以看成模型对每个logits的重视程度。概率越大,说明这个信息对模型越有利。很多时候我们都知道注意力机制可以抑制无效信息的前向移动,其实注意力机制还有利于梯度信息的后向传播,这在RNN这一类保存长期信息的过程中防止梯度消失尤其有效,所以也可以认为这是skip connect的一种特殊形式。

全局注意力:

注意力机制集锦

注意力机制集锦注意力机制集锦

RNN模型输出的每一步隐藏状态ht-,在生成上下文向量c时,并不是简单的相加,而是利用ht和ht-二者之间计算一个score后进行softmax,从而生成对于ht-的全局注意力,进行加权相加。

局部注意力:

注意力机制集锦

注意力机制集锦注意力机制集锦注意力机制集锦

前面的全局注意力每生成一个词都需要考虑整个输入序列ht-,计算量较大,我们可以考虑对部分ht-进行计算,只关注2D+1窗口大小,其中pt是窗口中心。

自注意力:

注意力机制集锦

隐藏向量 ht 首先会传递到全连接层。然后校准系数 α_t 会对比全连接层的输出 ut 和可训练上下文向量 u(随机初始化),并通过 Softmax 归一化而得出。注意力向量 s 最后可以为所有隐藏向量的加权和。

 

RA-CNN(Recurrent Attention):

注意力机制集锦

与一般的attention机制输出概率不同,该attention回归出模型认为存在重点关注特征的坐标位置,将其裁剪放大后继续放入模型进行预测。模型存在两种loss:classification loss和ranking loss。

A-LSTM:

注意力机制集锦

注意力机制集锦

在LSTM中将前几个单元的输出同样输入到当前单元,实现历史信息的传递。在传递过程中使用注意力机制来控制信息量。

 

GAU:全局注意力上采样:

注意力机制集锦

在使用金字塔特征进行上采样时加入注意力机制,使用高层全局特征信息对底层特征在组合时进行筛选。

 

Bottom-Up and Top-Down Attention:

注意力机制集锦注意力机制集锦

这个模型主要用于视觉问答和图像标注之类的结合图像和NLP的task。第一张图为Bottom-Up attention,其实就是使用Faster R-CNN提取区域进行分类,由于提取出来的是一个个目标区域,可以认为比全局更为底层。提取出来的局部特征经过全局均值池化后形成k个特征Vi。第二张图里有Top-Down attention模块,可以看到这个LSTM模块输入的是语言LSTM的t-1隐状态、k个vi的均值(可以认为是图像的全局信息)和当前t时刻的词向量,输出的是t时刻隐状态,用于和k个区域图像特征生成关于v的attention,从而输出到语言LSTM中。有意思的是可以看到这两个LSTM在互相使用彼此的信息。
 

 

 

参考1