0
点赞
收藏
分享

微信扫一扫

2020 深度学习 mobileNet

香小蕉 2021-09-28 阅读 41

MobileNet 模型

MobileNet 模型是 google 在 2017 年针对手机或者嵌入式提出轻量级模型。提出 MobileNet 这样高效模型的是 google 的 Andrew G.Howard, Menglong Zhu 等人。

背景

之前介绍的 AlexNet 到 ResNet 这些神经网络结构为了得到更高准确度,更倾向于把网络做的更深,更复杂,可想而知这样网络结构势必带来大量参数,消耗大量计算资源,但是考虑到一些需要性能和速度,而且设备资源有限情况下,我们需要一个准确度可以接受,效率高网络结构,这就是 MobileNet 由来的动机。

  • 自动驾驶
  • 移动设备上目标运行识别

自从 2016 年,大家更专注如何将模型应用到产品,也就是从讲故事做 demo 阶段来到了如何将其应用商用上,这样也就是必须考虑性能,可行性。

  • SqueezeNet
  • MobileNetV1 ShuffleNet
  • MobileNetV2 NASNet
  • MobileNetV3 MnasNet

接下来通过具体数据来说明 mobileNet 相对其他网络结构其特点,在 ImageNet 数据集上,对比 VGG16 在参数减少了 30 多倍情况下,准确率与 VGG16 只相差了 0.9%

实现方法

  • 压缩模型: 在已经训练好的模型上进行压缩,使得网络携带更少的网络参数
  • 设计轻量级模型: 设计出更高效的网络计算方式来减少网络参数

主体结构

  • Conv: 表示标准卷积
  • s2: 卷积的步长 stride 为 2
  • Avg Pool:平均池化
  • FC: 全连接
  • dw: 深度卷积

将 DW 卷积和 PW 卷积看作两层,一共 28 层。

卷积块

引入了深度可分离卷积将卷积替换为 DW 卷积和 PW 卷积的组合。

这里看右侧的卷积块结构,在深度可分离卷积并不是 3 x 3 DW 卷积直接连接了 1 x 1 的 PW 卷积而是通过 BN 和 ReLU 层后才连接上 PW 卷积。BN 层作用是对输入层进行归一化,这样可以大大提升模型泛化能力,

NB层

  • 输入(F)

    • DW 卷积: 通道数为 1 的卷积核,负责 1 个通道也就是卷积核个数与输入通道输出一致,第一步是探索空间
    • PW 卷积: 逐点卷积核大小为 1 x 1 x M ,每一个像素的区域。通道之间丰富联系,所以还需要 PW 卷积来实现通道间的丰富联系。

    在 DW 卷积在空间上区域与区域之间的稀疏连接,在通道上是,PW 是特殊普通卷积,特殊在卷积核的大小,每一次卷积空间是一个像素点,通道上也是密集连接。

    标准卷积和深度可分离卷积
    标准卷积 深度可分离卷积
    运算特点 每一个卷积核的通道与输入通道相同,每个通道单独做卷积运算后相加 DW卷积: 一个卷积核只有一个通道,负责一个通道。PW卷积:会将上一步的特征图在通道方向进行扩展
    公式表示

    大致看一下 v2 网络结构



    这里还需要说 ReLU6,与不同 ReLU 不同,限制了最大输出为 6 ,这是为了在移动设备也能有很好的数值分辨率。

    mobileNet V3

    在 2019 年 google 提出了 v3 版本,

    • 新的激活函数(h-swish): h-swish 是基于 swish 激活函数的改进,所以先了解一下 swish, swish 具备无上届有下界、平滑、非单调的特性。并且 swish 在深层模型上的效果优于 ReLU

      • 调整 Reduction 比率
        根据实验得出 r= 8,16 表现都不错,推荐 16

      • 然后就是在 Squeeze 阶段是使用 Max pooling 还是 Avg pooling,结果是 Avg pooling 更好

      • Excitation 的探索
        <img src="../images/seneg_005.jpeg">
        在早期的卷积层提取一些基础共性特征,后期的卷积层偏于提取一些独特的特征,5-2 是拐点(饱和状态),移除后期的卷积层可以减少参数量,同时模型不会受到太大影响。

    网络结构

    MobileNet v2 模型中反转残差结构和变量利用 1 x 1 卷积,以便于扩展到高纬的特征空间,虽然对于提取丰富特征进行预测十分重要,但却额外增加计算的开销与延时。为了在保留高纬特征的前提下减少延时,将平均池化前的层移除并用 1 x 1 卷积来计算特征图

    简单总结

    V1
    • 深度可分离卷积: DW 和 PW 组合替换常规卷积来达到减少参数数量的目的
    • 超参数: 改变输入输出通道数和特征尺寸
    V2
    • 线性瓶颈结构
    • 逆向残差结构
    V3
    • h-swish 激活函数
    • SENet 结构
    举报

    相关推荐

    0 条评论