CVPR2019|卷积核动态选择网络

本文利用多分支不同卷积核融合的网络结构来实现动态选择卷积核,目的是为了模拟实际生物神经元根据不同的刺激可动态调节其自身的感受域,设计思路结合了attention和inception两种机制来实现不同卷积核的选择和融合。本文设计实现的Selective Kernel主要对目前卷积网络,如ResNet、Inception、ShuffleNet等结构中卷积核尺寸大于1的卷积核进行替换,充分利用了group/depthwise卷积带来的较小的理论参数和浮点运算的优点。在实验方面,本文提出的方法在图像分类任务中,top-1的精度方面相比于ResNeXt-50涨了1.4%左右

CVPR2019|卷积核动态选择网络_第1张图片

论文地址:
https://arxiv.org/pdf/1903.06586.pdf
代码地址:
https://github.com/implus/SKNet

引言

目前,卷积神经网络结构中比较有效的两大架构为ResNeXt 和 Inception。前者利用group卷积轻量化大于1的卷积核;后者采用多路卷积核的设计方式。本文提出的SKNet结合了这两大架构的特点,并引入普遍使用的Attention操作将两者联合起来,使得在计算量和参数量没有明显增加的情况,模型的效果有显著提升。

模型

CVPR2019|卷积核动态选择网络_第2张图片
Selective Kernel 主要分为三个操作步骤进行,分别为Split、Fuse和Select。
Split:输入为 c × h × w c\times h \times w c×h×w 的特征图 X \mathbf X X F ^ \hat {\mathcal F} F^ F ~ \tilde{\mathcal F} F~ 均表示Group Convlution,这里使用Group Convlution以减少计算量。其中,这两路Group Convlution使用的卷积核大小不一致,分别为 3 × 3 3\times 3 3×3 5 × 5 5\times 5 5×5,使Selective Kernel动态选择感受野。
Fuse:通过Split操作分成两路之后,再把两路结果进行融合,然后再做Sequeeze and Excitation block,具体公式如下。

CVPR2019|卷积核动态选择网络_第3张图片


其中, B \mathbf B B 为Batch Normalization, W ∈ R d × C \mathbf W \in \mathbb{R}^{d \times C} WRd×C ,$ \delta $为ReLU激活函数。
Select:将Sequeeze and Excitation block模块的结果通过两个softmax以回归出Channel之间的权重信息,然后把这个权重信息乘到 U ^ \hat {\mathbf U} U^ U ~ \tilde{\mathbf U} U~ 中。这个过程可以认为是soft attention,将两路特征图进行相加得到输出特征图 V \mathbf V V ,具体公式如下。


其中, A c ∈ R C × d \mathbf A_c \in \mathbb{R}^{C \times d} AcRC×d , B c ∈ R C × d \mathbf B_c \in \mathbb{R}^{C \times d} BcRC×d

实验结果

CVPR2019|卷积核动态选择网络_第4张图片
在ImageNet 2012数据集上,SKNet的效果优于同等参数量下的现有方法,其中,在top-1精度上,SKNet-50相比于ResNeXt-50涨了1.44%,SKNet-101相比于ResNeXt-101涨了0.92%。

结论

本文利用ResNeXt 和 Inception网络结构的特点,结合Sequeeze and Excitation block对同尺寸卷积核的feature map 的 Channel之间的融合和soft attention对不同尺寸卷积核产生feature map的融合,提出了能自适应的选择感受域的大小Selective Kernel Networks(SKNets)。实验证明,该网络结构在图像分类任务中能有效提升模型性能,其中在top-1精度上,SKNet-50相比于ResNeXt-50涨了1.44%,SKNet-101相比于ResNeXt-101涨了0.92%。


CVPR2019|卷积核动态选择网络_第5张图片
扫码识别关注,获取更多论文解读

你可能感兴趣的:(CVPR2019|卷积核动态选择网络)