最近师妹问我spatial attention和channel attention的问题,我查了一下,网上一堆资料讲的云里雾里的,这里对个人理解做一些笔记。这两种注意力机制结构如下:Spatial Attention和Channel Attention的个人理解
注意力机制,其实就是模仿人关注Region of Interest的过程(可参考显著图Saliency map)。

接下来以RGB图片 I ( H , W ) I_{(H, W)} I(H,W)为简单例子说明这两种注意力机制,想象现在以RGB矩阵为特征图,这时特征图大小为 ( H , W , 3 ) (H, W, 3) (H,W,3)

空间注意力机制. 先不管什么最大池化、平均池化、卷积降维得到 ( H , W , 4 ) (H, W, 4) (H,W,4)的Spatial Attention Module等,我们把RGB矩阵转换成 ( H , W , 1 ) (H, W, 1) (H,W,1)的灰度图矩阵,接下来利用灰度矩阵计算一幅0-1掩码图,即灰度值高于某个阈值时该像素点对应的位置设置为1,否则设置为0。这张掩码图刻画了感兴趣区域的形状,把这张0-1掩码图与原图逐通道特征图做点乘,就可以把背景因素过滤掉,仅得到红色部分的特征值(其余变成 ( 0 , 0 , 0 ) (0, 0, 0) (0,0,0))。有了这个思想,后续我们仅需要通过BP算法来让机器自学习这张掩码图。
Spatial Attention和Channel Attention的个人理解
通道注意力机制. 先不管什么信号转换问题,我们还以RGB矩阵为例,想象那个 ( 1 , 1 , 3 ) (1, 1, 3) (1,1,3)的玩意是红色的RGB特征 ( 255 , 0 , 0 ) (255, 0, 0) (255,0,0),把它在原图上做卷积,相当于加强了红色区域(类似模板匹配),通过某种操作,最后可以把红色区域的像素点保留下来,从而把背景因素过滤掉。从另一个角度思考,这里的 ( 255 , 0 , 0 ) (255, 0, 0) (255,0,0)也相当于增强了R通道,体现R通道的重要性,让模型仅关注R通道能量较强的像素点。
Spatial Attention和Channel Attention的个人理解
以上是个人理解。我是在超分辨率上见到spatial attention和channel attention这两种软注意力机制,一开始也觉着很懵逼,后来干脆从硬注意力机制入手来尝试理解这两个玩意。网上还有很多解释,这里仅仅是个人学习笔记。

相关文章: