美文网首页
轻量级神经网络

轻量级神经网络

作者: 南国_ | 来源:发表于2021-03-10 22:52 被阅读0次

    神经网络在实际商业应用中面临的挑战:

    1.可解释性差:

    • 不知道为什么会变好/差,原因是什么?
    • 没办法微调
    • Adversarial Attack
    Adversarial Attack.png

    2.内存CPU/GPU占用率高:

    • VGG16有533MB,ResNet50有102MB,网络运行速度慢
    • 例如在自动驾驶项目中,如果车载神经网络运算比较慢,但车速度又比较快,自动驾驶的小车会驶出路肩

    🍓内存CPU/GPU占用率高的解决方案:

    1.二值化网络

    • 内存和CPU占用非常小
    • 但性能下降比较多

    2.轻量级神经网络

    • MobileNet
    • ShuffleNet
    • EffNet

    一、MobileNet

     一种应用于移动端和嵌入式的高效模型。MobileNet使用\color{red}{深度可分离卷积}来构建轻量级深度神经网络,可以应用在各种项目中,比如目标检测、细粒度分类、人脸识别等。
     MobileNet中有两个可调节的全局超参数,可以在延迟准确性之间进行折中,这些超参数允许模型根据项目的特性为其选择合适大小的模型。

    1.Depthwise Separate convolution:通道卷积独立

     Depthwise separate把通道之间想象是独立的,① 单独对各个通道做卷积操作,② 然后通过一个1*1的卷积合并通道。

    • 普通卷积与Depthwise separate卷积的对比


      Depthwise Separate卷积(1).png
    Depthwise Separate卷积(2).png
    2.Depthwise Separate卷积计算量比较

    输入图像12*12*3
    输出特征图8*8*256

    • 普通卷积
      卷积核大小5*5*3,卷积核数量256
      数据量:5*5*3*256 = 19200
      计算量:256*3*5*8*8*8 = 1228800

    • Depthwise Separate卷积
      第一步卷积:卷积核大小5*5*1,卷积核数量3
      第二步卷积:卷积核大小1*1*3,卷积核数量256
      数据量:5*5*1*3+1*1*3*256=843
      计算量:3*5*5*8*8+256*1*1*3*8*8=53952

    3.网络模块对比
    网络模块对比.png
    4. MobileNet网络结构
    MobileNet结构.png
    5. MobileNet应用
    MobileNet应用.png

    二、ShuffleNet

     ShuffleNet架构专为计算能力有限的移动设备而设计,有两个新的操作:分组卷积通道洗牌,在保持准确性的同时大大降低了计算成本。

    分组卷积和通道洗牌.png
    • ShuffleNet网络结构
    ShuffleNet网络结构.png

    三、EffNet

     EffNet是一种更有效的卷积模块,采用了Spatial Separable Convolutions技术,效果比MobileNet和ShuffleNet更好。

    • 卷积分解
      假设Y = conv2D\left ( X,K \right ),其中X为输入,Y为输出,K为卷积核
      如果K = PQ
      那么Y = conv2D\left (conv2D\left ( X,P \right ), Q \right )

    例如:

    \begin{bmatrix} 1\\ 2\\ 1 \end{bmatrix}\begin{bmatrix} 1 & 0 & -1 \end{bmatrix}=\begin{bmatrix} 1 & 0 & -1\\ 2 & 0 & -2\\ 1 & 0 & -1 \end{bmatrix}
     卷及分解可以让参数更少,如上述矩阵,未分解是9个参数,分解后是6个参数

    • Spatial Separable Convolutions
       Spatial Separable卷积是利用卷积分解法,将卷积核拆分为两个更小的卷积核,然后分别跟两个小的卷积核做卷积,这样可以减少参数量。最常用的情况是将3*3的卷积核拆分为3*11*3的卷积核。

      Spatial Separable卷积.png
    • Separable Pooling
      第一次卷积在一个方向上面池化
      第二次卷积在另一个方向上面池化

    • EffNet网络结构

      网络结构.png
    • EffNet的优化
      输入层没有使用普通卷积层
      没有使用Group Convolution

    四、总结

    • 网络模块结构对比
    轻量级网络模块对比.png

    • 网络结构对比
    网络结构对比.png
    • 实验结果对比
      实验结果.png

    \color{red}{三个轻量级神经网络中,EffNet效果更好}

    相关文章

      网友评论

          本文标题:轻量级神经网络

          本文链接:https://www.haomeiwen.com/subject/jnigqltx.html