Selective Kernel Networks

Selective Kernel Networks

Abstract

在标准的卷积神经网络(CNN)中,每层人工神经元的感受野都被设计成具有相同的大小。众所周知,视觉皮层神经元的感受野大小受刺激的调节,在构建CNN时很少考虑这一点。我们提出了一种CNN中的动态选择机制,允许每个神经元根据输入信息的多个尺度自适应地调整其感受野大小。设计了一种称为选择核(SK)单元的构建块,利用这些分支中的信息指导的Softmax注意力对不同核大小的多个分支进行融合。对这些分支的关注不同,融合层神经元的有效感受野大小也不同。多个SK单元被堆叠到称为选择性核心网络(SKNet)的深层网络中。在ImageNet和CIFAR基准测试中,我们的经验表明SKNet以较低的模型复杂度优于现有的最先进架构。详细分析表明,SKNet中的神经元能够捕获不同尺度的目标对象,验证了神经元根据输入自适应调整接收野大小的能力。代码和模型可在https://github.com/implus/SKNet.上找到。

Introduction

在上个世纪,猫的初级视觉皮层(V1)神经元的局部接受野(RFs)启发了卷积神经网络(CNNs)[26]的构建,并继续启发现代CNN结构的构建。例如,众所周知,在视觉皮层中,同一区域(如V1区域)的神经元的RF(感受野)大小是不同的,这使得神经元能够在同一加工阶段收集多尺度空间信息。这种机制在卷积神经网络(CNNs)中得到了广泛的应用。一个典型的例子是inception网[42,15,43,41],它设计了一个简单的连接来聚合多尺度的信息,例如,“inception”构建块中的卷积内核3×3, 5×5, 7×7。
然而,皮质神经元的其他一些RF(感受野)特性在设计CNN时并没有得到重视,其中一个特性就是RF(感受野)大小的自适应变化。大量实验证据表明,视觉皮层神经元的RF(感受野)大小不是固定的,而是受刺激的调节。在V1区神经元的经典RFs (CRFs)是由Hubel和Wiesel[14]发现的,通过单一定向条确定。后来,许多研究(如[30])发现,CRF之外的刺激也会影响神经元的反应。这些神经元被认为具有非经典RFs (nCRFs)。此外,nCRF的大小与刺激的对比度有关:对比度越小,nCRF的有效大小[37]越大。令人惊讶的是,通过刺激nCRF一段时间,在去除这些刺激[33]后,神经元的CRF也随之增大。这些实验表明,神经元的RF大小不是固定的,而是受刺激[38]的调节。不幸的是,在构建深度学习模型时,这个特性并没有得到太多的关注。在同一层中具有多尺度信息的模型,如开端网(incitionnets),由于下一个卷积层对来自不同分支的多尺度信息进行了线性聚合,因此具有根据输入内容调整下一卷积层神经元RF大小的内在机制。但这种线性聚集方法可能不足以提供神经元强大的适应能力。
本文提出了一种非线性的多核信息聚合方法来实现神经元的自适应RF(感受野)大小。我们引入了一个“选择核”(SK)卷积,它由一个三重算子组成:Split、Fuse和Select。Split算子生成不同核大小的多条路径,对应不同的神经元RF大小。Fuse操作符聚合来自多个路径的信息,以获得选择权重的全局和综合表示。Select操作符根据选择权值对不同大小核的特征映射进行聚合。
SK卷积在计算上是轻量级的,只会稍微增加参数和计算成本。我们发现,在ImageNet 2012数据集上,[35]SKNets优于之前具有相似模型复杂性的最先进模型。在SKNet50的基础上,我们找到SK卷积的最佳设置,并展示了各个组件的贡献。为了证明它们的通用性,我们还在较小的数据集CIFAR-10和100[22]上提供了引人注目的结果,并成功地将SK嵌入小模型(如ShuffleNetV2[27])。
为了验证所提出的模型确实有能力调整神经元的RF大小,我们通过放大自然图像中的目标对象和缩小背景来模拟刺激,以保持图像大小不变。研究发现,当目标对象越来越大时,大部分神经元从更大的核路径中收集的信息越来越多。这些结果表明,所提出的SKNet中的神经元具有自适应的RF大小,这可能是该模型在目标识别方面优越性能的基础。

Related Work

Multi-branch convolutional networks
Highway networks[39]引入了带有门控单元的旁路路径。两分支结构减轻了训练数百层网络的难度。ResNet[9,10]中也使用了这种思想,但绕过的路径是纯身份映射。除了单位映射,抖动网络[7]和多剩余网络[1]用更多相同的路径扩展了主要变换。深层神经决策森林[21]形成了具有学习分裂函数的树状结构多分支原理。FractalNets[25]和多级ResNet[52]被设计成可以以分形和递归方式扩展多条路径。InceptionNets[42,15,43,41]用定制的内核过滤器仔细地配置每个分支,以便聚合更多信息丰富的、多种多样的特性。请注意,所提出的SKNet遵循针对多个分支的InceptionNets的思想,但至少在两个重要方面有所不同:1)SKNet的方案更加简单,没有繁重的定制设计;2)针对这些多个分支的自适应选择机制被用来实现神经元的自适应RF大小。
Grouped/depthwise/dilated convolutions
分组卷积由于其较低的计算成本而变得流行起来。用G表示组大小,与普通卷积相比,参数数量和计算成本都将除以G。它们首先在AlexNet[23]中被采用,目的是将该模型分发到更多的GPU资源上。令人惊讶的是,使用分组卷积,ResNeXts[47]还可以提高精度。这个G称为“基数”,它描述了模型的深度和宽度。
许多紧凑模型,如IGCV1[53]、IGCV2[46]和IGCV3[40],都是基于交错分组卷积发展起来的。grouped卷积的特例是depthwise卷积,其中group的数目等于channels的数目。Xception[3]和MobileNetV1[11]引入了深度可分离卷积,它将普通卷积分解为深度卷积和逐点卷积。深度卷积的有效性在后来的工作中得到了验证,如MobileNetV2[36]和ShuffleNet[54,27]。除了分组/深度卷积之外,扩展卷积[50,51]支持RF的指数扩展而不会丢失覆盖。例如,扩展率为2的3×3卷积可以大致覆盖5×5滤波器的RF,而消耗的计算量和存储量还不到一半。在SK卷积中,较大尺寸(例如>1)的核被设计成与分组的/深度的/膨胀的卷积集成在一起,以避免较大的开销。
Attention mechanisms
最近,从自然语言处理中的神经机器翻译[2]到图像理解中的图像字幕[49],注意力机制的好处已经在一系列任务中显示出来。它偏向信息最丰富的特征表达式[16,17,24,28,31]的分配,同时抑制不太有用的特征表达式。注意力在最近的应用中已被广泛使用,例如人物Re-ID[4]、图像恢复[55]、文本摘要[34]和唇读[48]。为了提高图像分类的性能,Wang等人提出了一种新的图像分类方法。[44]建议在CNN的中间阶段之间进行躯干和掩蔽注意。引入沙漏模块以实现空间和通道两个维度的全局强调。此外,Senet[12]提供了一种有效的、轻量级的门控机制,通过通道重要性自校准特征映射。在通道之外,BAM[32]和CBAM[45]以相似的方式引入了空间注意力。相反,我们提出的SKNet是第一个通过引入注意机制来明确关注神经元自适应RF大小的网络。
Dynamic convolutions
空间变换网络[18]学习参数变换来扭曲被认为很难训练的特征地图。动态滤波器[20]只能自适应地修改滤波器的参数,不能调整核大小。主动卷积[19]用偏移量增加卷积中的采样位置。这些偏移量是端到端学习的,但在训练后变得静态,而在SKNet中,神经元的RF大小可以在推理过程中自适应地改变。可变形卷积网络[6]进一步使位置偏移量具有动态性,但它不像SKNet那样聚合多尺度信息。

Methods
Selective Kernel Convolution

为了使神经元能够自适应地调整其RF大小,我们提出了一种自动选择操作,即在不同核大小的多个核之间进行“选择性核”(SK)卷积。具体地说,我们通过三个运算符-Split、Fuse和Select实现SK卷积,如图1所示,其中显示了一个两分支的情况。因此,在本例中,只有两个内核大小不同,但很容易扩展到多个分支的情况。
图1
Split:
对于任何给定的特征映射X∈R^(H’×W’×C’) ,默认情况下,我们首先进行两个转换:F’:X→U’∈R^(H×W×C) 和 F’’:X→U’‘∈R^(H×W×C),内核大小分别为3和5。请注意,F’和b\F’'都由有效的grouped/depthwise、批归一化[15]和RELU[29]函数依次组成。为了进一步提高效率,用3×3核、膨胀大小为2的膨胀卷积代替了传统的5×5核卷积。
Fuse:
正如前言所述,我们的目标是使神经元能够根据刺激内容自适应地调整其感受野大小。其基本思想是使用门控来控制从携带不同尺度信息的多个分支流向下一层神经元的信息流。为了实现这一目标,门控需要整合来自所有分支机构的信息。我们首先通过元素求和来融合多个(图1中的两个)分支的结果:U=U’+U’’(公式1)
然后,我们通过简单地使用
全局平均池化
来嵌入全局信息,以生成通道方面的统计信息,如s∈R^C。具体地说,s的第c个元素是通过空间维度H×W收缩U来计算的:
公式2
此外,还创建了紧凑特征z∈R^(d×1),以实现对精确和自适应选择的指导。这是通过简单的全连接(FC)层实现的,并降低了维度以提高效率。
公式3
其中δ是RELU函数[29],B表示批次归一化[15],W∈R^(d×C)。为了研究d对模型效率的影响,我们使用缩减比r来控制其值:
公式4
其中L表示d的最小值(L=32是我们实验中的典型设置)。

Select
在紧凑特征描述符z的引导下,跨通道的软注意被用于自适应地选择不同的信息空间尺度。具体地说,在通道方向的数字上应用SoftMax运算符
公式5
其中A、B∈R^(C×d), a、b分别表示U’和U’'的软注意向量。请注意,Ac∈R^(1×d)是A的第c行,ac是a的第c个元素,Bc和bc也是如此。在两个分支的情况下,矩阵B是冗余的,因为ac+bc=1,最终的特征图V是通过各个核上的关注度权重得到的:
公式6
其中V=[V1,V2,…,Vc],Vc∈R^(H×W)。请注意,这里我们给出了一个两分支情况的公式,通过扩展等式(1)(5)(6)可以很容易地推导出分支较多的情况。

Network Architecture

使用SK卷积,SKNet的总体结构如表1所示。我们从ResNeXt[47]开始,原因有两个:1)它大量使用分组卷积,计算量小;2)它是一种在目标识别方面具有高性能的最先进的网络结构之一。与ResNeXt[47]类似,建议的SKNet主要由一堆重复的瓶颈块组成,这些块被称为“SK单元”。每个SK单元由1×1卷积、SK卷积和1×1卷积序列组成。一般而言,ResNeXt中原有瓶颈块中的所有大核卷积都被提出的SK卷积所取代,从而使网络能够以自适应的方式选择合适的RF大小。由于SK卷积在我们的设计中非常有效,与ResNeXt-50相比,SKNet-50只增加了10%的参数数量和5%的计算量。
表1
这三列分别指具有32×4d模板的ResNeXt-50、基于ResNeXt-50主干的SENET-50和相应的SKNet-50。在支架内是residual块的一般形状,包括过滤器大小和特征维度。每个阶段的堆叠块数显示在方括号外。“G=32”表示分组卷积。Fc后面的内括号表示SE模块中两个完全连接的层的输出尺寸。#P表示参数的数量,触发器的定义跟在[54]之后,即乘加的数量。

在SK单元中,有三个重要的超参数确定SK卷积的最终设置:确定要聚集的不同核的选择数的路径数M、控制每条路径的基数的组数G、以及控制Fuse运算符中的参数数的缩减率r(参见公式)。(4))。在表1中,我们表示SK卷积SK[M,G,r]的一种典型设置为SK[2,32,16]。这些参数的选择和影响将在4.3节中讨论。
表1显示了分别具有{3,4,6,3}个SK单元的具有四级的50层SKNet的结构。通过改变每个阶段的SK单元的数量,可以获得不同的体系结构。在这项研究中,我们对另外两种架构进行了实验,SKNet-26包含{2,2,2,2}个SK单元,SKNet-101包含{3,4,23,3}个SK单元=,它们分别处于四个阶段。
注意,所提出的SK卷积可以应用于其他轻量级网络,例如MobileNet[11,36]、ShuffleNet[54,27],其中广泛使用3×3深度卷积。通过将这些卷积替换为SK卷积,我们还可以在紧凑的体系结构中获得非常吸引人的结果(参见SEC。4.1)。

Experiments
ImageNet Classification

ImageNet 2012数据集[35]包含128万个训练图像和来自1000个类别的5万个验证图像。我们在训练集上训练网络,并报告验证集上的前1个错误。对于数据扩充,我们遵循标准做法,并执行224×224的随机大小裁剪和随机水平翻转[42]。实际的平均通道减法被归一化以归一化用于训练和测试的输入图像。训练期间使用标签平滑正则化[43]。为了训练大型模型,我们使用动量为0.9,最小批量为256,weight衰减为1e-4的同步SGD。初始学习率设置为0.1,每30个epoch减少10倍。使用[8]中的权重初始化策略,在8个GPU上从头开始训练所有模型100个epoch。为了训练轻量级模型,我们将权重衰减设置为4e-5而不是1e-4,并且我们还使用较小的主动比例扩展进行数据预处理。在[11,54]中也可以引用类似的修改,因为这样的小型网络通常遭受欠拟合而不是过度拟合的困扰。为了进行基准测试,我们在验证集上应用了中心裁剪,其中裁剪了224×224或320×320像素,以评估分类准确性。 ImageNet上报告的结果默认为3次运行的平均值。
Comparisons with state-of-the-art models.
我们首先将SKNet-50和SKNet-101与模型复杂度相近的公开竞争模型进行比较。结果表明,在相似的预算下,SKNet比最先进的基于注意力的CNN具有更高的性能。值得注意的是,SKNet-50的性能比ResNeXt-101高出绝对值0.32%以上,尽管ResNeXt-101的参数增加了60%,计算量增加了80%。在复杂度与InceptionNets相当或更低的情况下,SKNet获得了1.5%以上的绝对性能提升,这表明了多内核自适应聚合的优越性。我们还注意到,使用稍少的参数,SKNet在224×224和320×320的评估中都可以比SENET同行获得0.3-0.4%的增益。
Selective Kernel vs. Depth/Width/Cardinality
与ResNeXt(使用32×4d的设置)相比,SKNet由于增加了不同内核的路径和选择过程,不可避免地会在参数和计算量上略有增加。为了进行公平比较,我们通过改变ResNeXt的深度、宽度和基数来增加ResNeXt的复杂度,以匹配SKNet的复杂度。表3显示,复杂性增加确实会带来更好的预测精度。然而,当深入(从ResNeXt-50到ResNeXt-53的0.19%)或更宽(从ResNeXt-50到ResNeXt-50的更宽的0.1%)或稍微更大的基数(从ResNeXt-50(32×4d)到ResNeXt-50(36×4d)的0.23%)时,改善是微乎其微的。相比之下,SKNet-50在基线ResNeXt-50的基础上获得了1.44%的绝对改善,这表明SK卷积是非常有效的。
Performance with respect to the number of parameters
我们绘制了所提出的SKNet相对于其中的参数数量的TOP-1错误率(图2)。图中显示了SK-26、SKNet-50和SKNet-101三种架构(详见第3.2节)。为了进行比较,我们在图中绘制了一些最先进的模型的结果,包括ResNet[9]、ResNeXts[47]、DenseNets[13]、DPNs[5]和SENet[12]。每种型号都有多个变种。在补充资料中提供了比较架构的详细信息。参考文献中报告了所有Top-1错误。可以看出,SKNet比这些模型更有效地利用参数。例如,在达到DPNet20.2 TOP-1错误的情况下,∼-101所需的参数比DPN-98少22%。
Lightweight models.
最后,我们选择代表性的紧凑体系结构ShuffleNetV2 [27](这是最强的光照模型之一)来评估SK卷积的泛化能力。通过探索表4中不同比例的模型,我们可以观察到SK卷积不仅显着提高了基线的准确性,而且比SE [12]表现更好(达到了绝对1%的增益)。这表明SK卷积在低端设备应用中的巨大潜力。
在这里插入图片描述

CIFAR Classification

为了评估SKNets在较小数据集上的性能,我们在CIFAR-10和100上进行了更多实验[22]。两个CIFAR数据集[22]由彩色自然场景图像组成,每个图像具有32×32像素。训练集和测试集分别包含50k图像和10k图像。 CIFAR-10有10个类别,CIFAR-100有100个类别。我们以[47]中的体系结构作为参考:我们的网络具有单个3×3卷积层,随后是3个阶段,每个阶段具有3个带有SK卷积的残差块。我们还将SE块应用于相同的主干(ResNeXt29,16×32d),以进行更好的比较。补充材料中提供了更多的构建和训练的详细信息。值得注意的是,SKNet-29的性能比ResNeXt-29更好或具有可比性,参数减少了60%的16×64d,并且在CIFAR-10和参数少了22%的情况下始终优于SENet-29和SENet-29。

Ablation Studies

在本节中,我们将对ImageNet数据集进行消融研究,以研究SKNet的有效性。
The dilation D and group number G
扩张率D和组数G是控制RF大小的两个关键要素。为了研究它们的效果,我们从两分支情况开始,并在SKNet-50的第一个内核分支中固定D = 1,G = 32的3×3滤波器设置。在总体复杂度相似的约束下,有两种方法可以扩大第二个内核分支的RF:1)在固定组数G的同时增加扩张率D,2)同时增加滤波器大小和组数G。表6显示了另一个分支的最佳设置是内核大小为5×5(最后一列)的最佳设置,它大于第一个固定大小为3×3的固定内核。使用不同的内核大小被证明是有益的,并且我们将原因归结为多尺度信息的聚集。
在这里插入图片描述有两种最佳配置:D = 1的内核,大小为5×5和D = 2的内核,大小3×3,其中后者的模型复杂度略低。总的来说,我们从经验上发现,具有各种扩张率的3×3内核系列在性能和复杂性上均适度优于具有相同RF(没有扩张率的大内核)的对应内核。
Combination of different kernels.
接下来,我们研究组合不同内核的效果。一些内核的大小可能大于3×3,并且可能有两个以上的内核。为了限制搜索空间,我们仅使用三个不同的内核,分别称为==“ K3”(标准3×3卷积内核),“ K5”(3×3卷积,扩张率为2近似于5×5内核大小​​)和“ K7” (3×3,扩展率为3近似为7×7内核大小)==。请注意,如表6所示,我们仅考虑大内核(5×5和7×7)的扩张版本。 G固定为32。如果在表7中打勾“ SK”,则表示我们在同一行中打勾的相应内核上使用了SK注意(图1中每个SK单元的输出为V),否则我们将只需将这些内核的结果相加即可(然后,每个SK单元的输出在图1中为U),作为简单的基线模型。
表7中的结果表明,SKNets的出色性能可归因于多个内核的使用以及它们之间的自适应选择机制。根据表7,我们有以下观察结果:(1)当路径数M增加时,识别误差通常会减小。该表的第一个块中的前1个错误(M = 1)通常高于第二个块中的(M = 2),并且第二个块中的错误通常高于第三个块(M = 3 )。 (2)无论M = 2还是3,基于SK注意的多路径聚合始终比简单的聚合方法(朴素的基准模型)实现的top-1错误更低。 (3)利用SK的注意,模型的性能增益从M = 2到M = 3是微不足道的(top-1误差从20.79%降低到20.76%)。为了在性能和效率之间取得更好的平衡,首选M = 2。

Analysis and Interpretation

为了了解自适应核选择的工作原理,我们通过输入相同的目标对象但以不同的比例来分析注意力权重。我们从ImageNet验证集中获取所有图像实例,并通过中心裁剪和随后的调整大小将中心对象从1.0倍逐渐放大到2.0倍(请参见图3a,b左上方)。
图3
图3.(a)和(b):具有三个不同大小目标(1.0x,1.5x和2.0x)的两个随机采样图像的注意力结果。左上方:示例图像。左下:SK_3_4中各个通道的5×5内核的注意值。为便于查看,绘制的结果是16个连续通道的平均值。右:在不同SK单位中内核5×5的注意值减去内核3×3的注意值。 (c):ImageNet验证集中所有图像实例的平均结果。还标出了标准偏差。
首先,我们计算每个SK单元中每个通道中大内核(5×5)的关注值。图3a,b(左下方)显示了SK_3_4中两个随机样本在所有通道中的关注值,图3c(左下方)显示了所有验证图像中所有通道中的平均关注值。可以看出,在大多数通道中,当目标对象扩大时,大核(5×5)的注意力权重就会增加,这表明神经元的RF大小会自适应地变大,这与我们的预期相符。
然后,我们在每个SK单元的所有通道上计算与两个内核(较大的减去较小的)相关联的平均注意权重之间的差异。图3a,b(右)显示了两个不同SK单位的随机样本的结果,图3c(右)显示了所有验证图像的平均值。对于跨深度的自适应选择的作用,我们发现了一种令人惊讶的模式:目标对象越大,在中低阶阶段(例如,SK_2_3,SK_3_4)会获得越多的关注。但是,在更高的层上(例如,SK 5 3),所有比例尺信息都丢失了,这种模式消失了。
此外,我们从类别的角度深入研究选择分布。对于每个类别,我们在属于该类别的所有50张图像上,针对代表性的SK单位,针对1.0倍和1.5倍物体绘制平均平均注意力差异。我们在图4中给出了1,000个类别的统计数据。我们观察到,先前的模式对于所有1,000个类别均成立,如图4所示,其中5×5内核的重要性不断提高,并且随着目标规模的增长而增加。这表明,在网络的早期,可以根据对象大小的语义意识选择合适的内核大小,从而可以有效地调整这些神经元的RF大小。但是,这种模式在像SK_5_3这样的非常高的层中不存在,因为对于高级表示,“比例”部分编码在特征向量中,并且与较低层的情况相比,内核大小的重要性较小。

在这里插入图片描述
图4.使用ImageNet上的所有验证样本,对1,000个类别中的每个类别,SKNet-50的SK单元上的平均注意力差异(核的平均关注值为5×5减去核的平均关注值为3×3)。在低级或中级SK单元(例如,SK_2_3、SK_3_4)上,如果目标对象变大(1.0x→1.5x),则明显地施加5×5内核,并且更加强调。

Conclusion

受视觉皮层神经元的自适应感受野(RF)大小的启发,我们提出了带有新型选择性内核(SK)卷积的SelectiveKernelNetworks(SKNets),以通过软核方式通过自适应内核选择提高对象识别的效率和有效性。 SKNets展示了从大型模型到微型模型在各种基准上的最新性能。此外,我们还发现了跨通道,深度和类别的内核选择的几种有意义的行为,并通过经验验证了RF大小对SKNets的有效适应性,从而使人们对其机制有了更好的理解。我们希望它能在将来激发对建筑设计和搜索的研究。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值