文章目录
一、EPSANet: An Efficient Pyramid Split Attention Block on Convolutional Neural Network
摘要: 最近,有研究表明,通过向深度卷积神经网络中嵌入一个注意模块,可以有效地提高该网络的性能。本文提出了一种新的轻量级、有效的注意力方法——金字塔分散注意力(EPSA)模块。通过在ResNet瓶颈块中的PSA模块替换3x3卷积,得到了一种新的高效金字塔分裂注意(EPSA)。EPSA块可以很容易地作为一个即插即用的组件添加到一个成熟的主干网络中,并且可以实现在模型性能上的显著改进。因此,通过叠加这些ResNet风格的EPSA块,我们开发了一个名为EPSANet的简单而高效的主干架构。相应地,EPSANet可以为包括但不限于图像分类、目标检测、实例分割等各种计算机视觉任务提供更强的多尺度表示能力。在没有花哨的情况下,提议的EPSANet的性能优于大多数最先进的频道注意方法。
1引言
注意机制被广泛应用于图像分类、目标检测、实例分割、语义分割、场景解析和动作定位等计算机视觉领域。具体来说,注意方法有两种类型,即通道注意和空间注意。最近,有研究表明,使用通道注意、空间注意或两者的可以显著提高性能。最常用的信道注意方法是挤压和激励(SE)模块,它可以以相当低的成本显著提高性能。SENet的缺点是它忽略了空间信息的重要性。因此,我们提出了瓶颈注意模块(BAM)和卷积块注意模块(CBAM),通过有效地结合空间注意和通道注意来丰富注意图。然而,仍然存在两个重要的和具有挑战性的问题需要解决。第一个问题是如何有效地捕获和利用不同尺度的特征地图的空间信息,以丰富特征空间。第二,通道或空间注意只能有效地捕获局部信息,但不能建立一个长期的通道依赖关系。相应地,人们提出了许多方法来解决这两个问题。提出了基于多尺度特征表示和跨通道信息交互的方法,如PyConv、Res2Net和HS-ResNet等。另一方面,可以建立一个长期的信道依赖关系。然而,上述方法的模型复杂度较高,网络计算量较大。基于以上观察,我们认为有必要开发一个低成本但有效的注意模块。本文提出了一种低成本、高性能的新模块金字塔分散注意力(EPSA)。所提出的PSA模块具有在多个尺度上处理输入张量的能力。具体来说,一个普通的特征图被分成S组,每个组都有CS通道。然后,利用多尺度金字塔卷积结构在每个通道特征图上整合不同尺度的信息。通过这样做,可以更精确地合并上下文特征的邻居尺度。最后,通过提取多尺度特征图的通道级注意权重,建立了跨维交互作用。采用Softmax操作重新校准相应信道的注意权重,从而建立了长期信道依赖性。因此,利用ResNet瓶颈块中的3x3模块代替3x3卷积,得到了一个新的有效金字塔分裂注意(EPSA)块。此外,通过将这些EPSA块叠加为ResNet风格,提出了一种名为EPSANet的网络。如图1所示,所提出的EPSANet不仅在Top-1的精度方面优于现有技术,而且在所需的参数方面效率更高。本工作的主要贡献总结如下:
- 提出了一种新的有效金字塔分裂注意力(EPSA)块,该块可以在更细的水平上有效提取多尺度空间信息,并发展长期信道依赖性。所提出的EPSA块具有非常灵活和可扩展性,因此可以应用于各种网络架构的许多计算机视觉任务。
- 提出了一种新的主干架构EPSANet,该架构可以学习更丰富的多尺度特征表示,并自适应地重新校准跨维通道注意权重。
- 大量的实验表明,所提出的EPSANet在ImageNet和COCO数据集上的图像分类、目标检测和实例分割等方面都可以取得良好的结果。
2 相关工作
注意力机制 注意机制用于加强信息最丰富的特征表达的分配,同时抑制不太有用的特征表达,从而使模型自适应地关注上下文中的重要区域。SENet中的挤压和激发(SE)注意可以通过选择性地调节通道的尺度来捕获通道的相关性。CBAM中的CBAM可以通过为大尺寸核的通道注意添加最大池特征来丰富注意图。受CBAM的激励,A2Net中的GSoP提出了一种二阶池化方法来提取更丰富的特征聚合。最近,提出了非局部块来构建密集的空间特征图,并通过非局部操作捕获长期依赖关系。基于非局部块,双注意网络(A2Net)引入了一种新的关系函数,将注意力与空间信息嵌入到特征图中。因此,SKNet引入了一种动态选择注意机制,允许每个神经元根据输入特征图的多个尺度自适应地调整其接受野的大小。ResNeS提出了一个类似的分散注意力块,可以跨特征图的组进行注意。Fcanet提出了一种新的多频谱信道注意方法,实现了频域信道注意机制的预处理。GCNet引入了一个简单的空间注意模块,从而开发了一个长期的通道依赖性。ECANet采用一维卷积层来减少全连接层的冗余性。DANet通过将这两个来自不同分支的注意模块相加,自适应地将局部特征与其全局依赖性集成起来。上述方法要么侧重于设计更复杂的注意力模块,这不可避免地会带来更大的计算成本,要么它们不能建立一个长期的信道依赖性。因此,为了进一步提高效率和降低模型复杂度,提出了一种新的注意模块PSA,该模块旨在学习低模型复杂度的注意权重,并有效地整合局部和全局注意,建立长期通道依赖性。
多尺度的特征表示 多尺度特征表示的能力对于各种视觉任务至关重要,如实例分割、面部分析、目标检测、显著目标检测和语义分割。为视觉识别任务更有效地提取多尺度特征是至关重要的。通过在CNN中嵌入一个可进行多尺度特征提取的算子,可以获得更有效的特征表示能力。另一方面,CNN可以通过一堆卷积运算符自然地学习从粗到细的多尺度特征。因此,设计一个更好的卷积算子是改进CNN多尺度表示的关键。
3 方法
3.1恢复通道注意力
通道注意力 通道注意机制允许网络有选择地加权每个信道的重要性,从而产生更多的信息输出。让
X
∈
R
C
×
H
×
W
X∈R^{C×H×W}
X∈RC×H×W表示输入特征图,其中数量H、W、C分别表示其高度、宽度、输入通道数。SE块由两部分组成:挤压和激励两部分,它们分别被设计用于编码全局信息和自适应地重新校准信道方向的关系。通常,可以使用全局平均池生成通道统计信息,该池用于将全局空间信息嵌入到通道描述符中。全局平均池化算子可以用下式计算出来:
g
c
=
1
H
×
W
∑
i
=
1
H
∑
j
=
1
W
x
c
(
i
,
j
)
g_c=\frac{1}{H×W}\sum_{i=1}^H\sum_{j=1}^W x_c(i,j)
gc=H×W1i=1∑Hj=1∑Wxc(i,j)
SE块中第c个通道的注意权重可以写为:
w
c
=
σ
(
W
1
σ
(
W
0
(
g
c
)
)
)
w_c = \sigma(W_1\sigma(W_0(g_c)))
wc=σ(W1σ(W0(gc)))
其中,符号
σ
\sigma
σ表示再生线性单元(ReLU)操作,
W
0
∈
R
C
×
C
r
W0∈R^{C×\frac{C}r}
W0∈RC×rC和
W
1
∈
R
C
r
×
C
W_1∈R^{\frac{C}{r}×C}
W1∈RrC×C表示全连接(FC)层。通过两个全连接层,可以更有效地组合通道之间的线性信息,有助于高、低通道维数信息的交互。符号
σ
\sigma
σ表示激励函数,在实际应用中通常使用s型函数。利用激励函数,我们可以在通道交互后给通道赋权重,从而更有效地提取信息。以上介绍的信道注意权值的生成过程被命名为SEWeight模块,SEWeight模块的示意图如图2所示。
3.2PSA模块
这项工作的动机是建立一个更有效的通道注意机制。因此,提出了一种新的金字塔分裂注意力(PSA)模块。如图3所示,PSA模块主要分四个步骤实现。首先,通过实现所提出的拆分和拼接(SPC)模块,得到了在通道方向上的多尺度特征图。其次,利用SEWeight模块提取不同尺度的特征图的注意力,获得通道级注意向量。第三,利用Softmax重新校准通道级注意向量,得到多尺度通道的权重。第四,将元素级输出的操作应用于重新校准的权重和相应的特征图。最后,可以得到一个具有更丰富的多尺度特征信息的精细化特征图作为输出。
如图4所示,在提出的PSA中实现多尺度特征提取的基本操作符是SPC,输入特征图X被分割成S部分,用
[
X
0
,
X
1
,
⋅
⋅
⋅
,
X
S
−
1
]
[X_0,X_1,···,X_{S−1}]
[X0,X1,⋅⋅⋅,XS−1]表示。对于每个分割的部分,它有的通道数为
C
I
=
C
s
C^I=\frac{C}s
CI=sC,第i个特征图为
X
i
∈
R
C
I
×
H
×
W
Xi∈R^{C^I×H×W}
Xi∈RCI×H×W,i=0,1,···,S−1。请注意,C应该可以被s整除。通过这种分裂的方式,我们可以在多个尺度上并行处理输入张量,从而可以得到一个包含单一类型的核的特征映射。相应地,可以提取出每个信道级特征图上的空间信息。通过在金字塔结构中使用多尺度卷积核,可以产生不同的空间分辨率和深度。对于每个分割的部分,它独立地学习多尺度空间信息,并建立一个局部方式的跨通道交互。
然而,随着内核大小的增加,参数的数量将会得到巨大的改进。为了在不增加计算代价的情况下处理不同核尺度下的输入张量,引入了一种群卷积的方法,并将其并行应用于卷积核中。进一步,我们设计了一个新的准则来选择组的大小,而不增加参数的数量。多尺度内核大小与组大小之间的关系可以写为:
G
=
2
K
−
1
2
G=2^{\frac{K-1}2}
G=22K−1
其中,数量K是核大小,G是组大小。我们的消融实验已经证实了上述公式,特别是当k×k等于3×3,G的默认值为1时。最后,给出了多尺度特征映射生成函数。
F
i
=
C
o
n
v
(
k
i
×
k
i
,
G
i
)
(
X
i
)
i
=
0
,
1
,
2
,
⋅
⋅
⋅
,
S
−
1
F_i = Conv(k_i × k_i, G_i)(X_i) i = 0, 1, 2, · · · , S − 1
Fi=Conv(ki×ki,Gi)(Xi)i=0,1,2,⋅⋅⋅,S−1
其中,第i个内核大小
k
i
=
2
×
(
i
+
1
)
+
1
k_i=2×(i+1)+1
ki=2×(i+1)+1,第i个组大小
G
i
=
2
k
i
−
1
2
G_i=2^{\frac{k^i−1}{2}}
Gi=22ki−1和
F
i
∈
R
C
I
×
H
×
W
F_i∈R^{C^I×H×W}
Fi∈RCI×H×W表示不同尺度的特征图。整个多尺度预处理特征图可以通过串联的方法得到
F
=
C
a
t
(
[
F
0
,
F
1
,
⋅
⋅
⋅
,
F
S
−
1
]
)
F = Cat([F_0, F_1, · · · , F_{S−1}])
F=Cat([F0,F1,⋅⋅⋅,FS−1])
其中,
F
∈
R
C
×
H
×
W
F∈R^{C×H×W}
F∈RC×H×W为得到的多尺度特征图。通过从多尺度预处理特征图中提取信道注意权值信息,得到了不同尺度的注意权值向量。在数学上,注意权重的向量可以表示为:
Z
=
Z
0
⊕
Z
1
⊕
⋅
⋅
⋅
⊕
Z
S
−
1
Z = Z_0 ⊕ Z_1 ⊕ · · · ⊕ Z_{S−1}
Z=Z0⊕Z1⊕⋅⋅⋅⊕ZS−1
式中,⊕为连接算子,
Z
i
Z_i
Zi为
F
i
F_i
Fi的注意值,Z为多尺度注意权重向量。在紧凑的特征描述符
Z
i
Z_i
Zi的引导下,采用软注意法跨通道自适应地选择不同的空间尺度。一个软分配的权重是由
a
t
t
i
=
S
o
f
t
m
a
x
(
Z
i
)
=
e
x
p
(
Z
i
)
∑
i
=
0
S
−
1
e
x
p
(
Z
i
)
att_i = Softmax(Z_i)=\frac{exp(Z_i)}{\sum^{S-1}_{i=0}exp(Z_i)}
atti=Softmax(Zi)=∑i=0S−1exp(Zi)exp(Zi)
其中,使用Softmax来获得多尺度通道的重新校准的权重atti,其中包含了空间上的所有位置信息和通道中的注意权重。通过这样做,就实现了本地和全局通道注意之间的交互作用。然后,将特征重校准的通道注意进行串联融合和拼接,从而得到整个通道注意向量为
a
t
t
=
a
t
t
0
⊕
a
t
t
1
⊕
⋅
⋅
⋅
⊕
a
t
t
S
−
1
att = att_0 ⊕ att_1 ⊕ · · · ⊕ att_{S−1}
att=att0⊕att1⊕⋅⋅⋅⊕attS−1
其中,att表示注意交互作用后的多尺度通道权重。然后,我们将重新校准的多尺度通道注意的权重与相应尺度Fi的特征图相乘为:
:
Y
i
=
F
i
⨀
a
t
t
i
,
i
=
1
,
2
,
3
,
⋅
⋅
⋅
S
−
1
Y_i = F_i \bigodot att_i, i = 1, 2, 3, · · · S − 1
Yi=Fi⨀atti,i=1,2,3,⋅⋅⋅S−1
式中表示通道方向的乘法,
Y
i
Y_i
Yi表示所得到的多尺度通道方向的注意权值的特征图。串联算子比求和更有效,因为它可以在不破坏原始特征映射信息的情况下整体地保持特征表示。总之,获得精细化输出的过程可以写成:
O
u
t
=
C
a
t
(
[
Y
0
,
Y
1
,
⋅
⋅
⋅
,
Y
S
−
1
]
)
Out=Cat([Y_0,Y_1,···,Y_{S−1}])
Out=Cat([Y0,Y1,⋅⋅⋅,YS−1])