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是一个双分支的例子。因此,在这个例子中,只有两个不同大小的内核,但很容易扩展到多分支的情况。
Split: 对于任何给定的feature map ,默认情况下,我们首先进行两个核大小为3和5的转换 和 $\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的总和:
(1)
然后我们通过简单地使用全局平均池来嵌入全局信息来生成像那样的信道统计量。
(2)
此外,还创建了一个紧凑型特征,以实现精确和自适应选择的制导。这是通过一个简单的全连接(fc)层实现的,通过降低维度来提高效率:
(3)
代表ReLU函数,B代表Batch Normalization,。为了研究d对模型效率的影响,我们使用还原比r来控制其值:
(4)
其中L表示d的最小值(L = 32是我们实验的典型设置)。
Select: 跨通道的软注意被用来自适应地选择不同的信息空间尺度,这是由紧凑的特征描述符z引导的。具体地说,一个softmax算子被应用于channel-wise的数字:
(5)
其中,a,b表示$ \widetilde{U},\widehat{U}$ 的软注意向量。在两个分支的情况下,矩阵B是多余的,因为。通过对各个kernel的注意权值得到最终的feature map V:
(6)
注意,这里我们提供了两个分支的情况下的公式,一个可以很容易地推断出更多分支的情况,通过扩展方程。(1) (五)(六)。
3.2. Network Architecture
…(SENet和SKNet都是因为看论文ResNeST所以顺带了解,论文剩下部分就不翻译,重点是理解注意力于网络的结合方式)