MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

Abstract

  • 我们为移动和嵌入式视觉应用提供了一类称为MobileNets的高效模型。
  • MobileNet基于一种流线型结构,它使用垂直可分离卷积来构建轻量级的深层神经网络。
  • 我们引入两个简单的全局超参数,有效地在延迟和准确性之间进行权衡。
  • 这些超参数允许模型生成器根据问题的约束为其应用程序选择合适大小的模型。
  • 我们在资源和精度权衡方面进行了广泛的实验,并与其他常用的ImageNet分类模型相比,显示出强大的性能。然后,我们展示了MobileNet在广泛的应用程序和用例中的有效性,包括对象检测、文件分类、人脸属性和大规模地理定位。

Introduction

  • 自从Alexnet赢得Imagenet的挑战,推广了深层卷积神经网络以来,卷积神经网络在计算机视觉中无处不在。为了获得更高的精度,一般的趋势是建立更深入、更复杂的网络。然而,这些提高准确性的进步并不一定会使网络在大小和速度方面更加有效。在机器人、自动驾驶汽车和增强现实等许多现实应用中,识别任务需要在计算有限的平台上及时执行。
  • 本文描述了一个有效的网络架构和一组两个超参数,以便构建非常小的、低延迟的模型,这些模型可以很容易地与移动和嵌入式视觉应用程序的设计要求相匹配。

Prior Work

  • 在最近的文献中,人们对建立小型和高效的神经网络越来越感兴趣。多不同的方法通常可以分为压缩预训练网络或直接训练小网络。本文提出了一类网络体系结构,允许模型开发人员专门选择一个与应用程序的资源限制(延迟、大小)相匹配的小型网络。
  • MobileNet主要致力于优化延迟,但也会产生小型网络。许多关于小型网络的论文只关注规模,而不考虑速度。
  • 扁平化网络利用完全分解的卷积构建网络,并展示其分解网络的潜力。因式分解网络引入了类似的因式分解卷积以及拓扑连接的使用。异常网络演示了如何扩大纵向可分离过滤器,以超越初始v3网络。另一个小型网络是squezenet,它使用瓶颈方法设计一个非常小的网络。其他简化的计算网络包括结构化转换网络和deep fried convnets。
  • 获得小型网络的另一种方法是缩减,分解或压缩预训练网络。 在文献中已经提出了基于乘积量化[36],散列[2]和修剪,矢量量化和霍夫曼编码[5]的压缩。

MoblieNet Architecture

  • 在本节中,我们首先描述了Mobilenet构建的核心层,它是深度可分离过滤器。然后描述了Mobilenet网络结构,并给出了两种模型的收缩超参数宽度倍增器和分辨率倍增器的描述。
  • MobileNet模型基于深度可分离卷积,这是一种因子化卷积形式,它将标准卷积分解为深度卷积1×1卷积,称为逐点卷积。对于MobileNets,深度卷积对每个输入通道应用一个滤波器。然后,逐点卷积应用1×1卷积来组合输出深度卷积。
  • 标准卷积既可以过滤,也可以将输入组合成一组新的输出。深度可分离卷积将其分成两层,一个用于过滤的单独层和一个用于组合的单独层。这种因子分解具有显着减少计算和模型大小的效果。
  • 标准卷积层将DF×DF×M特征映射F作为输入,并产生DF×DF×N特征映射G,其中DF是方形输入特征映射1的空间宽度和高度,M是输入通道的数量( 输入深度),DG是方形输出特征图的空间宽度和高度,N是输出通道的数量(输出深度)。标准卷积层由大小为DK×DK×M×N的卷积核K参数化,其中DK是假设为正方形的核的空间维度,M是输入通道的数量,N是先前定义的输出通道的数量。
  • 标准卷积操作具有基于卷积内核和组合特征来过滤特征以产生新表示的效果。通过使用称为深度可分离卷积的分解卷积,可以将滤波和组合步骤分成两个步骤,从而显着降低计算成本。
  • 深度可分离卷积由两层组成:深度卷积和逐点卷积。 我们使用深度卷积来为每个输入通道(输入深度)应用单个滤波器。 然后使用简单的1×1卷积的逐点卷积来创建深度层的输出的线性组合。 MobileNets对两个层都使用batchnorm和ReLU非线性。
  • 相对于标准卷积,深度卷积非常有效。 但是它只会过滤输入通道,它不会将它们组合起来创建新功能。因此,为了生成这些新特征,需要通过1×1卷积计算深度卷积输出的线性组合的附加层。
  • Mobilenet使用3×3可纵向分离的卷积,其计算量比标准卷积少8至9倍,但精度降低很小。
  • MobileNet结构建立在深度可分离卷积的基础上,如前一节所述,除了第一层是完全卷积。通过以如此简单的方式定义网络,我们能够轻松探索网络拓扑以找到一个好的网络。所有层后面都是一个batchnorm [13]和ReLU非线性,除了最终完全连接的层没有非线性,并输入softmax层进行分类。在深度方向卷积中以及在第一层中使用跨步卷积来处理下采样。 最终平均池化在完全连接层之前将空间分辨率降低到1。 将深度和逐点卷积计为单独的层,MobileNet有28层。
  • 仅仅根据少量的Mult-Adds来定义网络是不够的。确保这些操作可以有效实施也很重要。例如,非结构化稀疏矩阵运算通常不比密集矩阵运算快,直到非常高的稀疏度。我们的模型结构几乎所有的计算都是1×1卷积。这可以通过高度优化的通用矩阵乘法(GEMM)函数来实现。1×1卷积不需要在存储器中重新排序,并且可以直接用GEMM实现,GEMM是最优化的数值线性代数算法之一。MobileNet在1×1卷积中花费95%的计算时间。几乎所有附加参数都在完全连接的层中。
  • 然而,与大型模型的培训相反,我们使用较少的规范化和数据增强技术,因为小型模型在过度拟合方面的问题较少。在训练MobileNets时,我们不使用侧头或标签平滑,并通过限制大型初始训练中使用的小型作物的大小来减少扭曲图像的数量。对于下一部分中的ImageNet基准测试,无论模型的大小如何,所有模型都使用相同的训练参数进行训练。
  • 尽管基础MobileNet架构已经很小且延迟很低,但很多时候特定的用例或应用程序可能要求模型更小更快。为了构造这些更小、计算成本更低的模型,我们引入了一个非常简单的参数α,称为宽度乘数。宽度乘数α的作用是均匀地稀疏每层网络。对于给定的层和宽度乘数α,输入信道M的数量变为αM,输出信道的数量N变为αN。
  • 第二个降低神经网络计算成本的超参数是解乘数ρ。

Conclusion

  • 我们提出了一种基于深度可分离卷积的称为MobileNets的新模型架构。
  • 我们研究了一些重要的设计决策,以及一个有效的模型。 我们演示了如何使用宽度乘数和分辨率乘数构建更小,更快的MobileNets,通过折衷合理的精度来减小大小和延迟。
  • 我们将不同的MobileNets与流行的型号进行了比较,展示了出众的尺寸,速度和准确性。 最后,我们通过展示MobileNet在应用于各种任务时的有效性得出结论。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值