深度学习论文精读(5):SENet

深度学习论文精读(5):SENet

论文地址:Squeeze-and-Excitation Networks

参考博文1:https://blog.csdn.net/u014380165/article/details/78006626

参考博文2:https://blog.csdn.net/xjz18298268521/article/details/79078551

作者讲解:http://www.sohu.com/a/161633191_465975

作者源码地址:https://github.com/hujie-frank/SENet

PyTorch代码地址:https://github.com/miraclewkf/SENet-PyTorch

文章目录

  • 深度学习论文精读(5):SENet
      • 1 总体介绍
      • 2 Squeeze and Excitation Blocks
        • 2.1 Squeeze: Global Information Embedding
        • 2.2 Excitation: Adaptive Recalibration
        • 2.3 对SE block的理解
        • 2.4 Instantiations
      • 3 Model and Computational Complexity
      • 4 Implementation
      • 5 Experiments
      • 6 Ablation Study(模型简化测试)
        • 6.1 Reduction ration
        • 6.2 Squeeze Operator
        • 6.3 Intergration strategy
      • 7 Role of Excitation
      • 8 总结
      • 单词整理:

1 总体介绍

  • 探索了网络架构设计中的通道关联性,提出了SE block结构。

  • 有效的提升现有所有的state of the art结构的准确率,获得了ILSVRC2017分类任务的第一名。

2 Squeeze and Excitation Blocks

  • 以往的卷积层输出并没有考虑对各通道间的相互关系。
  • 通过SE block,将可以显式建模通道之间的相互关系,自适应地重新校准通道的特征响应。
  • SE block 如下图。其中 F t r F_{tr} Ftr为常见的卷积操作。

深度学习论文精读(5):SENet_第1张图片

  • SE block的目标是,通过SE block,让卷积层能够强化信息量大的特征的输出,抑制信息量小的特征的输出,达到SE block期望的重标定(recalibrate)作用。

2.1 Squeeze: Global Information Embedding

  • 经过卷积操作后的U通常是无法利用感受野(receptive field)之外的信息的。
  • 因此,作者选择压缩(squeeze)全局空间信息为一个通道描述符(channel descriptor)。
  • 压缩的方式是使用全局平均池化。
  • 表达式: z c = F s q ( u c ) = 1 H × W ∑ i = 1 H ∑ j = 1 W u c ( i , j ) . \Large z_c=F_{sq}({\rm u}_c)=\frac{1}{H\times W}\sum\limits^H_{i=1}\sum\limits^W_{j=1}u_c(i,j). zc=Fsq(uc)=H×W1i=1Hj=1Wuc(i,j).(上图中的 F s q F_{sq} Fsq

2.2 Excitation: Adaptive Recalibration

  • 为了利用压缩后得到的通道描述符,采用方法来学习掌握通道建的相互关系。

  • 该方法必须满足两个目标:

    • 1.必须是足够灵活的(必须能够在通道间习得非线性的相互关系)。
    • 2.必须能够习得非互斥的关系。(避免形成互斥关系,导致只有个别通道获得了激活)
  • 最终使用的方法为:带sigmoid激活函数的门限机制(gate mechanism)。

  • 表达式: s = F e x ( z , W ) = σ ( g ( z , W ) ) = σ ( W 2 δ ( W 1 z ) ) \Large s=F_{ex(\rm z, W)=\sigma(g(z,W))=\sigma(W_2\delta(W_1z))} s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))(上图中的 F ( e x ) F(_{ex}) F(ex))。式中 σ \sigma σ表示sigmoid函数, δ \delta δ表示ReLU函数。

  • 为了限制模型复杂度并增强泛化能力,门限机制(gate mechanism)中使用bottleneck形式的两个全连接层,第一个FC层降维至 1 / r 1/r 1/r r r r为超参数,本文取16。采用ReLU激活后,下一个FC层将维度升回,并采用sigmoid再次激活,进一步提取非线性的相互关系。

  • SE block最后得到的输出为: X ~ c = F s c a l e ( u c , s c ) = s c ⋅ u c , \Large {\rm\tilde X_c=F}_{scale}({\rm u}_c,s_c)=s_c\cdot {\rm u}_c, X~c=Fscale(uc,sc)=scuc,即,将习得的通道间的相符关系,赋予了每个通道。

2.3 对SE block的理解

  • 1)**squeeze:**通过全局池化获得一个实数,该实数某种意义上包含着整个通道的空间信息。
  • 2)**excitation:**通过门限机制,以 F C → R e L U → F C → S i g m o i d \rm FC\rightarrow ReLU \rightarrow FC\rightarrow Sigmoid FCReLUFCSigmoid的流程,获取到通道间的相关信息。最后通过乘法,以权重的形式加权给么一个通道的信息,完成在通道维度上的对原始特征的重标定。
  • 通过这样的一个流程,显式建模了通道之间的相互关系,自适应地重新校准通道的特征获取。

2.4 Instantiations

在Inception网络和ResNet网络中加入SE block,具体见下图。

其中,SE block通常放置于激活操作之后。

深度学习论文精读(5):SENet_第2张图片

深度学习论文精读(5):SENet_第3张图片

3 Model and Computational Complexity

以ResNet为例子,展示计算复杂度和参数的变化。

深度学习论文精读(5):SENet_第4张图片

每个SE block中包含一个全局平均池化操作,两个小的全连接层,最后一个简单的逐通道缩放操作,全部合起来在ResNet-50的基础上增加了0.26%的计算量。新添加的参数量主要来自于两个全连接层,ResNet-50增加了约10%,大多数都是来自最后阶段,此时的通道维度很大。但是实验发现如果去掉最后阶段的SE block性能并没有太大影响,而新增加的参数量则会减小到约4%。

4 Implementation

基本都是常规处理和训练设置。采用了Relay backpropagation for effective learning of deep convolutional neural networks中的数据平衡策略。

用的是SGD(SGD真的这么好用吗),mini-batch是1024(有钱真好)。

5 Experiments

在各项图像识别任务中,对比未嵌入SE block的原始结构都有着明显的提升。

仅放一张图,瞻仰一下。

深度学习论文精读(5):SENet_第5张图片

6 Ablation Study(模型简化测试)

6.1 Reduction ration

对超参数:降维系数 r r r进行了测试。

深度学习论文精读(5):SENet_第6张图片

最终选用 r = 16 r=16 r=16作为准确率和参数量的平衡。

6.2 Squeeze Operator

在尝试发现全局平均池化远优于全局最大池化后,没有进行更多的尝试。

6.3 Intergration strategy

对SE block的嵌入位置进行测试,发现除了SE-POST模式外,效果均非常理想,是一个非常稳定的提升准确率的方式。

深度学习论文精读(5):SENet_第7张图片

深度学习论文精读(5):SENet_第8张图片

7 Role of Excitation

深度学习论文精读(5):SENet_第9张图片

论文对SENets中Excitation的作用提出以下三点看法:
  首先,不同类别的分布在较低层中几乎相同,例如,SE_2_3表明在网络的最初阶段特征通道的重要性很可能由不同的类别共享。
  当网络层数较深时,每个通道的值变得更具类别特定性,因为不同类别对特征的判别性值具有不同的偏好,例如,SE_4_6和SE_5_1这两个观察结果与以前的研究结果一致,即低层特征通常更普遍(即分类中不可知的类别),而高层特征具有更高的特异性。因此,表示特征学习从SE block的重新校准中受益,其自适应地促进特征提取和专业化。
(没看懂)最后,论文在网络的最后阶段观察到一个有些不同的现象,例如,SE_5_2呈现出朝向饱和状态的有趣趋势,其中大部分激活接近于1,其余激活接近于0,在所有激活值取1的点处,该块将成为标准残差块。

在网络的末端SE_5_3中(在分类器之前紧接着是全局池化),不同的类出现了尺度上只有轻微的变化的相似模式(可以通过分类器来调整)。这表明,SE_5_2和SE_5_3在为网络提供重新校准方面比前面的块更不重要,这一发现与第四节实证研究的结果是一致的。这表明,通过删除最后一个阶段的SE块,网络总体参数数量可以显著减少,而性能只有一点损失(<0.1%的top-1错误率)。

8 总结

  • 提出了一种能够重标定通道内特征的结构。
  • 该结构的性能非常优异,同时非常方便嵌入其他的模型结构中。
  • 另外也可以用于辅助网络修剪/压缩的工作。

单词整理:

  • fuse 融合
  • broad 宽
  • hierarchy 等级,阶级
  • excitation 激发
  • generalize 概括
  • tackle 处理,办理
  • receptive filed 感受野
  • interleave 交错
  • attain 达到
  • incorporate 包括
  • aspect 方面
  • template 模板
  • recalibrate 重新校准
  • emphasise 强调
  • suppress 压制,弹压
  • accumulate 积累
  • burden 负担
  • optimisation 优化
  • surface 表面,面
  • cardinality 基数
  • denote 表示
  • omite 忽视
  • implicitly 隐式
  • entangle 绞
  • inherently 本质
  • mitigate 减轻
  • interpret 解读
  • prevalent 流行
  • exploit 利用
  • aggregate 合计,汇总
  • criteria 标准
  • opt 选择
  • concrete 具体
  • illstrate 说明
  • solely 独立
  • rigorous 严格
  • emerge 呈现

你可能感兴趣的:(计算机视觉论文精读)