MobileNet的发展历程

轻量化网络思路概览

Posted by tianchen on October 2, 2019

MobileNet

  • Google出品

MobileNet V1

  • MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
  • 2017.4
  • vgg16的结果Conv换成DSC
  • 与Xception都用到了深度可分离卷积
  • 核心深度可分离卷积(Depthwise Seperable Convolution)
    • 可分离卷积(说白了就是怎么简化卷积的计算)有
      1. 空间可分离
        • 3x3 -> {1x3}x3
      2. 深度可分离
        • DepthWise把卷积核拆分为单channel的形式,对每一个通道进行卷积,这样就不会改变输入图像的尺度
          • (这个步骤卷积核的个数要求是和输入图像的channel数一样,比如输入RGB,就对应3个卷积核),这样feature mao的Channel数目过于少了,所以需要下一步的Pointeise Conv
        • PointWise本质就是1x1Conv,可以自由地对Feature Map进行升维和降维
        • 对比
        • 参数和计算量变成原先的1/N(对于3x3大概是8或者9分之一),而准确率几乎没下降
        • What’s Lacking DSC比较容易训练崩,原因是很多值容易变0,估计是Relu出了问题
          • 对低维度做Relu很容易损失信息(可以理解为加起来的值比较小容易是负的,而DSC卷积核浅)
          • 将ReLU变为Leaky ReLU (然而MobileNet V2把某曾Relu直接变成了线性
        • Why Could This Work?

MobileNet V2

  • MobileNetV2: Inverted Residuals and Linear Bottlenecks
  • 主要改进
    1. Linear Bottleneck把最后的一个Relu换成线性激活
    2. Expansion 由于DepthConv不会改变FeatureMap通道数,所以该卷积都存在于稍浅层,为了学习到好的特征,先经过一个PointWiseConv进行升维之后,再进行维度压缩(之前是先卷再升维度,现在是先拓张再卷积再收缩)
    3. Inverted Residue和ResBlock方法类似
      • Invert在Res是先降维,再3x3卷积,再拓展;而MobileNet是先拓展

MobileNet V3

GhostNet

  • Huawei Noah Ark
  • 其Motivation在于Conv中有很多类似的Feature Map(其实与FPGM类似,但是FPGM选择如何去LetOut掉重复的,而本文通过一个简单的Ghost Transform去生成类似的Feature Map而不是从Conv来获得)
  • 按照MobileNet-V3的结构,用带Ghost的Bottleneck去替代原先的Bottleneck Block

Refssasaas