Abstract
我们提出了一类叫做MobileNets的高效模型用于移动和嵌入式视觉应用。MobileNets基于一种简化的架构,该架构使用深度方向可分离卷积来构建轻量级深度神经网络。我们引入了两个简单的全局超参数,可以有效地在延迟和准确性之间进行权衡。这些超参数允许模型生成器根据问题的约束条件为其应用程序选择合适大小的模型。我们在资源和精度权衡方面进行了大量实验,与其他流行模型相比,我们在ImageNet分类。然后,我们在广泛的应用和用例中演示了MobileNets的有效性,包括对象检测、细粒度分类、面部属性和大规模地理定位。
MobileNet详解
传统卷积神经网络,内存需求大、运算量大 导致无法在移动设备以及嵌入式设备上运行。
MobileNet网络是由google团队在2017年提出的,专注于移动端或者嵌入 式设备中的轻量级CNN网络。相比传统卷积神经网络,在准确率小幅降 低的前提下大大减少模型参数与运算量。(相比VGG16准确率减少了0.9%, 但模型参数只有VGG的1/32)
网络中的亮点:
- Depthwise Convolution(大大减少运算量和参数数量)
- 增加超参数α、β
DW卷积
1.普通卷积
2.Depthwise Conv卷积
3.Depthwise Separable Conv深度可分离卷积
就是DW+PW(Pointwise Conv)=深度可分离卷积
PW卷积就是普通的卷积,只不过卷积核的大小为1*1。
深度可分离卷积的计算量比普通卷积计算量的1/9-1/8倍。
网络结构
其中第一行解释:3*3的卷积核,以及输入通道是3,输出通道是32。
DW卷积的输出是和输入通道数相同的。
Width Multiplier: Thinner Models 宽度乘数:更薄的模型
尽管基本的MobileNet架构已经很小,延迟也很低,但很多时候特定的用例或应用程序可能需要模型更小、更快。为了构建这些较小且计算成本较低的模型,我们引入了一个非常简单的参数α,称为宽度乘数。宽度乘数α的作用是在每一层均匀地薄化网络。对于给定的层和宽度乘数α,输入通道的数量M为αM,输出通道的数量N为αN。
具有宽度乘数α的深度可分离卷积的计算成本为:
- Dk:卷积核大小
- M:输入通道
- Df:输入特征大小
- 左边为:DW卷积计算量
- 右边为:PW卷积计算量
其中α∈ (0,1],典型设置为1、0.75、0.5和0.25。α=1为基线MobileNet,α<1为简化MobileNet。宽度乘数的作用是将计算成本和参数数量以近似α的二次方减少。宽度乘数可以应用于任何模型结构,以定义具有合理精度、延迟和大小权衡的新的较小模型。它用于定义需要从头开始训练的新的简化结构。
Resolution Multiplier: Reduced Representation 分辨率乘数:简化表示
我们现在可以将网络核心层的计算成本表示为具有宽度乘数α和分辨率乘数ρ的深度可分离卷积:
基本上是和上面雷同了。