【论文阅读】[2009.00278v2]Scaling Up Deep Neural Network Optimization for Edge Inference

文章是从知乎嵌入式AI简报17期中看到的,阅读了原文总结了一下关键点和个人看法。


[2009.00278v2] Scaling Up Deep Neural Network Optimization for Edge Inference

链接:https://arxiv.org/abs/2009.00278v2

摘要:深度神经网络已越来越多地部署在边缘设备上,如移动电话、无人机、机器人和可穿戴设备。为了在边缘设备上直接运行DNN推理(又称边缘推理),优化DNN设计(如网络结构和量化策略)至关重要。

虽然最先进的DNN设计策略,可以基于性能耗时来加速发现好的网络设计,但设计出的结构是设备特定。但往往,存在极其多样的边缘设备,此外,性能预测器,在为许多不同的设备优化dnn时,优化器(例如基于搜索的优化)本身的搜索过程仍然非常耗时。在这项工作中,作者提出了一个新的DNN优化框架:

使用可扩展的性能预测器,来估计给定的DNN设备对的结果性能(例如,推理精度/延迟/能量);使用基于神经网络的自动优化器,将设备特征和优化参数作为输入,然后直接输出最佳的DNN设计,而不需要对每个单独的设备进行冗长的搜索过程。


关键公式和算法:

【论文阅读】[2009.00278v2]Scaling Up Deep Neural Network Optimization for Edge Inference

考虑以精度ACC和设备能耗、推理延时为指标综合评价模型;

【论文阅读】[2009.00278v2]Scaling Up Deep Neural Network Optimization for Edge Inference

最终损失函数定义为最小化评价指标,加个正则化系数防止过拟合;

【论文阅读】[2009.00278v2]Scaling Up Deep Neural Network Optimization for Edge Inference

设计算法,在特征空间中迭代训练模型,最小化代价函数f


本文关键在于提出以边缘设备和DNN的参数评估最终设备上DNN运行的性能特征(推理精度、延时、能耗)。

本文相当于对DNN结构与终端设备资源的关系基于一定的评价函数进行学习,进而泛化到对新的终端设备运行性能的估计。从而不需要在不同的Device上遍历训练不同的DNN,由给定参数直接评估其性能,最终设计匹配最适合的网络结构——终端性能。

但是问题就是!:

关键就是没有公开的大型DNN-Device的关系数据库可供训练学习的啊!文章只是提出这样的思路,具体如何量化DNN网络与最终设备表现出的各种性能关系呢?另外并没有给出代码,真正的可行性....