MobileNetV2:反向残差和线性瓶颈外文翻译资料

 2022-03-05 22:00:01

英语原文共 14 页,剩余内容已隐藏,支付完成后下载完整资料


MobileNetV2:反向残差和线性瓶颈

在本文中,我们描述了一种新的移动体系结构MobileNetV2,该体系结构可提高移动模型在多个任务和基准以及跨不同模型大小的范围内的最新性能。我们还描述了在称为SSDLite的新型框架中将这些移动模型应用于目标检测的有效方法。此外,我们演示了如何通过简化形式的DeepLabv3(我们称为Mobile DeepLabv3)构建移动细分模型。

基于反向残差结构,其位置位于薄瓶颈层之间。中间扩展层使用轻量级的深度卷积过滤作为非线性源的特征。另外,我们发现移除狭窄层中的非线性以保持表象力很重要。我们证明了这样做可以提高性能,并为本设计提供灵感。

最后,我们的方法能够将输入/输出域与转换的表象分离,这为进一步分析提供了便捷的架构。我们通过ImageNet [ 1 ]分类,COCO对象检测[ 2 ],VOC图像分割[ 3 ] 衡量性能。我们评估精度与乘加(MAdd)度量的操作数,实际延迟以及参数数之间的权衡。

1.简介

神经网络已经改变了机器智能的许多领域,从而使惊人的准确性可用于困难的图像识别任务。但是,提高准确性的过程通常是有代价的:当今最先进的网络需要超出大多数移动和嵌入式应用程序能力的大量计算资源。

本文介绍了一种新的神经网络体系结构,该体系结构专门针对移动和资源受限的环境而量身定制。我们的网络通过显著减少所需的操作和内存数量,同时保持相同的精度,推动了特殊的移动计算机视觉模型的发展。

我们的主要贡献是新型的图层模块:具有线性瓶颈特性的反向残差。该模块将低维压缩表示作为输入,首先将其压缩为高维并使用轻量级的深度卷积进行过滤。随后将特征投射回具有线性卷积的低维并表示。公开的实现器材可从[ 4 ]中TensorFlow-Slim模型库获得。

该模块可以使用任何现代框架中的标准操作来有效地实现,并使得我们的模型使用基准在多个性能点上超越最新技术。此外,该卷积模块特别适合于移动设计,因为它可以通过还未完全实现的大的中间张量来显著减少推理过程中所需的存储空间。这减少了许多嵌入式硬件设计中对主存储器访问的需求,这些设计提供了一些非常快的软件控制的高速缓存。

2.相关工作

在过去的几年中,调整深层神经体系结构以在准确性和性能之间达到最佳平衡一直是热点研究领域。由众多团队进行的手动体系结构搜索和训练算法的改进都对早期设计有着显著的改进。如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 ]。它保留了其简单性,并且不需要任何特殊的运算符,同时显着提高了其准确性,从而实现了针对移动应用程序的多个图像分类和检测任务的最新技术。

3.初步行动,讨论和灵感

3.1.深度可分离卷积

深度可分离卷积

在深度上可分卷积是许多有效的神经网络结构[关键构建模块27 ,28 ,20 ],我们用它们在目前的工作也是如此。基本思想是用分解卷积的运算符代替完整的卷积算子,该分解器将卷积分为两个单独的层。第一层称为深度卷积,它通过对每个输入通道应用单个卷积滤波器来执行轻量级滤波。第二层是1times;1 卷积,称为逐点卷积,它负责通过计算输入通道的线性组合来构建新特征。

标准卷积需要输入一个值为的张量,并适用卷积内核以产生值为的输出张量。标准卷积层的计算公式为。深度可分离卷积是标准卷积层的直接替代。从经验上讲,它们的工作原理几乎与常规卷积一样好,但仅需计算: (1)

这是深度卷积和1times;1 点卷积的总和。与传统层相比,有效的深度可分离卷积将计算量减少了几乎。MobileNetV2使用k = 3 (3times;3 深度可分离卷积),此计算能力是标准卷积的8 到9 倍,而精度却只有很小的降低[ 27 ]。

3.2.线性瓶颈

当考虑一个由n个层组成的深层神经网络,每个层的激活张量为。在本节中,我们将讨论这些激活张量的基本属性,我们将它们视为具有维度的具有 个“像素”的容器。通俗的说,对于一组真实图像,我们说该层激活集(对于任何层)形成“感兴趣的流形”。长期以来,人们一直认为神经网络中感兴趣的流形可以嵌入到低维子空间中。换句话说,当我们查看一个深卷积层的所有单个d通道像素时,这些值中编码的信息实际上位于某个流形中,而这些流又可以嵌入到低维子空间中。

乍一看,可以通过简单地减小层的尺寸从而减小操作空间的尺寸来捕获和利用这样的事实。这已被MobileNetV1成功利用[ 27 ]通过宽度乘数参数有效地在计算和精度之间进行权衡,并且已被应用于其他网络的有效模型设计中[ 20 ]。按照这种思路,宽度乘数法能够减小激活空间的维数,直到感兴趣的流形跨越整个空间。但是,当我们回想起深度卷积神经网络实际上具有非线性的坐标转换(例如ReLU)时,这种思路就不能实现了。例如,将ReLU 应用于一维空间中的一条线会产生“射线”,而在空间中,它通常会生成具有n个关节的分段线性曲线。

容易看出,通常,如果层转换ReLU(Bx)的结果具有非零体积S,则映射到内部S的点是通过输入的线性变换B获得的,因此表明对应于一维输出的输入空间仅限于线性变换。换句话说,深层网络仅具有线性分类器在非零体积部分的能力。

输入 输出/ dim = 2 输出 / dim = 3输出 / dim = 5输出 / dim = 15输出 / dim = 30

图1:嵌入高维空间的低维流形的ReLU 转换示例。在这些示例中,使用随机矩阵T 和ReLU 将初始螺线嵌入到n维空间中,然后使用投影回2D空间。在以上n = 2的示例中 3 导致信息丢失,其中流形的某些点彼此折叠,而对于n = 15 到 30,则转换是高度非凸的。

(a)常规 (b)可分离

(c)可与线性瓶颈分离 (d)具有扩张层

图2:可分离卷积块的演变。斜线阴影纹理表示不包含非线性的图层。最后一层(浅色)指示下一个块的开始。注意:2d 和2c 堆叠时是等效的块。彩色效果最佳。

输出域。我们参考补充材料以获得更正式的说明。

另一方面,当ReLU 使通道崩溃时,它不可避免地会丢失该通道中的信息。但是,如果我们有很多通道,并且激活流形中有一个结构,则信息可能仍会保留在其他通道中。在补充材料中,我们发现,如果可以将输入流形嵌入到激活空间的一个非常低维的子空间中,那么ReLU 转换将保留信息,同时可用表达函数的集合表现复杂性。

总而言之,我们强调了两个属性,这些属性所需的流形应位于高维激活空间的低维子空间中的要求:

  1. 如果感兴趣的流形保持非零体积,

在ReLU 变换之后,它对应于线性变换。

(a)残差块 (b)反向残差块

图3:残余块[之间的差8 ,30 ]和反向残差。对角阴影线层不使用非线性。我们使用每个块的厚度来指示其相对通道数。请注意,经典残差如何连接具有大量通道的图层,而反向残差如何连接瓶颈。彩色效果最佳。

  1. ReLU 能够保留有关输入流形的完整信息,但前提是输入流形位于输入空间的低维子空间中。

这两个见解为我们提供了优化现有神经体系结构的经验提示:假设感兴趣的流形是低维的,我们可以通过将线性瓶颈层插入到卷积块中来捕获这一点。实验证据表明,使用线性层至关重要,因为它可以防止非线性破坏过多的信息。在第6 节中,我们凭经验证明在瓶颈中使用非线性层确实会损害百分之几的性能,进一步验证了我们的假设。我们注意到,在[ 29]中从传统残差块的输入中消除了非线性,从而提高了CIFAR数据集的性能。

在本文的其余部分,我们将利用瓶颈卷积。我们将输入瓶颈的大小与内部大小之间的比率称为扩展比率。

3.3.反向残差

瓶颈块类似于残余块,其中每个块包含一个输入,然后是几个瓶颈,然后是扩展[ 8 ]。但是,受思路的启发,瓶颈实际上包含所有必要的信息,而扩展层仅充当张量的非线性转换的实现细节,我们可以直接在瓶颈之间使用快捷方式。

图3 提供了设计差异的示意图。插入快捷方式的目的与经典残差连接的目的相似:我们要提高渐变跨乘数层传播的能力。但是,反向设计的内存效率要高得多(有关详细信息,请参见第5 节),并且在我们的实验中效果更好。

瓶颈卷积的运行时间和参数计数表1中说明了基本的实现结构。对于大小为,扩展因子为t且内核大小为k且具有个输入通道和输出通道的块,所需的乘加总数为。与(1)这个表达式相比还有一个的术语,因为实际上我们有一个额外的1times;1 卷积,但是我们网络的性质使我们可以利用更小的输入和输出维度。在表3中,我们比较了MobileNetV1,MobileNetV2和ShuffleNet每种分辨率所需的大小。

3.4.对信息流的解释

我们的体系结构的一个有趣的特性是,它在构建块(瓶颈层)的输入/输出域与层转换之间提供了自然的分隔,层转换是将输入转换为输出的非线性函数。前者可被视为网络在每一层的容量,而后者可被视为表现力。这与常规的和可分离的传统卷积块相反,在传统的卷积块中,表现力和容量都纠缠在一起,并且是输出层深度的函数。

特别是在我们的情况下,当内层深度为0时,由于快捷连接,底层的卷积就是身份函数。当膨胀比小于1 ,这是一个经典的残余卷积块[ 8 ,30 ]。但是,出于我们的目的,我们表明大于1的扩展比是最有用的。

这种解释使我们能够将网络的表现力与容量分开研究,并且我们认为有必要进一步研究这种分离,以更好地了解网络的性质。

4.模型架构

现在,我们详细描述我们的体系结构。如前一部分所述,基本构建块是具有残差的瓶颈深度可分离卷积。下表显示了此块的详细结构

输入

运算符

输出

表1:瓶颈残差块从k到 通道的转换,步幅为s,扩展因子为t。

表1 .MobileNetV2的体系结构包含具有32个过滤器的初始全卷积层,然后是表2中所述的19个残留瓶颈层。我们将ReLU6 用作非线性,是因为它在与低精度计算一起使用时具有鲁棒性[ 27 ]。我们始终使用3times;3的内核大小作为现代网络的标准,并在训练过程中利用丢包和批处理规范化。

除第一层外,我们在整个网络中使用恒定的扩展速率。在我们的实验中,我们发现5 到10 之间的扩展速率会导致几乎相同的性能曲线,较小的网络在较小的扩展速率下效果更好,而较大的网络在较大的扩展速率下性能稍好。

对于我们所有的主要实验,我们使用输入因子张量的扩展因子6 。例如,对于瓶颈层采用64 通道输入张量并产生具有128 通道的张量,则中间扩展层为64·6 = 384 通道。

超参数如[ 27 ]中所述,我们通过使用输入图像分辨率和宽度乘数作为可调超参数,使我们的体系结构适应不同的性能点,可以根据所需的精度/性能的权衡进行调整。我们的主网络(宽度乘法器1 ,224times;224 ),具有3亿乘法,增加了计算能力,并使用340万点的参数。我们探讨了性能折中方案,输入分辨率从96 到224 ,宽度乘数为0.35 :1.4 。网络计算能力范围为7乘以添加到585M的MAdds,而模型大小在1.7M和6.9M参数之间变化。

[ 27 ]的一个次要实现差异是对于小于1的乘数,我们将宽度乘数应用于除最后一个卷积层以外的所有层。这提高了较小型号的性能。

输入值

操作函数

t

c

n

s

224 2 times;3

Conv2d

-

32

1

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[425218],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。