MobileNet网络详解
Posted 川河w
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MobileNet网络详解相关的知识,希望对你有一定的参考价值。
1、MobileNet
MobileNet网络专注于移动端或者嵌入式设备中的轻量级CNN,相比于传统卷积神经网络,在准确率小幅度降低的前提下大大减少模型参数与运算量。
传统卷积与DW卷积(Depthwise Conv)的差异,在传统卷积中,每个卷积核的channel与输入特征矩阵的channel相等(每个卷积核都会与输入特征矩阵的每一个维度进行卷积运算),输出特征矩阵channel等于卷积核的个数。而在DW卷积中,每个卷积核的channel都是等于1的(每个卷积核只负责输入特征矩阵的一个channel,卷积核的个数=输入特征矩阵的channel数=输出特征矩阵的channel数)
PW卷积实现改变输出特征矩阵的channel,DW卷积后接上一个PW卷积即可,PW卷积是大小为1×1的普通的卷积。通常DW卷积和PW卷积是放在一起使用的,一起叫做Depthwise Separable Convolution(深度可分卷积)
下图是关于参数计算的比较
2、MobileNetV2
V2网络结构中引入了倒残差结构。
ResNet网络中的残差结构是1x1卷积降维->3x3卷积->1x1卷积升维,在倒残差结构中是1x1卷积升维->3x3DW卷积->1x1卷积降维,也就是和残差结构相反的操作。残差结构中基本使用的都是ReLU6激活函数,但是最后一个1x1的卷积层使用的是线性激活函数,因为ReLu激活函数对低位特征信息造成大量损失。
并不是所有的倒残差结构都有shortcut连接,只有当stride=1且输入特征矩阵与输出特征矩阵shape相同时才有shortcut连接,因为只有当shape相同时,两个矩阵才能做加法运算,否则只能进行拼接运算,但是当stride=1时并不能保证输入特征矩阵的channel与输出特征矩阵的channel相同。
输入特征矩阵为hwk,经过11conv(卷积核个数为tk)后为hwtk,【t为一个扩展因子,对应倒残差结构中第一层11conv卷积核的扩展倍率】,再经过一个33步距为s的DW卷积后为h/sw/stk,再经过11conv(卷积核个数为k’)后为h/sw/sk’
网络结构图
3、MobileNetV3
轻量化卷积神经网络MobileNet论文详解(V1&V2)
本文是 Google 团队在 MobileNet 基础上提出的 MobileNetV2,其同样是一个轻量化卷积神经网络。目标主要是在提升现有算法的精度的同时也提升速度,以便加速深度网络在移动端的应用。
以上是关于MobileNet网络详解的主要内容,如果未能解决你的问题,请参考以下文章
深度学习方法(十四):轻量级CNN网络设计——MobileNet,ShuffleNet,文末有思考