每天一篇论文 319/365 NetAdapt: Platform-Aware Neural Network Adaptation for Mobile Applications

每天一篇论文汇总list
NetAdapt: Platform-Aware Neural Network Adaptation for Mobile Applications
Code
摘要

本文提出了一种称为NetAdapt的算法,该算法在给定资源预算的情况下,自动地将预先训练好的深层神经网络应用于移动平台。虽然许多现有算法基于MAC或权重的数量来简化网络,但是优化这些间接度量可能不一定减少直接度量,例如延迟和能量消耗。为了解决这个问题,NetAdapt在其自适应算法中引入了直接度量。这些直接指标是通过经验测量来评估的,因此不需要对平台和工具有详细的了解。NETApple自动和渐进地简化预先训练的网络,直到满足资源预算,同时最大化精度。实验结果表明,与目前最先进的自动网络简化算法相比,NetAdapt在移动CPU和移动GPU上都能获得更好的精度和时延权衡。对于ImageNet数据集上的图像分类,NetAdapt在MobileNets(V1&V2)上以相同或更高的精度实现了1.7倍的测量推断加速。

贡献

NETApple的网络优化以自动的方式进行,以逐渐降低预训练网络的资源消耗,同时最大化精度。优化循环运行,直到满足资源预算。通过这种设计,NetAdapt不仅可以生成一个满足预算的网络,而且可以生成一系列具有不同折衷的简化网络,从而实现动态的网络选择和进一步的研究。最后,NetAdapt不是一个黑匣子,而是设计得易于理解。例如,通过研究提出的网络体系结构和相应的经验测量,我们可以理解为什么选择一个方案,这为如何改进平台和网络设计提供了依据。
1.在优化预先训练的网络以满足给定资源预算时使用直接度量的框架。经验测量用于评估直接度量,这样就不需要特定于平台的知识。
2.一种自动约束网络优化算法,在满足约束(即预定义的资源预算)的同时最大化精度。该算法在保证相同或更高精度的前提下,比目前最先进的自动网络简化算法减少了1.7倍的推理延迟。此外,还将生成一系列具有不同折衷的简化网络,以便进行动态的网络选择和进一步的研究。
3.NetAdapt在不同平台和实时类网络(如小型MobileNetV1)上的有效性的实验,小型MobileNetV1比大型网络更难简化。

通常网络加速设计的问题

设计高效的网络体系结构有两种常见的方法。首先是设计一个与底层平台无关的单一架构。由于不同的平台特性,单一的体系结构很难在所有的平台上以最优的方式运行。例如,桌面GPU上最快的体系结构可能不是移动CPU上速度最快的体系结构,精确度也不一样。此外,几乎不能保证体系结构能够满足所有感兴趣平台上的资源预算(例如延迟)。第二种方法是根据给定的目标平台的特点手工构建该平台的体系结构。然而,这种方法需要深入了解平台的实现细节,包括工具链、配置和硬件体系结构,由于硬件的专有性质和现代系统的高复杂性,这些方法通常是不可用的。此外,为每个平台手动设计不同的架构可以为研究人员和工程师征税。

方法

本文提出了一个平台感知算法,称为NetAdapt,以解决上述问题并促进特定于平台的DNN部署。NetAdapt在优化循环中包含了直接度量,因此它不受间接度量和直接度量之间的差异的影响。直接指标由目标平台的经验测量值进行评估。这使得算法能够在不了解平台本身的详细知识的情况下支持任何平台,尽管这样的知识仍然可以融入到算法中以进一步改进结果。在本文中,使用延迟作为直接度量和资源目标的运行示例,即使我们的算法可以推广到其他度量或它们的组合。
在这里插入图片描述
为了简单起见,假设网络只需要满足一个资源的预算,特别是延迟。一种减少延迟的方法是从卷积(CONV)层或完全连接(FC)层移除滤波器。虽然有其他方法可以减少延迟,但我们将使用此方法测试NetAdapt。NetAdapt算法在算法1和图2中的伪代码中有详细说明。每次迭代通过减少单个CONV或FC层中的滤波器的数量来求解公式2(选择滤波器的数量并选择图2中的滤波器块)。要从层中移除的过滤器数量由经验测量值指导。NetAdapt删除了整个过滤器,而不是单个权重,因为大多数平台都可以利用删除整个过滤器的优势,而且此策略允许同时减少过滤器和特征映射,这在资源消耗中起着重要作用。然后对简化的网络进行短时间的微调,以恢复某些精度(短期微调块)。在每个迭代中,前三个步骤分别应用于每个CONV或FC层3。结果,NetAdapt在一次迭代中生成K个(即CONV层和FC层的数量)网络prosals,每个提案都有一个从上一次迭代修改的单层。具有最高精度的网络方案将被转移到下一个迭代(Pick-highest-accurious块)。最后,一旦达到目标预算,所选网络将再次微调,直到收敛(长期微调块)

在这里插入图片描述

实验

CPU上与其他算法对比
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
GPU上与其他算法对比
在这里插入图片描述在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值