MnasNet学习笔记

MnasNet学习笔记

原文地址:MnasNet: Platform-Aware Neural Architecture Search for Mobile

简介

轻量化网络优化

image-20220627101419109

image-20220627102520240

通过硬指标T控制整个目标函数的惩罚和激励

$\alpha $ = 0 ,$\beta $ = -1时,惩罚更厉害,因此大多数模型集中在硬指标以内

$\alpha $ = -0.07 ,$\beta $ = -0.07时,整体分布更平均,更多样

image-20220627102726385

image-20220627103119990

保证不同层的结构多样性

image-20220627103251556

整体流程

image-20220627103401405

得到的结构

image-20220627103531965

正文

image-20220627104512775

Abstract

为移动设备设计卷积神经网络(CNN)具有挑战性,因为移动模型需要小而快,但仍然准确。尽管在设计和改进移动CNN的各个方面都做出了巨大的努力,但当需要考虑这么多架构可能性时,很难手动平衡这些权衡。在本文中,我们提出了一种自动移动神经架构搜索(MNAS)方法,该方法将模型延迟明确纳入主要目标,以便搜索能够识别出一个在准确性和延迟之间实现良好权衡的模型。与之前的工作不同,我们的方法通过另一个通常不准确的代理(例如FLOPS)来考虑延迟,我们的方法通过在手机上执行模型来直接测量真实世界的推理延迟。为了进一步在灵活性和搜索空间大小之间取得适当的平衡,我们提出了一种新的因式分解分层搜索空间,以鼓励整个网络的层多样性。实验结果表明,在多个视觉任务中,我们的方法始终优于最先进的移动CNN模型。在ImageNet分类任务中,我们的MnasNet在像素手机上的延迟为1.8毫秒,达到75.2%的top-1精度⇥ 比MobileNetV2[29]更快,精确度高出0.5%和2.3%⇥ 比NASNet更快,精确度高1.2%。我们的MnasNet在COCO目标检测方面也比MobileNet实现了更好的地图质量。代码位于https://github.com/tensorflow/tpu/树/主/模型/官方/mnasnet。

1. Introduction

卷积神经网络(CNN)在图像分类、目标检测和许多其他应用方面取得了重大进展。随着现代CNN模型变得越来越深、越来越大[31、13、36、26],它们也变得越来越慢,需要更多的计算。计算需求的增加使得在资源受限的平台上部署最先进的CNN模型变得困难例如移动或嵌入式设备。

考虑到移动设备上可用的计算资源有限,最近的许多研究都集中于通过减少网络深度和使用较低成本的操作(如深度卷积[11]和组卷积[33])来设计和改进移动CNN模型。然而,设计一个资源受限的移动模型是一个挑战:必须小心地平衡准确性和资源效率,从而产生巨大的设计空间。

在本文中,我们提出了一种用于设计移动CNN模型的自动神经结构搜索方法。图1显示了我们的方法的概述,其中与以前的方法的主要区别是延迟感知多目标奖励和新颖的搜索空间。我们的方法基于两个主要思想。首先,我们将设计问题描述为一个多目标优化问题,该问题考虑了CNN模型的准确性和推理延迟。与之前的工作[36、26、21]中使用触发器来近似推断延迟不同,我们通过在真实移动设备上执行模型来直接测量真实世界的延迟。我们的想法受到以下观察的启发:FLOPS通常是一个不准确的代理:例如,MobileNet[11]和NASNet[36]有类似的FLOPS(575M vs.564M),但它们的延迟显著不同(113ms vs.183ms,详情见表1)。其次,我们观察到,以前的自动化方法主要搜索几种类型的单元,然后通过网络重复堆叠相同的单元。这简化了搜索过程,但也排除了对计算效率很重要的层多样性。为了解决这个问题,我们提出了一种新的因式分解层次搜索空间,它允许层在架构上有所不同,但仍然在灵活性和搜索空间大小之间取得了适当的平衡。

image-20220627105419529

我们将我们提出的方法应用于ImageNet分类[28]和COCO目标检测[18]。图2总结了我们的MnasNet模型与其他最先进的移动模型之间的比较。与MobileNetV2相比,我们的模型将ImageNet的准确度提高了3.0%,在谷歌像素手机上的延迟相似。另一方面,如果我们限制目标精度,那么我们的MnasNet模型比MobileNetV2快1.8倍,比S NASNet快2.3倍,精度更高。与广泛使用的ResNet-50[9]相比,我们的MnasNet模型的精度略高(76.7%),参数少4.8倍,乘加运算少10倍。通过将我们的模型作为特征提取器插入到SSD对象检测框架中,我们的模型改善了COCO数据集上的推理延迟和映射质量,优于MobileNetsV1和MobileNetV2,并实现了与SSD300相当的映射质量(23.0 vs 23.2),只需42×更少的乘加操作。

image-20220627105437643

综上所述,我们的主要贡献如下

1、我们介绍了一种多目标神经架构搜索方法,该方法可以优化移动设备上的准确性和真实世界的延迟。

2、我们提出了一种新的因式分解层次搜索空间,以实现层多样性,但仍能在灵活性和搜索空间大小之间取得适当的平衡。

3、在典型的移动延迟约束下,我们在ImageNet分类和COCO对象检测方面展示了新的最先进的准确性

2. Related Work

在过去几年中,提高CNN模型的资源效率一直是一个活跃的研究课题。一些常用的方法包括1)将基线CNN模型的权重和/或激活量化为较低的位表示[8,16],或2)根据触发器修剪不太重要的过滤器[6,10],或根据平台感知指标,如[32]中引入的延迟。然而,这些方法与基线模型相关联,并不侧重于学习CNN操作的新组合。

另一种常见的方法是直接手工制作更高效的移动架构:SqueezeNet[15]通过使用低成本1x1卷积和减少滤波器尺寸来减少参数和计算的数量;MobileNet[11]广泛使用深度可分离卷积来最小化计算密度;ShuffleNet[33,24]利用低成本的组卷积和信道混洗;Concedenet【14】学习跨层连接组卷积;最近,MobileNetV2【29】通过使用资源效率高的反向残差和线性瓶颈,在移动规模模型中取得了最先进的结果。不幸的是,考虑到潜在的巨大设计空间,这些手工制作的模型通常需要大量的人力。

最近,人们对使用神经结构搜索实现模型设计过程的自动化越来越感兴趣。这些方法主要基于强化学习【35、36、1、19、25】、进化搜索【26】、可微搜索【21】或其他学习算法【19、17、23】。虽然这些方法可以通过重复堆叠几个搜索单元来生成移动大小模型,但它们没有将移动平台约束纳入搜索过程或搜索空间。与我们的工作密切相关的是MONAS【12】、DPP Net【3】、RNAS【34】和Pareto NASH【4】,它们试图在搜索CNN时优化多个目标,如模型大小和准确性,但它们的搜索过程在诸如CIFAR之类的小任务上进行了优化。相比之下,本文针对现实世界中的移动延迟限制,重点关注更大的任务,如ImageNet分类和COCO对象检测。

3. Problem Formulation

我们将设计问题描述为一个多目标搜索,旨在找到具有高精度和低推理延迟的CNN模型。与以前的架构(architecture)搜索方法(通常针对间接指标(如触发器)进行优化)不同,我们通过在真实移动设备上运行CNN模型,然后将真实世界的推理延迟纳入我们的目标,来考虑直接实际推理延迟。这样做可以直接衡量在实践中可以实现的目标:我们的早期实验表明,由于移动硬件/软件特性的多样性,接近真实世界的延迟很有挑战性。

给定一个模型m,让ACC(m)表示其对目标任务的准确性,LAT(m)表示目标移动平台上的推理延迟,T表示目标延迟。常用的方法是将T视为硬约束,并在此约束下最大限度地提高精度:

image-20220627110719852

然而,这种方法只能最大化单个度量,而不能提供多个帕累托最优解。非正式地说,如果一个模型在不增加延迟的情况下具有最高的准确度,或者在不降低准确度的情况下具有最低的延迟,则该模型称为帕累托最优模型。考虑到执行架构搜索的计算成本,我们更感兴趣的是在单个架构搜索中找到多个Pareto-optimal(相同性能下预算最低,相同预算下性能最优)最优解

虽然文献[2]中有许多方法,但我们使用定制的加权积方法1来近似帕累托最优解,优化目标定义为:

image-20220627111156494

其中,w是权重系数,定义为:

image-20220627111214504

其中α和β是应用特定常数。选择α和β的经验规则是确保在不同精度延迟权衡下,帕累托最优解具有相似的回报。例如,我们根据经验观察到,延迟增加一倍通常会带来5%的相对准确度提高。给出了两种模型:(1)M1具有延迟l和精度a;(2) M2的潜伏期为2l,准确率高出5%:a·(1+5%),他们应该有类似的奖励: R e w a r d ( M 2 ) = a ⋅ ( 1 + 5 % ) ⋅ ( 2 l / T ) β ≈ Reward ⁡ ( M 1 ) = a ⋅ ( l / T ) β Reward(M2)=a \cdot ( 1+5 \%) \cdot(2 l / T)^{\beta} \approx \operatorname{Reward}(M 1)=a \cdot(l / T)^{\beta} RewardM2=a(1+5%)(2l/T)βReward(M1)=a(l/T)β。解决这个问题会得到β≈ −0.07. 因此,我们使用α=β=−0.07在我们的实验中,除非明确说明。

图3显示了具有两个典型值(α,β)的目标函数。在上图中,带(α=0,β=−1) ,如果测得的延迟时间小于目标延迟时间T,我们只需使用准确度作为目标值;否则,我们会大幅惩罚目标值,以阻止模型违反延迟约束。下图(α=β=−0.07)将目标延迟T视为软约束,并根据测量的延迟平滑调整目标值。

image-20220627112043207

image-20220627112622242

4. Mobile Neural Architecture Search

在本节中,我们将首先讨论我们提出的新的分解层次搜索空间,然后总结我们基于强化学习的搜索算法。

image-20220627143419373

image-20220627143833384

image-20220627152522980

5. Experimental Setup

在像ImageNet或COCO这样的大型任务中直接搜索CNN模型是很昂贵的,因为每个模型需要几天的时间才能收敛。虽然以前的方法主要对较小的任务(如CIFAR10)执行架构搜索[36,26],但我们发现,当考虑到模型延迟时,这些较小的代理任务不起作用,因为在应用于较大的问题时,通常需要放大模型。在本文中,我们直接在ImageNet训练集上执行架构搜索,但训练步骤较少(5个阶段)。通常,我们从训练集中随机选择50K图像作为固定验证集。为了确保精度的提高来自于我们的搜索空间,我们使用了与NASNet相同的RNN控制器,尽管它效率不高 在64台TPUv2设备上,每次架构搜索需要4.5天的时间。在培训期间,我们通过在Pixel 1手机的单线程大CPU内核上运行每个采样模型来测量其真实世界的延迟。总体而言,我们的控制器在架构搜索期间采集了大约8K个模型,但只有15个性能最好的模型被传输到完整的ImageNet,只有1个模型被传输到COCO。

对于完整的ImageNet训练,我们使用衰减为0.9、动量为0.9的RMSProp优化器。在每个卷积层后加入批次范数,动量为0.99,重量衰减为1e-5。退出率0.2应用于最后一层。继文献[7]之后,前5个时期的学习率从0增加到0.256,然后每2.4个时期下降0.97。我们使用批量大小4K和初始预处理,图像大小为224×224。对于COCO培训,我们将学习的模型插入SSD检测器[22],并使用与[29]相同的设置,包括输入大小320×320。

6. Results

在本节中,我们将研究我们的模型在ImageNet分类和COCO对象检测方面的性能,并将其与其他最先进的移动模型进行比较。

image-20220627143736122

image-20220627143754481

image-20220627143814812

image-20220627143922130

image-20220627143930742

7. Ablation Study and Discussion

在本节中,我们研究了延迟约束和搜索空间的影响,并讨论了MnasNet体系结构细节和层多样性的重要性。

7.1. Soft vs. Hard Latency Constraint

我们的多目标搜索方法允许我们通过将α和β设置为奖励方程2中的不同值来处理硬延迟和软延迟约束。图6显示了典型α和β的多目标搜索结果。当α=0时,β=−1、延迟被视为硬约束,因此控制器倾向于更多地关注更快的模型,以避免延迟惩罚。另一方面,通过设置α=β=−0.07时,控制器将目标延迟视为软约束,并尝试在更大的延迟范围内搜索模型。它围绕75ms的目标延迟值采样了更多的模型,但也探索了延迟小于40ms或大于110ms的模型。这允许我们在单个架构搜索中从Pareto曲线中选择多个模型,如表1所示。

7.2. Disentangling Search Space and Reward

为了理清我们两个关键贡献的影响:多目标奖励和新搜索空间,图5比较了它们的性能。从NASNet[36]开始,我们首先使用相同的单元基搜索空间[36],并使用我们提出的多对象奖励简单地添加延迟约束。结果表明,通过将准确性与延迟进行权衡,它可以生成更快的模型。然后,我们应用我们的多目标奖励和我们新的因式分解搜索空间,实现了更高的准确性和更低的延迟,表明了我们的搜索空间的有效性。

image-20220627144343459

7.3. MnasNet Architecture and Layer Diversity

图7(a)说明了我们通过自动化方法找到的MnasNet-A1模型。正如预期的那样,它由整个网络中的各种层体系结构组成。一个有趣的观察结果是,我们的MnasNet同时使用3x3和5x5卷积,这与以前的移动模型都只使用3x3卷积不同。

为了研究层多样性的影响,表6将MnasNet与其仅重复单一类型层(固定内核大小和扩展比)的变体进行了比较。与这些变体相比,我们的MnasNet模型具有更好的准确性和延迟权衡,突出了层多样性在资源受限的CNN模型中的重要性。

image-20220627154822522

image-20220627144500659

8. Conclusion

本文提出了一种利用强化学习设计资源高效移动CNN模型的自动神经结构搜索方法。我们的主要想法是将平台感知的真实世界延迟信息纳入搜索过程,并利用一个新的分解层次搜索空间来搜索移动模型,在准确性和延迟之间进行最佳权衡。我们证明,在典型的移动推理延迟约束下,我们的方法可以自动找到比现有方法更好的移动模型,并在ImageNet分类和COCO对象检测方面取得新的最新成果。由此产生的MnasNet体系结构还提供了有关层多样性重要性的有趣发现,这将指导我们设计和改进未来的移动CNN模型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值