0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MIT韩松团队开发全新微型深度学习技术MCUNet

hl5C_deeptechch 来源:DeepTech深科技 作者:DeepTech深科技 2020-12-04 14:37 次阅读

MCUNet能够把深度学习单片机上做到 ImageNet 70% 以上的准确率,我们的研究表明,在物联网设备上在线进行小资源机器学习的时代正在到来。”

近日,MIT 电子工程和计算机科学系助理教授韩松告诉 DeepTech,他所带领的团队解决了此前由于单片机硬件资源的限制无法在物联网设备上的进行微型机器学习的难题。

今年 7 月,韩松团队发表的论文 “MCUNet: Tiny Deep Learning on IoT Devices” 中提出了 MCUNet 方案,可以通过高效的网络架构搜索(TinyNAS)和轻量推理引擎(TinyEngine)的联合设计,实现在 MCU(Microcontroller Unit 微控制单元,又称单片机)上运行 ImageNet 级别的推理。该论文第一作者林己在接受 DeepTech 采访时表示,“我们发现,用我们的 MCUNet 方案,基本上相对轻量级的应用,在手机上跑得比较快的应用,都可以部署到单片机上。”

该论文显示,相比谷歌的 TF-Lite Micro 与 ARM 的 CMSIS-NN 的传统方案,使用 MCUNet 进行学习推理所需要的内存可以减少为原来的 29%,同时推理速度能够提升 1.7-3.3 倍。

据了解,上述论文已入选今年的 AI 顶会 NeurIPS Spotlight,将在 12 月初进行线上分享探讨活动。

更让人兴奋的是,NeurIPS 举行前夕,林己告诉 DeepTech,论文发表后,团队对 MCUNet 方案进行了再度优化,实现了运行使用内存缩减的同时推理速度的再提升。

DeepTech 了解到,目前,MCUNet 技术已与三家公司达成合作,同时更多公司表达了合作意向。

目前该技术大多用于语音或者视觉的关键词检测。语音检测如大家熟悉的 Siri 以及 OK Google 之类;在视觉关键词检测方面,林己举例说,比如人物识别应用中,可以先使用基于 MCUNet 方案低功耗、低成本的硬件检测摄像头前是否有人,检测结果显示有人之后,再去开启强大的、能耗高的下一级 AI 系统。如此一来,可以实现整个设备在能耗较低的待机状态下随时准备激活的效果,降低成本的同时,保持系统的高效工作。

MCUNet 实现 IoT 设备上的微型机器学习

一直以来,深度学习在 IoT 微型设备上的运行难点在于,单片机的硬件资源限制。因为单片机的内存资源仅为手机、GPU 的几千分之一,这导致原本在手机和 GPU 上能够完美运行的 AI 方案,根本无法放入单片机中(模型大小过大),运行就更是别想(activation过大)。先前的模型压缩、网络设计相关工作,主要是优化减小神经网络的计算量或者模型大小,没有考虑到运行时神经网络的 activation 大小,这导致优化过的神经网络也难以满足单片机的资源限制。

对此,韩松团队开发的 MCUNet 方案,采用 TinyNAS 和 TinyEngine 结合的方式,能够合理规划单片机上仅有的内存,并进行高效的推理运算。

其中,TinyNAS 需要通过两个步骤完成对单片机有限的空间进行合理规划,以达到提升最终模型精确度的目的。

第一步,自动搜索神经网络空间来适配不同硬件的资源限制,找到可以满足硬件资源限制的最高精度的搜索空间;第二步,根据不同搜索空间中神经网络计算量的分布,选择特定单片机的自由搜索空间进行网络架构的搜索。

搜索空间时,需要输入分辨率和网络宽度进行搜索。大概有 108 个可能的搜索空间配置,每个搜索空间配置包含 3.3×1025个子网络。

韩松团队认为,在内存约束下更有可能生成高 FLOPS 模型的设计空间可以提供更高的模型容量,因此有可能实现高精度。对比红色和黑色,使用红色空间进行神经体系结构搜索可达到 78.7% 的最终精度,而黑色空间则为 74.2%(在 ImageNet 100 上)。

图 | TinyNAS 通过分析不同搜索空间的 FLOP CDF 来选择最佳搜索空间

经过 TinyNAS 的优化,确保单片机在硬件资源最佳分配的状态下使用 TinyEngine 展开推理运算。

在推理运算方面,传统的机器学习方案 TF-Lite Micro 与 CMSIS-NN 采用的是基于解释器的运行框架。在推理运行的同时进行网络结构的解释,所以需要将神经网络操作中所有可能用到的算子以及支持所有上级的代码全部储存,这必须要有足够大的内存才能够承载。另外,解释型框架是在运行期间对神经网络的结构进行解释,这一动作也将增加运行的负担。

这种 “甜蜜的负担” 对于 “身强力壮的巨人” 手机和 GPU 等内存足够大的设备并无大碍,但对于单片机这种自身条件有限的 “小家伙” 来说,简直寸步难行,甚至有将其压垮的架势。

由此,韩松团队为 “小家伙” 量身定制了新的方案 ——MCUNet,林己向 DeepTech 介绍称,MCUNet 使用 TinyEngine 框架,将神经网络的编译和执行步骤分开进行。编译阶段明确决定好内存的调度、执行过程中的必备动作以及所需算子,在执行过程中,微型处理器上只需要对当前神经网络所执行的任务需要的算子进行储存,内存调度上也无需进行动态处理。做到节省解释时间的同时,也让内存资源本就紧张的单片机能够 “松一口气”,让更大模型神经网络的运行看到一丝希望。

实验结果显示,使用 TinyEngine 运行之下的推理,与传统框架 TF-Lite Micro 对比,推理速度提升了 3 倍,内存占用缩减为1/4,在 ImageNet 上的准确率则提高了 17%。

图 | TinyEngine 与传统框架推理效率、内存占用峰值、精确度对比

值得注意的是,在该论文发表之后,韩松团队又加入了 in-place depthwise convolution 技术,结合 TinyNAS 可以进一步缩小神经网络运行时的最大内存,同时降低神经网络运行的硬件需求,实现 MCUNet 方案推理运算下效率和准确率的进一步提升。另外,林己还提到,“现在我们还加入了目标检测相关的应用,比如可以用来检测人、车以及人有没有戴口罩等,而此前主要关注分类方面的应用”。

MCUNet 诞生于新冠疫情期间

“整体研发尤其后期,是在疫情下进行的,同学们都是在隔离的条件下独立完成研发,团队通过远程进行交流,其实做得很辛苦。”

谈及 MCUNet 的研发过程,韩松表示他印象最深刻的是疫情期间团队成员在无法面对面交流的情况下进行研发,挑战很大。

前文提到,提出 MCUNet 方案的论文已入选今年的 NeurIPS spotlight。其实,除此之外,韩松团队今年入选 NeurIPS 的还有另外两篇,分别为《TinyTL:降低内存占用而非参数量用于高效的设备上学习》和《可微分数据增强:训练数据高效的生成对抗网络》。在此不对另外两篇论文进行展开,简单了解下该团队中 MCUNet 研发的主要成员。

带队老师韩松,为麻省理工电子工程和计算机科学系助理教授,在斯坦福大学获得博士学位,研究重点为高效的深度学习计算。他曾提出的深度压缩技术可以在不损失神经网络精度的前提下大幅缩小网络的模型参数,并且在硬件实现的高效推理引擎中首次探索了模型剪枝和参数稀疏化在深度学习加速器中的应用。曾获 ICLR' 16 和 FPGA' 17 最佳论文奖等奖项,也因其在 “深度压缩” 技术上的贡献,于 2019 年被《麻省理工科技评论》评为全球 “35 岁以下的 35 名杰出创新者”。

MCUNet 论文第一作者林己,现为 MIT HAN Lab 在读博士生,研究方向是高效率的深度学习算法和系统,除 MCUNet,他还曾开发全自动的深度模型压缩和加速方法(AMC)。

参与 MCUNet 研究的还有陈威铭,为台湾大学博士、MIT HAN Lab 准博后,研究方向主要包括微型化机器学习,MCUNet 方案中,陈威铭设计了适合微型控制器(Microcontroller)上运行的深度学习模型引擎(TinyEngine)。

原文标题:MIT韩松团队开发全新微型深度学习技术MCUNet,实现ImageNet超70%准确率,可在物联网设备高效运行

文章出处:【微信公众号:DeepTech深科技】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16984

    浏览量

    350259
  • 计算机
    +关注

    关注

    19

    文章

    7414

    浏览量

    87699
  • 机器学习
    +关注

    关注

    66

    文章

    8375

    浏览量

    132398

原文标题:MIT韩松团队开发全新微型深度学习技术MCUNet,实现ImageNet超70%准确率,可在物联网设备高效运行

文章出处:【微信号:deeptechchina,微信公众号:deeptechchina】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NPU在深度学习中的应用

    随着人工智能技术的飞速发展,深度学习作为其核心驱动力之一,已经在众多领域展现出了巨大的潜力和价值。NPU(Neural Processing Unit,神经网络处理单元)是专门为深度
    的头像 发表于 11-14 15:17 279次阅读

    激光雷达技术的基于深度学习的进步

    信息。这使得激光雷达在自动驾驶、无人机、机器人等领域具有广泛的应用前景。 二、深度学习技术的发展 深度学习是机器
    的头像 发表于 10-27 10:57 293次阅读

    AI大模型与深度学习的关系

    AI大模型与深度学习之间存在着密不可分的关系,它们互为促进,相辅相成。以下是对两者关系的介绍: 一、深度学习是AI大模型的基础 技术支撑 :
    的头像 发表于 10-23 15:25 356次阅读

    FPGA做深度学习能走多远?

    ,FPGA 也需要不断适应和改进。研究人员和开发者将致力于针对 FPGA 的特点对深度学习算法进行优化,例如探索更高效的模型压缩方法、量化技术以及硬件友好的算法结构等,以进一步提高 F
    发表于 09-27 20:53

    NVIDIA推出全新深度学习框架fVDB

    在 SIGGRAPH 上推出的全新深度学习框架可用于打造自动驾驶汽车、气候科学和智慧城市的 AI 就绪型虚拟表示。
    的头像 发表于 08-01 14:31 518次阅读

    著名科幻作家韩松调研中国第三代自主超导量子计算机

    韩松递交了亲笔信。本源量子轮值董事长、“本源悟空”硬件研制团队负责人孔伟成博士,本源量子副总裁、“本源悟空”云服务研制团队负责人赵雪娇,本源量子副总裁、“本源悟空”
    的头像 发表于 07-27 08:22 341次阅读
    著名科幻作家<b class='flag-5'>韩松</b>调研中国第三代自主超导量子计算机

    PyTorch深度学习开发环境搭建指南

    PyTorch作为一种流行的深度学习框架,其开发环境的搭建对于深度学习研究者和开发者来说至关重要
    的头像 发表于 07-16 18:29 811次阅读

    深度学习中的时间序列分类方法

    时间序列分类(Time Series Classification, TSC)是机器学习深度学习领域的重要任务之一,广泛应用于人体活动识别、系统监测、金融预测、医疗诊断等多个领域。随着深度
    的头像 发表于 07-09 15:54 699次阅读

    深度学习与传统机器学习的对比

    在人工智能的浪潮中,机器学习深度学习无疑是两大核心驱动力。它们各自以其独特的方式推动着技术的进步,为众多领域带来了革命性的变化。然而,尽管它们都属于机器
    的头像 发表于 07-01 11:40 1179次阅读

    深度学习在自动驾驶中的关键技术

    随着人工智能技术的飞速发展,自动驾驶技术作为其中的重要分支,正逐渐走向成熟。在自动驾驶系统中,深度学习技术发挥着至关重要的作用。它通过模拟人
    的头像 发表于 07-01 11:40 667次阅读

    深度解析深度学习下的语义SLAM

    随着深度学习技术的兴起,计算机视觉的许多传统领域都取得了突破性进展,例如目标的检测、识别和分类等领域。近年来,研究人员开始在视觉SLAM算法中引入深度
    发表于 04-23 17:18 1236次阅读
    <b class='flag-5'>深度</b>解析<b class='flag-5'>深度</b><b class='flag-5'>学习</b>下的语义SLAM

    FPGA在深度学习应用中或将取代GPU

    ,这使得它比一般处理器更高效。但是,很难对 FPGA 进行编程,Larzul 希望通过自己公司开发的新平台解决这个问题。 专业的人工智能硬件已经成为了一个独立的产业,但对于什么是深度学习算法的最佳
    发表于 03-21 15:19

    为什么深度学习的效果更好?

    导读深度学习是机器学习的一个子集,已成为人工智能领域的一项变革性技术,在从计算机视觉、自然语言处理到自动驾驶汽车等广泛的应用中取得了显著的成功。深度
    的头像 发表于 03-09 08:26 593次阅读
    为什么<b class='flag-5'>深度</b><b class='flag-5'>学习</b>的效果更好?

    人工智能和机器学习的顶级开发板有哪些?

    机器学习(ML)和人工智能(AI)不再局限于高端服务器或云平台。得益于集成电路(IC)和软件技术的新发展,在微型控制器和微型计算机上实现机器学习
    的头像 发表于 02-29 18:59 759次阅读
    人工智能和机器<b class='flag-5'>学习</b>的顶级<b class='flag-5'>开发</b>板有哪些?

    技术科普】主流的深度学习模型有哪些?AI开发工程师必备!

    深度学习在科学计算中获得了广泛的普及,其算法被广泛用于解决复杂问题的行业。所有深度学习算法都使用不同类型的神经网络来执行特定任务。 什么是深度
    的头像 发表于 01-30 15:26 581次阅读
    【<b class='flag-5'>技术</b>科普】主流的<b class='flag-5'>深度</b><b class='flag-5'>学习</b>模型有哪些?AI<b class='flag-5'>开发</b>工程师必备!