shuffleNet阅读笔记

论文名称:ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

论文链接:https://arxiv.org/abs/1707.01083

  • 摘要

shuffleNet是face++在2017年提出,目的是提高深度模型的复杂度,降低对GPU硬件的依赖,可在移动端执行。

我们知道深度学习网络在包括图像识别等多个领域发展迅速,但是随着模型的深度越来越深,模型的参数量越来越大,现如今模型一般都跑的GPU上面,那么如何能在嵌入式或者移动端使用深度学习也是目前研究比较多的领域,shufflenet便是其中一个成果。shuffleNet主要拥有两个创新点:(1)pointwise group convolution,(2)channel shuffle。

在模型效果方面,作者通过实验证明,在ImageNet classfication任务中,shuffleNet相比较于mobileNet,top-1的错误率降低了7.8个百分点。另外在移动端,在相同的精度下,shuffleNet的速度是alexNet的13倍。

与shuffleNet相关联的两个网络,一个是Xception,一个是MobileNet,有兴趣的读者可以看一下这两个网络。

1. shuffleNet策略之一:分组卷积

为了提高网络的效率,除了剪枝、量化等手段,另一个主要的手段便是在网络设计阶段在保证精度的情况下减少一定的网络参数量,分组卷积便是这样的一个手段,这里解释一下什么是分组卷积,举个例子,比如你的特征图有64个channel,分成2个组,每个组的32个特征图分别处理,最后把得到结果之后再进行合并,这就是分组卷积了,另外补充一个,depthwise separable convolution是分组卷积的一个特例,其就是特征图有几个channel,我就分为几个组,保证每个组只有一个特征图进行处理,这是在mobileNet中提出的,shuffleNet用到了分组卷积以及depthwise separable convolution。其实分组卷积在alexnet中便被使用,当时受限于GPU的显存,alex将网络分别在两个GPU上同时训练,另一个比较火的分组卷积网络便是resNeXt,resNeXt通过分组卷积,比resnet精度提高了一些,但是resNeXt的分组卷积也有一个缺点:dense 1*1卷积耗费了大量的计算,占到了总计算量的93.3%,怎么计算出来的呢?下面说明一下:

首先明确一下resnext一个unit的网络结构:如下图:

下面我们假设输入的特征图大小为d*d,来计算一下该网络结构的计算量:首先对于最上面的降维: 25611dd4 256 ∗ 1 ∗ 1 ∗ d ∗ d ∗ 4 ,中间的计算量为: 4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值