SENet: Squeeze-and-Excitation Networks

论文地址:Squeeze-and-Excitation Networks

简介

SENet 是北京 Momenta 公司研发团队提出的网络结构,该团队凭借SENet以极大的优势获得了 ImageNet 2017 竞赛的图像分类任务冠军。该网络至今(2019.12.12)仍然是最强力的分类网络之一。

我们从卷积网络开始说起。近些年来,卷积神经网络在很多领域上都取得了巨大的突破。而卷积核作为卷积神经网络的核心,通常被看做是在局部感受野上,将空间上(spatial)的信息和特征维度上(channel-wise)的信息进行聚合的信息聚合体。卷积神经网络由一系列卷积层、非线性层和下采样层构成,这样它们能够从全局感受野上去捕获图像的特征来进行图像的描述。

Inception 结构即是从空间上提取特征的典型案例,其使用不同大小的卷积核,聚合多种不同感受野的特征来提升性能。而 SENet 则是从通道特征之间的关系来考虑,采用了一种特征重标定(feature recalibration)的策略,即通过学习的方式来自动获取到每个特征通道的重要程度,然后依照这个重要程度去提升有用的特征并抑制对当前任务用处不大的特征。

Squeeze-and-Excitation Blocks

I8_M4J____T1XB_FTW_P_H5.png

上图是一个 SE 模块的示意图。

  • Squeeze:$F_{sq}(·)$ 将特征图进行全局平均池化(global average pooling),使每个二维的特征通道对应生成一个实数,这个实数某种程度上具有全局的感受野。这意味着当 SE 模块用于靠近输入的层时,也能获得全局的感受野,这一点在很多任务中都是非常有用的。

  • Excitation:$F_{ex}(·,W)$ 是一些全连接层和激活函数,其输入为squeeze的结果,输出为每个特征通道的重要性。具体分为4层网络:

    • FC1:输入长度为 C 的向量,输出长度为 C/16 的向量。
    • ReLU:增加非线性
    • FC2:输入长度为 C/16 的向量,输出长度为 C 的向量。
    • Sigmoid:将输出限制到(0,1)之间,作为每个通道的权重,表示通道的重要性。

    使用两个而不是一个全连接层的好处在于:

    1. 多加了一个ReLU层,具有更多的非线性,可以更好地拟合通道间复杂的相关性
    2. 极大地减少了参数量和计算量(约为原计算量的1/8)
  • Reweight:通过乘法将 Excitation 得到的通道权重加权到先前的特征上,完成在通道维度上对原始特征的重标定。

实验结果

作者将 SE 模块拟合到了 Inception 和 ResNet 中,对网络性能产生了较大的增益。

_LW`_DHP74CK_LED0COG_1P.png

在理论上 SE 模块仅增加了网络 1% 的计算量;在实验中,由于 GPU 的架构原因,在 GPU 上的运算时间增加了 10%,而在 CPU 上仅增加了 2%。

28R__T_T_RPEF6@_EIL4_8F.png

参考文献

Face Paper:SeNet论文详解

-------------本文结束感谢您的阅读-------------