MobileNet网络是由google团队在2017年提出的,专注于移动端或者嵌入式设备中的轻量级CNN网络。相比传统卷积神经网络,在准确率小幅降低的前提下大大减少模型参数与运算量。(相比VGG16准确率减少了0.9%,但模型参数只有VGG的1/32)。MobileNet网络最大的优势在于其轻量化,也就是大幅度减少的运算量和参数数量优点。
MobileNet-V1
原文地址:https://arxiv.org/abs/1704.04861
创新点:深度可分离卷积
深度可分离卷积:由一个输出通道为1的3×3卷积和一个1×1的卷积组成
使用relu激活函数
MobileNet-v1 网络结构
MobileNet-V2
原文地址:https://arxiv.org/abs/1704.04861
创新点:倒残差block、改变某些层为线性激活函数,非线性激活函数从relu修改为relu6(对输入值进行最大为6的限制,减少float16/int8下的精度损失)
倒残差block(Inverted Residuals)
老的残差结构:结构为1x1卷积降维->3x3卷积->1x1卷积升维
倒残差block:1x1卷积升维->3x3DW卷积->1x1卷积降维 。(需要注意的是,只有在stride 步长为1 的时候才进行short add操作,stride为2不进行short add)
为解决V1在输入为低维度时,卷积核丢失了大量信息的问题,将原先relu非线性激活函数在某些层中替换为线性函数,并且在低维输入时提高输入维度两个措施。
MobileNet-v2 网络结构
MobileNet-V3
原文地址:https://arxiv.org/pdf/1905.02244.pdf
主要创新点:使用NMS搜索得到网络的最优参数、新增加SE注意力机制、修改激活函数(h-swish)、减少第一个卷积层的卷积核个数( 32-> 16)、精简末端网络结构
MobileNet-v3 网络结构
SE注意力机制
H-swish
精简末端网络结构