SKNet(Selective Kernel Convolution)是ResNext后时代的产物,它和SENET是一对兄弟,其灵感来源于我们的视觉神经在看物体时会有不同的感受野。SKNet在实际的数据中表现的也很好。
- Abstract
在经典的ResNext系列网络中,卷积神经网络的感受野是相同的。但是众所周知,我们人类的视觉系统在观察的时候感受野明显不相同(在观察远处物体时明显感受野会增加),作者根据这一灵感提出了SKNet----不同分支有不同的感受野,并且增加了对这些分支的Attention操作,让网络自己学习选哪一种感受野。
- Introduction
在对猫视觉的研究中,猫的视觉神经在对同一物体的感受野是不同的,这可以使得猫搜集到多尺寸的信息,对于这一特性最经典的应用就是InceptionNets,它通过融合3×3、5×5、7×7三种不同的卷积核来提升网络的效果。
在刚开始对神经视觉的实验中,科学家一度认为猫看木棍时有一个固定的感受野,称为CRF(Classic )。后来很多科学家发现,在猫盯着棍子的时候,如果你在其注意力外放一个物体猫的视觉神经仍有反应,这被称为NCRF(Non-classic)。并且,如果持续的刺激NCRF一段时间,猫的CRF也会发生改变。也就是说猫的视觉神经感受野是有自动调节功能的。可惜的是只有InceptionNets系列利用了这一网络,但是它仍然是固定了三种不同的视野,并且只采用了简单地线性相加,这种线性相加很有可能会削弱视觉上的动态调整特性。
基于上面几点,作者提出了SKNet,该网络拥有自适应感受野。由Split、Fuse、Select三部分组成。
SKNet具有如下优点:- 网络参数少
- 识别效果好
- 感受野自适应(作者通过增大检测目标的尺寸和缩小背景尺寸来观察感受野的变化)
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
- 2.1 多分枝卷积神经网络
Methods
- 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}\)
- 3.1 Split
- 网络结构设计
网络结构图如下:
其中,G表示分组卷积每一组的Kernel size,fc表示SENet中两个全连接层的输出维度,M表示分路个数,r前面已经说明,表示特征的压缩系数。
SENet可以插入到其他的网络结构中( MobileNet, Shuf- fleNet),这里插入到ResNext中是为了做对比。
- 实验
- 5.1 ImageNet 分类任务
- 5.1.1 (上图中的224、320表示图像增强中的图像裁剪)
- 5.1.2 与最优模型的对比 (上图中的括号表示相对于ResNext的提升)
- 5.1.3 轻量级模型对比
- 5.1.4 参数性能表现
- 5.1.1 (上图中的224、320表示图像增强中的图像裁剪)
- 5.2 CIFAR 分类任务
为了衡量网络在轻量数据上的表现,使用CIFAR 100分类和10分类数据来衡量网络的性能 - 5.3 Ablation Studies
这部分研究主要是为了证明SKNet可以自适应的调整RF,仍然使用ImageNet为基本数据集。- 5.3.1 扩张系数D和分组数G
D和G的累积会直接影响到RF大小,实验里固定了一条路径的系数,调整另一条路径的系数如下标,其中的Resulted Kernel表示等效的卷积核大小。从图中可以发现,即使感受野等效的情况下,使用小卷积核和扩张系数的搭配要比直接使用大卷积核好得多。 - 5.3.2 不同大小卷积核的结合
通过实验不难发现,当M(路的个数)增加时,识别的误差越来越小;无论使用多少M,使用SK都比不使用好;当使用SK时,从M=2到M=3提升不大,更推荐使用M=2。
- 5.3.1 扩张系数D和分组数G
- 5.4 自适应RF的解释
这一组实验的具体方法是使用同一组数据,但使用不同的目标物体和背景的尺度,进而观察Attention的权重系数来解释自适应的RF。
从实验中不难发现,当目标物体变大的时候,Attention Weight也逐渐变大(5×5的权重系数减去3×3的权重系数),这表示神经网络及时的将感受野调大,这个结果完全符合预期。
- 5.1 ImageNet 分类任务
总结
SKNet从神经学中的可调节感受野出发,通过Attention设计了一套自适应RF的网络结构,在不提高网络复杂度的情况下有效地提升了神经网络的正确率,并且拥有充足的可解释性。