550 字
3 分钟
卷积神经网络:通道注意力机制
通道注意力机制(Channel Attention):
让模型学会在 通道维度 上(C)给不同的特征通道分配不同的权重。让网络动态地学习每个通道的“门控值(Gate)”,用 0~1 的标量去放大有用通道、抑制无用通道。
以SENet为例
(Squeeze-and-Excitation)
符号定义:
- 最后一层卷积特征图 ,其中 是通道数, 是高度, 是宽度
- :第 个通道的特征图

Squeeze(压缩)
将每个通道的空间信息(H×W)压缩成一个全局标量,捕捉该通道的“全局响应强度”。
操作:全局平均池化(Global Average Pooling,GAP)对于第 个通道的特征图 :
得到一个长度为 的向量 ,表示每个通道的全局统计信息(Global Descriptor)。
Excitation(激励)
利用压缩后的 ,学习每个通道的门控权重(Gating Weights)。这一步必须能够捕捉通道间的非线性交互(而非独立判断)。
操作:使用一个两层的全连接网络(FC)来学习通道间的依赖关系。具体步骤如下:
- 降维:将 维的向量 映射到一个较低维度的空间(通常是 ,其中 是一个缩放因子,常用值为 16),以减少参数量和计算量。使用 ReLU 激活函数:
- 升维:将降维后的向量映射回 维空间,得到每个通道的门控权重。使用 sigmoid 激活函数,确保权重 在 0~1 之间。
TIP因为两层全连接引入了跨通道的交互(参数矩阵 是全连接,每个通道的权重都受其他所有通道影响),而不是孤立地看单个通道。
Scale(缩放)
将学习到的门控权重 应用于原始特征图 ,实现通道的自适应重标定(Recalibration):
对于多通道,就是逐元素相乘:
看作是对输入特征图进行了一次自适应的缩放
与主流网络结构结合

卷积神经网络:通道注意力机制
https://biscuit0613.github.io/posts/ml/cnn-channelattention/