论文阅读——MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Applications

本周打算了解一下轻量级网络。先从回顾2017年的MobileNetv1开始。

摘要

MobileNetv1:2017年由Google提出的适用于移动端或嵌入式设备的轻量级网络,首次提出深度可分离卷积(depthwise seperable convolution).


Section I Introduction

自从AlexNet在2012年ILSVRC比赛中拔得头筹,近年来网络不断朝着更深、更复杂的架构发展,但却忽略了网络的效率以及一些任务对实时性的要求。
MobileNet通过设置两个超参数(width multiplier,resolution multiplier)设计低延时、适用于移动端和嵌入式设备的轻量级神经网络。

Section II Prior Work

MobileNet借助depthwise seperable convolution聚焦于解决latency、size等问题,同时使得网络模型更加精简;其他精简网络的思路还有:SqueezeNet使用一种bottltneck的策略,分解网络,对网络进行压缩(shrinking),以及哈希、剪枝、网络蒸馏等。

Section III MobileNet

本节首先介绍MobileNet的核心设计-深度可分离卷积(depthwise separable convolution) ,随后介绍MobileNet的网络结构。

Part A Depthwise Separable Convolution

深度可分离卷积将标准网络分解为DW卷积(Depthwise)和PW卷积(Pointwise)。DW卷积的每一个卷积核对每一输入通道进行卷积,因此filter数目和channel数相同;PW卷积使用1x1xM规格的卷积核对DW卷积后获得的feature map进行加权组合,M对应通道数。通过DW和PW,分别在深度和组合上完成常规卷积操作,将卷积过程中输出通道数目与卷积核大小分开,先进行filter再进行组合,这样显著减少了计算量和模型规模。

论文阅读——MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Applications_第1张图片

DW只进行了通道上的特征过滤但没有进行组合产生新的特征表述;而PW 1x1卷积负责完成这一线性组合的工作。
因此深度可分离卷积的计算量为:

在这里插入图片描述

与标准卷积相比,计算量压缩了:

论文阅读——MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Applications_第2张图片

比如在MobileNet中使用3x3卷积,这样使用深度可分离卷积的计算量是标准卷积的1/9.
形象化的解释可参见:Depthwise卷积与Pointwise卷积
Part B MobileNet

除了最后一个全连接层全连接层,每一次深度可分离卷积后都经过BN+ReLU。Fig3展示了常规卷积核深度可分离卷积的对比,在深度可分离卷积中将下采样通过步进卷积实现,在送入FC层前通过ave-pooling空间分辨率压缩扫1,如果将DW和PW分别计算,整个MobileNet共28层,详见Table I.
论文阅读——MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Applications_第3张图片
论文阅读——MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Applications_第4张图片
在TableII中可以看出,MobileNet的主要计算时间(95%)在1x1卷积计算上,这是主要网络参数的来源,另一参数来源则是全连接层的参数。
由于小规模模型不那么容易过拟合,因此在MobileNet训练中没有过分强调正则化和数据增强的问题

Part C 超参数
宽度算子-Width Multiplier


尽管构建的MobileNet网络规模已经减小了很多,但某些特定应用场合仍然需要更加精简的网络,为了进一步缩减网络宽度提出宽度算子alpha。alpha的范围是[0,1]会作用在输入和输出通道上从而对网络每一层的宽度进行削减,整体参数量是原来的1/(alpha)2
.
在这里插入图片描述

分辨率算子-Resolution Multiplier



通过对输入图像以及中间层的特征表示施加p进行分辨率上的压缩,同理会将计算量变为原来的1/p2.



在这里插入图片描述







# Section IV Experiments




Part A 图像分类




实验部分主要验证了深度可分离卷积的有效性,与使用常规卷积搭建的网络用于ImageNet分类,精度只下降了1.1%但在计算量上却有数量级的下降;以及在精简网络过程中压缩宽度比压缩分辨率更有效(3%)。
比如MobileNet的分类精度和VGG-16相近,但参数量却是VGG的百分之一;和参量近似的GoogLeNet相比,做multi-adds次数明显减少,效果也比GoogLeNet更好。
进一步通过宽度算子和分辨率算子压缩后的精简版MobileNet仍比AlexNet的分类性能好。
论文阅读——MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Applications_第5张图片

Part B 细粒度图像分类





本文还测试了MoobileNet做细粒度图像分类的性能,测试了在Stanford Dogs细粒度图像数据集的分类精度,详见Table 10,MobileNet在达到近似SOTA精度的同时大大减少了模型参量。

论文阅读——MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Applications_第6张图片

除此之外在物体检测、人脸识别等任务中也测试了MobileNet的有效性。




# Section V Conclusion





本文提出了基于深度可分离卷积的轻量级网络-MobileNet,非常适用于对实施性要求较高或应用到移动端或嵌入式设备中。此外,通过调控宽度和分辨率两个超参数可进一步压缩网络,在精度和网络参量之间进行权衡。开展的实验也验证了MobileNet在一些经典任务中的有效性和高效性。





Summary:MobileNet v1 核心:深度可分离卷积的提出。

你可能感兴趣的:(CV)