【论文阅读笔记】Squeeze-and-Excitation Networks

全文概括

   SE-NET 是2017年 ImageNet 分类竞赛的冠军,其提出一种新型的(卷积)结构模式,也可以用于改善其他模型的结构以提高精确度。SE-NET 将研究重点放于 channel 之间的关系上,提出的 SE block 可以对 channel 特征之间的相互关系进行精确地建模,以自适应地校准 channel-wise 的特征相应。

   简单的来说,作者设计出了一种模式,其能对输入 Feature Map 的每一个 channel 赋予相应的权重,从而得到对 channel 进行校准后的输出Feature Map,具有该模式的模块(block)称为 SE-NET(squeeze and Excitation Network)。


论文介绍

1. SE block

   SE block都具有上图一样的结构。针对输入的特征图 X ,经过一系列的操作 F t r F_{tr} Ftr(可以是普通的卷积操作,也可以是一系列的操作,比如Inception Module的处理),得到了特征图 U 。特征图 U 是要进行操作的对象,对特征图进行 squeezeexcitation 操作得到对应 U 的每个 channel 的权重。最后,将所得权重与对应的 channel 的元素进行点积得到 SE block 的输出。通过 squeeze and excitation 操作得到的 channel 数与输入特征图 U 的 channel 数相同。

  1. 文中所选择的 squeeze 操作为 global avg pooling,意为将整个 channel 的信息进行提取或压缩;
  2. 文中所选择的 excitation 操作为两个 fully connection ,意为通过压缩得到的信息进行学习得到对应的权重。由于全连接层操作的参数较多,且较为耗费内存,所以作者提出一个 压缩参数 r (默认 r = 16 r=16 r=16),使得两个全连接层形成一个 bottleneck,从而减少参数量,加速运行。需要注意的是,excitation 操作的两个全连接层,第一个全连接层激活函数为 ReLU ,第二个全连接层的激活函数为 Sigmoid

   SE block 也可以直接进行堆叠。作者通过实验得出,在堆叠 SE block时,在前面的层中主要起的是类无关的加强特征表示作用;在较深的层时,表现为类相关的特征校准模式。(6.4节)在网络结构的不同stage中使用SE block都有增益,作者表示不同stage的这些增益是可以互为补充的,从而支撑一个更好的结果。


2. SE block的具体例子

   可以看出,SE block 都是选择在原有的网络层输入进行操作后进行的squeeze and excitation。对于简单的卷积操作也是如此。


3. SE block的实验结果

   在ImageNet上的实验结果如下:

   在轻型网络MoblieNet-v1和ShuffleNet-v1上使用SE 结构,其结果也展示了其“增加少量的计算复杂度带来较大的性能提升”的观点

   其中以Faster-RCNN作为目标检测应用的例子,应用对象主要为Faster-RCNN的特征提取的骨干网络ResNet的替换。

   上图所展示的实验结果显示:添加了SE block结构并不会增加模型训练的难度。恰恰相反的是,如果添加了SE-结构,其收敛曲线会更稳定。换句话来说,收敛会更快一些,结果更好一些。


4. SE block各操作的ABLATION STUDY

   作者通过实验,得到一个直观的猜测:如果 SE block 的作用对象是ResNet,在excitation阶段,去掉(不使用)偏置会得到更好的channel dependencies效果。

4.1 Squeeze Operator

   论文实验对squeeze操作进行了三个选择:最大池化、全局平均池化和两个全连接层。得到如下结论:
     (1). 不管哪种方式,都对网络的精度结果有促进作用;
     (2). 全局平均池化的结果稍好一些。

   NoSqueeze表示的是两个全连接层的squeeze操作代表的网络,SE表示的是全局池化层的squeeze操作代表的网络;

4.2 Excitation Operator

   压缩因子 r 的消融学习实验如下:

   在ResNet50上实验r的大小。经过实验表明,r和准确率并没有线性关系,最后选择r=16,认为其是上下复杂度和精确度的折中值。同时,作者提出,在网络的前后如果使用不同的r值可能会更好,但是未对此进行对应实验。

   对excitation操作的激活函数的消融学习实验如下:

   文中对excitation操作实验了三种激活函数,RelU、Tanh和Sigmoid,最终发现Sigmoid的结果最好,ReLU的效果较为糟糕,甚至比原始的ResNet50要差。所以,作者表示,对于SE block而言,excitation的构造要小心一些。

4.3 Excitation Operator

   作者对SE block的插入位置也做了一系列的实验,证明了SE 模块具有健壮性,除了SE-POST具有较为明显的精度损失。

猜你喜欢

转载自blog.csdn.net/qq_19784349/article/details/104041341