MobileNetV2: Inverted Residuals and Linear Bottlenecks论文(中文版)

本文是自己学习后加入自己理解的总结记录,方便自己以后查看,参考文章链接放在下面


学习前言

一起来学习MobileNet-v2论文


论文:《Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segmentation》
论文链接:https://arxiv.org/abs/1801.04381

 

Mark Sandler      Andrew Howard  Menglong Zhu     Andrey Zhmoginov     Liang-Chieh Chen Google Inc.Mark Sandler      Andrew Howard  Menglong Zhu     Andrey Zhmoginov     Liang-Chieh Chen Google Inc.

{sandler, howarda, menglong, azhmogin, lcchen}@google.com

摘要

在本文中,我们描述了一种新的移动架构MobileNetV2,它提高了移动模型在多个任务和基准测试以及不同模型大小范围内的最新性能。我们还描述了在我们称之为SSLite的新框架中将这些移动模型应用于对象检测的有效方法。此外,我们还演示了如何通过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],我们在当前工作中也使用了它们。其基本思想是用将卷积分解为两个独立层的因子化版本来替换全卷积算子。第一层称为深度卷积,它通过对每个输入通道应用单个卷积滤波器来执行轻量级滤波。第二层是1×1卷积,称为逐点卷积,负责通过计算输入通道的线性组合来构建新特征。

标准卷积取hi×wi×di输入张量Li,并应用卷积核K∈Rk×K×di×dj来产生hi×wi x dj输出张量Lj。标准卷积层的计算成本为hi·wi·di·dj·k·k。

深度可分离卷积是标准卷积层的替代品。从经验上讲,它们的工作效果几乎与常规卷积一样好,但只是成本:

hi·wi·di(k2+dj)(1)

它是深度卷积和1×。与传统层相比,有效的深度可分离卷积将计算量减少了几乎k2倍。MobileNetV2使用k=3(3×3深度可分离卷积),因此计算成本比标准卷积低8到9倍,精度仅略有下降[27]。

3.2线性瓶颈

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

乍一看,这样的事实可以通过简单地降低层的维度来捕捉和利用,从而降低操作空间的维度。MobileNetV1[27]已经成功地利用了这一点,通过宽度乘数参数在计算和精度之间进行了有效的权衡,并将其纳入了其他网络的有效模型设计[20]。根据这种直觉,宽度乘数方法允许降低激活空间的维度,直到感兴趣的流形跨越整个空间。然而,当我们回忆起深度卷积神经网络实际上具有非线性的每坐标变换时,这种直觉就崩溃了,比如ReLU。例如,应用于1D空间中的直线的ReLU会产生“射线”,其中,与Rn空间中一样,它通常会产生具有n个关节的分段线性曲线。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值