论文阅读笔记:ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

论文阅读笔记:ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

论文下载地址:ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices


本文主要包含如下内容:

  论文提出了 ShuffleNet,是在网络 MobileNet 上的改进,论文同样来自 Google。


核心思想


  MobileNet 只做了3*3卷积的 deepwise convolution ,而1*1的卷积还是传统的卷积方式,还存在大量冗余,ShuffleNet 则在此基础上,将1*1卷积做了 shuffle 和 group 操作,实现了 channel shuffle 和 pointwise group convolution 操作,最终使得速度和精度都比 mobileNet 有提升。

  ResNeXt 借鉴了这种 group 操作改进了原本的 ResNet。MobileNet 则是采用了 depthwise separable convolution 代替传统的卷积操作,在几乎不影响准确率的前提下大大降低计算量。Xception主要也是采用 depthwise separable convolution 改进 Inception v3 的结构。


网络结构


  论文阅读笔记:ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
  上图的图a是一般的 group convolution 的实现效果.其造成的问题是,输出通道只和输入的某些通道有关,导致全局信息流通不畅,网络表达能力不足。

  图b把 group convolution 后的 feature map 按通道进行均匀混合, 这样就可以更好的获取全局信息了。 图c是操作后的等价效果图。

  在 ShuffleNet 中,作者是对 1*1的卷积做group的操作,因为作者认为1*1的卷积操作的计算量不可忽视
  论文阅读笔记:ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
  上图的图a是之前的一种 ResNet 网络结构模块,其参考了 “MobileNet” 的实现。其中的 DWConv 指的是 depthwise convolution。

  图b是本文给出的一种模块(输出前后feature的size不变), 相比于图a,只是将第一个1x1卷积改成了 group convolution,同时后续增加通道 shuffle。

  图c是本文给出的另一种模块(输出前后feature的size变小,但通道数增加),主要是为了应对下采样问题。 注意,最后的合并操作由原来的 “Add” 变成了 “Concat”, 目的是为了增加通道数。

  论文阅读笔记:ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices


实验结果


  论文阅读笔记:ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

  论文阅读笔记:ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices