模型压缩(3) - ShuffleNet

ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices git

论文地址:Arxiv Paper github

GitHub: Tensorflow, Caffe 算法

   

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

Motivation: ide

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

    由于conv1x1耗时过长(在MobileNet中已验证) 性能

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

  • Group convolution 的引入有局限性

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

ShuffleNet units .net

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

    由三个部分组成:3d

    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

Channel shuffle原理

   

Reference

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

ShuffleNet算法详解

ShuffleNet

相关文章
相关标签/搜索