文章目录
论文基本信息
- 标题:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Application
- 作者:Andrew G. Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, Hartwig Adam
- 机构:Google Inc.{howarda,menglong,bochen,dkalenichenko,weijunw,weyand,anm,hadam}@google.com
- 时间:2017
- 论文地址:arXiv:1704.04861v1 [cs.CV] 17 Apr 2017
- code:https://github.com/OUCTheoryGroup/colab_demo/blob/master/202003_models/MobileNetV1_CIFAR10.ipynb
研究背景
在AlexNet于ImageNet挑战赛获胜后,卷积神经网络在计算机视觉中变得无处不在。
实验者们为了达到更高的精度,一般趋势是使网络更深入、更复杂。然而,这些提高精准性的进步并不一定使网络在规模和速度方面更加高效。
总结一句话:只求高精准率,而不在乎网络的规模和速度。
本文描述了一种高效的网络架构和一组两个超参数,以建立非常小、低延迟的模型,可以很容易地匹配移动和嵌入式视觉应用程序的设计需求。
读过摘要后提出的问题
- 深度可分离卷积网络的架构是?
- 两个全局超参数是什么?怎么权衡延迟和精准性?
读完论文后对上述问题的回答
深度可分离网络
深度可分离卷积是一种分解卷积,将标准卷积分解为深度卷积核1*1卷积(点态卷积)。
一个标准的卷积可以在一步内将输入和输出组合成一组新的输出。而深度可分离卷积将其分为两层,分别用于过滤和合并,这种因子分解具有显著减少计算量和模型大小的效果。
这里需要注意的是:利用深度可分离卷积来打破了输出通道数量和核大小之间的相互影响。
标准卷积运算在卷积核的基础上过滤特征,结合特征产生新的表示。滤波核组合步骤可以通过分层卷积,被称为深度可分离卷积分解,分为了两个步骤,大大降低了计算成本。
深度可分离卷积由深度卷积和点向卷积两层组成,后接Batch Norm和ReLU。
深度卷积的计算成本:
其中计算代价与输入通道数M、输出通道数N、核大小Dk× Dk、特征映射大小DF× DF相乘。
深度可分离卷积的计算成本:
MobileNet使用3*3深度可分离卷积,其计算量比标准卷积少8到9倍,精度仅略有下降。具体见实验部分。
两个全局超参数
宽度倍增器:更薄的模型
引入了一个非常简单的参数 α \alpha α,称为宽度乘法器。
宽度乘法器的作用是使网络在每一层均匀地变薄。对于给定的层和宽度乘法器 α \alpha α,输入通道数M变为 α \alpha αM,输出通道数N变为 α \alpha αN。
具有宽度乘子 α \alpha α的深度可分解卷积的计算代价为:
其中 α \alpha α∈(0,1),其经典设置为1.0,0.75,0.5,0.25。 α \alpha α=1是基线MoblieNet。 α \alpha α<1是降低的MoblieNet。宽度乘法器具有近似 α \alpha α的二次方的降低计算成本和参数数量的效果。
宽度乘法器 α \alpha α可以应用于任何模型结构,以定义一个新的更小的模型,具有合理的精度、延迟和大小权衡。它用于定义新的简化结构,需要从头开始训练。
分辨率乘法器:简化的表示
降低神经网络计算成本的第二个超参数是分辨率乘法器 ρ \rho ρ。
我们将此应用于输入图像,然后每一层的内部表示随后被相同的乘法器减少。在实际中,我们通过设置输入分辨率隐式地设置 ρ \rho ρ。
现在的网络和薪酬的计算代价表示为 深度可分离卷积,其宽度乘法器 α \alpha α和分辨率乘法器 ρ \rho ρ:
其中 ρ \rho