Attention机制和SE-net论文总结

我录了一个讲解视频:https://www.bilibili.com/video/BV1SA41147uA/

Attention机制

注意力机制(Attention Mechanism)源于对人类视觉的研究。在认知科学中,由于信息处理的瓶颈,人类会选择性地关注所有信息的一部分,同时忽略其他可见的信息。实现这一能力的原因是人类视网膜的不同部位具有不一样的信息处理能力,即不同部分的敏锐度(Acuity)不同,人类视网膜中央凹部位具有最高的敏锐度。为了合理利用有限的视觉信息处理资源,人类需要选择视觉区域中的特定部分,然后重点关注它。例如人们在用电脑屏幕看电影的时候,会重点关注和处理电脑屏幕范围内的视觉,而电脑屏幕外的视觉如键盘、电脑背景等等都会被忽视。

注意力机制最早用于自然语言处理领域(NLP),后来在计算机视觉领域(CV)也得到广泛的应用,注意力机制被引入来进行视觉信息处理。注意力机制没有严格的数学定义,例如传统的局部图像特征提取、滑动窗口方法等都可以看作一种注意力机制。在神经网络中,注意力机制通常是一个额外的神经网络,能够硬性选择输入的某些部分,或者给输入的不同部分分配不同的权重。注意力机制能够从大量信息中筛选出重要的信息。

在神经网络中引入注意力机制有很多方法,以卷积神经网络为例,可以在空间维度增加引入attention机制(如inception网络的多尺度,让并联的卷积层有不同的权重),也可以在通道维度(channel)增加attention机制,当然也有混合维度即同时在空间维度和通道维度增加attention机制,本文举例说明attention机制的论文是获得了2017年最后一届ImageNet比赛图像分类冠军的SEnet模型(属于卷积神经网络CNN模型中的一种),该模型是在通道维度增加attention机制。

SE-net论文

SE-net模型发表的时间线
(1)最后一届ImageNet 2017竞赛图像分类任务的冠军,并被邀请在CVPR 2017 workshop中给出算法介绍
(2)在2018年的CVPR会议上发表
(3)在2019年IEEE Transactions on Pattern Analysis and Machine Intelligence期刊上发表

这篇论文就是通道维度(channel-wise)增加注意力机制,关键的两个操作是squeeze和excitation,所以论文把这个attention结构命名为SE block,SE block是为了显式地实现特征通道的的相互依赖关系,就是说就是通过自动学习的方式(用另外一个新的神经网络实现)获取到每个特征通道的重要程度,然后用这个重要程度去给每一个特征通道赋予一个权重值,从而让神经网络重点关注某些特征通道,即提升对当前任务有用的特征通道并抑制对当前任务用处不大的特征通道。

注意力机制的具体实现过程如上图所示。给定一个输入x,其特征通道数为C',通过一系列卷积等(Ftr)一般变换后得到一个特征通道数为C的特征。与传统的CNN不一样的是,接下来通过三个操作来重标定前面得到的特征。

第一个操作:Squeeze(Fsq),通过全局池化(global pooling),将每个通道的二维特征(H×W)压缩为1个实数,论文是通过平均值池化的方式实现。这属于空间维度的一种特征压缩,因为这个实数是根据二维特征所有值算出来的,所以在某种程度上具有全局的感受野,通道数保持不变,所以通过squeeze操作后变为1×1×C。

 squeeze的公式:

第二个操作:excitation(Fex),通过参数来为每个特征通道生成一个权重值,这个权重值是如何生成就很关键了,论文是通过两个全连接层组成一个Bottleneck结构去建模通道间的相关性,并输出和输入特征同样数目的权重值。

      

上面两图说明了这个SE block是如何嵌入到主流网络(Inception和resnet)中的,Global pooling就是squeeze操作,FC + ReLu + FC + Sigmoid就是excitation操作,具体过程是首先通过一个全连接层(FC)将特征维度降低到原来的1/r,然后经过ReLu函数激活后再通过一个全连接层(FC)生回到原来的特征维度C,然后通过sigmoid函数转化为一个0~1的归一化权重。

第三个操作:Scale(Fscale),将前面得到的归一化权重加权到每个通道的特征上。论文中的方法是用乘法,逐通道乘以权重系数,完成再通道维度上引入attention机制。

scale的公式:

实验结果如下图所示,证明了SENEt具有很强的能力。

补充说明与思考

(1)论文中对比了多种分类网络加入和不加入SE block的效果,发现加入SE block的网络模型都能取得更好的分类效果。SEnet的核心思想在于通过全连接网络根据loss去自动学习特征权重(而不是直接根据特征通道的数值分布来判断),使得有效的特征通道权重大。当然,SE block不可避免地增加了一些参数和计算量,但是在效果面前,这个性价比还是很高的。

(2)论文认为在excitation操作中用两个全连接层比直接用一个全连接层的好处在于:1)具有更多的非线性,可以更好地拟合通道间复杂的相关性;2)极大地减少了参数量和计算量。

 

文献的三种来源地址:

Hu J, Shen L, Albanie S, et al. Squeeze-and-Excitation Networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019: 1-1.

Hu J, Shen L, Sun G, et al. Squeeze-and-Excitation Networks[C]. computer vision and pattern recognition, 2018: 7132-7141.

Hu J, Shen L, Sun G, et al. Squeeze-and-Excitation Networks[J]. arXiv: Computer Vision and Pattern Recognition, 2017.

猜你喜欢

转载自blog.csdn.net/Amigo_1997/article/details/105948497