SKNet笔记

SKNet(Selective Kernel Convolution)是ResNext后时代的产物,它和SENET是一对兄弟,其灵感来源于我们的视觉神经在看物体时会有不同的感受野。SKNet在实际的数据中表现的也很好。

  1. Abstract
    在经典的ResNext系列网络中,卷积神经网络的感受野是相同的。但是众所周知,我们人类的视觉系统在观察的时候感受野明显不相同(在观察远处物体时明显感受野会增加),作者根据这一灵感提出了SKNet----不同分支有不同的感受野,并且增加了对这些分支的Attention操作,让网络自己学习选哪一种感受野。
  2. Introduction
    在对猫视觉的研究中,猫的视觉神经在对同一物体的感受野是不同的,这可以使得猫搜集到多尺寸的信息,对于这一特性最经典的应用就是InceptionNets,它通过融合3×3、5×5、7×7三种不同的卷积核来提升网络的效果。
    在刚开始对神经视觉的实验中,科学家一度认为猫看木棍时有一个固定的感受野,称为CRF(Classic )。后来很多科学家发现,在猫盯着棍子的时候,如果你在其注意力外放一个物体猫的视觉神经仍有反应,这被称为NCRF(Non-classic)。并且,如果持续的刺激NCRF一段时间,猫的CRF也会发生改变。也就是说猫的视觉神经感受野是有自动调节功能的。可惜的是只有InceptionNets系列利用了这一网络,但是它仍然是固定了三种不同的视野,并且只采用了简单地线性相加,这种线性相加很有可能会削弱视觉上的动态调整特性。
    基于上面几点,作者提出了SKNet,该网络拥有自适应感受野。由Split、Fuse、Select三部分组成。
    SKNet具有如下优点:
    1. 网络参数少
    2. 识别效果好
    3. 感受野自适应(作者通过增大检测目标的尺寸和缩小背景尺寸来观察感受野的变化)
  3. Releated Work

    • 2.1 多分枝卷积神经网络
      Highway networks, ResNet, shake-shake, FractalNets, Multilevel ResNets, InceptionNets
    • 2.2 分组卷积、深度可分离卷积、扩张卷积
      AlexNet, ResNext
      Xception, MobileNetV1, MobileNetV2, ShuffleNet
    • 2.3 注意力机制
      SENet, BAM, CBAM
    • 2.4 动态卷积
      Spatial Transform Networks, Deformable Convolutional Networks
  4. Methods
    SKnet 结构图

    • 3.1 Split
      如上图所示,split主要有两种操作:
      \(对于输入X\subseteq \mathbb{R}^{H^{`} \times W^` \times C^`}有:\)
      \(\widetilde{F}:X \to \widetilde{U} \subseteq \mathbb{R}^{H^{`} \times W^` \times C^`}\)
      \(\widehat{F}:X \to \widehat{U} \subseteq \mathbb{R}^{H^{`} \times W^` \times C^`}\)
      其中,两方法都是用高效分组卷积或者深度可分离卷积、BatchNormalization和Relu。如果还想要提高效率,可以把5×5卷积替换成3×3和2×2组成的扩张卷积。
    • 3.2 Fuse
      对于不同卷积核的选择实际上还是通过门结构进行控制,为此需要获取到所有的信息,然后让网络决定能否通过。Fuse就是为了获取整个信息而做的融合。
      \(U = \widehat{U} + \widetilde{U}\)
      \(s_c = F_{gp}(U_c)=\frac{1}{H×W}\sum_{i=1}^{H}\sum_{j=1}^{W}U_c(i,j)\)
      \(z = F_{fc}(s) = Relu(BatchNormalization(Ws)) \quad ,W\in\mathbb{R}^{d×c},z\in\mathbb{R}^{d×1}\)
      这里的d表示缩减后的维度,一个典型的取值为32
      \(d=max(C/r, L) \quad ,c=32\)
    • 3.3 Select
      在该阶段对压缩特征矩阵z使用Soft Attention来让网络动态调整其RF
      \(a_c = \frac{e^{A_cz}}{e^{A_cz}+e^{B_cz}}\quad b_c = \frac{e^{B_cz}}{e^{A_cz}+e^{B_cz}}\)
      其中,\(A、B \in \mathbb{R}^{C×d}\)为扩展矩阵,其目的是为了把d×1的矩阵扩展到C×1。下标c表示矩阵中的第c的元素。
      最终的特征图V通过上面计算的Attention权重a,b最终加权获得:
      \(V_c = a_c\cdot \widetilde{U}_c+b_c\cdot \widehat{U} \quad , a_c+b_c=1\)
      \(V=[V_1, V_2, \cdots,V_C] \quad V_c \in \mathbb{R}^{H×W}\)
  5. 网络结构设计
    网络结构图如下:
    其中,G表示分组卷积每一组的Kernel size,fc表示SENet中两个全连接层的输出维度,M表示分路个数,r前面已经说明,表示特征的压缩系数。
    SENet可以插入到其他的网络结构中( MobileNet, Shuf- fleNet),这里插入到ResNext中是为了做对比。
  6. 实验
    • 5.1 ImageNet 分类任务
      • 5.1.1 ImageNet 1000分类上图中的224、320表示图像增强中的图像裁剪
      • 5.1.2 与最优模型的对比 加深模型的对比 (上图中的括号表示相对于ResNext的提升)
      • 5.1.3 轻量级模型对比
        轻量级表现
      • 5.1.4 参数性能表现
        不同参数量对应的error
    • 5.2 CIFAR 分类任务
      为了衡量网络在轻量数据上的表现,使用CIFAR 100分类和10分类数据来衡量网络的性能 轻量数据集分类
    • 5.3 Ablation Studies
      这部分研究主要是为了证明SKNet可以自适应的调整RF,仍然使用ImageNet为基本数据集。
      • 5.3.1 扩张系数D和分组数G
        D和G的累积会直接影响到RF大小,实验里固定了一条路径的系数,调整另一条路径的系数如下标,其中的Resulted Kernel表示等效的卷积核大小。从图中可以发现,即使感受野等效的情况下,使用小卷积核和扩张系数的搭配要比直接使用大卷积核好得多。 D和G对结果的影响
      • 5.3.2 不同大小卷积核的结合
        不同卷积核的对比 通过实验不难发现,当M(路的个数)增加时,识别的误差越来越小;无论使用多少M,使用SK都比不使用好;当使用SK时,从M=2到M=3提升不大,更推荐使用M=2。
    • 5.4 自适应RF的解释
      这一组实验的具体方法是使用同一组数据,但使用不同的目标物体和背景的尺度,进而观察Attention的权重系数来解释自适应的RF。
      不同尺度的对比 从实验中不难发现,当目标物体变大的时候,Attention Weight也逐渐变大(5×5的权重系数减去3×3的权重系数),这表示神经网络及时的将感受野调大,这个结果完全符合预期。 不同尺寸的表现
  7. 总结
    SKNet从神经学中的可调节感受野出发,通过Attention设计了一套自适应RF的网络结构,在不提高网络复杂度的情况下有效地提升了神经网络的正确率,并且拥有充足的可解释性。