ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

论文地址:Arxiv Paper

GitHub: Tensorflow, Caffe

   

主要是在Xception的基础上进一步改进    

Motivation:

  • Xception / ResNeXt 这种优化结构对于extremely small network的计算性能欠佳

    因为conv1x1耗时过长(在MobileNet中已验证)

    受AlexNet的启发,提出了group convolution,提高conv1x1的计算性能

  • Group convolution 的引入有局限性

    提出了channel shuffle增加了feature channel之间信息的流动性

ShuffleNet units

  • 图(a) ,带有depthwise conv的bottleneck module

    由三个部分组成:

    point wise 1x1 conv + Xception中的depthwise 3x3 conv + point wise 1x1 conv

    前面两个op组合构成了Xception,最后一个为了shortcut的channel匹配

  • 图(b),引入Group conv
1). 考虑conv1x1耗时较长(在MobileNet中已验证),因此受Alexnet启发,对conv1x1进行分组计算,
     将第一个point wise conv1x1 替换为 1x1 group conv
2). 用Group conv使得不同Group 的结果中信息隔离,因此增加channel shuffle层,交换信息
3). 接一个Xception 中的depthwise conv3x3
4). 与1)相同,将point wise conv1x1替换为1x1 group conv,提高computation performance    
 
  • 图(c),stride = 2的ShuffleNet

    1). shortcut上增加了avg_pooling

    2). 用concat替换element wise add

模型压缩(3) - ShuffleNet

Channel shuffle原理

模型压缩(3) - ShuffleNet   

Reference

轻量级网络--ShuffleNet论文解读

ShuffleNet算法详解

ShuffleNet

相关文章:

  • 2021-10-21
  • 2021-04-11
  • 2021-12-13
  • 2021-04-23
  • 2021-09-02
  • 2021-10-03
  • 2021-11-23
  • 2022-12-23
猜你喜欢
  • 2021-10-08
  • 2021-11-25
  • 2021-05-13
  • 2021-07-26
  • 2021-10-26
  • 2022-12-23
相关资源
相似解决方案