移动端使用的卷积神经网络MobileNet

一、简介

深度学习虽然在近期得到快速的发展,但是由于深度学习网络过于复杂,往往像一些知名的大型卷积神经网络的参数都会在数百M,此外深度学习需要较大的计算量,这些给深度学习在移动端的使用带来了困难。本文针对这一问题设计的MobileNet可以大大的减少网络的参数,同时能够减少网络的计算量,使网络可以适用于移动端,这也是为何称它为MobileNet的原因。

二、MobileNet网络结构

1、Depthwise Separable卷积

一般的卷积是直接利用卷积核(一般kernel_size>=3)将输入的特征图进行融合,而Depthwise Separable则将卷积分为两步:第一步,对逐个通道进行卷积,这里使用的卷积核的大小为kernel_size=3,然后再用1x1的卷积核对特征图进行融合,如图1所示:

移动端使用的卷积神经网络MobileNet_第1张图片 图1深度可分离

如果输入特征图为,输出特征图为,卷积核大小为,则相应的卷积运算为式(1)所示:

 

 而对应的计算量为:

而本文的Depthwise Separable卷积者将输入特征层的卷积计算变为了:

相应的计算量变为了:

 

总的计算量则变为了:

 

则相对于传统卷积, Depthwise Separable的计算量减少为原来的:

移动端使用的卷积神经网络MobileNet_第2张图片

对于3x3的卷积核而言,可以减少9倍的计算量。

2、网络设计

作者利用上述的Depthwise Separable卷积为基础构建,实现了mobilenet,网络结构如下:

移动端使用的卷积神经网络MobileNet_第3张图片 图2 mobilenet

网络的参数及计算资源的分布如下表所示,从表中可以看出,mobilenet的计算量(0.95)及参数(0.75)主要是花费在了1x1的卷积上。 

移动端使用的卷积神经网络MobileNet_第4张图片 表1

此外,作者还进一步的探究了网路宽度及减少图像尺寸对识别精度的影响。首先在宽度上,作者通过减少mobilenet每一层的输入输出的通道数为α(0<α<1)倍来对网络进行瘦身。另一方面,作者实验了改变输入大小对网络性能的影响。下表分别是使用传统卷积层及Depthwise Separable卷积卷积,及在Depthwise Separable卷积上分别对网络进行瘦身及对输入图像进行缩小时网络的参数量及计算量的情况。

移动端使用的卷积神经网络MobileNet_第5张图片 表2

三、实验

作者首先对比了mobilenet与传统全卷积网络的性能,结果如表3所示,可以看出mobilenet仅仅只有1个点左右的精度下降,但是却能够大大的降低网络的计算量及参数量。

移动端使用的卷积神经网络MobileNet_第6张图片 表3

然后作者有对网络宽度及深度上的裁剪进行了探究,表4分别是在宽度上进行0.75倍裁剪及去掉14x14x512的Depthwise Separable卷积层的实验结果,从表中可以看出,在计算量和参数量基本相差无几的情况下,在宽度上的网络瘦身效果要明显好于在深度上对网络进行裁剪。

移动端使用的卷积神经网络MobileNet_第7张图片 表4

 

表5是在选取不同的α值时网络的性能,可以看出在α值为0.25时,网络的精度已经有了很大的下降。

移动端使用的卷积神经网络MobileNet_第8张图片 表5

 表6是对图像进行缩小的情况下网络的性能,可以看出通过对网络进行缩减可以大大减小计算量,但是对精度的影响却较小。

移动端使用的卷积神经网络MobileNet_第9张图片 表6

 图3是结合网络瘦身及图像缩小对网络性能的影像,可以看出,当α选为0.25时,会导致准确率有较大情况的下降。

移动端使用的卷积神经网络MobileNet_第10张图片 图3 计算量及准确率变化情况

图4是集合两种网络计算量减少策略情况下16个模型的参数数量及网络性能变化情况。 

移动端使用的卷积神经网络MobileNet_第11张图片 图4 参数数量及网络性能变化情况

表7是mobilenet与Alexnet及squeezenet进行对比的情况,在更少的计算量及相似的参数数量的情况下,mobilenet可以实现比两者更突出的识别准确率。 

移动端使用的卷积神经网络MobileNet_第12张图片 表7

此外,作者还分别验证了mobilenet的可微调性,大尺度数据集上的有效性,人脸属性预测、物体检测及人脸识别上的可行性。

四、结论

Mobilenet创新性的解决了网络的耗时问题,这在实际的应用中是非常的重要的,实现用户需求量最广的是移动端的使用,但是出于目前移动端的计算能力及内存空间的有限,降低网络计算量是个重点。此外本文还给我们提供了在实际应用中如何对网络进行瘦身,是一篇非常实用的论文。

你可能感兴趣的:(论文解读)