论文/机器学习笔记:SENet (Squeeze-and-Excitation Networks)

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文/机器学习笔记:SENet (Squeeze-and-Excitation Networks)相关的知识,希望对你有一定的参考价值。

Image 2017 挑战赛夺冠paper

1  motivation

  • 希望显式地建模特征通道(channel)之间的相互依赖关系
    • 通过学习的方式来自动获取到每个特征通道的重要程度
    • 依照这个重要程度去提升有用的特征并抑制对当前任务用处不大的特征

2 模型

  •  给定一个输入 x,其特征通道数为 c_1,通过一系列卷积等一般变换后得到一个特征通道数为 c_2 的特征【和传统CNN类似】
  • Squeeze 操作,顺着空间维度进行特征压缩
    • 将每个二维的特征通道变成一个实数
    • 这个实数某种程度上具有全局的感受野
    • 输出的维度和输入的特征通道数相匹配
    • —>表征在各特征通道上的全局分布,而且使得靠近输入的层也可以获得全局的感受野
  •  Excitation 操作
    • 通过参数 w 来为每个特征通道生成权重
    • 参数 w 被学习用来显式地建模特征通道间的相关性。
  • scale操作
    • 将 Excitation 的输出的权重看做是进过特征选择后的每个特征通道的重要性
    • 然后通过乘法逐通道加权到先前的特征上,完成在通道维度上对原始特征的重标定。

3 SE+Inception

 

  •  这里首先将特征维度降低到输入的1/16,然后经过 ReLu 激活后再通过一个 Fully Connected 层升回到原来的维度。
  • 这样做比直接用一个 Fully Connected 层的好处在于:
    • 1)具有更多的非线性,可以更好地拟合通道间复杂的相关性;
    • 2)极大地减少了参数量和计算量。

4 SE+ResNet

  •  SE 模块还可以嵌入到含有 skip-connections 的模块中
  • 在 Addition 前对分支上 Residual 的特征进行了特征重标定。
    • 如果对 Addition 后主支上的特征进行重标定,由于在主干上存在 0~1 的 scale 操作,在网络较深 BP 优化时就会在靠近输入层容易出现梯度消失的情况,导致模型难以优化。

5 模型和计算复杂度

 6 实验结果

6.1 分类精度

在 ImageNet 数据集上进行实验

  •  SE-ResNets 在各种深度上都远远超过了其对应的没有 SE 的结构版本的精度,这说明无论网络的深度如何,SE 模块都能够给网络带来性能上的增益。
  • 值得一提的是,SE-ResNet-50 可以达到和 ResNet-101 一样的精度;SE-ResNet-101 远远地超过了更深的 ResNet-152。

6.2 训练过程

 上图展示了 ResNet-50 和 ResNet-152 以及它们对应的嵌入 SE 模块的网络在 ImageNet 上的训练过程,可以明显地看出加入了 SE 模块的网络收敛到更低的错误率上。

以上是关于论文/机器学习笔记:SENet (Squeeze-and-Excitation Networks)的主要内容,如果未能解决你的问题,请参考以下文章

SeNet论文解读/总结

[论文理解] Squeeze-and-Excitation Networks

SENet 解读通道注意力:Squeeze-and-Excitation Networks

SENet 解读通道注意力:Squeeze-and-Excitation Networks

SENet 解读通道注意力:Squeeze-and-Excitation Networks

SENet代码复现+超详细注释(PyTorch)