• 模型压缩(3)


    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

    Channel shuffle原理

       

    Reference

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

    ShuffleNet算法详解

    ShuffleNet

  • 相关阅读:
    JVM(java 虚拟机)内存设置
    elasticsearch 安装和 基本操作命令
    Spring
    springmvc 文件上传和拦截器
    InitBinder和数据校验
    异常、类型转换
    git 提交方式
    Springmvc(二)
    Springmvc(一)
    SSM
  • 原文地址:https://www.cnblogs.com/fighting-lady/p/8903750.html
Copyright © 2020-2023  润新知