Squeeze-and-Excitation机制 📅 2026/6/30 2:19:45 Squeeze-and-ExcitationSE机制也就是我们常说的通道注意力机制。这是由Jie Hu等人在2018年CVPR上提出的SENet的核心模块它通过显式地建模通道之间的相互依赖关系自适应地重新校准通道特征响应显著提升了网络的表征能力。1. 核心设计思想为什么要做SE在传统的卷积神经网络中卷积核是在局部感受野上工作的生成的每个输出通道所依赖的往往是输入特征图上的局部空间区域。这导致网络无法显式地利用全局信息来筛选哪些通道是“有用的”哪些是“冗余的”。SE机制的核心思想就是让网络“学会”根据全局信息Squeeze操作来动态判断每个特征通道的重要程度Excitation操作然后对原始特征进行加权Scale操作强化重要特征抑制不重要特征。2. SE模块原理详解假设输入特征图为XXX尺寸为H×W×CH \times W \times CH×W×C高HHH宽WWW通道数CCC。经过一个卷积变换FtrF_{tr}Ftr如普通卷积、ResNet瓶颈块等后得到特征图UUU尺寸为H×W×CH \times W \times CH×W×C。SE模块就作用于这个UUU上。下图是SE模块的完整流程输入特征图 U 维度变化说明 --------------------- | H x W x C | (原始卷积输出) --------------------- | | 【步骤 1: Squeeze (全局信息嵌入)】 | 使用 Global Average Pooling (全局平均池化) v --------------------- | 1 x 1 x C | (将每个 HxW 的二维特征图压缩为一个标量 z) --------------------- 此时 z_c 包含了第 c 个通道的全局感受野信息 | | 【步骤 2: Excitation (自适应重校准)】 | 全连接层1 (降维 r) - ReLU - 全连接层2 (升维) - Sigmoid v --------------------- | 1 x 1 x C | (输出 0~1 之间的权重标量 s每个通道对应一个) --------------------- s 代表该通道被“激活”或“抑制”的程度 | | 【步骤 3: Scale (特征重标定)】 | 逐通道相乘 (F_scale) U_hat U * s v --------------------- | H x W x C | (输出经过注意力加权后的增强特征图) ---------------------第一步Squeeze压缩操作做法对特征图UUU进行全局平均池化Global Average Pooling, GAP将每个通道上H×WH \times WH×W的空间特征压缩成一个实数。数学表达zcFsq(Uc)1H×W∑i1H∑j1WUc(i,j)z_c F_{sq}(U_c) \frac{1}{H \times W} \sum_{i1}^{H} \sum_{j1}^{W} U_c(i, j)zcFsq(Uc)H×W1∑i1H∑j1WUc(i,j)作用打破了局部感受野的限制让后续的激活模块能够利用全局分布的信息而非局部纹理来判断通道权重。第二步Excitation激励/激活操作目的为了捕捉通道之间的非线性依赖关系并避免通道数过多带来的庞大计算量这里设计了一个带有“瓶颈层”的两层全连接网络。做法第一个全连接FC1将通道数从CCC降维到C/rC/rC/rrrr为缩减比率通常取16后接ReLU激活。第二个全连接FC2将通道数从C/rC/rC/r升维回CCC后接Sigmoid激活函数。数学表达sFex(z,W)σ(W2⋅δ(W1⋅z))s F_{ex}(z, W) \sigma( W_2 \cdot \delta( W_1 \cdot z ) )sFex(z,W)σ(W2⋅δ(W1⋅z))其中δ\deltaδ是 ReLUσ\sigmaσ是 SigmoidW1∈RCr×CW_1 \in \mathbb{R}^{\frac{C}{r} \times C}W1∈RrC×CW2∈RC×CrW_2 \in \mathbb{R}^{C \times \frac{C}{r}}W2∈RC×rC。作用Sigmoid 将输出映射到 (0, 1) 区间生成通道级的调制权重sss。降维设计既引入了非线性更复杂的学习能力又大大减少了参数量2×C2/r2 \times C^2 / r2×C2/r。第三步Scale缩放操作做法将第一步得到的激活权重sss尺寸1×1×C1 \times 1 \times C1×1×C逐通道乘以原始特征图UUU的对应通道。数学表达X~cFscale(Uc,sc)sc⋅Uc\tilde{X}_c F_{scale}(U_c, s_c) s_c \cdot U_cX~cFscale(Uc,sc)sc⋅Uc作用至此网络完成了对原始特征的**通道维度上的“软注意力”**加权重要通道被放大sss接近 1无关或噪声通道被抑制sss接近 0。3. 更深层的数学本质理解SE机制本质上是在做一个动态的条件变换传统卷积核参数是静态的训练完就固定了。SE模块生成的sss是动态的它依赖于当前的输入样本XXX。也就是说对于输入的不同图片比如一张猫和一张狗SE模块生成的通道权重sss是不同的。这种机制让网络能够根据输入的“上下文”灵活地调整卷积输出的表达相当于给高层特征加了一个**“即插即用的门控调控器”**。4. SE模块的嵌入位置以ResNet为例SE模块非常灵活可以插入到任何残差块Residual Block中。标准嵌入方式是放在残差分支的卷积堆叠之后、与恒等映射Identity相加Add之前。结构示意如下输入 X (HxWxC) | |---- [卷积层1 BN ReLU] ---- [卷积层2 BN] ---- [SE Module] ---- 输出特征 U_hat | | |---------------- (恒等映射 Identity) ----------------------------------------- Add (逐元素相加) | v ReLU 输出注实际论文中SE放在Add之后也可以但放在Add之前能让残差分支学习到更精准的注意力特征。5. 计算复杂度与优势参数量增加极少每个SE模块仅增加2C2r\frac{2C^2}{r}r2C2个参数。若C2048,r16C2048, r16C2048,r16仅增加约 52 万个参数相对于ResNet-50整体的2500万参数仅增加约2%~4%的计算量。性能提升显著在ImageNet上SENet将ResNet-50的Top-1错误率从6.7%降至5.9%并拿下了2017年ILSVRC图像分类冠军。总结SE机制通过Squeeze全局池化提取全局特征和Excitation门控机制生成通道权重让网络从“一视同仁”变成“关注重点”用极小的计算代价换取了大幅度的网络性能提升是现代轻量级注意力机制的奠基之作如后来的CBAM、ECA等都受其启发。