论文地址:
https://arxiv.org/abs/1807.06514
定义:
Bottleneck Attention Module (BAM)通过两个分离的路径 channel和spatial, 得到一个Attention Map。
并且BAM可以与任何向前传播卷积神经网络集成。
整体过程公式化:
对于给定的输入特征映射F∈RC×H×W, BAM推断出一个三维注意映射M(F)∈RC×H×W。细化后的特征图f’计算为:
① 通道注意力:
W0∈ RC/r×C, b0∈ RC/r, W1∈ RC×C/r, b1∈ RC
特征图F首先会经过全局平均池化操作,得到一个向量Fc∈ RC×1×1。这个矢量对每个信道中的全局信息进行软编码。为了估计来自信道向量Fc的跨信道注意力,我们使用了一个带有一个隐藏层的多层感知器(MLP)。为了节省参数开销,隐藏的激活大小被设置为RC/r×1×1,其中r是缩减比率。在MLP之后,添加了一个代表批处理归一化层(BN)用来调整通道注意分支输出的尺度。
② 空间注意力:
空间注意力分支产生一个Ms(F) ∈RH×W特征图,来强调或者抑制不同位置的特征。这首先需要一个大的感受野,以有利于利用上下文信息。于是这里用到了扩张卷积。具体来说,特征图F ∈ RC×H×W通过1×1卷积降维到RC/r×H×W,以集成和压缩跨通道维度的特征图。为了简单起见,我们对信道分支使用相同的还原比r。经过约简后,应用两个3×3展开卷积来有效地利用上下文信息。最后,利用1×1卷积将特征再次简化为R1×H×W空间注意图。对于尺度调整,在空间分支的末尾应用了一个批处理归一化层。简而言之,空间注意的计算方法为:、
其中f为卷积运算,BN为批处理归一化运算,上标为卷积滤波器的大小。有两个用于信道缩减的1×1卷积,中间的3×3扩展卷积被应用于具有较大接受域的上下文信息聚合。
③ 整合两个注意分支:
从两个注意分支中获得通道注意Mc(F)和空间注意Ms(F)后,将它们结合起来生成最终的三维注意图M(F)。由于这两种注意力图的形状不同,我们在结合前先把注意力图扩展为RC×H×W。在各种组合方法中,如逐元求和、乘法或最大运算,我们选择逐元求和来实现高效梯度流。我们通过经验验证,元素求和的结果是最好的。求和后,我们取一个sigmoid函数,得到最终大小在0到1之间的三维注意力地图M(F)。将该三维注意图与输入特征图F巧妙相乘,然后将其添加到原始输入特征图上,得到精细化的特征图F’。