核心思想

SENet(Squeeze-and-Excitation Network)通过显式建模通道(channel)间的依赖关系,动态调整通道特征响应值,增强重要通道的权重,抑制不重要的通道。该方法在ImageNet 2017分类任务中取得冠军。

SE模块详细设计

模块结构

SE模块包含两个核心操作:​Squeeze 和 ​Excitation,可插入到标准卷积模块中。

(1) Squeeze 操作

  • 目的:压缩空间信息,生成通道描述符。

  • 方法:全局平均池化(Global Average Pooling, GAP): 其中 是第 个通道的特征图, 是压缩后的通道向量。

(2) Excitation 操作

  • 目的:学习通道权重,进行特征重标定。

  • 方法:两个全连接层(含降维与升维)和非线性激活:

    • :降维全连接层( 为压缩比)
    • :ReLU激活函数
    • :升维全连接层
    • :Sigmoid函数,输出权重

(3) 特征重标定

将学习到的权重 与原特征图逐通道相乘:

网络结构

SE模块的嵌入

SE模块可灵活插入到现有网络(如ResNet、Inception)中。以SE-ResNet为例:

SE-ResNet Bottleneck 结构

  1. 标准Bottleneck

    • 1x1卷积(降维)
    • 3x3卷积(空间卷积)
    • 1x1卷积(升维)
  2. SE模块插入位置:在最后一个1x1卷积之后,shortcut连接之前。

典型配置(以SE-ResNet-50为例)

StageLayerOutput SizeRepeatSE模块位置
1Conv1 + Pooling112x1121-
2Conv2_x56x563每个Bottleneck末
3Conv3_x28x284每个Bottleneck末
4Conv4_x14x146每个Bottleneck末
5Conv5_x7x73每个Bottleneck末
6Global Pooling1x11-

关键参数与设计细节

  • 压缩比(Reduction Ratio, )​

    • 控制SE模块中间层通道数的比例,典型值为

    • 公式:中间层通道数

  • 计算量分析

    • SE模块增加的参数量为: 例如,当 时,新增参数量为

优点与局限性

优点

  • 轻量级:增加的参数量少(ResNet-50中仅增加~10%参数)。

  • 通用性:可嵌入到CNN、Transformer等架构中。

  • 显著性能提升:ImageNet上Top-5错误率相对下降~25%。

局限性

  • 训练时间增加:需额外计算通道权重。

  • 对小模型提升有限:通道数较少时效果减弱。

6. 后续改进方向

  1. 空间与通道注意力结合:如CBAM、SCSE
  2. 动态调整压缩比:根据网络深度自适应选择
  3. 轻量化设计:如MobileSeNet