【MobileNets】论文解读

文章结构

 

Abstract

1、Introduction

2、Prior Work

3、MobileNet Architecture

3.1 Depthwise Separable Convolution

3.2 Network Structure and Training

3.3 Width Multilier: Thinner Models

3.4 Resolution Multiplier:Reduced Representation

4. Experements

4.1 Model Choice

4.2 Model Shrinking Hyperparameters

5. Conclusion


Abstract

MobileNets主要应用在移动端和嵌入式的图像处理设备,这类设备一般不能搭载大功率和大体积的显卡,所以需要一种更加小巧的网络来运行深度学习模型。MobileNets的主要思想是使用depth-wise separable convolutions去建立轻量化模型。

1、Introduction

首先指出卷积神经网络发展了这么多年虽然精度在不断提高,但是模型越来越复杂使其难以部署在机器人、无人驾驶等实时性要求高、算力不足的现实场景中。此论文提出了一个高效的网络结构和两个超参数,可以搭建很小的、低延时的模型以适用于嵌入式应用。

2、Prior Work

近些年,建立小巧的卷积神经网络模型越来越火了。大致的方法可以分为两类:压缩pretrained model;直接训练一个小的模型。MobileNet不止关注模型的小巧,还要兼顾低延时的特性。

3、MobileNet Architecture

3.1 Depthwise Separable Convolution

【MobileNets】论文解读_第1张图片

 一般的网络结构如上图中(a)所示,每个卷积核的形状是Dk*Dk*M,一共有N个。其计算量是:Dk*Dk*M*N*Df*Df。

作者在分析该计算量的组成结构时发现,输入图像的长宽Df*Df和Kernal的尺寸Dk*Dk是无法改变的,减小模型的切入点只能从M或者N下手,解除尺寸和N、M的内在联系。所以作者就把该普通卷积变成了两个部分:depthwise convolutins和pointwise convolutions。首先针对输入特征图的M个channel,分别使用M个单通道的Kernal进行卷积,假设padding=same,那么得到的特征图尺寸不变,仍然是M个channel。但是这样得到的特征图每个channel之间的信息并没有流动起来,二维的卷积得到的特征图只是根据这个channel上的信息生成的。接下来使用Pointwise convolution融合各个channel间的特征,使用N个Pointwise convolution最终得到的特征图就是N个channel的。

所以最终的计算量就是:Dk*Dk*M*Df*Df + Df*Df*M*N

计算量的缩减:

【MobileNets】论文解读_第2张图片

由于MobileNet使用的是3*3的depthwise separable convolutions,所以计算量会有8到9倍的减少(一般N都比较大,所以Dk部分占主要影响),但是精度并未下降太多。

3.2 Network Structure and Training

MobileNet的第一层卷积并没有使用上面所提及的Depthwise separable convolutions(为什么呢?dw它的局限性在哪里?)。这一节的内容用如下图表就能够清晰展示了,作者首先介绍了dw结构的具体细节,然后介绍了MobileNet的网络结构。

【MobileNets】论文解读_第3张图片

【MobileNets】论文解读_第4张图片

 

 Mult-Adds的数量少并不足够证明网络的高效,还需要这种网络结构是容易实现的,这些都是满足的。

MobileNet模型实现实使用的是TensorFlow(据说caffe有问题,未验证),使用的优化器是RMSprop。然而与训练大型模型不同的是,改模型并没有使用太多的正则化方法和数据曾广方法,因为MobileNet模型较小,不容易过拟合。

3.3 Width Multilier: Thinner Models

虽然MobileNet已经足够小了,但是一些特定的应用需要模型更快更小。为了满足这一需求,作者设计了名为Width multiplier的超参数α,其作用是对模型每一层的channel进行瘦身,如果输入channel数量是M,输出channel数量是N,那么瘦身后分别变成了αM和αN:

其中α∈(0,1]。 

3.4 Resolution Multiplier:Reduced Representation

除了在channel上进行处理,作者还在特征图尺寸上设计了一个Resolution Multiplier,ρ。它被应用于输入图像和模型内部所有特征层,压缩后的计算量变为:

ρ∈(0,1 ]。特征图尺寸被压缩,论文中所说的MobileNet-224,MobileNet-192中的数字都是指压缩后特征图的尺寸。 

4. Experements

实验的当务之急是证明depth-wise convolutions是有效的;

作者同时证明了压缩模型的宽度比减少模型的层数效果要好;

之后作者展示了之前所提到两个超参数width multiplier和resolution multiplier在模型压缩上的效果;

最后,作者将MobileNet应用于一些经典的应用场景,取代了经典的神经网络,验证它的效果。

4.1 Model Choice

【MobileNets】论文解读_第5张图片

table4中证明depthwise separable convolutions的有效性,精度只下降一丢丢,但是计算量却降低了非常多。 

【MobileNets】论文解读_第6张图片

table5证明减小模型的width比减小模型的深度更加有效(这个结论只是在MobileNet上成立吗?)。 shallow MobileNet是通过去掉table1中14*14*512那层特征图中5个separable filters得到的。

4.2 Model Shrinking Hyperparameters

【MobileNets】论文解读_第7张图片

 使用width multiplier时,α越小精度越差。α不能太小否则精度下降的厉害。

【MobileNets】论文解读_第8张图片

 使用resolution multiplier时精度下降情况。

【MobileNets】论文解读_第9张图片

【MobileNets】论文解读_第10张图片

table8中,对比了几种模型。 

 

【MobileNets】论文解读_第11张图片

table9中,将压缩后的MobileNet和其他网络进行了对比。 

其他应用自己看吧:

【MobileNets】论文解读_第12张图片

【MobileNets】论文解读_第13张图片

 

 

5. Conclusion

你可能感兴趣的:(深度学习,深度学习)