3 个月前

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

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 获取。

代码仓库

基准测试

基准方法指标
keyword-spotting-on-google-speech-commandsMicroNet-KWS-L
Google Speech Commands V2 12: 95.3
keyword-spotting-on-google-speech-commands-v2-1MicroNet-KWS-L
Accuracy: 95.3
Latency (STM32F746ZG): 0.610128

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
MicroNets:面向通用微控制器部署TinyML应用的神经网络架构 | 论文 | HyperAI超神经