当前位置: 首页 > news >正文

掌握混合注意力 CBAM 与 BAM 模型结构——从通道注意力到空间注意力的融合实践

目录

一、前言

二、什么是混合注意力机制

(一)注意力机制的发展过程

(二)为什么需要混合注意力

三、BAM 模型提出背景

(一)论文介绍

(二)BAM设计目标

四、BAM 整体结构

五、BAM 通道注意力模块

(一)作用

(二)实现过程

六、BAM 空间注意力模块

(一)作用

(二)实现方式

(三)为什么使用空洞卷积

七、BAM 特征融合机制

八、CBAM 模型提出背景

(一)论文介绍

(二)为什么提出CBAM

九、CBAM 整体结构

十、CBAM 通道注意力模块

(一)核心思想

(二)计算过程

(三)为什么同时使用两种池化

十一、CBAM 空间注意力模块

(一)核心思想

(二)计算过程

(三)结构图

十二、CBAM 工作流程分析

十三、BAM 与 CBAM 对比

(一)结构对比

(二)复杂度对比

(三)应用范围

(四)性能表现

十四、PyTorch实现CBAM

(一)通道注意力

(二)空间注意力

十五、CBAM 的应用场景

(一)图像分类

(二)目标检测

(三)语义分割

(四)医学影像

(五)工业视觉

十六、BAM 与 CBAM 的优势

(一)参数增加少

(二)易于集成

(三)提升明显

(四)泛化能力强

十七、总结


随着深度学习的发展,研究人员逐渐发现:

即使网络结构不断加深,卷积神经网络(CNN)依然存在一个问题:

网络不知道哪些特征更重要

例如:

在猫狗分类任务中:

  • 猫的耳朵可能很重要

  • 猫的眼睛可能很重要

  • 背景草地可能毫无意义

然而传统 CNN 会对所有特征一视同仁。

为了让神经网络学会:

关注重要信息 忽略无关信息

研究人员提出了各种注意力机制(Attention Mechanism)。

其中最经典的包括:

  • SENet

  • BAM

  • CBAM

  • ECA-Net

  • Coordinate Attention

如果说 SENet 开启了 CNN 注意力机制时代。

那么:

BAM 和 CBAM 则进一步将:

通道注意力 + 空间注意力

进行了融合。

使模型能够同时回答两个问题:

关注什么? 关注哪里?

本文将系统讲解 BAM 和 CBAM 的模型结构、核心原理、实现方式以及应用场景。


二、什么是混合注意力机制

(一)注意力机制的发展过程

CNN 注意力机制的发展大致经历了三个阶段。

第一阶段:

Channel Attention

代表模型:

SENet

关注:

哪个通道重要

第二阶段:

Spatial Attention

关注:

图像哪个位置重要

第三阶段:

Hybrid Attention

即:

通道注意力 + 空间注意力

同时建模。

代表模型:

BAM CBAM

(二)为什么需要混合注意力

假设网络识别一只猫。

仅使用通道注意力:

知道耳朵特征重要

但不知道:

耳朵在哪

仅使用空间注意力:

知道左上角重要

但不知道:

为什么重要

因此:

最佳方案就是:

知道什么重要 同时知道哪里重要

这就是混合注意力机制的核心思想。


三、BAM 模型提出背景

(一)论文介绍

2018年。

韩国 POSTECH 团队提出:

Bottleneck Attention Module

简称:

BAM

论文名称:

BAM: Bottleneck Attention Module

其核心思想:

在网络 Bottleneck 位置插入注意力模块。

增强关键特征表达能力。


(二)BAM设计目标

希望同时学习:

Channel Attention

和:

Spatial Attention

然后融合。

得到最终注意力权重。


四、BAM 整体结构

BAM结构如下:

Input ├── Channel Attention └── Spatial Attention ↓ Fusion ↓ Attention Map ↓ Output

其特点:

两条分支:

并行计算

最后融合。


五、BAM 通道注意力模块

(一)作用

学习:

哪些通道重要

(二)实现过程

首先:

Global Average Pooling

压缩空间信息。

得到:

C维向量

然后:

FC ↓ ReLU ↓ FC

生成通道权重。

流程:

Feature Map ↓ GAP ↓ FC ↓ ReLU ↓ FC ↓ Channel Weight

六、BAM 空间注意力模块

(一)作用

学习:

图像哪里重要

(二)实现方式

采用:

Dilated Convolution

空洞卷积。

结构:

Conv ↓ Dilated Conv ↓ Dilated Conv ↓ Spatial Map

(三)为什么使用空洞卷积

优势:

扩大感受野

能够获得更多上下文信息。

提高空间建模能力。


七、BAM 特征融合机制

BAM采用:

并行融合

方式。

公式思想:

Attention = Channel × Spatial

最终:

Output = Input × Attention

实现特征增强。


八、CBAM 模型提出背景

(一)论文介绍

同样在2018年。

韩国团队进一步提出:

Convolutional Block Attention Module

简称:

CBAM

论文名称:

CBAM: Convolutional Block Attention Module

(二)为什么提出CBAM

研究人员发现:

BAM虽然有效。

但结构稍显复杂。

因此设计:

更轻量 更容易集成

的注意力模块。

于是:

CBAM诞生。


九、CBAM 整体结构

CBAM结构:

Input ↓ Channel Attention ↓ Spatial Attention ↓ Output

与BAM最大的区别:

串行执行

而非并行。


十、CBAM 通道注意力模块

(一)核心思想

学习:

What

即:

关注什么

(二)计算过程

同时使用:

Global Average Pooling

和:

Global Max Pooling

流程:

Feature ├── Avg Pool └── Max Pool ↓ Shared MLP ↓ Add ↓ Sigmoid ↓ Channel Attention

(三)为什么同时使用两种池化

平均池化:

关注整体信息。

最大池化:

关注最显著特征。

二者结合:

效果更好。


十一、CBAM 空间注意力模块

(一)核心思想

学习:

Where

即:

关注哪里

(二)计算过程

沿通道维度:

分别进行:

Average Pool Max Pool

得到:

H × W

特征图。

然后:

Concat ↓ 7×7 Conv ↓ Sigmoid ↓ Spatial Attention

(三)结构图

Feature ↓ AvgPool MaxPool ↓ Concat ↓ 7×7 Conv ↓ Spatial Map

十二、CBAM 工作流程分析

完整流程:

Input ↓ Channel Attention ↓ Refined Feature ↓ Spatial Attention ↓ Refined Feature ↓ Output

即:

先关注:

什么重要

再关注:

哪里重要

十三、BAM 与 CBAM 对比

(一)结构对比

BAM:

并行结构

CBAM:

串行结构

(二)复杂度对比

BAM:

较复杂

CBAM:

更轻量

(三)应用范围

BAM:

研究领域较多。

CBAM:

工业应用更广泛。


(四)性能表现

ImageNet实验:

CBAM 通常略优于 BAM。

因此:

目前使用率更高。


十四、PyTorch实现CBAM

(一)通道注意力

import torch import torch.nn as nn class ChannelAttention(nn.Module): def __init__(self,in_planes,ratio=16): super().__init__() self.avg_pool = nn.AdaptiveAvgPool2d(1) self.max_pool = nn.AdaptiveMaxPool2d(1) self.fc = nn.Sequential( nn.Conv2d( in_planes, in_planes // ratio, 1 ), nn.ReLU(), nn.Conv2d( in_planes // ratio, in_planes, 1 ) ) self.sigmoid = nn.Sigmoid() def forward(self,x): avg = self.fc( self.avg_pool(x) ) maxv = self.fc( self.max_pool(x) ) return self.sigmoid( avg + maxv )

(二)空间注意力

class SpatialAttention(nn.Module): def __init__(self): super().__init__() self.conv = nn.Conv2d( 2, 1, kernel_size=7, padding=3 ) self.sigmoid = nn.Sigmoid() def forward(self,x): avg = torch.mean( x, dim=1, keepdim=True ) maxv,_ = torch.max( x, dim=1, keepdim=True ) x = torch.cat( [avg,maxv], dim=1 ) return self.sigmoid( self.conv(x) )

十五、CBAM 的应用场景

(一)图像分类

例如:

  • ResNet

  • EfficientNet


(二)目标检测

例如:

  • YOLOv5

  • YOLOv7

  • Faster R-CNN


(三)语义分割

例如:

  • DeepLab

  • U-Net


(四)医学影像

增强病灶区域关注能力。


(五)工业视觉

提升缺陷检测准确率。


十六、BAM 与 CBAM 的优势

(一)参数增加少

通常:

不到5%

参数增长。


(二)易于集成

可直接插入:

  • ResNet

  • VGG

  • MobileNet

  • DenseNet

等网络。


(三)提升明显

ImageNet实验中:

能够带来:

1%~3%

左右精度提升。


(四)泛化能力强

适用于:

  • 分类

  • 检测

  • 分割

等任务。


十七、总结

BAM 和 CBAM 是 CNN 注意力机制发展过程中的经典代表模型,它们首次系统地将通道注意力与空间注意力进行融合,使神经网络能够同时学习:

关注什么 关注哪里

本文重点掌握了:

1、混合注意力机制的发展背景;

2、BAM 模型结构;

3、BAM 通道注意力模块;

4、BAM 空间注意力模块;

5、CBAM 模型结构;

6、CBAM 通道注意力原理;

7、CBAM 空间注意力原理;

8、BAM 与 CBAM 的区别;

9、PyTorch 实现方式;

10、实际应用场景。

可以将两者简单理解为:

SENet 解决“什么重要”,CBAM 和 BAM 则进一步解决“什么重要以及哪里重要”。

因此,CBAM 和 BAM 已成为现代计算机视觉中最经典、最实用的注意力模块之一,也是学习深度学习注意力机制必须掌握的重要模型结构。

http://www.zskr.cn/news/1502551.html

相关文章:

  • 2026石家庄黄金回收全攻略 靠谱商家盘点与避坑指南 - 润富黄金回收
  • 3步突破:AltStore解锁iOS应用自由新方案
  • 教室/会议室即开即用的随机点名工具:C# Winform开发,支持CSV名单导入与实时启停
  • 2026深圳黄金回收避坑全攻略 看懂大盘价不被随意压价 - 余生黄金回收
  • STM32F407+FreeRTOS下,用lwip的TCP_KEEPALIVE解决网线热拔插后端口占用问题
  • 终极指南:5步免费备份微信聊天记录,永久保存珍贵回忆
  • Windows系统文件cryptbase.dll丢失找不到问题解决
  • Docker 与 Kubernetes:从“集装箱”到“远洋舰队”
  • 港科大EMBA真实体验|科技+商业双驱动,高管深度就读感悟
  • LORE算法:非凸Schatten准范数优化在序数嵌入中的应用
  • Android Kotlin多模块MVI项目脚手架:含协程状态流、Room本地存储、Retrofit网络层与Koin依赖注入
  • 手把手复现:用Python仿真一个简易的RIS相位调控单元(附代码)
  • Nacos 5问挑战:答不上别说你懂
  • 2026年6月恒温恒湿箱厂家权威榜单发布:专业实力与真实口碑双重认证 - 品牌推荐
  • 老java 程序学习ai 第一步-LLM开发,ollama +LLM+Langchain4 开发ai智能客服
  • MC9S12XE XGATE硬件信号量:嵌入式多核并发编程实战指南
  • 终极无损音乐库构建指南:用qobuz-dl轻松获取24位高解析度音频
  • ArkTS 严格类型系统:我答错 2 道题后才真正搞懂的几条规则
  • 青岛旧金回收怎么算价 2026行情与防踩坑完整攻略 - 余生黄金回收
  • 用51单片机和Proteus仿真,手把手教你做一个自己的RLC测量仪(附完整代码)
  • 2026年6月恒温恒湿箱厂家深度洞察:在“国产精造”时代,谁在定义行业新标准? - 品牌推荐
  • 信号处理实战:用Python验证Fourier变换的积分性质(附完整代码)
  • 数据的加密与解密(07:24)
  • 2026温州黄金回收全攻略 本地多家靠谱回收商家详解与避坑指南 - 润富黄金回收
  • 连云港黄金变现全攻略2026年6月行情与四大商家推荐 - 润富黄金回收
  • 2026年Q2成都专业脚手架租赁服务机构排行及对接指南:成都庆维建筑工程有限公司联系/成都哪里有钢管架租赁/成都工地钢管架搭建拆除/选择指南 - 优质品牌商家
  • 如何快速掌握uesave:游戏存档编辑终极指南
  • UIA-v2实战指南:AutoHotkey UI自动化高效开发全解析
  • R 语言 逻辑斯蒂回归
  • 美国移民机构品牌推荐 - mypinpai