Abstract
我们为移动和嵌入式视觉应用提供了一类名为MobileNets的高效模型。 MobileNets基于流线型架构,使用深度可分离的卷积来构建轻量级深度神经网络。 我们介绍了两个简单的全局超参数,可以在延迟和准确性之间进行有效折衷。 这些超参数允许模型构建者根据问题的约束为其应用程序选择合适大小的模型。 我们在资源和精度折衷方面提出了大量实验,并且与ImageNet分类上的其他流行模型相比显示出强大的性能。 然后,我们演示MobileNets在各种应用和用例(包括对象检测,细粒分类,人脸属性和大规模地理定位)中的有效性。
1. Introduction
自从AlexNet赢得ImageNet挑战:ILSVRC 2012以来,卷积神经网络在计算机视觉领域一直处于无处不在的地步。 总体趋势是为了实现更高的精确度而做出更深更复杂的网络“。然而,提高准确性的这些进步并不一定使网络在尺寸和速度方面更高效。 在诸如机器人,自动驾驶汽车和增强现实等许多现实世界的应用中,识别任务需要在计算有限的平台上及时进行。
这篇文章描述了一个高效的网络架构和一个两个超参数的集合来构建一个特别小,低延时的模型,可以被很简单地用来匹配手机和嵌入式视觉应用的需要。第二节回顾了先前在建立小模型上的工作。第三节描述了MobileNet架构和两个超参数宽度乘法器和分辨率乘法器,以定义更小更高效的MobileNets.第四节描述了ImageNet上的实验以及各种不同的应用和用例。 第五节以总结和结论结束。
2. Prior Work
分类:
- 压缩预分类的网络
- 直接训练小网络
本文提出了一类网络体系结构,允许模型开发人员专门选择与其应用程序的资源限制(延迟,大小)相匹配的小型网络。移动网络主要专注于优化延迟,但也产生小型网络。 许多关于小型网络的论文只关注尺寸,但不考虑速度。
MobileNets主要是由中最初引入的深度可分离卷积构建的,随后用于Inception模型以减少前几层中的计算。 分形网络利用完全因式分解的卷积建立了一个网络,并展示了极端因式分解网络的潜力。分解网络与当前论文无关,引入了类似的分解卷积以及拓扑连接的使用。 随后,Xception网络演示了如何扩展深度可分离滤波器以执行Inception V3网络。 另一个小型网络是Squeezenet ,它使用瓶颈方法来设计一个非常小的网络。 其他简化的计算网络包括structured transform networks和deep fried convnets.
获得小型网络的另一种方法是缩小,分解或压缩预训练网络。基于产品量化,哈希,并在文献中提出了修剪,矢量量化和霍夫曼编码。 此外还提出了各种分解因子来加速预训练网络。 另一种培训小型网络的方法是蒸馏,它使用更大的网络来教授更小的网络。 它对我们的方法是一种补充,并在第4节的一些用例中进行了介绍。另一种新兴的方法是低位网络。
3. MobileNet Architecture
在本节中,我们首先描述MobileNet构建的核心层,它们是深度可分离的过滤器。然后描述MobileNet网络结构,并结束对两个模型缩小超参数宽度乘法器和分辨率乘法器的描述。
3.1 Depthwise Separable Convolution
MobileNet模型基于深度可分卷积,这是一种分解卷积的形式,它将标准卷积分解为深度卷积和被称为逐点卷积的1×1卷积。深度卷积为每个输入频道提供一个单过滤器,逐点卷积之后提供一个1×1卷积去连接深度卷积的输出。一个标准卷积既能过滤,又能将输入连接成一个新的输出集。深度可分卷积将这分离成两层,一个独立层来分离,另一个独立层连接。这种分离大幅减小了计算和模型大小。图2展示了一个标准卷积如何被分成一个深度卷积和逐点卷积。
A standard convolution layer takes as input a DF × DF × M feature map F and produces a DF × DF × N feature map G where DF is the spatial width and height of a square input feature map, M is the number of output channel(outut depth).
标准卷积层通过大小为DKDKM*N的卷积核K参数化。
标准卷积的输出特征映射假定跨度为1并且填充值计算如下:
以乘积的关系依赖于M,N,Dk × Dk,
DF × DF. MobileNet模型解决了这些是事项及其交互中的每一个。 首先它使用深度可分离的卷积来打破输出通道数量和内核大小之间的相互作用。
标准卷积操作具有基于卷积核和特征组合来过滤特征以产生新的表示的效果。过滤和组合步骤可以被分解成两步,通过叫做深度可分卷积的被分解卷积的使用,来显著减小计算量。
3.2 Network Structure and Training
3.3 Width Multiplier: Thinner Models
宽度乘数可应用于任何模型结构,从而以合理的精度,延迟和大小权衡来定义新的较小模型。 它被用来定义一个新的需要从头开始进行训练的简化模型。
3.4 Resolution Multiplier: Reduced Repersentation
4. Experiments
5. Conclusion
我们基于深度可分卷积提出了一个新的模型架构叫做MobileNets.我们研究了一些重要的设计决定,来引导出一个高效的模型。然后,我们演示了如何使用宽度乘法器和分辨率乘法器构建更小更快的MobileNets,并通过折中合理的精度来减小尺寸和延迟。然后,我们将不同的MobileNets与流行的模型进行比较,展示出优越的尺寸,速度和准确度特征,我们最后证明了MobileNet在应用于各种任务时的有效性。 作为帮助采用和探索MobileNets的下一步,我们计划在TensorFlow中发布模型。