CVPR2018_主干网络系列(3)_SE-Net及其衍生的网络[SE-XX-Net]

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kevin_zhao_zl/article/details/87912751

论文地址: Squeeze-And-Excitation Networks
工程代码: Github链接1    Github链接2    Github链接-官方

0. 摘要

  卷积神经网络的核心模块就是卷积模块,它通过融合局部感受野上的空间信息和通道维度的信息来构建特征图,该论文之前的研究都是通过分析空间信息获取这部分来增强卷积神经网络对空间信息的编码能力以获得信息更丰富的特征图,本文聚焦通道维度的优化提出一个名为SE(Squeeze-and-Excitation)模块的新颖的单元架构,利用通道的独立性分别重调通道维度的特征来获得更好的最终效果,这些模块堆叠而成的新网络最终也取得了非常好的效果。

1. 简介

  卷积神经网络已被证明在多种视觉任务上效果可观,它的每一个卷积层都包含一系列滤波器来表达每一个输入通道的空间信息,最终将局部感受野上的空间信息和通道维度的信息融合得到结果,然后通过非线性激活函数和下采样操作来产生粗略的能捕捉具有层次结构的特征。近来的研究表明这些特征可以通过集成学习机制来更好地捕获特征之间的空间关系最终获得增强,比如Inception族的网络。
  该论文则研究通道之间的关系为研究重点,提出了具有全新架构的单元-Squeeze-and-Excitation(SE) block,通过利用卷积特征通道之间的独立性来更好地建模。为了这个目标,论文提出了一个机制来进行特征重调即更具每个特征通道的重要程度进行排序,增强重要的削弱不重要的。
在这里插入图片描述

  SE模块的结构图上图所示,对于每一个卷积操作 F t r : X U , X R H × W × C , U R H × W × C F_{tr}:X\rightarrow U,X\in R^{H'\times W'\times C'},U\in R^{H\times W\times C} ,都能构建一个对应的SE模块来进行特征重调。特征 U U 首先经挤压( s q u e e z e squeeze )操作,顺着空间维度进行特征压缩,将每个二维通道变成一个具有全局感受野的实数,输入输出的特征通道数互相匹配。这个描述符表征着再特征通道上响应的全局分布,而且使得靠近输入的层也可以获得全局的感受野。这之后是一个激发( e x c i t a t i o n excitation )操作,通过上面一步得到的参数为每个特征维度生成权重,这些权重视为每个特征通道的重要性,通过乘法逐通道甲醛到先前的特征上,完成通道维度对原始特征的重调。
  SE模块不但能够通过自身的堆叠构建SE网络即SE-Net,还能对已有的深度网络架构中的模块进行替衍生出新的网络,比如SE-ResNet和SE-ResNeXt。尽管模块是通用的但是其在网络的不同深度所起的作用不同。在浅层中用于加强全局的特征,深层则具有更加的类别明确性,最终SE模块的积极性叠加产生一个较好的结果。
  通常设计一个新的卷积神经网络架构非常困难,SE模块却非常简单可以直接应用到现有的SOTA架构上增强其效果,此外SE模块比较清凉,只是略微增加了一点模型的复杂度和计算代价,论文后面的部分也通过一系列实验证明了这些阐述。

2. 相关工作

更深的架构:SE模块取得了良好的效果
算法结构的研究:SE模块作为独立单元能与其他算法结合
注意力机制和门控机制:SE模块使用了一个简单的轻量级门控机制来怎强模型表征能力。

3. SE Blocks

  SE模块是一个为所有的 F t r : X U , X R H × W × C , U R H × W × C F_{tr}:X\rightarrow U,X\in R^{H'\times W'\times C'},U\in R^{H\times W\times C} 变换构建的计算单元,为了表示方便,使用 F t r F_{tr} 来代表卷积操作, V = [ v 1 , v 2 , . . . , v C ] V=[v_1,v_2,...,v_C] 表示滤波器核内容的集合,其中 v C v_C 表示第 C C 个通道的参数,则 F t r F_{tr} 的的输出 U = [ u 1 , u 2 , . . . u C ] U=[u_1,u_2,...u_C] 可以表示为:
(1) u C = v c X = s = 1 C v C s x s u_C=v_c*X=\sum^{C'}_{s=1}v^s_C*x_s\tag{1}

   * 表示卷积操作, v C = [ v C 1 , v C 2 , . . . v C C ] , X = [ x 1 , x 2 , . . . , x C ] ( ) , v C s v_C=[v^1_C,v^2_C,...v^{C'}_C],X=[x^1,x_2,...,x^{C'}](偏差项被忽略了),v_C^s 是对 X X 上通道 v C v_C 的2D核。之后利用通道独立性更好地建模,分为两个步骤即 s q u e e z e e x c i t a t i o n squeeze和excitation

3.1 Squeeze:全局信息嵌入

  首先是如何利用通道独立性的问题,论文最先研究输出特征上每个通道的信号,每一个滤波器在局部感受野操作的同时不能利用局部感受野之外的语义信息。
  为了解决这个问题,提出挤压(squeeze)操作,即将全局空间信息挤压只一个通道描述符来表示,这是通过全局平均池化来生成通道维度的数据的。公式化, z R C z\in R^C 通过 U U 的二维空间维度来产生,其第 c c 个元素计算公式为:
(2) z C = F s q ( u C ) = 1 H × W i = 1 H j = 1 W u C ( i , j ) z_C=F_{sq}(u_C)=\frac{1}{H\times W}\sum^H_{i=1}\sum^W_{j=1}u_C(i,j)\tag{2}

  讨论:U的输出可以解释为描述全图信息的局部符号,利用这样的信息就和之前的特征工程工作相似,论文选择了最简单的聚合技术全局平均池化来描述这个策略。

3.2 Excitation:自适应性重调

  为了利用squuze聚合的信息,通过第二步操作来捕获通道维度的独立性。为了满足这个要求,这个函数必须满足两个条件:

  • 灵活,特别是必须能够学习通道之间的非线性的作用
  • 必须能够学习非互斥的关系,因为要保证多通道能够得到加强而不是单点的加强。

  同时满足上两个要求,选择了一个简单的带有sigmoid激活函数的门控,如下公式所示:
(3) s = F e x ( z , W ) = σ ( g ( z , W ) ) = σ ( W 2 δ ( W 1 z ) ) s=F_{ex}\left(z,W\right)=\sigma\left(g\left(z,W\right)\right)=\sigma\left(W_2\delta\left(W_1z\right)\right)\tag{3}

  其中 δ \delta 表示ReLU激活函数, W 1 R C r × C W_1\in R^{\frac{C}{r}\times C} W 2 R C × C r W_2\in R^{C\times \frac{C}{r}} ,为了控制模型复杂度和泛化能力,论文通过一个带有两个非线性全连接层的瓶颈块来参数化门控机制。最终带有激活函数的输出 U U 表示为:
(4) x ˇ C = F s c a l e ( u C , s C ) = s C u C \check{x}_C=F_{scale}(u_C,s_C)=s_C \cdot u_C\tag{4}

  其中 X ˇ = [ x ˇ 1 , x ˇ 2 , . . . . , x ˇ C ] F s c a l e ( u C , s C ) \check{X}=[\check{x}_1,\check{x}_2,....,\check{x}_C],F_{scale}(u_C,s_C) 表示在通道维度通过介于 s C s_C 和特征图 u C R H × W u_C\in R^{H\times W} 的缩放指数进行相乘。
  讨论:激发操作excitation将输入的描述符 z z 映射为一些列通道相关的权重,本质上在输入上引入了动态条件以增强判别能力。

3.3 实例

  SE模块可以集成到VGGNet等标准的网络架构中,而且SE模块非常灵活能够直接应用在卷积操作之前的变换中,论文接着给出了几个SE模块应用在其他网络架构的例子。
在这里插入图片描述

  第一个是SE模块+Inception网络,如上图所示,用变换 F t r F_{tr} 来表示Inception模块,将如上所示的变化应用到每一个模块中就构成了SE-Inception网络。第二个是SE模块+ResNet,如下图所示, F t r F_{tr} 表示残差模块的非恒等分支, S q u e e z e E x c i t a t i o n Squeeze和Excitation 操作都在该分支和恒等分支相加的之前完成。
在这里插入图片描述

  此外还可以将SE模块集成到ResNeXt,Inception-ResNet,MobileNet和ShuffleNet等网络中,论文也给出了SE-ResNet-50和SE-ResNeXt-50的详细描述,如下图所示:
在这里插入图片描述

  SE模块由于其灵活性造成一个后果就是集成的时候会有不同的策略,论文也对不同的融合策略做了消融实验。

4. 模型及其计算复杂度

  略

5. 实验

5.1 图像分类

在这里插入图片描述
在这里插入图片描述

5.2 场景分类等略

6. 消融实验

7. 结论

  略
欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/kevin_zhao_zl/article/details/87912751