SKnet

SKNET

那些在同一层中具有多尺度信息的模型,如InceptionNets,有一个内在的机制,可以根据输入的内容调整下一个卷积层中神经元的RF大小,因为下一个卷积层会线性地聚合来自不同分支的多尺度信息。但这种线性聚合方式可能不足以为神经元提供强大的适应能力。

在本文中,我们提出了一种非线性方法来聚合来自多个kernels 的信息,以实现神经元的自适应RF大小。我们介绍了一种 “选择性内核”(Selective Kernel)卷积,它由三个运算符组成:Split、Fuse和Select。Split算子产生的多个路径具有不同的核大小,对应于不同的神经元的RF大小。Fuse算子将来自多条路径的信息进行组合和聚合,以获得全局性的综合表示,用于选择权重。选择操作符根据选择权重对不同大小的内核的特征图进行聚合。

SK卷积在计算上是轻量级的,参数和计算成本只增加了一点点。

为了验证该模型确实具有调节神经元RF大小的能力,我们通过在自然图像中放大目标对象和缩小背景来模拟刺激,以保持图像大小不变。结果发现,当目标对象越来越大时,大多数神经元从较大的内核路径中收集的信息越来越多。这些结果表明,提出的SKNet中的神经元具有自适应的RF大小,这可能是该模型在目标识别中具有优越的性能的基础。

3. Methods

3.1. Selective Kernel Convolution

为了使神经元能够自适应地调整其RF大小,我们提出了一种自动选择操作,即 “选择性内核”(Selective Kernel)卷积,在具有不同内核大小的多个内核中进行自动选择。具体来说,我们通过三个运算符–Split、Fuse和Select来实现SK卷积,如图1所示,图1是一个双分支的例子。因此,在这个例子中,只有两个不同大小的内核,但很容易扩展到多分支的情况。

SKnet

Split: 对于任何给定的feature map XRH×W×CX\in R^{H'\times W'\times C'},默认情况下,我们首先进行两个核大小为3和5的转换F~:XU~RH×W×C\widetilde{F}:X\rightarrow\widetilde{U}\in R^{H\times W\times C} 和 $\widehat{F}:X\rightarrow\widehat{U}\in R^{H\times W\times C} ..注意,\widetilde{F}\widehat{F}$都是由有效的grouped/depthwise卷积组成的 ,后面依次为Batch
Normalization and ReLU function。为了进一步提高效率,将传统的5X5核卷积替换为3X3核和扩张大小为2的扩张卷积。

Fuse: 如引言所述,我们的目标是使神经元能够根据刺激内容自适应地调整RF大小。其基本思想是使用门来控制来自多个分支的信息流,这些分支携带不同尺度的信息进入下一层的神经元。为了实现这个目标,门需要集成来自所有分支的信息。我们首先融合来自多个分支(图1中的两个)的结果,通过一个element-wise的总和:

U=U~+U^U = \widetilde{U}+\widehat{U} (1)

然后我们通过简单地使用全局平均池来嵌入全局信息来生成像sRCs\in R^C那样的信道统计量。

sc=Fgp(Uc)=1H×Wi=1Hj=1WUc(i,j)s_c=F_{gp}(U_c)=\frac{1}{H\times W}\sum^H_{i=1}\sum^W_{j=1}U_c(i,j) (2)

此外,还创建了一个紧凑型特征zRd×1z\in R^{d\times 1},以实现精确和自适应选择的制导。这是通过一个简单的全连接(fc)层实现的,通过降低维度来提高效率:

z=Ffc(s)=δ(B(Ws))z=F_{fc}(s)=\delta(B(Ws)) (3)

δ\delta 代表ReLU函数,B代表Batch Normalization,WRd×CW\in R^{d\times C}。为了研究d对模型效率的影响,我们使用还原比r来控制其值:

d=max(C/r,L)d=max(C/r,L) (4)

其中L表示d的最小值(L = 32是我们实验的典型设置)。

Select: 跨通道的软注意被用来自适应地选择不同的信息空间尺度,这是由紧凑的特征描述符z引导的。具体地说,一个softmax算子被应用于channel-wise的数字:

ac=eAczeAcz+eBcz,bc=eBczeAcz+eBcza_c=\frac{e^{A_cz}}{e^{A_cz}+e^{B_cz}},b_c=\frac{e^{B_cz}}{e^{A_cz}+e^{B_cz}} (5)

其中A,BRC×dA,B\in R^{C\times d},a,b表示$ \widetilde{U},\widehat{U}$ 的软注意向量。在两个分支的情况下,矩阵B是多余的,因为ac+bc=1a_c+b_c=1。通过对各个kernel的注意权值得到最终的feature map V:

Vc=acU~c+bcU^c,ac+bc=1V_c = a_c\cdot\widetilde{U}_c+b_c\cdot\widehat{U}_c,a_c+b_c=1 (6)

注意,这里我们提供了两个分支的情况下的公式,一个可以很容易地推断出更多分支的情况,通过扩展方程。(1) (五)(六)。

3.2. Network Architecture

…(SENet和SKNet都是因为看论文ResNeST所以顺带了解,论文剩下部分就不翻译,重点是理解注意力于网络的结合方式)