目录
论文链接:
MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
发表时间:2017年
来源:CVPR
作者: Menglong Zhu
摘要:
本文提出的MobileNets基于流线型架构,使用深度可分离卷积来构建轻量级深度神经网络。介绍了两个简单的全局超参数(宽度乘法器和分辨率乘法器),它们可以在延迟和准确性之间进行有效的折衷。这些超参数允许模型构建者根据问题的约束为其应用程序选择合适大小的模型。
网络结构
- 深度可分离卷积
(a)中的标准卷积滤波器被两层代替:(b)中的深度卷积和(c)中的逐点卷积以构建深度可分离的滤波器
- 计算量
假定输入特征图大小是:
输出特征图大小是:
对于标准的卷积:
计算量将是:
depthwise convolution计算量为:
pointwise convolution计算量是:
depthwise separable convolution总计算量是
可以比较depthwise separable convolution和标准卷积如下:
MobileNet架构
MobileNet基础结构中,依然在Depthwise和Pointwise中间和后面使用bn+ReLU来优化模型。
MobileNet的两个超参数
- 宽度乘数:稀疏模型
为了构造这些更小,计算量更小的模型,我们引入了一个非常简单的参数α,称为宽度乘法器。宽度乘数α的作用是通过按比例减少通道数在每层均匀地减薄网络。对于给定的层和宽度乘数α,输入通道M的数量变为αM,输出通道数量N变为αN。
具有宽度乘法器α的深度可分离卷积的计算成本为:
α范围为(0,1],通常设置为1,0.75,0.5和0.25
- 分辨率乘数:简化表示
分辨率乘数ρ用来改变输入数据层的分辨率,其中ρ范围为(0,1]通常隐式设置,以便网络的输入分辨率为224,192,160或128。ρ=1是MobileNet的基线,ρ<1是计算MobileNets的缩减。我们现在可以将网络核心层的计算成本表示为深度可分卷积,其中宽度乘法器α和分辨率乘法器ρ:
实验结果
(1)同样是MobileNets的架构,使用可分离卷积,精度值下降1%,而参数仅为1/7;
(2)深且瘦(Narrow)的网络比浅且胖(Shallow)的网络准确率高3%;
(3)α 超参数减小的时候,模型准确率随着模型的变瘦而下降;
(4)ρ 超参数减小的时候,模型准确率随着模型的分辨率下降而下降;
(5)引入两个参数会给肯定会降低MobileNet的性能,总结来看是在accuracy和computation,以及accuracy和model size之间做折中。