18 天前

MicroNets:面向通用微控制器部署TinyML应用的神经网络架构

Colby Banbury, Chuteng Zhou, Igor Fedorov, Ramon Matas Navarro, Urmish Thakker, Dibakar Gope, Vijay Janapa Reddi, Matthew Mattina, Paul N. Whatmough
MicroNets:面向通用微控制器部署TinyML应用的神经网络架构
摘要

在资源受限的微控制器(MCU)上本地执行机器学习工作负载,有望显著拓展物联网(IoT)的应用范围。然而,所谓的TinyML面临严峻的技术挑战,因为深度神经网络推理对计算能力和内存资源的需求极高。为应对这一挑战,神经架构搜索(Neural Architecture Search, NAS)有望帮助设计出在精度、内存占用、延迟和能耗等方面均满足MCU严苛约束的高效机器学习模型。NAS算法的关键组成部分是其延迟/能耗模型,即根据给定的神经网络架构预测其在MCU上推理延迟与能耗的映射关系。本文观察到MCU模型设计的NAS搜索空间中一个引人注目的特性:在搜索空间内对模型采用均匀先验分布时,模型延迟平均而言与模型操作(op)数量呈线性关系。基于这一发现,我们采用可微分神经架构搜索(Differentiable NAS, DNAS)方法,搜索具有低内存占用和低操作数的模型,其中操作数被用作延迟的可行代理指标。实验结果验证了该方法的有效性,成功构建出MicroNet系列模型。这些模型通过TensorFlow Lite Micro——TinyML社区广泛采用的标准开源神经网络推理运行时——部署于MCU上。MicroNet在TinyMLperf行业标准基准测试的三项任务中均取得了当前最优性能:视觉唤醒词(Visual Wake Words)、音频关键词检测(Audio Keyword Spotting)以及异常检测(Anomaly Detection)。相关模型与训练脚本已开源,可于 GitHub 仓库:github.com/ARM-software/ML-zoo 获取。