葛道辉,李洪升,张亮,等. 轻量级神经 络架构综述

[1]葛道辉,李洪升,张亮,等. 轻量级神经 络架构综述[J]. 软件学 , 2020, 31(9): 2627-2653.

主要介绍3种构建轻量级神经 络的方法:

  • 人工设计轻量级神经 络
  • 神经 络模型压缩算法
  • 基于 络架构搜索的自动化神经 络架构设计

博客主要总结人工设计轻量级 络的方法

  • 0. 总结
  • 1. 人工设计的轻量级神经 络模型
    • 1.1 使用小卷积核代替大卷积(VGGNet)
    • 1.2 限制中间特征的通道数量(SqueezeNet)
    • 1.3 分解卷积运算
      • 1.3.1 深度可分离卷积(MobileNetV1)
      • 1.3.2 Group逐点卷积(或分组卷积,ShuffleNet)
        • 1.3.2.1 分组卷积
        • 1.3.2.2 混洗操作(shuffle)
    • 1.4 改造残差结构(MobileNetV2)
    • 1.5 IGCV系列
      • 1.5.1 IGCV1
      • 1.5.2 IGCV2

0. 总结

方法 优点 相关模型
小卷积替换大卷积 保持感受野不变,减少参数量 VGGNet
卷积分解 使用1*3和3*1实现3*3卷积核的效果,减少参数量
降低中间通道数量 压缩通道数-运算-扩张通道数,保持 络规模时,降低运算量 SqueezeNet
深度可分离卷积 先深度卷积,再逐点卷积,显著降低参数量,同时强化通道间联系 MobileNetV1
分组卷积 使用同等参数量和运算量,得到更多的feature map,再加上混洗操作强化通道间联系 ShuffleNet
改造残差 络 在残差分支中,将特征数升高运算后,再降低,提取更多特征时保持 络规模 MobileNetV2
IGC 利用分组卷积,扩宽 络宽度,提高性能 IGCV1
IGCV2 将IGCV中第二次分组卷积改为IGC模式,形成IGC中使用IGC套娃 IGCV2

1. 人工设计的轻量级神经 络模型

人工设计的轻量级神经 络主要从减少卷积核的冗余、减少输入特征的通道数、设计更加高效的模块等方面实现

1.1 使用小卷积核代替大卷积(VGGNet)

1.3 分解卷积运算

1.3.1 深度可分离卷积(MobileNetV1)

普通卷积操作如图:

然后进行逐点卷积:

现在分组卷积将1个逐点卷积分成g组后,会产生g个feature map。在相同的参数量和计算量下,得到的feature map数变成了之前的g倍。

1.4 改造残差结构(MobileNetV2)

在保持 络规模的前提下,进一步提高 络性能,MobileNetV2引入并改造了残差结构。

  • FLOPs
  • 内存访问成本MAC
  • 并行化程度
  • 计算平台影响

相应的指导建议:

  • 相同输入输出通道能减少MAC成本(比如逐点卷积的输入输出通道一样)
  • 过多的分组卷积会增加MAC成本(比如不使用/少使用分组卷积)
  • 络碎片化程序会减少并行化程度
  • 不能忽视元素及操作(比如使用cat,而不是残差 络的相加)

ShuffleNetV2是在以下指导意见下的改进版:

葛道辉,李洪升,张亮,等. 轻量级神经 络架构综述
相比V1,速度提升63%

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月7日
下一篇 2022年2月7日

相关推荐