卷积核里面的参数怎么来的_动态卷积|CondConv

CondConv: Conditionally Parameterized Convolutions for Efficient Inference

paper:https://arxiv.org/abs/1904.04971

code:https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet/condconv

该文是谷歌大神 Quov V.Le出品,一种条件卷积,我更愿称之为动态卷积。 卷积是当前CNN网络的基本构成单元之一,它的一个基本假设是: 卷积参数对所有样例共享。作者提出一种条件参数卷积,它可以为每个样例学习一个特定的卷积核参数,通过替换标准卷积, CondConv可以提升模型的尺寸与容量,同时保持高效推理。作者证实:相比已有标准卷积网络,基于 CondConv的网络在精度提升与推理耗时方面取得了均衡(即精度提升,但速度持平)。在 ImageNet分类问题中,基于 CondConvEfficientNet-B0取得了78.3%的精度且仅有 413M计算量。

Introduction

​ CNN在诸多计算机视觉任务中取得了前所未有的成功,但其性能的提升更多源自模型尺寸与容量的提升以及更大的数据集。模型的尺寸提升进一步加剧了计算量的提升,进一步加大优秀模型的部署难度。

​ 现有CNN的一个基本假设:对所有样例采用相同的卷积参数。这就导致:为提升模型的容量,就需要加大模型的参数、深度、通道数,进一步导致模型的计算量加大、部署难度提升。由于上述假设以及终端部署需求,当前高效网络往往具有较少的参数量。然而,在某些计算机视觉应用中(如终端视频处理、自动驾驶),模型实时性要求高,对参数量要求较低。

​ 作者提出一种条件参数卷积用于解决上述问题,它通过输入计算卷积核参数打破了传统的静态卷积特性。特别的,作者将CondConv中的卷积核参数化为多个专家知识的线性组合(其中,

是通过梯度下降学习的加权系数):
。为更有效的提升模型容量,在网络设计过程中可以提升专家数量,这比提升卷积核尺寸更为高效,同时专家知识只需要进行一次组合,这就可以在提升模型容量的同时保持高效推理。

1a1255f4a75b09d208bb2b74c6d89bbd.png

Method

​ 在常规卷积中,其卷积核参数经训练确定且对所有输入样本“一视同仁”;而在CondConv中,卷积核参数参数通过对输入进行变换得到,该过程可以描述为:

其中

一个样本依赖加权参数。在
CondConv中,每个卷积核
具有与标准卷积核参数相同的维度。

​ 常规卷积的容量提升依赖于卷积核尺寸与通道数的提升,将进一步提升的网络的整体计算;而CondConv则只需要在执行卷积计算之前通过多个专家对输入样本计算加权卷积核。关键的是,每个卷积核只需计算一次并作用于不同位置即可。这意味着:通过提升专家数据量达到提升网络容量的目的,而代码仅仅是很小的推理耗时:每个额外参数仅需一次乘加。

CondConv等价于多个静态卷积的线性组合,见上图b。因此它具有与n个专家同等的容量,但计算更为高效。而这其中最关键是:加权参数

。它必须具有数据依赖,否则
CondConv将等价于静态卷积。那么如何设计该数据依赖型参数呢
?作者采用三个步骤计算该参数:

所提CondConv可以对现有网络中的标准卷积进行替换,它同时适用于深度卷积与全连接层。

很明显,这里所提的 CondConv就是一种标准的动态滤波器卷积,只不过它这里卷积核设计方式与已有其他动态滤波器卷积存在一些区别,但本质不变:数据依赖性。

Experiments

​ 作者在ImageNet分类任务上评估了所提CondConv的性能,相对性能对比见下表。

fffbc8fa8901f72073286410381d995b.png

​ 此外,作者还对比提升专家数量对模型性能的影响。

507b8426cdca4ecc29dc14d53a73c026.png

​ 除了分类任务,作者还在COCO检测任务上对所提CondConv进行对比分析,见下图。

554116578b4973bacbfc8c33f65cccdf.png

​ 更多的消融实验分析详见原文,这里不再赘述。

Conclusion

​ 总而言之,作者在静态卷积之外提出一种条件参数卷积:CondConv。它打破了静态卷积的假设:卷积核对所有输入“一视同仁”。这为提升模型容量同时保持高效推理打开了一个新的方向:提升卷积核生成函数的尺寸与复杂度。由于卷积核参数仅需计算一次,相比卷积计算,这些额外的计算量可以忽略。也就是说:提升卷积核生成的计算量要远比添加更多卷积或更多通道数高效CondConv同样突出一个重要的研究问题:如何更好的覆盖、表达与利用样本的相关性以提升模型性能


欢迎关注AIWalker公众号,在这里您将得到独家深度学习经验分享与个人思考。想支持Happy继续写下去就点个赞关注一下吧!

a87d185caf73e95f42f4dba8a70df34c.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值