什么是注意力机制
视觉注意力机制是人类视觉所特有的一种大脑信号处理机制,而深度 学习中的注意力机制正是借鉴了人类视觉的注意力思维方式。一般来说, 人类在观察外界环境时会迅速的扫描全景,然后根据大脑信号的处理快速的锁定重点关注的目标区域,最终形成注意力焦点。该机制可以帮助人类在有限的资源下,从大量无关背景区域中筛选出具有重要价值信息的目标 区域,帮助人类更加高效的处理视觉信息。


2、通道注意力机制:SENet
论文下载:paper-https://arxiv.org/abs/1709.01507
代码下载:github-https://github.com/hujie-frank/SENet
方法结构简单,其核心内容就是提出了SELayer,一种即插即用的模块,可以结合多种网络使用。
通道注意力机制,顾名思义就是给予特征图不同通道不同的权重系数,使之更注意那些重要的特征。

上图是SENet的结构图,图中的Ftr是传统的卷积结构,X和U是Ftr的输入(C’xH’xW’)和输出(CxHxW)。X通过一系列卷机即可变换通道数从C’为C。接下来再进行三个操作:Squeeze, Excitation, Reweight.
(1) 图中的Fsq(.),也即Squeeze过程。目的是将得到的特征图U进行特征压缩,通过Global Average Pooling将每个通道特征图都变成了一个数,成就了全剧感受野的生成。此操作生成的特征图是1x1xC,和X,U的尺度一致。

(2) 图中的Fex(.),也即Excitation过程。目的是学习特征通道之间的相关性,并融合各个通道的特征图信息。将(1) 中得到的输出z,先用W1乘以z,就是一个全连接层操作,然后再经过一个ReLU层,输出的维度不变;然后再和W2相乘,和W2相乘也是一个全连接层的过程,输出的维度就是1*1*C;最后再经过sigmoid函数,得到s。为什么要用两次全连接层?这是因为Squeeze得到的信息都是对于单个channel来说的,在这里是为了融合所有通道的特征图信息。
![]()
(3) 图中的Fscale(.),也即Reweight过程。目的是通过控制scale的大小,把重要的特征增强,不重要的特征减弱,从而让需要的特征指向性更强。通过对卷积后的特征图进行处理,得到一个和通道数一样的一维向量作为每个通道的评价分数,然后将该分数分别施加到对应的通道上。
![]()
3、空间—通道混合注意力机制:CBAM

CBAM由(1)Channel Attention Module 和(2) Spatial Attention Module两个部分组成。

对应的shu xue biao de

(2)Spatial Attention Module 用于关注哪里的特征是有意义的。给定一个 H×W×C 的特征 F',我们先分别进行一个通道维度的平均池化和最大池化得到两个 H×W×1 的通道描述,并将这两个描述按照通道拼接在一起。然后,经过一个 7×7 的卷积层,激活函数为 Sigmoid,得到权重系数 Ms。最后,拿权重系数和特征 F' 相乘即可得到缩放后的新特征。
对应的数学表达式为:

4、自注意力机制:Non-local neural networks
其目的是为了减少对外部信息的依赖,尽可能地利用特征内部固有的信息进行注意力的交互。捕捉Long-range信息是必要的。在CNN中,其获得Long-range的方式是堆积卷积模块,来将多个小感受野扩大成大感受野。在RNN中,获得Long-range的方式需要依靠多步操作,是需要一定顺序的,无法捕捉较远位置的信息,理论上也不是Long-range。
Non-local 本质就是去找特征图中给定一个像素点与其他像素点之间的关系,将这样的关系转化成像素点之间相关性权重系数,就可以知道注意力权重的分配。下面这张图是原文中的non-local 模块,如果不做任何介绍就不是很好理解,不过至少能看出来这里有个残差的过程:Z=x+something(注意力系数)。


先看公式(1):特征图
中的一个点,
是其他任意一个点。我们通过
计算
和
之间的距离,然后乘以一个归一化系数
就可以得到两点之间的相关性值。最后再乘以一个权重系数
就完成了整个注意力的计算方式。

值得注意的是,我们要弄清楚这三个函数 ,
,
到底是什么。
刚刚说到是用来计算像素点距离,通常就是点积的方式。 在原文中,作者拓展成 Embedded Gaussian,本质上还是没有变。只不过
。
都是学到的。

对于 ,那就变成了
做一个距离归一化。再结合上面这个公式,是不是就是一个softmax?
对于,就是一个权重计算函数
,其中
也是学习得到的。
通过这一系列操作,注意力系数就被算出来了。最终每个点都能知道其他点与自己的关系了

很好理解,原来的点 加上一个权重
乘以上面算出来的
就是新的一个能拥有注意力机制的点了。 最后,强调一下这个加法之所以成立是因为用了1*1的卷积核,这样的话就可以保证通道一样,直接相加了。
先介绍那么多,后面排版再改一下。 都是自己手打的,一方面记录自己的学习内容,一方面也可以给刚接触注意力机智的同学一些帮助。

7306

被折叠的 条评论
为什么被折叠?



