Dynamic-conv

引入动态卷积,即根据多个卷积核对每个输入的关注程度,动态地对它们进行聚合。与静态算法(每层只有一个卷积核)相比,该算法显著提高了网络的表示能力,但增加了大量的计算开销,对高效的网络神经网络更加友好。并且可以很容易地集成到现有的CNN架构中路

论文名称:Dynamic Convolution: Attention over Convolution Kernels

作者:Yinpeng Chen ,Xiyang Dai, Mengchen Liu, Dongdong Chen, Lu Yuan, Zicheng Liu

Code:https://github.com/kaijieshi7/Dynamic-convolution-Pytorch(非官方)

摘要

  • 相比高性能深度网络,轻量型网络因其低计算负载约束(深度与通道方面的约束)导致其存在性能降低,即比较有效的特征表达能力。为解决该问题,作者提出动态卷积:它可以提升模型表达能力而无需提升网络深度与宽度。。

  • 不同于常规卷积中的单一核,动态卷积根据输入动态的集成多个并行的卷积核为一个动态核,该动态核具有数据依赖性。多核集成不仅计算高效,而且具有更强的特征表达能力(因为这些核通过注意力机制以非线性形式进行融合)。

  • 通过简单地使用动态卷积的最新架构MobilenetV3-Small,在ImageNet分类中排名前1的精度提高了2.3%,仅增加了4%的错误,而在COCO keypoint检测中实现了2.9 AP增益。

    image-20210801165209269

Dynamic Convolution

生成方法

image-20210801165349986

动态卷积将SE Block生成的注意力对卷积核进行加权求和,最终得到一个随着输入变化的动态卷积核,其生成方法而下:

  1. 使用SE Block生成注意力,需要注意的是,这里的输出通道数不再是原通道,而是 K K K,表示后面的 c o n v 1 ⋯ c o n v K conv_1\cdots conv_K conv1convK
  2. 使用一个 s o f t m a x softmax softmax将注意力进行归一化​
  3. 将得到的注意力与相应的静态卷积核进行广播相乘,加权求和得到最终的动态卷积

为什么要约束注意力输出

约束注意力输出可以促进注意力模型πk(x)的学习。

具体来说,通过约束其和为1,使得动态卷积核 W ~ = ∑ k π k W ~ k \tilde{W}=\sum_k{\pi_k\tilde{W}_k} W~=kπkW~k保持在核空间中 { W ~ k } \{\tilde{W}_k\} {W~k}​的凸包中,下面给出一个例子

image-20210801171918465

在一个拥有三个卷积核的空间内,限制 0 < π k ( x ) < 1 0<\pi_k(x)<1 0<πk(x)<1​​只能将​动态核限制在这两个三角锥内,而限制 π k ( x ) = 1 \pi_k(x)=1 πk(x)=1可以使动态核限制在中间的三角形区域,在上图中动态核被压缩在这一红点。显而易见,归一化使得 π k ( x ) \pi_k(x) πk(x)的学习更加简化。

训练早期的近似均匀注意力

在训练早期,近乎均匀的注意力可以促进所有内核 { W k ~ } \{\tilde{W_k}\} {Wk~}​​ 的学习,这个观点在 中也有体现

作者在最初使用 s o f t m a x softmax softmax并没有获得很好的效果,甚至相较于原网络还有一定程度上的精度损失

这主要是因为 s o f t m a x softmax softmax的性质,详细可以见,对于方差较大的输入,其输出接近 o n e − h o t one-hot onehot​​编码,这使得注意力分布极其不均匀,因此使用了参数temperature减小输入的方差,从而获得了更加优秀的效果。

总结

总的来说,本文为增加网络的复杂性提出了一种新的思路,不同与普通卷积,动态卷积会根据输入动态的调整卷积核的参数,而不是对所有输入一视同仁

一视同仁是最近注意力机制方面都在强调的东西,也是其所追求的目标

本文在增加极少运算量的情况下,显著的提高的轻量级网络的性能,对轻量级网络性能的提升有一定的帮助

虽然其运算量几乎没有变化,但是动态卷积网络所需要的参数量是大幅增加的

并且在训练时,也是一个二阶优化问题,相较于普通卷积更难以训练

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值