ShuffleNet v1

论文ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices(CVPR 2017)

动机

嵌入式设备的计算资源十分有限,在上面运行复杂的神经网络具有较大的挑战。因此急需一种轻量级网络,对深度学习模型进行瘦身加速,但要保证一定的精度

Group Convolution

Group Convolution也就是分组卷积,按通道将特征图分组,分别进行标准卷积,最后将每组得到的特征图按通道合并,可明显减少参数及计算量,具体示意如下:
C ∗ H ∗ W ⏟ 输入特征 ⟹ N个C*K*K卷积核 N ∗ H ′ ∗ W ′ ⏟ 输出特征 ⏞ 标准卷积 ⇓ 按通道划分成G组 Group Convolution C G ∗ H ∗ W ⏟ 单组输入特征 ⟹      ⋮    共G组 N G 个 C G *K*K卷积核 N G ∗ H ′ ∗ W ′ ⏟ 单组输出特征      ⇓ 合并G组特征图    N ∗ H ′ ∗ W ′ ⏟ 最终输出特征 \begin{aligned} &\overbrace{ \underbrace{C*H*W}_{\text{输入特征}}\mathop{\Longrightarrow}\limits^{\text{N个C*K*K卷积核}}\underbrace{N*H^\prime*W^\prime}_{\text{输出特征}} }^{\text{标准卷积}}\\ &\qquad\Downarrow_\text{按通道划分成G组}\qquad\color{blue}\text{Group Convolution}\\ &\color{blue}\boxed{\begin{aligned} &\color{black} \underbrace{\frac CG*H*W}_{\text{单组输入特征}}\mathop{\Longrightarrow}\limits^{\text{$\frac NG$个$\frac CG$*K*K卷积核}}_{\quad\;\;\vdots\;_\text{共G组}}\underbrace{\frac NG*H^\prime*W^\prime}_{\text{单组输出特征}}\\ &\color{black} \qquad\qquad\qquad\quad\;\;\Downarrow_\text{合并G组特征图}\\ &\color{black} \qquad\qquad\qquad\; \underbrace{N*H^\prime*W^\prime}_{\text{最终输出特征}} \end{aligned}} \end{aligned} 输入特征 CHWNC*K*K卷积核输出特征 NHW 标准卷积按通道划分成GGroup Convolution单组输入特征 GCHWGGNGC*K*K卷积核单组输出特征 GNHW合并G组特征图最终输出特征 NHW

Channel Shuffle

Group Convolution可明显减少参数和计算量,但同时也存在一定的问题,如下图(a)所示:

  • 连续的Group Convolution操作后,后面学到的特征仅与前面相对应组的特征有关,这使得后面学到的特征具有一定的局限性。

为打破这种局限性,采用 channel shuffle 的方法,如图(b)、(c)所示:只需将组间特征混合一下即可

在这里插入图片描述

ShuffleNet Unit

ShuffleNet 的 ShuffleNet Unit 基于 MobileNets v2 的 Bottleneck Unit 【 3 】 ^{【3】} 3 改动,均类似于ResNet:

  • 1 × 1 1\times 1 1×1卷积改用 Group Convolution,且第一个 1 × 1 1\times 1 1×1卷积后面使用 Channel Shuffle
  • 中间的 3 × 3 3\times 3 3×3DWcov 就是 MobileNets v1中的 Depthwise Sparable Convolutions 【 2 】 ^{【2】} 2
  • 注意图(c)并不是直接相加,而是合并通道
    在这里插入图片描述

ShuffleNet结构基本与ResNet相同,每个Stage中用ShuffleNet unit代替原来的Residual block即可,这里只有三个Stage

在这里插入图片描述

实验

ShuffleNet 0.5× 表示 filter 个数为原来的 0.5 倍
当网络较小时,精度随Group增多升高在这里插入图片描述
Channel Shuffle明显提高了分类精度

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考文献

【1】Group Convolution分组卷积,以及Depthwise Convolution和Global Depthwise Convolution
【2】MobileNets v1
【3】MobileNets v2
【4】ShuffleNet算法详解
【5】CNN模型之ShuffleNet

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值