CBAM: Convolutional Block Attention Module
CBAM: Convolutional Block Attention Module
* Authors: [[Sanghyun Woo]], [[Jongchan Park]], [[Joon-Young Lee]], [[In So Kweon]]
初读印象
comment:: (CBAM)提出了卷积块注意力模块。沿着空间和通道推断注意力特征,然后将注意力特征乘到输入特征图上获得自适应特征细化。
Why
提升卷积性能的四个方向:
-
深度:LeNet、VGGNet、ResNet
-
广度:GoogLeNet
-
基数:Xception、ResNeXt
-
注意力:注意力不但能够告诉哪里应该注意,也增强了特征表示。本篇文章更加注重于用注意力增强特征表示:集中于重要的特征、压缩不必要的特征。其他注意力工作:Residual Attention Network,SEBlock([[@Hu2019]],通道间使用平均池化是次优特征,没有使用空间注意力)
What
提出了CBAM,为了能够获得通道和空间上的注意力,分别沿着两个方向做注意力(而非直接计算3D注意力,优点是计算量小)。
###How
CBAM
CBAM依次推断1D通道注意力特征
其中
通道注意力模块
利用通道间的关系生成通道注意力关系特征,通道注意力解决输入图像是“什么”的问题。
- 同时使用最大池化和平均池化分别产生
和 和 分别经过含一个隐藏层的多层感知机(类似SEblock中,也是用了一个压缩系数r)。该感知机的参数是共享的,隐藏层中使用了ReLU。- 元素级相加
和 ,使用sigmoid。
空间注意力模块
使用特征间的空间关系生成空间注意力映射。空间注意力侧重于“哪里”。
- 分别沿着通道做最大池化和平均池化,
和 。 - 拼接
和 。 - 7×7卷积并sigmoid。
Experiment
将CBAM嵌入到ResNet:
*注意力通道使用何种池化,一起用更好
-
空间注意力用什么池化
*
-
Grad-CAM可视化
Conclusion
同时使用了通道注意力和空间注意力,其中通道注意力和SE很像,能够适配其他网络。增加的计算量比较少,可以用于低端设备。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构