概述
启发
皮质神经元根据不同的刺激可动态调节其自身的感受野。因此,本文提出一种动态选择机制使每一个神经元可以针对目标物体的大小选择不同的感受野。
动态选择
本文设计SK单元用不同卷积核提取特征,然后通过每个分支引导的不同信息构成的softmax进行融合。
SK单元包括三个方面:Split, Fuse, Select。
- Split:使用不同的卷积核对原图进行卷积。
- Fuse:组合并聚合来自多个路径的信息,以获得选择权重的全局和综合表示。
- Select:根据选择权重聚合不同大小的内核的特征图。
SKNet结构
Selective Kernel Convolution
这个SKNet包含两个分支, 如下图所示:
Split
✔️ 对于任意输入的feature map,首先进行两个变化,得到 U ~ \widetilde{U} U 和 U ^ \widehat{U} U ,使用的kernel size分别为 3x3 和 5x5,其中 5x5 的卷积核替换为一个dilation为2的3x3的卷积核。
Fuse
✔️ 该步骤主要通过门控机制将上一层的输出进行有选择的筛选,使每一个分支都携带不同的信息流进入下一个神经元。
-
对不同分支的输出进行融合,即逐元素进行相加(输出的尺寸和通道数必须是一样的);
U = U ~ + U ^ U=\widetilde{U}+\widehat{U} U=U +U -
对两个输出进行全局平均池化(global average pooling )操作,获得每一个通道上的全局信息;
s c = F g p ( U c ) = 1 H × W ∑ i = 1 H ∑ j = 1 W U c ( i , j ) s_c={F}_{gp}(U_c)={1\over{H\times W}}\sum_{i=1}^H \sum_{j=1}^W {U_c(i,j)} sc=Fgp(Uc)=H×W1i=1∑Hj=1∑WUc(i,j) -
对输出 s 做全连接找到每一个通道占的比重大小;
z = F f c ( s ) = σ ( B ( W s ) ) z=F_fc(s)=\sigma(B(W_s)) z=Ff