注意力机制的选择与应用#

通道注意力:SE-Net空间注意力通道+空间注意力:CBAM 我们学习了三种注意力方法。现在问题来了:实际项目中应该选哪个? 本章通过实验数据和实用指南帮你做出选择。

SE-Net vs 空间注意力 vs CBAM#

性能对比#

在 ImageNet 上用 ResNet-50 [HZRS16] 做骨干网络的实验结果 [WPLK18]

模型

Top-1 准确率

参数量增加

计算开销

ResNet-50(基线)

76.15%

+ SE-Net(通道)

77.62%

+2.53M

+1%

+ 空间注意力

77.28%

+49

+1%

+ CBAM(串行)

78.49%

+2.55M

+2%

在不同任务上的表现#

任务

最佳注意力类型

原因

图像分类

通道注意力为主

分类更依赖语义特征

目标检测

空间注意力为主

检测需要精确定位

语义分割

两者结合(CBAM)

需要语义和位置信息

选择指南#

graph TD A[选哪种注意力?] --> B{任务类型?} B -->|图像分类| C[通道注意力 SE-Net] B -->|目标检测/分割| D[CBAM] B -->|计算资源受限| E["ECA-Net 或 SE-Net<br/>r=16"] B -->|追求极致精度| F[CBAM或SKNet]

压缩比 \(r\) 的选择#

\(r\) 控制通道注意力的瓶颈维度,\(r\) 越大参数越少但表达能力也越弱:

压缩比 \(r\)

Top-1 Acc

参数量增加

训练速度

无注意力

76.15%

0

1250 img/s

\(r=4\)

77.85%

+10.24M

1220 img/s

\(r=8\)

77.70%

+5.12M

1235 img/s

\(r=16\)(默认)

77.62%

+2.53M

1245 img/s

\(r=32\)

77.45%

+1.28M

1248 img/s

建议:从 \(r=16\) 开始,计算资源充足时可尝试 \(r=8\)

插入位置的选择#

注意力模块插入到残差块中的不同位置效果不同:

插入位置对性能的影响(SE模块)#

插入位置

Top-1 Acc

稳定性

前置(卷积前)

77.21%

中等

中间(两卷积之间)

77.58%

良好

后置(残差连接前)

77.62%

优秀

双重(前后都加)

77.65%

优秀但参数量翻倍

建议:默认放在残差块的最后、残差连接之前。

常见陷阱#

陷阱1:注意力不是越多越好#

在每个残差块都加注意力,效果并不比每隔几个块加更好。通常在 stage3 和 stage4(深层特征图)添加注意力效果最明显,因为深层特征语义更丰富。

陷阱2:注意力和 BN 的顺序#

实验表明,BN → 注意力 → 激活的顺序通常效果最好。如果把注意力放在 BN 之前,批归一化会破坏已经学习好的注意力权重。

陷阱3:小数据集上注意力可能过拟合#

注意力模块增加了模型容量,在极小数据集(<1000 张)上可能反而导致过拟合。这种情况下,可以:

  • 使用更小的压缩比(\(r=32\)

  • 只加一层注意力而非每层都加

  • 配合更强的数据增强

实践建议总结#

  1. 从简单的开始:先尝试 SE-Net(通道注意力)——实现最简单,效果也最稳定

  2. 根据任务调整:如果任务对位置敏感(检测、分割),加入空间注意力(CBAM)

  3. 控制计算成本:压缩比 \(r=16\) 是安全起点;每层都加不如加在关键层

  4. 性能瓶颈时再升级:如果 SE-Net 已经带来足够提升,不必强求 CBAM

下一步#

掌握了注意力机制的选择策略后,实践指南 将带你深入了解实际部署中的超参数调优和工程实现细节。


参考文献#

[HZRS16]

Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, 770–778. 2016.

[WPLK18]

Sanghyun Woo, Jongchan Park, Joon-Young Lee, and In So Kweon. Cbam: convolutional block attention module. In Proceedings of the European Conference on Computer Vision (ECCV), 3–19. 2018.

贡献者与修订历史

查看详细修订记录
  • 6e4fa0d 2026-04-29 - Heyan Zhu: docs(attention-mechanisms): update comparison chart for resource-constrained cases
  • 2231276 2026-04-28 - Heyan Zhu: feat(attention-mechanisms): restructure and enhance attention mechanisms documentation