在本文中,我们描述了一种新的移动架构,MobileNetV2,它改进了移动模型在多个任务和基准上以及在不同模型大小上的最新性能。我们还描述了将这些移动模型应用在称为SSDLite的对象检测的有效方法。此外,我们还演示了如何通过简化的DeepLabv3(我们称之为mobile DeepLabv3)来建立移动语义分割模型。
是基于倒剩余结构,其中的shortcut是在薄的bottle-neck(瓶颈层)之间。中间扩展层使用轻量级深度卷积来过滤特征,它的结果作为非线性的一个来源。此外,我们还发现,为了保持功率,去狭窄层中的非线性是很重要的。我们证明,这提高了性能,并提供了导致这个设计的直觉.
最后,我们的方法允许把来自迁移表达的输入/输出域 解耦,这为进一步的分析提供了一个方便的结构。我们测量了我们在ImageNet[1]分类、COCO目标检测[2]、VOC image segmentation(图像分割)沉着[3]上的表现。我们评估精度之间的权衡,以及通过乘法-加法(MAdd)测量的操作数量,以及实际的延迟和参数的数量。
神经网络已经使机器智能的许多领域发生了革命性的变化,能够在图像识别任务的挑战有超越人的准确性。然而,提高准确性的动力往往来自一个方面:现代的网络需要大量的计算资源,超出了许多移动和嵌入式应用的能力
本文介绍了一种专门针对移动端和计算资源受限环境的神经网络结构。我们的网络提高了移动端计算机视觉模型的发展,显著地减少了操作的次数和所需的内存,同时保持了同样的准确性。
我们的主要贡献是一个新的层模块:具有线性瓶颈的反向残差。该模块采用低维压缩表示作为输入,首先将其扩展为高维,然后用轻量级的深度卷积进行滤波。特征随后通过线性卷积投影回低维表示。在[4]中,官方实现是TensorFlow-Slim模型库的一部分。
这个模块可以在任何现代框架中使用标准操作有效地实现,并允许我们的模型使用标准基准在多个性能点上超越当前的技术水平。此外,这个卷积模块特别适合移动设计,因为它可以通过 不是完全实现 大的中间张量来 显著减少推理期间所需的内存占用。这就减少了许多嵌入式硬件设计对主存访问的需求,从而提供了大量的、非常快的软件控制的内存。
微调深度神经结构以在精度和性能之间取得最佳平衡,是过去几年积极研究的一个领域。在大团队通过在训练算法上人工探索和提高的实现,已经引起了对早期设计的巨大改进,如AlexNet[5]、VGGNet[6]、GoogLeNet[7],以及ResNet[8]。近年来,在超参数优化[9,10,11]、各种网络裁剪[12,13,14,15,16,17]、连通性学习[18,19]等算法架构探索方面取得了很大进展。大量的工作也致力于改变内部卷积块的连接结构,如ShuffleNet[20]或引入稀疏的[21]和其他[22]。
近年来,[23,24,25,26]开辟了将遗传算法、强化学习等优化方法引入建筑搜索的新方向。然而,一个缺点是由此产生的网络非常复杂。在本文中,我们继续实现发展更好直觉的目标,是关于神经网络如何实现和用直觉指引 最简单的有可能的网络搭建。我们的方法应该符合[23]和相关工作中描述的方法。在这方面,我们的方法类似于[20,22]所采取的方法,允许进一步改进性能,同时提供对其内部操作的一点展示。我们的网络设计基于MobileNetV1[27]。它保持了它的简单性,不需要任何特殊的操作人员,同时显著提高了它的准确性,实现了移动应用中多种图像分类和检测任务钟先进技术水平。
深度可分卷积是构建高效神经网络架构的关键[27,28,20],我们也在当前的工作中使用它。它的基本思想是将一个完整的卷积运算符替换为一个分解卷积为两层的因式运算符。第一层称为 depthwise 卷积,它通过对每个输入通道应用一个卷积滤波器来执行轻量级的滤波。第二层是一个1*1卷积,称为 pointwise 卷积,它负责通过计算输入通道的线性组合来构建新的特征。
标准卷积对输入H*W*D,用卷积核 k*k*D*d,输出是H*W*d,那么标准卷积层的计算量是H*W*D*d*k*k。
深度可分卷积是标准卷积层的完全替代。从经验上看,它们的效果几乎和普通的卷积一样好,但只是成本问题。h*w*D*(k*k+d)。
与传统层次相比,深度可分卷积有效地减少了近1 / 21的计算量。MobileNetV2使用k = 3 (3 *3 depwise separable convolutions),因此计算成本是标准卷积的8到9倍小,而精度[27]仅略有降低。
考虑神经网络由多层组成,每层都有一个经过激活层的维数为H*W*D激活张量。在整个这一节中,我们将讨论这些激活张量的基本性质,我们将把它们作为具有D维的H*W像素容器。非正式地说,对于一个真实图像的输入集,我们称激活层的集合(对于任何层)形成了感兴趣的多区域(例如有物体的地方,feature上有相近的抽象图案)。长期以来,人们一直认为对神经网络感兴趣的流形可以嵌入到低维子空间中。换句话说,当我们查看深卷积层中所有单独的d通道像素时,这些值中编码的信息实际上是流形的,反过来说 是可以键入到一个低维子空间。