Attention Mechanism
作者:互联网
- 注意力机制(Attention Mechanism)源于对人类视觉的研究。 在认知科学中,由于信息处理的瓶颈,人类会选择性的关注所有信息的一部分,同时忽略其他可见信息。实现这一能力的原因是人类视网膜的不同部位具有不一样的信息处理能力,即不同部分的敏感度(Acuity)不同,人类视网膜中央凹部位具有最高的灵敏度。为了合理利用有限的视觉信息处理资源,人类需要选择视觉区域中的特定部分,然后重点关注它。 例如人们在用电脑屏幕看电影的时候,会重点关注和处理电脑屏幕范围内的视觉,而电脑屏幕外的视觉如键盘、电脑背景等等。比如说,在看电脑屏幕的时候,会重点关注电脑屏幕的内容,同时会忽略掉旁边的键盘和音响等,这种机制就叫Attention。
- 注意力机制最早用于自然语言处理领域(NLP),后来在CV领域也得到了广泛的应用,注意力机制被引入来进行视觉信息处理。注意力机制没有严格的数学定义,例如传统的局部图像特征提取,滑动窗口方法等都可以看做一种注意力机制。在神经网络中,注意力机制通常是一个额外的神经网络,能够硬性的选择输入的某些部分,或者给输入的不同部分分配不同的权重,注意力机制能够从大量信息中筛选出重要的信息。
- 在神经网络中引入注意力机制有很多方法,以卷积神经网络为例,可以在空间维度增加引入attention机制:如inception网络的多尺度,让并联的卷积层有不同的权重,蓝色的模块×0.5的权重,黄色的×0.2等。也可以在通道维度(channel)增肌attention机制,当然也有混合维度即同时引入通道维度和空间维度的注意力机制。但是这样就会带来巨大的计算量资源消耗,性价比并不高。接下来就着重说一下attention机制。
- SE-net模型发表的时间线:
①最后一届ImageNet 2017竞赛图像分类任务的冠军,并被邀请在CVPR2017 workshop中给出算法介绍
②在2018年的CVPR会议上发表
③在2019年IEEE某期刊上发表
- 论文就是在通道维度(channel-wise)增加注意力机制,关键的两个操作是squeeze和excitation,所以论文把这个attention结构命名为SE block,SE block是为了显式的实现特征通道的相互依赖关系,就是说通过自动学习的方式(用一个新的神经网络实现)获取到每个特征的重要程度,然后用这个重要程度去给每一个特征通道赋予一个权重值,从而让神经网络重点关注某些通道的特征。即提升对当前任务有用的特征通道并抑制对当前任务用处不大的特征通道。最开始的时候每个特征权重都是相同的,即无色的,通过一系列操作后变成有颜色的,不同颜色代表了不同权重,这样就使得特征的重要性程度不同,从而让神经网络重点关注某些通道。
- 上图的具体实现过程如下:首先给定输入X,其为彩色图像或者灰度图,C’为3或者1。通过一系列卷积层(Ftr)得到一个通道数为C的特征。接下来就与传统的CNN有很大的区别。第一个操作是Squeeze(Fsq),压缩。通过全局池化的方法(公式如下),把每个通道的二维特征一共H×W个数压缩为1个实数,这属于空间维度的一种特征压缩,论文认为这种压缩方法是用每个通道的二维特征所有值一起得到的,因此在某种程度上具有全局的感受野。因为有C个通道,所以有C个实数,即1×1×C的一维向量。
第二个操作是核心操作excitation(Fex),通过1×1×C一维向量为每个特征通道生成一个权重值,并用颜色来表示。原论文通过一个bottleneck结构即两个全连接层去建模通道之间的相关性。最后得到跟输入特征数目相同的输出权重1×1×C的一维向量。
第三个操作是Scale(Fscale),比如输出的1×1×C向量的第一个元素是0.5,则H×W中所有元素都×0.5,即逐通道乘以权重系数,完成在通道维度上引入attention。 - 接下来具体讲讲SE模块是怎么做的,对于Inception结构来说特点就是多尺度,通过传统卷积输出H×W×C的特征,接着通过Global pooling即Squeeze操作压缩为1×1×C的一维向量。excitation操作是FC+Relu+FC+Sigmoid,首先通过一个全连接层将特征维度降低到原来的1/r,然后经过Relu激活函数后再通过一个全连接层回到原来的维度,这样就使得每个通道的特征都有一个相互的作用实现更好的提取有用特征。并且引入神经网络后可以通过参数更新实现自动学习的过程,达到更好的权重值。最后通过Sigmoid函数转化为一个0-1的归一化权重。
- 对于ResNet结构而言,其多了一个快速连接通道,但原理是一样的:
- 补充说明与思考:(1)原论文对比了多种分类网络加入和不加入SE block的效果,发现加入SE block的网络模型都能取得更好的分类效果。SE-net的核心思想在于通过全连接网络根据loss去自动学习特征权重,而不是直接根据特征通道的数值分布来判断,从而使得有效的特征通道权重更大。当然,SE block不可避免的增加了一些参数和计算量,但是在效果面前,这个性价比还是很高的。
(2)论文认为在excitation操作中用两个全连接层比直接用一个全连接层的好处在于:1.具有更多的非线性。2.可以更好的拟合通道间复杂度。当然也可以在里面使用三个全连接或者增加卷积层。
标签:权重,特征,Attention,Mechanism,维度,机制,SE,通道 来源: https://blog.csdn.net/qq_42308217/article/details/120178319