xml地图|网站地图|网站标签 [设为首页] [加入收藏]

【vnsr威尼斯城官网登入】速度更快,用于移动端

时间:2019-12-08 01:10来源:vnsr威尼斯城官网登入
原标题:学界 |韩松、李佳等人提出AMC:用于移动端模型自动压缩与加速的AutoML 选自 ai.googleblog 选自arXiv 机器之心编辑部 作者:** Yihui He、Ji Lin、ZhijianLiu、Hanrui Wang、Li-Jia Li、Song Han*

原标题:学界 | 韩松、李佳等人提出AMC:用于移动端模型自动压缩与加速的AutoML

选自 ai.googleblog

选自arXiv

机器之心编辑部

作者:**Yihui He、Ji Lin、Zhijian Liu、Hanrui Wang、Li-Jia Li、Song Han**

一直以来,深度神经网络在图像分类、文本识别等实际问题中发挥重要的作用。但是,考虑到计算资源和时间,深度神经网络架构往往成本很高。此次,谷歌研究人员提出一种自动化神经网络架构的新方法 MorphNet,通过迭代缩放神经网络,节省了资源,提升了性能。

参与:王淑婷、张倩

深度神经网络在解决图像分类、文本识别和语音转录等实际难题方面显示出卓越的效能。但是,为给定问题设计合适的 DNN 架构依然是一项具有挑战性的任务。考虑到巨大的架构搜索空间,就计算资源和时间而言,为具体应用从零开始设计一个网络是极其昂贵的。神经架构搜索和 AdaNet 等方法使用机器学习来搜索架构设计空间,从而找出适合的改进版架构。另一种方法是利用现有架构来解决类似问题,即针对手头任务一次性对架构进行优化。

style="font-size: 16px;">移动设备的计算资源和能耗预算都很有限,因此模型压缩对于在移动设备上部署神经网络模型至关重要。传统的模型压缩技术依赖手工设计的启发式和基于规则的策略,需要领域专家探索较大的设计空间,在模型大小、速度和准确率之间作出权衡。本论文提出了适用于模型压缩的 AutoML(AMC),利用强化学习提供模型压缩策略,优化传统的基于规则的压缩策略。

谷歌研究人员提出一种神经网络模型改进的复杂方法 MorphNet。研究人员发表了论文《MorphNet: Fast & Simple Resource-Constrained Structure Learning of Deep Networks》,MorphNet 将现有神经网络作为输入,为新问题生成规模更小、速度更快、性能更好的新神经网络。研究人员已经运用该方法解决大规模问题,设计出规模更小、准确率更高的产品服务网络。目前,MorphNet 的 TensoreFlow 实现已开源,大家可以利用该方法更高效地创建自己的模型。

在许多机器学习应用(如机器人学、自动驾驶及广告排名)中,深度神经网络受到延迟、能耗及模型大小等因素的限制。人们提出了很多模型压缩方法来提高神经网络的硬件效率 [26 ,19 ,22]。模型压缩技术的核心是决定每一层的压缩策略,因为各层的冗余情况不同,通常需要手工设计的启发方法和领域专业技术来探索模型尺寸、速度及准确率之间的大型设计空间权衡。设计空间如此之大,以至于手工设计的方法通常不是最优解,手动模型压缩也非常耗时。为了解决这一问题,本文旨在为任意网络自动寻找压缩策略,以达到优于基于规则的手工模型压缩方法的性能。

MorphNet 的工作原理

当前已有许多基于规则的模型压缩启发方法 [20,16]。例如,在抽取低级特征且参数最少的第一层中剪掉更少的参数;在 FC 层中剪掉更多的参数,因为 FC 层参数最多;在对剪枝敏感的层中减掉更少的参数等。然而,由于深度神经网络中的层不是孤立的,这些基于规则的剪枝策略并不是最优的,也不能从一个模型迁移到另一个模型。神经网络架构发展迅速,因此需要一种自动方法对其进行压缩,以提高工程效率。随着神经网络逐渐加深,设计空间的复杂度可达指数级,因此利用贪婪、基于规则的方法解决这一问题并不可行。所以,本文提出了针对模型压缩的 AutoML(AutoML for Model Compression,AMC),该方法利用强化学习自动采样设计空间并提高模型压缩的质量。图 1 展示了 AMC 引擎。压缩网络时,AMC 引擎通过基于学习的策略将此过程自动化,而不是依赖基于规则的策略和经验丰富的工程师。

MorphNet 通过收缩和扩展阶段的循环来优化神经网络。在收缩阶段,MorphNet 通过稀疏性正则化项(sparsifying regularizer)识别出效率低的神经元,并将它们从网络中去除,因而该网络的总损失函数包含每一神经元的成本。但是对于所有神经元,MorphNet 没有采用统一的成本度量,而是计算神经元相对于目标资源的成本。随着训练的继续进行,优化器在计算梯度时是了解资源成本信息的,从而得知哪些神经元的资源效率高,哪些神经元可以去除。

vnsr威尼斯城官网登入 1

vnsr威尼斯城官网登入 2

图 1:AMC 引擎图示。左:AMC 取代人类,使模型压缩完全自动化,而且表现优于人类。右:将 AMC 构造成强化学习问题。作者逐层处理了一个预训练网络(即 MobileNet)。强化学习智能体(DDPG)从 t 层接收嵌入 s_t,输出稀疏比率 a_t。用 a_t 对层进行压缩后,智能体移动到下一层 L_t 1。评估所有层都被压缩的修剪后模型的准确率。最后,奖励 R 作为准确率和 FLOP 的函数被返回到强化学习智能体。

MorphNet 的算法。

在本文中,压缩模型的准确率对每一层的稀疏性非常敏感,需要细粒度的动作空间。因此,作者没有在离散空间中搜索,而是提出了一种带有 DDPG[32] 智能体的连续压缩比控制策略,通过试验和误差来学习:在鼓励模型收缩和加速的同时惩罚准确率损失。行为-评判结构也有助于减少差异,促进更稳定的训练。具体来说,该 DDPG 智能体逐层处理网络。对于每层 L_t,智能体接收一层嵌入 s_t,s_t 编码该层的有用特性,然后输出精确的压缩比 a_t。用 a_t 压缩 L_t 层后,智能体移动到下一层 L_t 1。所有压缩层修剪模型的验证准确率是在没有微调的情况下进行评估的,该准确率可有效代表微调准确率。这种简单的近似可以减少搜索时间,而不必重新训练模型,并提供高质量的搜索结果。策略搜索完成后,对最佳探索模型进行微调,以获得最佳性能。

例如,考虑一下 MorphNet 如何计算神经网络的计算成本。为简单起见,我们来思考一下被表示为矩阵乘法的神经网络层。在这种情况下,神经网络层拥有 2 个输入、6 个权重 (a,b,...,f) 和 3 个输出。使用标准教科书中行和列相乘的方法,你会发现评估该神经网络层需要 6 次乘法。

本文针对不同的场景提出了两种压缩策略搜索协议。针对受延迟影响较大的人工智能应用(如移动 APP、自动驾驶汽车和广告排名),本文提出了资源受限的压缩,以便在给定最大量硬件资源(如 FLOP、延迟和模型大小)的情况下实现最佳准确率;对于质量至上的人工智能应用(如 Google Photos),本文提出了保证准确率的压缩,以便在不损失准确率的情况下得到最小的模型。

神经元的计算成本。

作者通过限制搜索空间来实现资源受限的压缩,在搜索空间中,动作空间(剪枝率)受到限制,使得被智能体压缩的模型总是低于资源预算。对于保证准确率的压缩,作者定义了一个奖励,它是准确率和硬件资源的函数。有了这个奖励函数,作者能够在不损害模型准确率的前提下探索压缩的极限。

MorphNet 将其计算成本表示为输入数和输出数的乘积。请注意,尽管左边示例显示出了权重稀疏性,其中两个权重值为 0,但我们依然需要执行所有的乘法,以评估该神经网络层。但是,中间示例显示出了结构性的稀疏,其中神经元 y_n 最后一行上的所有权重值均为 0。MorphNet 意识到该层的新输出数为 2,并且该层的乘次数量由 6 降至 4。基于此,MorphNet 可以确定该神经网络中每一神经元的增量成本,从而生成更高效的模型,其中神经元 y_3 被移除。

为了证明其广泛的适用性,作者在多个神经网络上评估了该 AMC 引擎,包括 VGG [45], ResNet [21], and MobileNet [23],并测试了压缩模型从分类到目标检测的泛化能力。大量实验表明,AMC 提供了比手工设计的启发式策略更好的性能。对于 ResNet-50,作者把专家调优的压缩比 [16] 从 3.4 倍提高到了 5 倍而不损失准确率。此外,该研究将 MobileNet 的 FLOP 减少了 2 倍,使最高准确率达到了 70.2%,这一数字的曲线比 0.75 MobileNet 的帕累托曲线(Pareto curve)更好。在 Titan XP 和安卓手机上,分别实现了 1.53 倍和 1.95 倍的加速。

在扩展阶段,研究人员使用宽度乘数(width multiplier)来统一扩展所有层的大小。例如,如果层大小扩大 50%,则一个效率低的层(开始有 100 个神经元,之后缩小至 10 个神经元)将能够扩展回 15,而只缩小至 80 个神经元的重要层可能扩展至 120,并且拥有更多资源。净效应则是将计算资源从该网络效率低的部分重新分配给更有用的部分。

论文:AMC: AutoML for Model Compression and Acceleration on Mobile Devices

用户可以在收缩阶段之后停止 MorphNet,从而削减该网络规模,使之符合更紧凑的资源预算。这可以在目标成本方面获得更高效的网络,但有时可能导致准确率下降。或者,用户也可以完成扩展阶段,这将与最初目标资源相匹配,但准确率会更高。

vnsr威尼斯城官网登入 3

为什么使用 MorphNet?

论文链接:

MorphNet 可提供以下四个关键价值:

摘要:移动设备的计算资源和能耗预算都很有限,因此模型压缩对于在移动设备上部署神经网络模型至关重要。传统的模型压缩技术依赖手工设计的启发式和基于规则的策略,需要领域专家探索较大的设计空间,在模型大小、速度和准确率之间作出权衡,而这通常是次优且耗时的。本论文提出了适用于模型压缩的 AutoML(AMC),利用强化学习提供模型压缩策略。这一基于学习的压缩策略优化传统的基于规则的压缩策略,因其具备更高的压缩率,能够更好地维持准确率,免除人类的手工劳动。在 4 倍每秒浮点运算次数缩减的情况下,在 ImageNet 上对 VGG-16 进行压缩时,使用我们的压缩方法达到的准确率比使用手工设计的模型压缩策略的准确率高 2.7%。我们将该自动、一键式压缩流程应用到 MobileNet,在安卓手机上得到了 1.81 倍的推断延迟速度提升,在 Titan XP GPU 上实现了 1.43 倍的速度提升,而 ImageNet Top-1 准确率仅损失了 0.1%。

有针对性的正则化:MorphNet 采用的正则化方法比其他稀疏性正则化方法更有目的性。具体来说,MorphNet 方法用于更好的稀疏化,但它的目标是减少资源(如每次推断的 FLOPs 或模型大小)。这可以更好地控制由 MorphNet 推导出的网络结构,这些网络结构根据应用领域和约束而出现显著差异。

vnsr威尼斯城官网登入 4

例如,下图左展示了在 JFT 数据集上训练的 ResNet-101 基线网络。在指定目标 FLOPs(FLOPs 降低 40%,中间图)或模型大小(权重减少 43%,右图)的情况下,MorphNet 输出的结构具有很大差异。在优化计算成本时,相比于网络较高层中的低分辨率神经元,较低层中的高分辨率神经元会被更多地修剪掉。当目标是较小的模型大小时,剪枝策略相反。

表 1:模型搜索强化学习方法对比(NAS:神经架构搜索 [57]、NT:网络变换(Network Transformation)[6]、N2N:Network to Network [2] 和 AMC:AutoML for Model Compression。AMC 与其他方法的区别在于它无需微调和连续搜索空间控制即可获取奖励,且能够生成兼具准确率和适应有限硬件资源的模型。

vnsr威尼斯城官网登入 5

3.3 搜索协议

MorphNet 有目标性的正则化(Targeted Regularization)。矩形的宽度与层级中通道数成正比,底部的紫色条表示输入层。左:输入到 MorphNet 的基线网络;中:应用 FLOP regularizer 后的输出结果;右:应用 size regularizer 后的输出结果。

资源受限的压缩。通过限制动作空间(每一层的稀疏率(sparsity ratio)),我们能够准确达到目标压缩率。我们使用下列奖励函数:

MorphNet 能够把特定的优化参数作为目标,这使得它可针对特定实现设立具体参数目标。例如,你可以把「延迟」作为整合设备特定计算时间和记忆时间的首要优化参数。

通过调整奖励函数获得保证准确率的压缩,我们可以准确找到压缩的极限而不损失准确率。我们凭经验观察到误差与 log(FLOP s) 或 log(#Param) [7] 成反比。受此启发,我们设计了以下奖励函数:

拓扑变换(Topology Morphing):MorphNet 学习每一层的神经元,因此该算法可能会遇到将一层中所有神经元全都稀疏化的特殊情况。当一层中的神经元数量为 0 时,它切断了受影响的网络分支,从而有效地改变了网络的拓扑结构。例如,在 ResNet 架构中,MorphNet 可能保留残差连接,但移除残差模块。对于 Inception 结构,MorphNet 可能移除整个并行分支。

vnsr威尼斯城官网登入 6

vnsr威尼斯城官网登入 7

vnsr威尼斯城官网登入 8

左:MorphNet 移除 ResNet 网络中的残差模块。右:MorphNet 移除 Inception 网络中的并行分支。

4 实验

可扩展性:MorphNet 在单次训练运行中学习新的网络结构,当你的训练预算有限时,这是一种很棒的方法。MorphNet 还可直接用于昂贵的网络和数据集。例如,在上述对比中,MorphNet 直接用于 ResNet-101,后者是在 JFT 数据集上以极高计算成本训练出的。

vnsr威尼斯城官网登入 9

可移植性:MorphNet 输出的网络具备可移植性,因为它们可以从头开始训练,且模型权重并未与架构学习过程绑定。你不必复制检查点或按照特定的训练脚本执行训练,只需正常训练新网络即可。

表 2:Plain-20、ResNet [21] 在 CIFAR-10 [28] 上的剪枝策略对比。R_Err 指使用通道剪枝的限制 FLOP 压缩,R_Param 指使用微调剪枝的保证准确率压缩。对于浅层网络 Plain-20 和较深层的网络 ResNet,AMC 显著优于手动设计的策略。这说明无需微调也能实现高效压缩。尽管 AMC 在模型架构上做了很多尝试,但本文使用的是单独的验证集和测试集。实验中未观察到过拟合现象。

Morphing Network

vnsr威尼斯城官网登入 10

谷歌通过固定 FLOPs 将 MorphNet 应用到在 ImageNet 数据集上训练的 Inception V2 模型上。基线方法统一缩小每个卷积的输出,使用 width multiplier 权衡准确率和 FLOPs。而 MorphNet 方法在缩小模型时直接固定 FLOPs,生成更好的权衡曲线。在相同准确率的情况下,新方法的 FLOP 成本比基线低 11%-15%。

图 2:在 2 倍每秒浮点运算次数的情况下,Plain-20 的剪枝策略对比。统一策略为每个层统一设置相同的压缩率。浅层和深层策略分别大幅修剪较浅和较深的层。AMC 给出的策略看起来像锯齿,类似于瓶颈结构 [21]。AMC 给出的准确率优于手工策略。

vnsr威尼斯城官网登入 11

vnsr威尼斯城官网登入 12

将 MorphNet 应用于在 ImageNet 数据集上训练的 Inception V2 模型后的表现。仅使用 flop regularizer的性能比基线性能高出 11-15%。一个完整循环之后(包括 flop regularizer 和 width multiplier),在相同成本的情况下模型的准确率有所提升,第二个循环之后,模型性能得到继续提升。

图 4:本文中的强化学习智能体(AMC)可以在不损失准确率的前提下将模型修剪为与人类专家相比密度较低的模型(人类专家:在 ResNet50 上压缩 3.4 倍。AMC:在 ResNet50 上压缩 5 倍)。

这时,你可以选择一个 MorphNet 网络来满足更小的 FLOP 预算。或者,你可以将网络扩展回原始 FLOP 成本来完成缩放周期,从而以相同的成本得到更好的准确率。再次重复 MorphNet 缩小/放大将再次提升准确率,使整体准确率提升 1.1%。

vnsr威尼斯城官网登入 13

结论

表 3:基于学习的模型压缩(AMC)优于基于规则的模型压缩。基于规则的启发方法不是最优方法。(参考信息:VGG-16 的基线 top-1 准确率是 70.5%,MobileNet 是 70.6%,MobileNet-V2 是 71.8%)。

谷歌已经将 MorphNet 应用到其多个生产级图像处理模型中。MorphNet 可带来模型大小/FLOPs 的显著降低,且几乎不会造成质量损失。

vnsr威尼斯城官网登入 14

论文:MorphNet: Fast & Simple Resource-Constrained Structure Learning of Deep

图 5:(a)比较 AMC、人类专家、未修剪的 MobileNet 之间的准确率和 MAC 权衡。在帕累托最优曲线中,AMC 遥遥领先人类专家。(b)比较 AMC、NetAdapt、未修剪 MobileNet 之间的准确率和延迟权衡。AMC 大幅改善了 MobileNet 的帕累托曲线。基于 AMC 的强化学习在帕累托曲线上超越了基于启发方法的 NetAdapt(推断时间都是在谷歌 Pixel 1 上测量的)。

摘要:本研究介绍了一种自动化神经网络结构设计的新方法 MorphNet。MorphNet 迭代地放缩网络,具体来说,它通过激活函数上的资源权重(resource-weighted)稀疏性正则化项来缩小网络,通过在所有层上执行统一的乘积因子(multiplicative factor)来放大网络。MorphNet 可扩展至大型网络,对特定的资源约束具备适应性(如 FLOPs per inference),且能够提升网络性能。把 MorphNet 应用到大量数据集上训练的标准网络架构时,该方法可以在每个领域中发现新的结构,且在有限资源条件下提升网络的性能。

vnsr威尼斯城官网登入 15

表 4:AMC 加速 MobileNet。之前利用基于规则的策略修剪 MobileNet 导致准确率大幅下降 [31],但 AMC 利用基于学习的修剪就能保持较高的准确率。在谷歌 Pixel-1 CPU 上,AMC 实现了 1.95 倍的加速,批大小为 1,同时节省了 34 % 的内存。在英伟达 Titan XP GPU 上,AMC 实现了 1.53 倍的加速,批大小为 50。所有实验中的输入图像大小为 224×224,苹果与苹果的比较不采用量化。

vnsr威尼斯城官网登入 16

表 5:在 PASCAL VOC 2007 上用 VGG16 压缩 Faster R-CNN。与分类任务一致,AMC 在相同压缩比的情况下,在目标检测任务上也能获得更好的性能。

本文为机器之心编译,转载请联系本公众号获得授权。返回搜狐,查看更多

责任编辑:

编辑:vnsr威尼斯城官网登入 本文来源:【vnsr威尼斯城官网登入】速度更快,用于移动端

关键词: