文章链接:https://arxiv.org/pdf/2106.08382.pdf
在本文中,作者提出了一个新的注意模块,不仅实现了最佳的性能,而且与大多数现有模型相比,具有较少的参数。DMSANet可以很容易地与其他卷积神经网络集成。提出的双多尺度DMSANet由两部分组成:第一部分用于提取不同尺度的特征并将其聚合,第二部分并行使用空间和通道注意模块,自适应地将局部特征与其全局依赖性相结合。
注意力机制领域的发展受到了两个问题的限制:
1)空间和通道注意以及网络使用两者的结合只使用局部信息,而忽略了远程通道依赖;
2)以前的体系结构未能在不同的尺度上捕获空间信息,以提高鲁棒性并处理更复杂的问题。
金字塔分裂注意力(PSA)能够在多个尺度上处理输入张量。多尺度金字塔卷积结构用于在每个通道特征图上集成不同尺度的信息。提取多尺度特征映射的通道注意权重,从而实现长距离通道依赖。
Non-Local block用于构建密集的空间特征图,并使用非局部操作捕获长期依赖性。使用了一种动态选择注意机制,允许每个神经元根据输入特征图的多个尺度自适应调整其感受野大小。
Dual attention network for scene segmentation通过将来自不同分支的两个注意力模块相加,自适应地将局部特征与其全局依赖性相结合。Dual attention network for scene segmentation使用空间扩展模块,使用深度卷积来聚合单个特征。本文借鉴了Channelnets: Compact and efficient convolutional neural networks via channel-wise convolutions.的想法,利用网络捕捉本地跨通道互动。
本文主要贡献可以总结如下:
提出了一种新的注意模块,该模块在不同尺度上聚集特征信息。
本网络在不同的尺度上利用空间和通道注意力捕捉更多的上下文信息。
实现细节:
Feature Grouping
Shuffle Attention模块将输入特征图分成若干组,并使用Shuffle单元将通道注意力模块和空间注意力模块集成到每个组的一个块中。子特征被聚合,并使用“通道洗牌”操作符在不同子特征之间传递信息。
对于给定的特征映射 X ∈ R C × H × W X∈ R^{C×H×W} X∈RC×H×W,其中C、H、W分别表示通道数、空间高度和宽度,Shuffle Attention模块将X沿通道维度分成G组,即 X = [ X 1 , X G ] X=[X_1,X_G] X=[X1?,XG?], X k ∈ R C / G × H × W X_k∈ R^{C/G×H×W} Xk?∈RC/G×H×W。注意力模块用于衡量每个特征的重要性。 X k X_k Xk?的输入沿通道维度分为两个网络 X k 1 、 X k 2 ∈ R C / 2 G × H × W Xk1、Xk2∈ R^{C/2G×H×W} Xk1、Xk2∈RC/2G×H×W。第一个分支用于利用通道之间的关系生成通道注意力特征图,而第二个分支用于利用不同特征的空间关系生成空间注意特征图。
Channel Attention Module
通道注意模块用于有选择地加权每个通道的重要性,从而产生最佳输出特性。这有助于减少网络参数的数量。 X ∈ R C × H × W X∈ R^{C×H×W} X∈RC×H×W表示输入特征图,其中H、W、C分别表示高度、宽度和输入通道的数量。SE模块由压缩和激励两部分组成,分别用于编码全局信息和自适应地重新校准通道关系。全局平均池化(GAP)操作可通过如下等式所示的公式计算:
SE块中 c t h c^{th} cth通道的注意权重可以写成等式2所示:
W 0 ∈ R C × C r W_0∈ R^{C×C}r W0?∈RC×Cr和 W 1 ∈ R C r × C W_1∈ R^{C_r×C} W1?∈RCr?×C表示全连接层(FC)。符号σ表示激活函数,通常使用Sigmoid。
计算通道注意力特征图 X ∈ R C × C X∈ R^{C×C} X∈RC×C源于原始特征图 A ∈ R C × H × W A∈ R^{C×H×W} A∈RC×H×W。将A reshape为 R C × N R^{C×N} RC×N,然后在A和A的转置之间执行矩阵乘法。然后应用softmax来获得通道注意力特征图 X ∈ R C × C X∈ R^{C×C} X∈RC×C,如等式3所示:
其中, x j i x_{ji} xji?测量第i个通道对第j个通道的影响。在X和A的转置之间执行矩阵乘法,并将其结果reshape为 R C × H × W R^{C×H×W} RC×H×W。最后的结果与一个一个比例参数β相乘,并且对A执行元素求和运算,以获得最终输出 E ∈ R C × H × W E∈ R^{C×H×W} E∈RC×H×W
Spatial Attention Module
使用实例规范化(IN)来获得 X k 2 X_{k2} Xk2?上的空间方面的统计信息。 F c () F c() Fc()操作用于增强 X k 2 X_{k2} Xk2?的表示。空间注意力的最终输出是通过 W 2 W_2 W2?和 b 2 b_2 b2?(一个形状为 R C / 2 G × 1 × 1 R^{C/2G×1×1} RC/2G×1×1)的参数获得的。然后将两个分支连接起来,使通道量数等于输入的通道数量。
局部特征 A ∈ R C × H × W A∈ R^{C×H×W} A∈RC×H×W被送入卷积层,以生成两个新的特征映射B和C,其中B,C∈ R C × H × W R^{C×H×W} RC×H×W。将它们reshape为 R C × N R^{C×N} RC×N,其中N=H×W是像素数。接下来,在C和B的转置之间进行矩阵乘法,并应用softmax层来计算空间注意图 S ∈ R N × N S∈ R^{N×N} S∈RN×N。该操作如等式1所示:
其中, s j i s_ji sj?i为第i个位置对第j个位置的影响。接下来,将特征A输入一个卷积层,以生成一个新的特征映射 D ∈ R C × H × W D∈ R^{C×H×W} D∈RC×H×W 在D和S的转置之间进行矩阵乘法,并将结果整形为 R C × H × W R^{C×H×W} RC×H×W。将其乘以一个比例参数α,并对特征a执行元素式求和运算,以获得最终输出 E ∈ R C × H × W E∈ R^{C×H×W} E∈RC×H×W如等式2所示:
Aggregation
在网络的最后部分,所有子特征都被聚合。使用“channel shuffle”操作符使跨组信息沿着通道维度流动。本模块的最终输出与输入大小相同,这使得本模块很容易与其他网络集成。
整个多比例尺预处理特征图可通过等式7中定义的concatenation方式获得:
F ∈ R C × H × W F∈ R^{C×H×W} F∈RC×H×W是获得的多尺度特征图。本注意力模块被用于跨通道自适应地选择不同的空间尺度,这是由特征描述符引导的。该操作在等式8中定义:
最后,将多尺度通道注意力 a t t i a_{tti} atti?的重新校准权重乘以相应尺度 F i F_i Fi?的特征图,如等式9所示:
Network Architecture
DMSA模块,目的是构建更高效、可扩展的体系结构。网络的第一部分借鉴了(SKnet)和(Sa-net: Shuffle attention for deep convolutional neural networks)的观点。将输入特征映射X与通道尺寸一起分为N个部分。对于每个分裂部分,它具有 C 0 = C S C_0= C_S C0?=CS?的共同通道,并且第i个特征映射是 X i ∈ R C 0 × H × W X_i∈ R^{C_0×H×W} Xi?∈RC0?×H×W。各个特征在传递到两个不同的分支之前进行融合。
这两个分支由空间注意模块和通道注意模块组成,如(Dual attention network for scene segmentation)所提出的。本网络的第二部分做了以下工作:
1)构建空间注意矩阵,对特征的任意两个像素之间的空间关系进行建模;
2)注意矩阵与原始特征之间的矩阵乘法。
3) 对得到的矩阵和原始特征进行元素求和运算。
运算符concat和sum用于reshape特征。来自两个并行分支的特征被聚合以生成最终输出。完整的网络架构如下所示:
与下图中的Resnet、SENet和EPSANet进行了比较。在3×3卷积和1×1卷积之间使用DMSA模块。本网络能够提取不同尺度的特征,并在通过注意力模块之前聚合这些单独的特征。
整个网络架构如下:
实验结果: