论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

时间:2022-09-11 05:00:55

全球人工智能

文章来源:arxiv.org 翻译:林一鸣

文章投稿:news@top25.cn

MobileNets: 面向手机视觉的高性能卷积网络

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

摘要

我们提供一类称为MobileNets的高效模型,用于移动和嵌入式视觉应用。 MobileNets是基于一个流线型的架构,它使用深度可分离的卷积来构建轻量级的深层神经网络。我们引入两个简单的全局超参数,在延迟和准确度之间有效地进行平衡。这两个超参数允许模型构建者根据问题的约束条件,为其应用选择合适大小的模型。我们进行了资源和精度权衡的广泛实验,与ImageNet分类上的其他流行的模式相比,MobileNets表现出强劲的性能。最后,我们展示了MobileNets在广泛的应用场景中的有效性,包括物体检测,细粒度分类,人脸属性和大规模地理定位。

背景介绍

自从AlexNet通过赢得ImageNet:ILSVRC 2012 挑战,推广深层卷积神经网络以来,卷积神经网络已经在计算机视觉中普遍存在。目前总体趋势是使用更深更复杂的网络来达到更高的精度。然而,这些提高精度的工作并不一定会使网络在大小和速度方面更有效率。在诸如机器人,自动驾驶和增强现实等许多现实世界的应用中,识别任务需要在计算资源有限的平台上实时进行。本文介绍了一种高效的网络架构和一组超参数,以便构建非常小又低延迟的模型,可以轻松满足移动和嵌入式视觉应用的设计要求。第2节回顾了之前在建造小模型方面的工作。第3节描述了MobileNet架构和两个超参数宽度乘数和分辨率乘数,用来定义更小更高效的MobileNets。第4节介绍了MobileNetsImageNet以及各种不同应用和用例的实验。第5节则是总结和结论。

MobileNets 的基础架构深度可分卷积DepthwiseSeparable Convolution:

MobileNet模型基于深度可分离的卷积。它是一种标准卷积的因式分解卷积形式,将标准卷积分解成深度向卷积和称为点向卷积的1×1卷积。对于MobileNets,深度向卷积将单个滤波器应用于每个输入通道。然后,点向卷积应用1×1卷积以将深度向卷积的输出组合成深度卷积。而一个标准卷积同时对输入进行滤波和组合,得到一组新的输出。深度可分离的卷积将其分成两层,一个用于滤波的单独层和用于组合的单独层。这种因式分解具有大大减少计算和模型大小的作用。图2示出了如何将标准卷积2(a)分解为深度向卷积2(b)和1×1点向卷积2(c)。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

模型结构:

MobileNet结构建立在前面部分所述的深度可分离的卷积中,除了第一层是标准卷积。通过以简单的方式定义网络,我们可以轻松地探索网络拓扑,以找到一个良好的网络。 MobileNet架构在表1中定义。除了没有非线性的最终完全连接的层之外,所有层之后都是一个batchnorm 和ReLU非线性,最终输出到softmax层进行分类。图3将具有标准卷积,batchnorm和ReLU非线性的层与具有深度向卷积的分解层,1×1个点卷积以及每个卷积层之后的batchnorm和ReLU进行对比。下采样在深度向卷积以及第一层中以逐步卷积处理。最终平均池化在全连接层之前将空间分辨率降低到1。如果将逐层和逐点卷积计算为单独的层,MobileNet具有28层。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

MobileNet将95%的计算时间用于有75%的参数的1×1卷积,见表2。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

宽度乘数��和分辨率乘数��:

表3显示了一个层的计算量和参数数量,因为架构收缩方法顺序应用于该层。第一行显示了具有大小为14×14×512的输入特征图的完整卷积层的乘加运算量(单位百万次)和参数数量,内核K的大小为3×3×512×512。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

实验数据分析

1、Model Choices

在表4中,在ImageNet上,我们看到使用深度向的可分离卷积与全卷积相比,精度只降低1%,从而大大节省了参数。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

表5显示,在接近的计算量和参数数量上,使MobileNets横向更薄的准确率比起使MobileNets纵向更浅的准确率高3%。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

2、 Model Shrinking Hyperparameters

表6显示了使用宽度乘数α缩小MobileNet架构的精度和计算量与模型大小的折衷。准确率随着模型缩小下降。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

表7通过训练具有不同输入分辨率的MobileNets,显示了不同分辨率乘数导致的精度,计算和尺寸平衡。精度随着分辨率下降而光滑下降。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

图4显示了由宽度乘数α∈{1,0.75,0.5,0.25}和分辨率{224,192,160,128}的交叉乘积制成的16个模型的ImageNet精度和计算之间的折衷。当模型在α= 0.25时变得非常小时,结果在数线性关系提高了一个台阶。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

图5显示了由宽度乘数α∈{1,0.75,0.5,0.25}和分辨率{224,192,160,128}的交叉积形成的16个模型的ImageNet精度和参数数量之间的折衷。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

表8将完整的MobileNet与原来的GoogleNet [30]和VGG16 [27]进行了比较。 MobileNet与VGG16几乎一样准确,而32倍小,计算密集度减少27倍。它比GoogleNet更精确,而更小,计算量少2.5倍。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

表9比较了缩减的宽度乘数α= 0.5和分辨率160×160的MobileNet。MobileNet比AlexNet表现好,比AlexNet小45倍,计算量减少9.4倍。它也比Squeezenet提高约4%的精度,但有大约相同的尺寸和22倍更少的计算量。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

3、Fine Grained Recognition

我们在Stanford Dogs数据集上训练MobileNet进行细粒度识别[17]。我们扩展了[18]的方法,并从网络上收集比[18]更大但更嘈杂的训练集。我们使用嘈杂的网络数据预先训练一个细粒度的狗识别模型,然后在斯坦福狗类训练集上对模型进行微调。 Stanford Dogs测试集的结果如表10所示。MobileNet几乎可以在大大减少计算和大小的情况下实现[18]的现有技术结果。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

4、 Large Scale Geolocalizaton

我们使用MobileNet架构在相同的数据上重新训练PlaNet。基于Inception V3架构的完整的PlaNet模型[31]具有5200万个参数和57.4亿个多添加,而MobileNet模型只有1300万个参数,主题通常为300万个,最后一个层为1000万个,增加了0.58百万个。如表11,MobileNet版本与PlaNet相比,性能略有降低,但是更紧凑。此外,它仍然大幅度优于Im2GPS。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

5、人脸属性识别FaceAttributes

从表12看出,基于MobileNet的分类器对于剧烈的模型缩小是有弹性的:它实现了接近的mAP,而仅消耗1%的乘加运算。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

6、Object Detection

在表13中,MobileNet与Faster-RCNN [23]和SSD [21]框架下与VGG和InceptionV2 [13]中进行了比较。在我们的实验中,SSD以300输入分辨率(SSD 300)进行评估,并且将Faster-RCNN与300和600输入分辨率(FasterRCNN 300,Faster-RCNN 600)进行比较。 Faster-RCNN模型评估每个图像300个RPN待选框。这些模型在COCO训练集和测试集(不包括8k)上进行了训练,并对小模型进行了评估。对于这两个框架,MobileNet可以实现与其他网络的可比结果,但只有一小部分的计算复杂性和模型大小。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

7、人脸嵌入face embeddings

FaceNet模型是最先进的面部识别模型之一[25]。它基于Triplet损失构建人脸嵌入。为了构建一个移动FaceNet模型,我们使用分离方法来训练,通过最小化FaceNet和MobileNet输出的平均差异对训练数据进行训练。非常小的MobileNet模型的结果可以在表14中找到。

论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets

实验结论

我们提出了一种基于深度可分离卷积的新型架构MobileNets。我们研究了一些产生高效模型的重要设计决策。然后,我们演示了如何通过使用宽度乘数和分辨率乘数来构建更小更快的MobileNets,通过合理的精度损失来减少尺寸和延迟。然后,我们将不同的MobileNets与流行的深度模型进行比较,展示了MobileNets在尺寸,速度和精度上的卓越特性。最后,我们展示了MobileNet在应用于各种任务时的有效性。我们计划开源我们的TensorFlow模型,作为帮助社区采用和探索MobileNets的下一步。

论文地址:https://arxiv.org/pdf/1704.04861.pdf

个人实现项目:

https://github.com/rcmalli/keras-mobilenet

https://github.com/pby5/MobileNet