深度学习中的注意力机制
一.注意机制可分为两种类型
根据它们所适用的范围:通道注(CA)和空间注意(SA)。CA和SA可以进一步分为三个过程:
1.squeeze:通过通道(CA)或空间区域(SA)从X中提取一个或多个统计量S的过程。统计量通过池化方法提取,SA可使用1X1的卷积。
2.excitation:利用提取的统计数据,进行激励过程捕获通道(CA)或空间区域(SA)之间的相互关系,生成一个大小为1×1×C (CA)或H×W×1 (SA)。在所有的方法中,CA都使用两个全连接(FC)层,其瓶颈结构约简率为r。对于SA,使用一个或两个卷积。
3.scaling:为了重新校准输入的特征图,生成的注意力图通过一个范围为0到1的sigmoid函数进行归一化,然后用于与X进行通道或空间方向的乘法。对所有方法应用相同的缩放过程。
二.经典的注意力机制
1.RCAB
RCAB中使用的注意力机制用于分类和检测任务的挤压-激励(SE)块的注意力机制相同,该机制的目的是通过利用通道间的相关性来重新校准滤波器响应。在挤压过程中采用平均池化,激励过程如下:
2.CBAM
尽管RCAB中的注意力机制仅使用通道间关系来细化特征图,但CBAM通过其CA和SA模块利用了特征图的通道间和空间间关系。在CA模块中,与RCAB的不同之处在于,在挤压过程中会额外进行最大池化,并且将两种统计信息用于激励过程。对于SA模块,平均和最大合并的结果也将应用于压缩过程,从而生成两个2D统计信息。将它们串联起来,并使用一个7×7卷积进行激发过程。为了结合这两种注意机制,CBAM依次执行CA和SA。
3.CSAR block
与CBAM相似,CSAR块包括CA和SA。前者等于RCAB。对于SA,与CBAM相比,输入特征图将继续进行激励过程,而不会经历挤压过程。激励过程使用两个1×1卷积,其中第一个具有C×γ滤镜,第二个具有单个滤镜。在此,γ是增加率。 CBAM按顺序组合了两种注意机制,而CSAR块使用级联和1×1卷积以并行方式将它们组合。
4.RAM
Channel attention (CA):先前工作中CA机制的压缩过程仅采用了流行的平均池化方法,该方法用于高级计算机视觉问题,例如图像分类和目标检测,而无需修改。但是,由于SR最终旨在恢复图像的高频分量,因此使用有关通道的高频统计信息来确定注意力图更为合理。为此,我们选择对合并方法使用方差而不是平均值,即
Spatial attention (SA):特征图Xr-1中的每个通道都有不同的含义,这取决于所使用的滤波器的作用。例如,某些滤镜将在水平方向上提取边缘分量,而某些滤镜将在垂直方向上提取边缘分量。从SR的角度来看,通道的重要性随空间区域而变化。例如,在边缘或复杂纹理的情况下,更详细的信息(即来自复杂滤镜的信息)更为重要。另一方面,在几乎没有高频成分(例如天空或漫画图像的均匀区域)的区域的情况下,相对较少的详细信息更为重要,需要注意。在这方面,每个通道的SA映射需要不同。因此,与在其SA模块中执行压缩过程的CBAM不同,我们提出的方法不会按每个通道压缩信息以保留特定于通道的特性。另外,对于激励过程,与生成单个2D SA映射的其他SA机制相比,我们使用深度卷积[7]为每个通道MSA∈RH×W×C获得了不同的SA映射,即
Fused attention (FA):提出的CA和SA机制分别利用通道间和通道内关系的信息。因此,为了同时利用这两种机制的好处,我们通过添加CA和SA映射将它们组合在一起,然后使用Sigmoid函数执行缩放过程,其结果用于重新校准特征映射Xr-1:
注:以上注意力机制结构图中,各模块代表的意思为:
各个注意力机制类型的结构为: