一、NetAdapt

NetAdapt: Platform-Aware Neural Network Adaptation for Mobile Applications

二、NetAdapt网络框架

1、主要贡献

  • 当优化一个预先训练的网络以满足给定的资源预算时,使用直接指标的框架。经验度量用于评估不需要平台特定知识的直接度量。
  • 一种自动约束网络优化算法,在满足约束条件(即,资源预算)。该算法比目前最先进的自动网络简化算法在减少测量推理延迟方面最多可达1.7,同时提供相同或更高的精度。此外,还将生成一系列具有不同交易操作系统的简单网络,以实现网络的动态选择和进一步研究。
  • 实验证明了NetAdapt在不同平台和实时网络上的有效性,例如小型的MobileNetV1,它比大型网络更难简化。

2、算法伪代码

NetAdapt网络框架
NetAdapt网络框架
NetAdapt网络框架
其中NetiNet_i为第ii次迭代生成的网络,Net0Net_0为初始预训练网络。随着迭代次数的增加,约束(即,目前的资源预算Resj(Neti1)ΔRi,jRes_j(Net_{i-1})-\Delta R_{i,j}逐渐收紧。ΔRi,j\Delta R_{i,j}大于0,表示第ii次迭代中第jj个资源的约束收紧了多少,并且在不同的迭代中可能有所不同。这被称为"资源减少计划”,它类似于学习率计划的概念。算法终止时Resj(Neti1)ΔRi,jRes_j(Net_{i-1})-\Delta R_{i,j}等于或小于BudjBud_j每一个资源类型。它输出最终的自适应网络,也可以生成一系列简单的网络(即,每次迭代Net1...NetiNet_1...Net_i的精度最高)提供精确和资源消耗贸易操作系统的前沿。

NetAdapt网络框架

  • Choose Number of Filters:这一步的重点是确定有多少过滤器保存在一个特定的层基于经验的测量。NetAdapt逐渐减少目标层中的过滤器数量,并测量每个简单网络的资源消耗。将选择能够满足当前资源约束的最大过滤器数量。注意,当从一个层中删除一些过滤器时,也应该删除以下层中的关联通道。因此,需要考虑其他层的资源消耗变化。
  • Choose Which Filters:此步骤根据前一步的体系结构选择要保留哪些过滤器。文献中提出的方法很多,为了保持算法的简单性,我们选择了基于量的方法。在本工作中,保留L2-范数最大的N个滤波器,其中N为前一步确定的滤波器个数。
  • Short-/Long-Term Fine-Tune:NetAdapt中的短期调优和长期调优步骤都涉及到端到端的网络明智调优。短期调优比长期调优迭代更少。在算法的每次迭代中,我们都用相对较少的迭代次数(即(短期的)恢复精度,以并行或顺序恢复。这一步在适应资源减少较多的小网络时尤为重要,否则精度会下降到零,从而导致算法选择错误的网络方案。

相关文章:

  • 2022-01-07
  • 2021-03-26
  • 2021-10-24
  • 2021-10-25
  • 2022-01-04
  • 2021-09-17
  • 2021-12-23
猜你喜欢
  • 2021-10-23
  • 2022-01-05
  • 2021-08-19
  • 2021-12-26
  • 2021-06-25
  • 2021-12-22
  • 2022-12-23
相关资源
相似解决方案