论文分享 | 轻量级网络之mobilenet v1

卷积神经网络广泛应用在各种任务,比如图像分类、目标检测等,性能也越来越好,但都趋向于使用更深更复杂的结构来提升性能而不太关注计算代价,使得将这些模型直接部署在移动设备困难重重。本文针对传统卷积计算量大的缺点,对传统卷积模块进行了改进,该结构更高效,为在移动设备上部署带来了可能。


Roofline Model


在介绍具体的原理之前,我们先来与模型计算性能相关的几个概念: 


(1)计算量:对于给定大小的输入,模型进行一次预测(前向传播)需要的浮点运算次数,其单位为 FLOP ;


(2)访存量:对于给定大小的输入,模型进行一次预测(前向传播)发生的内存交换量,其单位为 Byte ;


(3)计算强度:计算量与访存量的比值,单位为 FLOP/Byte;


衡量一个设备的性能需要考虑很多因素,这里我们仅考虑两个重要因素:带宽和算力,有一个经典模型Roofline Model 刻画了两者的关系:

上图中横轴I为计算强度,纵轴P表示理论性能,可以看出,随着计算强度的增加,理论性能先增加然后保持不变,拐点称为最大计算强度,由设备的算力和带宽共同决定,当计算强度小于最大计算强度时,称为存储受限,即此时性能受限于存储器;当计算强度大于最大计算强度时,称为计算受限,即此时性能受限于计算能力。后面将给出本文的结构与一些经典结构的对比。

原理 

mobilenet的核心思想是将传统卷积分解为深度可分离卷积与1 * 1 的卷积。深度可分离卷积是指输入特征图的每个channel都对应一个卷积核,这样输出的特征的每个channel只与输入特征图对应的channel相关。这种卷积操作能够显著降低模型大小和计算量。示意图如下:


对于一个大小为3 * 3 的卷积核,计算量降低了约7 ~ 9 倍。


下面来看一下整体的网络结构,网络结构比较简单直观,与VGG类似,都采用逐层堆叠式。

另外该模型还可以引入两个额外的参数来分别控制特征图的channel数和输入的分辨率,从而得到更高效的模型,可以在速度和精度的权衡下选择合适的模型。

实验结果:


1. 传统卷积结构与深度可分离的结构性能对比,可以看出深度可分离的结构牺牲了很小的性能,带来了计算量和参数量的大幅降低。


2. 在原始结构的基础上,对特征图的channel数量进行不同比例的压缩,可以根据实际需求选择合适的结构。


3. 不同模型计算量、访存量、计算强度的比较


欢迎关注微信公众号:geetest_jy   获取更多关于GCN、DL的知识

论文链接: MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值