编辑:Happy
首发:AIWalker
本文是深圳大学&西安交大在注意力机制方面的探索,在通道注意力的基础上,引入多尺度思想,构建了本文所提的即插即用EPSA模块。相比其他注意力机制(比如SENet、FcaNet等),所提EPSANet在图像分类、目标检测以及实例分割任务上均取得了显著性能提升。
Abstract
已有研究表明:将注意力模块嵌入都现有CNN中可以带来显著的性能提升。比如,知名的SENet、BAM、CBAM、ECANet、GCNet、FcaNet等注意力机制均带来了客观的性能提升。
本文提出了一种新颖的轻量且高效的注意力模块PSA,采用所提PSA替换ResNet网络Bottleneck中的 3 × 3 3\times 3 3×3卷积得到了新的模块EPSA,所得EPSA可以作为一种“即插即用”模块用于现有骨干网络并显著提升性能。由此构建的骨干网络称之为EPSANet,它可以提供更强的多尺度特征表达并服务于下游任务,比如图像分类、目标检测、实例分割等。
无需任何技巧,所提EPSANet取得了优于其他注意力模型的性能。相比SENet50,所提方案在图像分类任务上取得了1.93%的精度提升,在目标检测任务上取得2.7boxAP指标提升,在实例分割任务上取得了1.7mAP指标提升。
Method
Revisiting Channel Attention
上图给出了通道注意力的结构示意图,它包含GAP+两个全连接层,可以描述如下:
g
c
=
1
H
×
W
∑
i
=
1
H
∑
j
=
1
W
x
(
i
,
j
)
w
c
=
σ
(
W
1
δ
(
W
0
(
g
c
)
)
)
g_c = \frac{1}{H \times W} \sum_{i=1}^H \sum_{j=1}^W x(i,j) \\ w_c = \sigma(W_1\delta(W_0(g_c)))
gc=H×W1i=1∑Hj=1∑Wx(i,j)wc=σ(W1δ(W0(gc)))
PSA Module
本文旨在构建一种更高效且有效的通道注意力机制,提出了一种新的金字塔拆分注意力模块(Pyramid Split Attention, PSA),见上图。处理流程描述如下:
- 先,我们通过所提SPC(Split and Concat)模块构建多尺度特征;
- 然后,通过SE方式得到通道级注意力向量以提取不同尺度特征;
- 其次,采用Softmax对上述所得通道注意力向量进行重校正;
- 最后,将校正后注意力向量作用于多尺度特征图并将结果作为输出。
最后所得输出具有丰富的多尺度信息。那么,SPC是个什么鬼呢?看下图。
从前面我们了解到:PSA的关键在于多尺度特征提取,即SPC模块。假设输入为X,我们先将其拆分为S部分
[
X
0
,
X
1
,
⋯
,
X
S
−
1
]
[X_0, X_1, \cdots, X_{S-1}]
[X0,X1,⋯,XS−1],然后对不同部分提取不同尺度特征,最后将所提取的多尺度特征通过Concat进行拼接。上述过程可以简单描述如下:
[
X
0
,
X
1
,
⋯
,
X
S
−
1
]
=
S
p
l
i
t
(
X
)
F
i
=
C
o
n
v
(
K
i
×
k
i
,
G
i
)
(
X
i
)
,
i
=
0
,
1
,
⋯
,
S
−
1
F
=
C
a
t
(
[
F
0
,
F
1
,
⋯
,
F
S
−
1
]
)
[X_0, X_1, \cdots, X_{S-1}] = Split(X) \\ F_i = Conv(K_i \times k_i, G_i)(X_i), i=0,1,\cdots, S-1 \\ F = Cat([F_0, F_1,\cdots, F_{S-1}])
[X0,X1,⋯,XS−1]=Split(X)Fi=Conv(Ki×ki,Gi)(Xi),i=0,1,⋯,S−1F=Cat([F0,F1,⋯,FS−1])
在上述特征基础上,我们对不同部分特征提取注意力权值,公式如下:
Z
i
=
S
E
W
e
i
g
h
t
(
F
i
)
,
i
=
0
,
1
,
⋯
,
S
−
1
Z_i = SEWeight(F_i), i=0,1,\cdots, S-1
Zi=SEWeight(Fi),i=0,1,⋯,S−1
为更好的实现注意力信息交互并融合跨维度信息,我们将上述所得注意力向量进行拼接,即
Z
=
Z
0
⊕
Z
1
⊕
⋯
⊕
Z
S
−
1
Z=Z_0 \oplus Z_1 \oplus \cdots \oplus Z_{S-1}
Z=Z0⊕Z1⊕⋯⊕ZS−1.然后,我们再对所得注意力权值进行归一化,定义如下:
a
t
t
=
S
o
f
t
m
a
x
(
Z
)
att = Softmax(Z)
att=Softmax(Z)
最后,我们即可得到校正后的特征:
Y
=
F
⊙
a
t
t
Y = F \odot att
Y=F⊙att。
Network Design
上图给出了所提EPSA模块架构示意图,并将其与SENet、ResNet等进行了对比。EPSANet的网络结构配置信息见下表。
Experiments
Image Classification on ImageNet
上表给出了ImageNet上的性能对比,从中可以看到:
- 相比ResNet50,EPSANet50-Small取得了2.29%精度提升,且参数量少11.7%,计算量少12.1%;
- 相比SENet101,EPSANet50-Small取得了相当精度,二参数量节省54.2%,计算量节省53.9%;
- 相比ResNet101,SENet101,EPSANet101-Small分别取得了1.6%和0.81%的精度提升,并分别节省12.7%与21.1%的计算资源;
- EPSANet50-Large与EPSANet101-Large分别取得了各自领域的最佳性能。
Object Detection on MS COCO
上表给出了不同方案在COCO数据集上目标检测的性能对比,从中可以看到:
- 所提方法取得了最佳检测性能;
- EPSANet50-Small以更少的参数量、更低的计算量超过了SENet50;
- 相比FcaNet,所提EPSANet50-Large取得了更高的AP指标。
- 上述实验结果表明:EPSANet具有很好的泛化性能,可以非常容易应用到其他下游任务。
Instance Segmentation on MS COCO
上表给出了COCO数据集上实例分割的性能对比,很明显:
- EPSANet再一次超越了其他注意力方案。
- 相比FcaNet,EPSANet50-Large具有更高的AP指标。
全文到此结束,更多消融实验与分析建议查看原文。
推荐阅读
- “重参数宇宙”再添新成员:RepMLP,清华大学&旷视科技提出将重参数卷积嵌入到全连接层
- 新坑!谷歌提出MLP-Mixer:一种无卷积、无注意力,纯MLP构成的视觉架构
- CVPR2021 | 动态滤波器卷积新高度!DDF:同时解决内容不可知与计算量两大缺陷
- 突破置换模块计算瓶颈,MSRA开源轻量版HRNet,超越主流轻量化网络!|CVPR2021
- EfficientNet v2来了!更快,更小,更强!
- CVPR2021|“无痛涨点”的ACNet再进化,清华大学&旷视科技提出Inception类型的DBB
- 动态卷积超进化!通道融合替换注意力,减少75%参数量且性能显著提升 ICLR 2021
- Face++张祥雨&孙剑新作WeightNet,高性能涨点并将SENet与CondConv进行统一
- SANet|融合空域与通道注意力,南京大学提出置换注意力机制
- RepVGG|让你的ConVNet一卷到底,plain网络首次超过80%top1精度
- 通道注意力新突破!从频域角度出发,浙大提出FcaNet:仅需修改一行代码,简洁又高效
- HS-ResNet | 超越ResNeSt,ResNet又一改进,“分层拆分模块”
- 消除Aliasing!加州大学&英伟达提出深度学习下采样新思路:自适应低通滤波器层
- 与SENet互补提升,华为诺亚提出自注意力新机制:Weight Excitation|ECCV2020
- 新一代移动端模型MobileNeXt来了!打破常规,逆残差模块超强改进,精度速度双超MobileNetV2