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

    文章

    18068

    浏览量

    370755
  • 计算机
    +关注

    关注

    19

    文章

    7688

    浏览量

    91178
  • 机器学习
    +关注

    关注

    66

    文章

    8513

    浏览量

    135088

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    华为全新升级AI辅助开发能力

    人工智能正深度融入各行各业,软件开发也正站在工作范式变革的前沿阵地。AI各项技术的突破性进展,正以前所未有的深度和广度重塑软件开发的每一个环
    的头像 发表于 07-09 16:46 ?613次阅读
    华为<b class='flag-5'>全新</b>升级AI辅助<b class='flag-5'>开发</b>能力

    灵汐科技开源类脑深度学习应用开发平台BIDL

    富案例等问题,一直制约着其广泛应用。为了突破这一瓶颈,灵汐科技联合脑启社区正式宣布开源类脑深度学习应用开发平台BIDL(Brain-inspired Deep Learning)。
    的头像 发表于 03-05 09:13 ?1070次阅读
    灵汐科技开源类脑<b class='flag-5'>深度</b><b class='flag-5'>学习</b>应用<b class='flag-5'>开发</b>平台BIDL

    军事应用中深度学习的挑战与机遇

    人工智能尤其是深度学习技术的最新进展,加速了不同应用领域的创新与发展。深度学习技术的发展深刻影响
    的头像 发表于 02-14 11:15 ?595次阅读

    E Ink元太科技与MIT Solve合作推动创新技术

    Ink元太科技将设立“E Ink创新奖”,在未来三年内提供总计高达30万美元(每年最高10万美元)的奖励基金。这一举措旨在支持和鼓励那些致力于解决全球关键问题的创新团队,推动他们在技术研发和应用上取得更大突破。 E Ink元太科技表示,此次与
    的头像 发表于 02-13 10:19 ?495次阅读

    BP神经网络与深度学习的关系

    BP神经网络与深度学习之间存在着密切的关系,以下是对它们之间关系的介绍: 一、BP神经网络的基本概念 BP神经网络,即反向传播神经网络(Backpropagation Neural Network
    的头像 发表于 02-12 15:15 ?985次阅读

    NPU在深度学习中的应用

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

    pcie在深度学习中的应用

    深度学习模型通常需要大量的数据和强大的计算能力来训练。传统的CPU计算资源有限,难以满足深度学习的需求。因此,GPU(图形处理单元)和TPU(张量处理单元)等专用硬件应运而生,它们通过
    的头像 发表于 11-13 10:39 ?1494次阅读

    Pytorch深度学习训练的方法

    掌握这 17 种方法,用最省力的方式,加速你的 Pytorch 深度学习训练。
    的头像 发表于 10-28 14:05 ?727次阅读
    Pytorch<b class='flag-5'>深度</b><b class='flag-5'>学习</b>训练的方法

    GPU深度学习应用案例

    GPU在深度学习中的应用广泛且重要,以下是一些GPU深度学习应用案例: 一、图像识别 图像识别是深度学习
    的头像 发表于 10-27 11:13 ?1596次阅读

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

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

    FPGA加速深度学习模型的案例

    :DE5Net_Conv_Accelerator 应用场景 :面向深度学习的开源项目,实现了AlexNet的第一层卷积运算加速。 技术特点 : 采用了Verilog语言进行编程,与PCIe接口相集成,可以直接插入到
    的头像 发表于 10-25 09:22 ?1342次阅读

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

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

    英特尔推出全新实感深度相机模组D421

    英特尔 实感 技术再次突破界限,推出全新的英特尔 实感 深度相机模组D421。这是一款入门级立体深度模组,旨在以高性价比将先进的深度感应
    的头像 发表于 10-11 15:26 ?869次阅读

    FPGA做深度学习能走多远?

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

    北京迅为RK3568开发板嵌入式学习之Linux驱动全新更新-CAN+

    北京迅为RK3568开发板嵌入式学习之Linux驱动全新更新-CAN+
    的头像 发表于 09-04 15:29 ?1126次阅读
    北京迅为RK3568<b class='flag-5'>开发</b>板嵌入式<b class='flag-5'>学习</b>之Linux驱动<b class='flag-5'>全新</b>更新-CAN+