(论文翻译)Selective Kernel Networks(多尺度注意力CVPR2019)

Selective Kernel Networks(CVPR2019)


实验部分详见原文,文章为原文翻译,如有错误请参照原文

1.摘要
  • 背景:在标准的CNNs网络中,每层中的人工神经元的感受野size是固定的
  • 挑战:众所周知,神经科学领域中,视觉皮层神经元的感受野size随着刺激进行改变,在CNNs的构建中很少被考虑
  • 方法
    • CNNS中,我们提出了一种动态选择机制,它使每个神经元动态的调整基于输入信息的多尺度的感受野size
    • 一种SK unit被设计,其中不同感受野size的多种branches通过这些branches上的信息使用softmax attention进行融合
    • branches上不同的attention在融合层中会产生不同的神经元感受野size
    • 多个SK units被堆叠到名为SKNets的深度网络中
  • 贡献
    • ImageNetCIFAR的benchmarks中,SKNet超过了已有的低模型复杂度的SOTA结构
    • 详细的分析展现出SKNet上的神经元可以捕获不同尺度的目标,证实了模型可以根据输入信息动态调整感受野size的能力
    • 代码与模型:https://github.com/implus/SKNet
2.引言

1. 引出不同感受野 s i z e 的背景 ‾ \underline{1.引出不同感受野size的背景} 1.引出不同感受野size的背景

  • 引出感受野size
    • 在猫的初级视觉皮层中神经元的局部感受野(RFs)在上个世纪引出了CNNs,同时继续引出现代CNN结构
    • 例如,在视觉皮层中相同区域的神经元感受野size是不同的,这可以使神经元在同一的处理阶段收集到多尺度的空间信息
  • 感受野size的应用及原理
    • 这种机制已经宽泛的应用在最近的CNNs
    • 典型的例子在InceptionNets中,其中,简单的cat被设计用于聚合3*3、5*5、7*7卷积核的多尺度信息

2. 通过示例引出问题( R F 如何自适应变化) − 挑战 ‾ \underline{2.通过示例引出问题(RF如何自适应变化)-挑战} 2.通过示例引出问题(RF如何自适应变化)挑战

  • 引出nCRFs感受野区域变化的重要性
    • 然而,一些其他皮层神经元的感受野属性并没有在CNNs设计中被强调,而这样的属性代表着感受野size是动态改变的
    • 大量的实验证明了神经元的感受野size在视觉皮层中是非固定的,而是随着刺激自行调整的
    • 视觉皮层区域中经典的神经元感受野被Hubel and Wiesel发现,是通过研究单一方向的条状物体而确定的
    • 后来,许多研究发现典型的感受野之外的刺激也会影响神经元的响应
    • 这些神经元被称为非典型感受野nCRFs
  • 强调RF sizes调整的重要性
    • 另外,nCRFsize与刺激的对比度相关,对比度越小,有效nCRFsize越大(当刺激的对比度较低时,视觉系统可能需要更大的区域来感知和响应这种低对比度的信息)
    • 通过刺激nCRF一段时间,在消除这些刺激后神经元的CRF也会增大
    • 所有的实验表明神经元的RF sizes不是固定的,而是随着刺激不断调整的
  • 用研究现状引出问题
    • 不幸的是,在构建深度学习模型时这种特性并没有受到过多的关注
    • 这些伴有多尺度信息的模型在同一神经层中有着固有的机制去根据输入信息去调整下一层神经元的RF size,因为下一个卷积层会从不同的branchs线性的聚合多尺度信息
    • 但是线性聚合方法可能并不足以提供给神经元有力的适应能力

3. 我们的方法 ‾ \underline{3.我们的方法} 3.我们的方法

  • 在本文中,我们提出了一种非线性方法对多个卷积核做信息聚合来实现RF自适应size
  • 我们介绍了Selective Kernel(SK)卷积,它由三元组:Split、Fuse、Select组成
  • Split算子生成多个不同的kernel sizepaths,它对应着神经元不同的RF sizes
  • Fuse算子结合并聚合多paths的信息来为权重获取全局综合表示
  • Select算子根据权重聚合不同kernel size的特征映射

4. 我们的贡献 ‾ \underline{4.我们的贡献} 4.我们的贡献

  • SK卷积在计算上是轻量级的,同时在参数与计算成本上只有少量的增长
  • ImageNet2012数据集上,SKNets优于此前的同样模型复杂度的SOTA模型
  • 基于SKNet50我们发现SK卷积最好的设置,并展现出每个部分的贡献
  • 为了证明他们的泛化能力,我们在CIFAR-10、100上也提供可观的结果,同时成功的将SK嵌入到小模型上

5. 方法验证 ‾ \underline{5.方法验证} 5.方法验证

  • 为了证实提出的模型有适应神经元的RF size的能力,我们在不改变自然图像大小的前提下通过放大图像上的目标物体,同时缩小背景来模拟stimulus
  • 我们发现,在目标物体变得越来越大时绝大多数神经元更容易从更大的kernel上收集信息
  • 这样的结果表明SKNet上的神经元具有动态的RF sizes,在目标检测上可能有着更好的潜力
3.相关工作
3.1.Multi-branch卷积网络
  • 其他Multi-branch的方法及优点
    • Highway网络引出了bypassing pathsgating units
    • 这种two-branch结构针对训练上百层的网络可以简化困难
    • 这种idea也被用于ResNet,但是bypassing path是纯单位映射
    • 除单位映射外,shake-shake网络与多残差网络用更多相同的paths延伸出主要的transformation
    • 深度神经决策森林用学习的splitting函数形成了树结构的multi-branch原则
    • FractalNetsMultilevel ResNets在多条path可以分形和递归地展开的方式被设计出来
    • 为了聚合增多信息和多种特征,InceptionNets用定制的内核过滤器仔细配置每个branch
  • 我们方法的不同与优势
    • 请注意,我们提出的SKNets遵循了多种branch过滤器的idea,但是有两个重要的方面不同的是:
      • SKNets更加简单并没有过多的定制化设计
      • branches的动态选择机制被应用去实现动态的神经元RF size
3.2.Grouped/depthwise/dilated卷积

1. 引出 g r o u p   c o n v (本文使用部分) ‾ \underline{1.引出group\ conv(本文使用部分)} 1.引出group conv(本文使用部分)

  • group卷积因低计算成本而流行
  • 给定group size G G G ,对比于原始卷积,参数量与计算成本会被 G G G​ 划分
  • 它们首先被应用与AlexNet,以分配模型到多GPU上的目的
  • 通过使用group卷积,ResNeXts也可以提升ACC
  • G G G​​ 被称为*“cardinality”*, 它与深度和宽度一起表征模型

2. 引出 d e p t h w i s e / d i l a t e d   c o n v ‾ \underline{2.引出depthwise/dilated\ conv} 2.引出depthwise/dilated conv

  • 引出group conv->depthwise conv->pointwise conv->dilated conv
    • 许多小模型如IGCV1、 IGCV2、IGCV3,都是基于交错的分组卷积
    • group conv特殊的案例是depthwise conv,其中group数量等同于channel数量
    • XceptionMobileNetV1引出了depthwise separable conv,它可以分解原始的卷积为depthwise convpointwise conv
    • depthwise卷积的有效性在后续的工作如MobileNetV2ShuffleNet中得到验证
    • grouped/depthwise conv之外,dilated conv(空洞卷积)支持RF的指数膨胀,且不丢失覆盖范围
    • 例如,dilation2的33卷积大概可以覆盖5*5的RF*,同时消耗不到一半的计算与内存
  • SK中应用上述idea的设计
    • 在SK卷积中,为了避免过载,更大size(>1)的kernel设计用于整合grouped/depthwise/dilated conv
3.3.注意力机制(背景、作用、应用,罗列文献,我们的方法)
  • 最近注意力机制的优势已经通过一系列的任务展现出来,从自然语言处理中的神经机器翻译到图像理解中的图像字幕
  • 它偏向于收集具有丰富信息的特征与自发的抑制无用的特征
  • 注意力已经宽泛的用于person re-ID、图像恢复、文本抽取和唇读解读
  • 为了提升图像分类的性能,Wang等人提出CNN中间阶段的trunk-and-mask注意力
  • hourglass模型引入了空间与通道维度的全局emphasis
  • 再者,SENet提出了高效、轻量的门控机制进行自我调整通道重要性的特征映射
  • 在通道之外,BAMCBAM以一种简单的方式介绍了空间注意力
  • 相反,我们提出的SKNets是第一个通过注意力机制详细的在动态RF size上进行融合
3.4.动态卷积(罗列文献,我们的方法)
  • Spatial Transform Networks学习到一个参数转变来扭曲特征映射,被认为很难去训练
  • Dynamic Filter只能动态更改过滤器参数,不会对kernel size进行调整
  • Active Convolution在偏移量(offsets)的卷积中提升了采样位置
  • 这些offsets被端到端学习,在训练后变成静态,然而在SKNet中,RF size在推理过程中可以动态的改变
  • Deformable Convolutional Networks进一步使位置偏移动态,但是它不会想SKNet一样以相同的方式聚合多尺度信息
4.方法
4.1.Selective Kernel Convolution

在这里插入图片描述

Figure 1. Selective Kernel Convolution.

1. 总述方法 ‾ \underline{1.总述方法} 1.总述方法

  • 为了使神经元动态调整RF size,我们提出了一种automatic selection operation, “SK conv”,在多个不同size的kernel中
  • 特别的,我们实现SK conv在以下三个算子– Split、Fuse、Select,如[Fig. 1](# 4.1.Selective Kernel Convolution),two-branch
  • 因此,再此样例中,只有两个不同kernel size的卷积核,但是延申多branch是很容易的

2. S p l i t ‾ \underline{2.Split} 2.Split

  • 对于任何给定的特征映射 X ∈ R H ′ × W ′ × C ′ \mathbf{X}\in\mathbb{R}^{H^{\prime}\times W^{\prime}\times C^{\prime}} XRH×W×C,我们首先默认做两个transformation F ~ : X → U ~ ∈ R H × W × C \widetilde{\mathcal{F}}:\mathbf{X}\to\widetilde{\mathbf{U}}\in\mathbb{R}^{H\times W\times C} F :XU RH×W×C F ^ : X → U ^ ∈ R H × W × C \widehat{\mathcal{F}}:\mathbf{X}\to\widehat{\mathbf{U}}\in\mathbb{R}^{H\times W\times C} F :XU RH×W×C kernel size分别是3和5
  • 注意 F ~ \widetilde{\mathcal{F}} F F ^ \widehat{\mathcal{F}} F 由有效的grouped/depthwise conv、BN、ReLU组成
  • 对于更有效地方法,用3*3的空洞卷积且dilation size为2替换5*5的传统卷积

3. F u s e ‾ \underline{3.Fuse} 3.Fuse

  • part 1

    • 如引言所说,我们的目标是使神经元根据stilulus动态调整RF size
    • 基础的idea就是用门控制多个branches的信息流,携带不同尺度信息到下一层的神经元中
    • 为了完成此目标,gates需要从多个branches整合信息
    • 我们首先从多个branches经过element-wise加和融合结果

    U = U ~ + U ^ \mathbf{U}=\widetilde{\mathbf{U}}+\widehat{\mathbf{U}} U=U +U

    ​ 然后,我们通过使用全局AvgPooling生成通道统计值 s ∈ R C \mathbf{s}\in\mathbb{R}^C sRC 来嵌入全局信息

    • 特别低, s \mathbf{s} s 的第 c c c 个元素是通过空间维度 H × W H\times W H×W 压缩 U \mathbf{U} U 得到的

    s c = F g p ( U c ) = 1 H × W ∑ i = 1 H ∑ j = 1 W U c ( i , j ) s_c=\mathcal{F}_{gp}(\mathbf{U}_c)=\frac{1}{H\times W}\sum_{i=1}^{H}\sum_{j=1}^{W}\mathbf{U}_c(i,j) sc=Fgp(Uc)=H×W1i=1Hj=1WUc(i,j)

  • part 2

    • 进一步,得到一个compact特征 z ∈ R d × 1 \mathbf{z}\in\mathbb{R}^{d\times1} zRd×1 为精准而动态的selections得到引导

    • 通过FC层得到,达到维度缩减而更高效的效果
      z = F f c ( s ) = δ ( B ( W s ) ) \mathbf{z}=\mathcal{F}_{fc}(\mathbf{s})=\delta(\mathcal{B}(\mathbf{W}\mathbf{s})) z=Ffc(s)=δ(B(Ws))
      其中 δ \delta δ 为ReLU, B \mathcal{B} B 代表BN, W ∈ R d × C \mathbf{W}\in\mathbb{R}^{d\times C} WRd×C

    • 为了研究 d d d 对模型效率的影响,我们使用reduction ratio r r r​ 来控制它的值
      d = max ⁡ ( C / r , L ) d=\max(C/r,L) d=max(C/r,L)
      其中 L L L 代表 d d d 的最小值( L = 32 L=32 L=32 是实验中典型的设置)

4. S e l e c t ‾ \underline{4.Select} 4.Select

  • 跨通道的soft attention被用于自适应选择不同的空间尺度信息,它由the compact feature descriptor z \mathbf{z} z 所引导

  • 特别地,softmax算子被应用在channel-wise digits
    a c = e A c z e A c z + B c z , b c = e B c z e A c z + B c z a_c=\frac{e^{\mathbf{A}_c\mathbf{z}}}{e^{\mathbf{A}_c\mathbf{z}+\mathbf{B}_c\mathbf{z}}},b_c=\frac{e^{\mathbf{B}_c\mathbf{z}}}{e^{\mathbf{A}_c\mathbf{z}+\mathbf{B}_c\mathbf{z}}} ac=eAcz+BczeAcz,bc=eAcz+BczeBcz
    其中 A , B ∈ R C × d \mathbf{A} ,\mathbf{B}\in\mathbb{R}^{C\times d} ABRC×d a , b \mathbf{a},\mathbf{b} a,b U ~ \widetilde{\mathbf{U}} U U ^ \widehat{\mathbf{U}} U 对应的soft attention向量

  • 注意, A c ∈ R 1 × d \mathbf{A}_c\in\mathbb{R}^{1\times d} AcR1×d 是 c-th row of A \mathbf{A} A 同时 a c a_c ac 是 c-th element of a \mathbf{a} a,同样的 B c , b c \mathbf{B}_c, b_c Bc,bc 同理

  • 在two branches的例子中,矩阵 B \mathbf{B} B 是冗余的,因为 a c + b c = 1 a_c+b_c=1 ac+bc=1

  • 最终的特征映射 V \mathbf{V} V 通过多kernel注意力权重获得
    V c = a c ⋅ U ~ c + b c ⋅ U ^ c ,   a c + b c = 1 \mathbf{V}_c=a_c\cdot\widetilde{\mathbf{U}}_c+b_c\cdot\widehat{\mathbf{U}}_c,\ a_c+b_c=1 Vc=acU c+bcU c, ac+bc=1
    其中 V = [ V 1 , V 2 , . . . , V C ] ,   V c ∈ R H × W \mathbf{V}=[\mathbf{V}_1,\mathbf{V}_2,...,\mathbf{V}_C],\ \mathbf{V}_c\in\mathbb{R}^{H\times W} V=[V1,V2,...,VC], VcRH×W

  • 注意,这里我们为两个分支的情况提供了一个公式,通过扩展Eqs可以很容易地推导出有更多分支的情况

5.实验
6.结论
  • 受视觉皮层神经元自适应感受野(RF)的启发,我们提出了Selective Kernel Networks (SKNets),采用一种新颖的 Selective Kernel (SK)卷积,以软注意的方式自适应核选择来提高目标识别的效率和有效性
  • SKNets在各种基准测试中展示了最出色的性能,从大型模型到小型模型
  • 此外,我们还发现了跨通道、深度和类别的核选择的几个有意义的行为,并通过经验验证了RF尺寸对核选择的有效性,从而更好地理解其机制
  • 我们希望对未来架构设计与探索的研究有所启发
  • 43
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值