MIT开发出轻量级MCU神经网络系统MCUNet

2020-11-18来源: EEWORLD关键字:MCU  机器学习  神经网络

根据MIT报道:


深度学习无处不在。人工智能的这一分支可以管理你的社交媒体并为谷歌搜索结果提供最准确的服务。很快,深度学习还可以检查你的生命体征或设置你的恒温器。麻省理工学院的研究人员开发了一种系统,可以将深度学习的神经网络带到新的、小得多的地方,比如可穿戴医疗设备、家用电器中的微型计算机芯片,以及构成“物联网”(IoT)的2500亿个物体。


这个名为MCUNet的系统设计了紧凑的神经网络,尽管内存和处理能力有限,但它为物联网设备上的深度学习提供了前所未有的速度和精度。这项技术可以促进物联网领域的扩展,同时节约能源和提高数据安全性。


这项研究将在下个月的神经信息处理系统会议(Conference on Neural Information Processing Systems)上发表。本文的主要作者是Lin Ji,他是麻省理工学院电子工程和计算机科学系韩松实验室的博士生。合著者包括麻省理工学院的韩松和Lin Yu Jun,麻省理工学院和台湾国立大学的Chen Wei Ming,以及麻省理工-IBM沃森人工智能实验室的John Cohn和Gan Chuang 。


物联网的发展


物联网诞生于20世纪80年代初,卡内基梅隆大学的研究生,Mike Kazar将一台可乐机连接到互联网上。这个小组的动机很简单:懒惰。他们想先用电脑确认机器是否有存货,然后再从办公室前去购买——它是世界上第一台联网的物联网设备。现在是微软工程师的Kazar说:“这在很大程度上被看作是一个笑话的笑料,没人料到如今互联网上会有几十亿台设备。”


自从那台可乐机以来,日常用品已经越来越多地进入物联网市场。这包括从可穿戴的心脏监护仪到智能冰箱——可以告诉你何时牛奶需要补充。物联网设备通常运行在微控制器上,微控制器是一种简单的计算机芯片,没有操作系统,最小的处理能力,内存不到普通智能手机的千分之一。因此,像深度学习这样的模式识别任务很难在物联网设备上进行本地运行。对于复杂的分析,物联网收集的数据通常被发送到云端,使其容易受到黑客攻击,并且容易受到网络延迟及速率的影响。


“我们如何将神经网络直接部署在这些微小的设备上?这是一个非常热门的新研究领域。”韩松说,“像谷歌和ARM这样的公司都在朝这个方向努力。”


围绕MCUNet一起,韩松团队共同设计了“微小深度学习”所需的两个组件——微控制器上神经网络的操作。其中一个组件是TinyEngine,它是一个类似于操作系统的、指导资源管理的推理引擎。TinyEngine被优化为运行特定的神经网络结构,它是由MCUNet的另一个组件TinyNAS选择的,TinyNAS是一种神经结构搜索算法。


系统算法协同设计


为微控制器设计一个深层网络并不容易。现有的神经网络结构搜索技术首先从一个预先定义的模板中提取大量可能的网络结构,然后逐步找到一个精度高、成本低的网络结构。虽然这个方法有效,但不是最有效的。Lin Ji说道:“它可以很好地工作在GPU或智能手机上,但是很难将这些技术直接应用到微型微控制器上,因为它们太小了。”


因此,开发了TinyNAS,一种神经结构搜索方法,可以创建自定义大小的网络。“我们有很多微控制器,它们具有不同的功率容量和不同的内存大小。”Lin Ji说“所以我们开发了算法TinyNAS来优化不同微控制器的搜索空间。”TinyNAS的定制特性意味着它可以生成紧凑的神经网络,在排除不必要的参数的情况下,为给定的微控制器提供最佳性能。“然后我们将最终、高效的模型交付给微控制器。”Lin Ji说。


为了运行这个微小的神经网络,微控制器还需要一个精简的推理机制。一个典型的推理机会为它很少运行的任务携带一些死板的指令。这些额外的代码对笔记本电脑或智能手机来说没有问题,但它很容易压倒微控制器。“它没有片外存储器,也没有磁盘,”韩说。“所有的东西放在一起只是一兆字节的闪存,所以我们必须非常小心地管理这么小的资源。”Cue TinyEngine。


研究人员与TinyNAS一起开发了他们的推理机。TinyEngine生成运行TinyNAS定制神经网络所需的基本代码。任何不用的代码都会被丢弃,这会减少编译时间。“我们只保留我们需要的,”韩松说。“自从我们开始设计神经网络,我们就知道我们需要什么。这就是系统算法协同设计的优势。”在小组对TinyEngine的测试中,编译后的二进制代码的大小相对Google和ARM的可比微控制器推理引擎缩小1.9到5倍。TinyEngine还包含减少运行时的创新,包括深度卷积,它将峰值内存使用量减少了近一半。在开发了TinyNAS和TinyEngine之后,韩松的团队对MCUNet进行了测试。


MCUNet的第一个挑战是图像分类。研究人员使用ImageNet数据库对带有标签的图像进行训练,然后测试其对新图像进行分类的能力。在他们测试的一个商业微控制器上,MCUNet成功地对70.7%的新颖图像进行了分类——之前最先进的神经网络和推理机组合的准确率仅为54%。“即使是1%的改进也被认为是显著的,所以这是微控制器人工智能的一个巨大飞跃。”Lin Ji说道。


研究小组在另外三个微控制器的ImageNet测试中发现了类似的结果。在速度和准确性上,MCUNet击败了竞争对手,即用户通过唤醒音(例如“Hey,Siri”)或简单地进入一个房间就可以与计算机进行交互。这些实验突出了MCUNet对多种应用的适应性。


“潜力巨大”


令人期待的测试结果给了韩松希望,它将成为微控制器的新行业标准。“它有巨大的潜力,”他说。


加州大学伯克利分校的计算机科学家Kurt Keutzer表示,这一进展“将深度神经网络设计的前沿领域进一步扩展到小型节能微控制器的计算领域。MCUNet可以为最简单的厨房设备带来智能计算机视觉功能,或者启用更智能的运动传感器。”


MCUNet还可以使物联网设备更加安全。“一个关键的优势是保护隐私,您不需要将数据传输到云端。”韩松说道。


本地分析数据可降低个人信息(包括个人健康数据)被盗的风险。韩松设想使用MCUNet的智能手表不仅可以感知用户的心跳、血压和氧气水平,还可以分析和帮助他们理解这些信息。MCUNet还可以为互联网接入受限的车辆和农村地区的物联网设备带来深度学习。


另外,MCUNet的计算能力很小,需求的功耗很小。“我们的最终目标是用更少的计算资源、更少的人力资源和更少的数据来实现高效、微型的人工智能,”韩松说。


附:


极术社区发布并分析了韩松等人的详细论文,如下所述:


640.jpg

标题&作者团队

【Happy导语】MIT韩松团队提出了一种适用于IoT设备的模型设计方案,它将NAS与Engine进行了协同设计,从而确保了模型可以更好的在微型处理器上运行,同时具有更高的精度。该文的研究成果将进一步加速IoT设备端的AI应用,这个方向具有非常大的市场前景,期待各位同学能在该领域取得更多的成果。

Paper: https://arxiv.org/abs/2007.10319

Abstract

基于单片机(Microcontroller Units, MCU)的微型IoT设备上的机器学习应用是非常有价值的,但同时也极具挑战:单片机的内存要比手机内存小的多(比如ARM Cortex-M7 MCU仅有320kb SRAM与1MB Flash存储)。

作者提出了MCUNet,一种高效网络架构搜索(TinyNAS)与轻量推理引擎(TinyEngine)联合设计的方案,它可以使得ImageNet级别的推理在微处理器上进行运行。TinyNAS采用了两阶段的网络架构索索,在第一阶段优化搜索空间以适配资源约束,在第二阶段进行网络架构搜索。TinyNAS可以在低搜索复杂度下自适应处理不同的约束问题(比如设备、延迟、功耗以及内存等),并与TinyEngine协同设计。TinyEngine是一种内存高效的推理库,它按照整体网络采用了内存机制设计,而非传统的layer模式,它可以降低2.7x的内存占用并加速1.7-3.3x的推理速度(相比TF-Lite Micro与CMSIS-NN)。

MCUNet是首个在现有微处理器产品上达到70%精度的模型(ImageNet数据),相比MobileNetV2与ResNet18,它的更低的SRAM(3.6x)和Flash占用(6.6x)。在视觉&语音唤醒任务上,MCUNet取得了SOTA精度,比MobileNetV2和ProxylessNAS快2.4-3.4x,同时具有更低的SRAM占用(2.2-2.6x)。该研究意味着:永远在线的IoT设备上微型机器学习时代已经到来了

Introduction

在我们的生活中,IoT设备已变得非常常见(据统计已达250B),并用于方方面面(比如智能制造、个性化医疗、农业生产、自助零售等等)。这种低成本、低功耗的微处理器也为微型机器学习的应用带来了新的机会,如能在这类设备上运行AI算法,那么我们可以在端上直接进行数据分析,进而扩大了AI的应用领域。

然而,微处理器具有非常有限的资源负载,尤其是SRAM和Flash,要比手机端或者GPU的资源小的多,这也使得深度学习在IoT设备上的部署具有挑战性。下图对比了GPU、手机端以及微处理器的资源信息,很明显在微处理器上运行ResNet50、MobileNetV2是不可行的。峰值内存占用远远超出微处理的最大内存,两者之间存在巨大的差距。

注:SRAM可以进行读写,约束了feature-map的大小;flash只可以进行读,约束了模型大小。

640-1.jpg

image-20200721135847687

不同于云端或者

[1] [2]
关键字:MCU  机器学习  神经网络 编辑:冀凯 引用地址:http://news.eeworld.com.cn/mcu/ic516917.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:解析瑞萨新款MCU RA6M4三大特点
下一篇:最后一页

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

mcu-stc12c5404ad单片机直流无刷电机驱动程序
//*****************************************************//* ***无刷电机控制器程序*** *//*===================================================* //* MCU-STC12C5404...//*****************************************************//* ***无刷电机控制器程序*** *//*===================================================*//* mcu-stc12c5404ad 8路ad转换,4路pwm输出
发表于 2020-10-16
Microchip新推器件和扩展设计生态系统,提升电机控制支持
随着电机在越来越多的系统应用中日益普及,开发人员需要能确保系统尽可能高效运行的产品和工具,同时减少电路板尺寸、元件数量和能耗。美国微芯科技公司(Microchip Technology Inc.)今日宣布扩大电机控制产品阵容,推出全新数字信号控制器(DSC)和单片机(MCU)产品,提供设计工具、开发硬件、转矩最大化算法和冰箱压缩机参考设计。 Microchip MCU16 业务部副总裁 Joe Thomsen 表示:“Microchip 的 dsPIC33C DSC 器件等新产品具有高度的模拟集成度,是我们持续投入致力于简化电机控制系统设计的成果,可降低汽车、工业、医疗和消费类应用的开发和物料清单成本
发表于 2020-10-15
Microchip新推器件和扩展设计生态系统,提升电机控制支持
麻雀虽小 五脏俱全:MCU专用RTOS简述
  微控制器(MCU)广泛应用在各行各业,如各式家电、工业自动化,实时控制、资料采集等领域,为因应工控所需的实时(RealTIme)控制、快速回应等需求,因此MCU大多搭载RTOS(实时操作系统)运行。随著物联网的兴起,软件业也为RTOS加入物联网的成分,以提早卡位物联网的核心软件市场…  各种处理器专用之OS  在一般功能(General-purpose)的处理器市场分类中,若以功能与执行速度来说,大致分为CPU > MPU > MCU。CPU的功能最强,主要应用在计算机产品;MPU功能次之,其应用多元,主要应用在嵌入式系统与精简型计算机等多种;而MCU则是以单一应用为主,应用在各式家电、电子产品
发表于 2020-10-13
麻雀虽小 五脏俱全:<font color='red'>MCU</font>专用RTOS简述
MSP430L092 MCU 通过 0.9V 电压实现超低功耗应用
电子产业不断发展的趋势是开发功耗更低、支持更小电池供电的产品。但是目前单体电池供电产品的系统解决方案通常并未针对这一目标进行全面优化。德州仪器 (TI) MSP430L092 MCU 可通过 0.9V 工作电压提供超低功耗,帮助实现这类产品。对于采用单体 1.5V 碱性电池供电的产品来说有两种主要系统级解决方案。第一种系统使用多体电池,例如两节 AAA 电池。这样会直接导致最小物理尺寸限制,因为产品尺寸受电池尺寸限制。第二种系统只有一个电池,但需要外部升压电路或使用具有集成型升压转换器的 MCU。第二种系统由于需要额外升压电路,因此并非针对最低功耗优化,而且还可通过增加其它组件而增大尺寸和成本。总之,两种系统都需求进行利弊权衡
发表于 2020-10-12
MSP430L092 <font color='red'>MCU</font> 通过 0.9V 电压实现超低功耗应用
雅特力主频高达120MHz MCU,打造Cortex-M4内核性价比新高度
近日,雅特力正式推出主频高达120MHz的AT32F421系列超值型微控制器新品,这是继AT32F415之后推出的第二款超值型MCU。新产品依然采用高性能M4内核,提供丰富接口与各种功能,并着眼于超低开发预算需求,更适合成本敏感型嵌入式应用。目前,该系列产品已经开始发送样片并在今年10月正式投入量产供货,TSSOP20 基础型号批量订货价格低至 0.195美金,是目前业界极具性价比优势的 MCU产品。 AT32F421系列MCU内置高速嵌入式存储器,最高可支持64KB闪存存储器(Flash)及16KB随机存取存储器(SRAM),并内建数字信号处理器(DSP)。AT32F421系列提供了18
发表于 2020-10-10
雅特力主频高达120MHz <font color='red'>MCU</font>,打造Cortex-M4内核性价比新高度
基于CC430设计的超低功耗MCU射频应用方案
CC430系列是TI公司的集成了RF收发器的超低功耗MCU系统级芯片(SoC),器件具有功能强大的MSP430™ 16位RISC CPU,16位居寄存器,以及常数发生器,以得到最高的代码效率.工作电压1.8V-3.6V,CPU工作时的功耗160 µA/MHz,主要用在建筑物自动化,测试测量和财产跟踪.本文介绍CC430主要特性, CC430F613x和CC430F513x的功能方框图, 小于1GHz无线电方框图,以及CC430F61xx和CC430F51xx的典型应用电路图与材料清单.The Texas Instruments CC430 family of ultralow-power microcontroller
发表于 2020-10-10
基于CC430设计的超低功耗<font color='red'>MCU</font>射频应用方案
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved