一、MobileNet V1
1. 铭记历史
传统的卷积神经网络参数量大,导致预测时算力大,对于手机、嵌入式等设备来讲是不行的,例如VGG16大概有490M,ResNet的152层模型有644M,这种是不能在移动端部署的时候不但慢还暂用空间,就无法满足手机、人脸识别打卡机等。
2017年,Google提出的移动端高效率模型MobileNet:相比VGG16,分类准确率下降了0.9%,但是模型参数仅仅是VGG16的1/32到1/33。
2. 网络创新
2.1 Depth wise Convolution
深度可分离卷积
先看传统的卷积:
DW卷积如下:
DW卷积核的通道等于1,每个卷积核分别与输入特征每个channel进行卷积计算,从而得到输出特征矩阵的每个channel,总结:输入特征的channel = 卷积核个数 = 输出特征channel。
计算量相比于标准卷积降低了1个数量级,但没有有效利用不同通道在相同空间位置上的信息,鉴于此,我们需要再加一个PW卷积(Pointwise Conv,点卷积,大小1×1),如下图:
标准多通道卷积,卷积核的尺寸为1x1xMxN
M=512为输入特征通道数, N=512为输出特征通道数。
2.2 常规卷积和DW卷积对比
常规卷积(左)与深度可分离卷积(右)
3. 整体结构
3.1 结构
3.2 运算及参数量
4. 压缩比较
模型参数量与计算量压缩比较:
通常DW卷积和PW卷积是放在一起的,这种卷积比普通卷积能节省大量的计算量,论文中有相关公式求解计算量:分子为深度可分卷积的计算量,分母为普通卷积的计算量(步距默认为1):
上述公式的参数需要介绍一下:
注意:这里求解的计算量,不是参数量!
5. MobileNet 大小控制
Width multiplier 系数α:按比例减少通道数
Resolution multiplier 系数ρ:按比例降低特征图的大小
5.1 宽度系数
Width multiplier系数α取值范围为(0,1],计算公式公式:
D K ⋅ D K ⋅ α M ⋅ D F ⋅ D F + α M ⋅ α N ⋅ D F ⋅ D F D_K\cdot D_K\cdot\alpha M\cdot D_F\cdot D_F+\alpha M\cdot\alpha N\cdot D_F\cdot D_F DK⋅D