注意力机制

2021-02-19 11:47:52 浏览数 (1)

最近想要系统的学习和总结各种注意力机制,首先简单的看了一下相关的资料,发现其主要应用于自然语言处理领域和图像处理领域。主要包括:

图1. 当前常见的注意力机制实现方式图1. 当前常见的注意力机制实现方式

注意力机制源于对生物认知的研究。在卷积神经网络模型中,注意力机制旨在指引模型将更多的算力或参数的梯度更新放在更加有效的地方,同时忽略其他区域的无关信息,摆脱依赖全局搜索的传统神经网络,使模型的训练更加快速或高效。


注意力机制的实现主要分为软注意力(soft attention)硬注意力(hard attention)。软注意力是指在选择信息的时候,不是从N个信息中只选择1个,而是计算N个输入信息的加权平均,再输入到神经网络中计算。硬注意力就是指选择输入序列某一个位置上的信息,比如随机选择一个信息或者选择概率最高的信息。通常像是硬注意力,选取概率最高的特征向量这一操作是不可微的,很难在神经网络中通过训练来得到,主要采用强化学习的方法去学习。因此当前在神经网络中,最为主要的注意力机制都是基于软注意力。

用于机器翻译的注意力

在自然语言处理领域,注意力机制主要应用于机器翻译模型中,如图2所示。

图2. seq2seq任务中的注意力机制图2. seq2seq任务中的注意力机制

它们通常将注意力机制描述为K (Key)、Q (Query)、V (Value)的形式,其中Query表示需要确认的特征键值(即询问者),Key表示它们的典型特征键值(即应答者),Value表示典型特征键值所代表的值(即响应值)。

2014年,Bahdanau D等[1]将注意力引入神经机器翻译的研究,主要用于对整个句子的特征向量进行加权,从而选取当前时间最重要的特征向量的子集。

一般而言,注意力的K、Q、V分别来自不同的地方,例如encoder-decoder attention的Q来自解码器,K和V来自编码器。而self-attention的K、Q和V均来自编码器或者解码器。

在2017年,Vaswani A等[2]提出的transformer中包含了self-attention、encoder-decoder attention和multi-head attention。而multi-head attention则是将多个注意力(论文中为8)集成到一起,学习特征空间的多个子集,使其特征提取能力进一步提升。


用于图像处理的注意力

当在图像处理任务中使用卷积神经网络,提取的特征通常表现为3维的形式,分别为通道、宽和高维。因此,图像处理领域的注意力主要针对这3个维度进行,因此就有了Channel attention和Spatial attention。

Channel attention由Hu J 等[3]提出,结构如图3所示。首先使用全局池化将特征的宽和高降为1,然后使用全连接层进行sqeeze和excitation,最终得到通道权重。

图 3. 通道注意力结构图图 3. 通道注意力结构图

Spatial attention则有多种实现方式,有针对矩阵空间变换的、有针对卷积核的,还有针对多通道卷积层的。

首先让神经网络关注空间特征差异的是M. Jaderberg等[4]提出的空间变换网络,这一网络可以学习特征的空间变换参数,然后对输入进行空间变换,如图4所示。

图4. Spatial transformer netowrk图4. Spatial transformer netowrk
  • Localisation net用于生成仿射变换的系数theta,其维度大小根据变换类型而定,若是仿射变换,则是一个6维的向量。
  • Grid generator,也称为网格生成器,就是根据生成的空间变换系数theta对输入进行变换,这样得到的就是原始输入图像或者特征图经过平移、旋转、缩放等变换的结果。平移、旋转的转换公式如下所示:

公式1. 空间变换公式公式1. 空间变换公式
  • Sampler,也叫做采样器,则是根据网格生成器的结果,从中生成一个新的输出图片或者特征图V,用于下一步的计算。

Li X等[5]提出的SKNet (Selective Kernel Netowrk),可以让网络学习根据输入的不同选择不同的卷积核大小和参数。主要分为3个过程,如图5所示:

  • Split:使用不同大小的卷积核对输入进行卷积;
  • Fuse:对多个卷积的结果进行聚合,预测权重;
  • Select:将聚合的结果作为权重,选择多支路的组合结果。

图5. Selective Kernel Network图5. Selective Kernel Network

Zhu X等[6]还研究了深度学习中空间注意力机制基于动态卷积[8]和可变形卷积[7]的方式。未完待续...

参考文献

[1]. Bahdanau D , Cho K , Bengio Y . Neural Machine Translation by Jointly Learning to Align and Translate[J]. Computer ence, 2014.

[2]. Vaswani A , Shazeer N , Parmar N , et al. Attention Is All You Need[J]. arXiv, 2017.

[3]. Hu J , Shen L , Sun G , et al. Squeeze-and-Excitation Networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, PP(99).

[4]. M. Jaderberg, K. Simonyan, A. Zisserman, et al. Spatial transformer networks. In NIPS, 2015.

[5]. Li X , Wang W , Hu X , et al. Selective Kernel Networks[C]// 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2020.

[6]. Zhu X , Cheng D , Zhang Z , et al. An Empirical Study of Spatial Attention Mechanisms in Deep Networks[C]// 2019 IEEE/CVF International Conference on Computer Vision (ICCV). IEEE, 2020.

[7]. Dai J , Qi H , Xiong Y , et al. Deformable Convolutional Networks[J]. 2017.

[8]. Yang B , Bender G , Le Q V , et al. CondConv: Conditionally Parameterized Convolutions for Efficient Inference[J]. 2019.

0 人点赞