Squeeze-and-Excitation Networks(SENet)

Squeeze-and-Excitation Networks(SENet)
  • 会议: CVPR 2018
  • 作者: Jie Hu, Li Shen, Gang Sun
  • 贡献: 适用于任意网络的SE block
  • 官方论文解析:https://zhuanlan.zhihu.com/p/32733549

1 动机

1.1 利用通道间关系(channel-interdependencies)提升网络性能

  • CNN的核心卷积核: 在局部感受野上,将空间信息和特征维度信息聚合
  • 最近很多 从空间维度 提升网络性能 方法提出
    • Inception: 多尺度信息, 聚合
  • 因此本文尝试从特征通道间关系改进网络

2 方法

  • 目标:通过建模特征通道之间的依赖关系(interdependencies between channels)提升网络的表达能力
  • 方法:特征重标定(feature recalibration): 通过学习的方式,自动获取每个特征通道重要程度,然后增强有用特征,抑制用处不大特征
  • 优点:
    • 设计简单,没有很多超参数需要设定
    • 计算量小

2.1 Squeeze-and-Excitation block(SE block)结构:

2.1.1 Ftr:

  • X(H'*W'*C')经过卷积Ftr变成U(H*W*C))

  • Vc 代表卷积核  *表示卷积操作
  • Vc 包含通道间关系,因为输出是所有的通道的累加

2.1.2 squeeze: 

  • 将每个二维通道(H*W)压缩成一个实数,这个实数有全局感受野
This descriptor embeds the global distribution of channel-wise feature responses, enabling information from the global receptive field of the network to be leveraged by its lower layers.
这个实数某种程度上具有全局的感受野。它表征着在特征通道上响应的全局分布,而且使得靠近输入的层也可以获得全局的感受野野
  • 感受野内的卷积操作无法得到感受野外的contextual信息
  • 用GAP 将所有信息squeeze到一起

2.1.3 excitation:

  • 通过门机制,根据通道间关系,控制通道exciation
This is followed by an excitation operation, in which sample-specific activations, learned for each channel by a self-gating mechanism based on channel dependence, govern the excitation of each channel.
  • 充分提取通道关系,2个原则:
    • flexible,学习通道间非线性关系
    • 学习非互斥关系,因为允许多个通道都重要
  • 具体操作:

    • δ: ReLU函数
    • 通过带有2个FC的瓶颈层参数化门机制(we parameterise the gating mechanism by forming a bottleneck with two fully connected (FC) layers around the non-linearity)
    • 例如W1降维,W2升维

2.1.4 reweight:

  • 根据每个通道的excitation,对U的通道加权

  • Sc是excitation输出的
     

2.2 SE block 可以放到任何网络 任何深度位置

non-residual net
residual net
直接用到标准卷积外面
恒等映射分支的 sum之前

3 实验结果

3.1 计算复杂性

  • 精度: SE更高
  • 计算量:SE提升0.26%GFLOPS
  • 训练时间(mini-batch): SE 209ms vs 无SE 190ms
    • 由于GPU对GAP和内积运算优化较少
  • 参数量:
    • SE 带来10%额外参数量
    • 但是 主要参数量来自最后一层的SEblock
      • 如果去掉最后一层的SEblock: 性能下降0.1%, 只带来4%额外参数量

3.2 ImageNet 分类

3.2.1 网络深度

  • 从3.1表,SEblock在不同深度网络都能提升性能

3.2.2 用于现代框架:Inception-ResNet & ResNeXt

  • 从3.1表,SE-ResNeXt-50 > ResNeXt-101, 且参数只有后者一半
  • SE-Inception-ResNet-v2(4.79% error) > Inception-ResNet-v2(5.21% error)
  • VGG-16 和 BN-Inception 也可以从3.1表中看到,同样提升性能
  • MobileNet 和 ShuffleNet见下表, 大幅提升准确率,以较小的计算代价

3.3 场景分类

  • 场景分类比普通分类更难,更好的分析模型生成和抽象能力,因为需要提取复杂数据联系,并且对巨大外观差异保持鲁棒

3.4 目标检测COCO

  • 比ResNet-50 提升1.3%

3.5 (W1)压缩率分析

  • 性能并没有随着容量单调递增, 可能出现过拟合

3.6 Excitation的作用

  • 分析SE-ResNet-50的激活值,
  • 从ImageNet中选出4类,每类50个样本

  • 3个发现
  1. 在低层,激活值几乎相同.表明网络前期不同类别的特征通道是共享的
  2. 在深层,通道对每个类别差异大
    • 发现1&2 和之前的结论一致: 低层是通用特征,高层是specific
    • 表征学习受益于SEblock的重标定,
  3. 从SE_5_2中,除了1个点为0,其他所有激活值为1
At the point at which all activations take the value 1, this block would become a standard residual block
    • SE_5_3中不同类别激活值基本模式相同,表明5_2 和 5_3没有前面的层重要,和3.1最后提到的结论一致
 
posted @ 2020-09-10 07:59  意志  阅读(717)  评论(0)    收藏  举报