搜索
首页科技周边人工智能微型机器学习有望把深度学习嵌入微处理器

图片

译者 | 朱先忠

审校 | 梁策 孙淑娟

深度学习模型最初的成功归功于拥有大量内存和GPU集群的大型服务器。深度学习的前景催生了一个为深度神经网络提供云计算服务的行业。因此,在几乎无限的云资源上运行的大型神经网络变得非常流行,这对于具有充足预算的科技公司尤其如此。

但与此同时,近年来也出现了另一种相反的趋势,即为边缘设备创建机器学习模型。这些被称为微型机器学习(TinyML)的模型适用于内存和处理能力有限、互联网连接不存在或有限的设备。

IBM和麻省理工学院(MIT)联合开展的一项最新研究工作解决了卷积神经网络(CNN)的峰值内存瓶颈问题。这是一种深度学习体系结构,对计算机视觉应用尤其重要。在NeurIPS 2021会议上提交的一篇论文中详细介绍了称为一种McUnETV2的模型,该模型能够在低内存和低功耗微控制器上运行卷积神经网络(CNN)。

1.为什么会出现微型机器学习(TinyML)?

图片

虽然云端深度学习非常成功,但并不适用于所有情况。事实上,许多应用程序往往都需要在硬件设备上直接完成推理任务。例如,在一些如无人机救援这样的任务环境中,互联网连接是无法保证的。在医疗保健等其他领域,隐私要求和法规约束等也使得将数据发送到云端进行处理变得非常困难。对于需要实时机器语言推断的应用程序来说,往返云计算所造成的延迟更是令人望而却步。

上述所有必需满足的条件使得机器学习设备在科学上和商业上都具有吸引力。例如,iPhone手机现在就有不少运行面部识别和语音识别的应用程序,安卓手机也可以直接运行翻译软件。此外,Apple Watch已经可以使用机器学习算法来检测运动和ECG模式(注:ECG即心电图一词electrocardiogram的缩写,又称EKG,是一种测试实验,用于记录引发心跳的电信号序列的时间节点和强度。通过分析ECG图像,医生可以更好地诊断心率是否正常和心脏功能是否存在问题)。

上述这些设备上的ML模型在一定程度上是由支持神经网络紧凑、计算和存储效率更高的技术进步而实现的。同时由于硬件技术的进步,这样的ML模型在移动设置上的实现也成为可能。现在,我们的智能手机和可穿戴设备比30年前的高性能服务器拥有更多的计算能力,有些甚至配置专门的协处理器来实现机器语言推理。

TinyML将边缘AI向前推进了一步,使得在微控制器(MCU)上运行深度学习模型成为可能,尽管微控制器比我们口袋里和手腕上携带的小型计算机还要受限于资源。

另一方面,微控制器价格低廉,平均售价不到0.50美元,它们几乎无处不在,可以嵌入到从消费行业到工业设备的各个方面。同时,它们没有通用计算设备中的资源,而且大多数都没有操作系统。微控制器的CPU很小,只有几百KB的低功耗内存(SRAM)和几兆字节的存储空间,而且没有任何网络设备。它们大多没有主电源,多年来都是必须使用纽扣电池。因此,在MCU上安装深度学习模型可能为许多应用开辟新的道路。

2.卷积神经网络中的内存瓶颈

图片

卷积神经网络(CNN)的架构

为了将深度神经网络缩小到适合小型内存计算设备的大小,人们已经进行了多次努力。然而,这些努力大多集中在减少深度学习模型中的参数个数方面。例如,“剪枝”便是一种流行的优化算法,它通过删除模型输出中不重要的参数来缩小神经网络。

剪枝方法的问题在于它们不能解决神经网络的内存瓶颈。深度学习库的标准实现需要将整个网络层和激活层映射加载到内存中。不幸的是,经典的优化方法不会对神经网络的早期计算层做出任何重大改变,尤其是在卷积神经网络中。

这会导致网络不同层的大小不平衡,并导致“内存峰值”问题:即使网络在修剪后变得更轻量级,运行它的设备也必须拥有与最大层相同的内存。例如,在流行的TinyML模型MobileNetV2中,早期层计算达到的内存峰值约为1.4兆字节,而后期层的内存占用非常小。要运行该模型,设备将需要与模型峰值相同的内存。由于大多数MCU的内存不超过几百KB,所以它们无法运行MobileNetV2的现成版本。

图片

MobileNetV2是一种针对边缘设备进行优化的神经网络,但它的内存峰值约为1.4兆字节,这使得许多微控制器无法访问它。

另一种优化神经网络的方法是减小模型的输入大小。较小的输入图像需要较小的CNN即可执行预测任务。然而,减少输入大小本身就存在挑战,并不是对所有计算机视觉任务都有效。例如,对象检测深度学习模型对图像大小非常敏感,当输入分辨率降低时,其性能会迅速下降。

图片

由上图易知,图像分类ML模型(橙色线)比目标检测模型(蓝色线)更容易降低分辨率。

3.MCUNetV2基于补丁的推理

为了解决卷积神经网络的内存瓶颈问题,研究人员创建了一个名为MCUNetV2的深度学习体系结构,可以将其内存带宽调整到微控制器的极限。MCUNetV2是在同一科研小组之前的成果基础上开发的,该工作已被NeurIPS 2020大会接受并成功提交。

MCUNetV2背后的主要思想是“基于补丁的推理”,这是一种在不降低CNN准确性的情况下减少其内存占用的技术。MCUNetV2没有将整个神经网络层加载到内存中,而是在任何给定时间加载并计算该层的较小区域或“补丁”。然后,它逐块迭代整个层并组合这些值,直到计算整个层的激活部分。

图片

图中左侧是经典深度学习系统计算一整层的情形,而右侧给出的是MCUNetV2一次计算一个补丁,从而减少DL推理的内存需求。

由于MCUNetV2一次只需要存储一片神经元,因此它在不降低模型分辨率或参数的情况下大幅降低内存峰值。研究人员的实验表明,MCUNetV2可以将内存峰值降低至八分之一。

图片

MCUNetV2能够将深度学习模型的内存峰值降低至八分之一

基于补丁的推理在节省内存的同时也带来了计算开销的权衡问题。麻省理工学院(MIT)和IBM的研究人员发现,在不同的体系结构中整体网络计算可能会增加10-17%,这显然不适用于低功耗的微控制器。

为了克服这个限制,研究人员重新分配了神经网络不同区块的“感受野”(注:在CNN中,第n层特征图中一个像素对应作为第1层的输入图像的像素数,即为该层的感受野“receptive field”,简称“RF”)。在CNN中,感受野是在任何时刻可被处理的图像区域。更大的感受野需要更大的补丁和补丁之间的重叠。当然,这就会产生更高的计算开销。通过缩小网络初始块的感受野并扩大后期的感受野,研究人员能够将计算开销减少三分之二以上。

图片

感受野的重新分配有助于将MCUNetV2的计算开销减少三分之二以上

最后,研究人员观察到,MCUNetV2的调整在很大程度上取决于ML模型架构、应用程序以及目标设备的内存和存储容量。为了避免手动调整每个设备和应用程序的深度学习模型,研究人员使用了“神经算法搜索”,这是一个使用机器学习自动优化神经网络结构和推理调度的过程。

研究人员在几个内存容量较小的微控制器模型上测试了不同应用中的深度学习架构。结果表明,MCUNetV2优于其他TinyML技术,能够以较小的内存需求和较低的延迟实现在图像分类和目标检测方面达到更高的精度。

如下图所示,研究人员正在使用实时人物检测、视觉唤醒词和人脸/口罩检测等方式使用MCUNetV2。

图片

译者注:此处展示的仅是youtube.com网站上展示的使用MCUNetV2的视频中的一幅截图。

4.TinyML应用程序

在2018年一篇题为《机器学习程序的未来为何如此微小》(Why the Future of Machine Learning is Tiny)的文章中,软件工程师皮特·沃登(Pete Warden)认为,MCU上的机器学习极其重要。沃登写道:“我相信机器学习可以在小型、低功耗芯片上运行,这种结合将解决我们目前无法解决的大量问题。”

由于传感器和CPU的进步,我们从世界各地获取数据的能力大大增强。但我们通过机器学习模型处理和使用这些数据的能力却受到网络连接和云服务器访问的限制。正如沃登所说,处理器和传感器比蓝牙和WiFi等无线电发射机更节能。

沃登写道:“移动数据的物理过程似乎需要大量的能量。一次操作所需的能量与发送比特的距离成正比似乎是一条规则。CPU和传感器发送仅需要几个毫米发送比特数且价格便宜,而无线电发送的代价则需要几米甚至更大距离才发送几比特数据,而且价格昂贵……很明显,一个有巨大潜力的市场正等待着用正确的技术来开辟。我们需要一种能在廉价微控制器上工作的设备,它使用的能源非常少,依赖于计算而不是无线电,它能把我们所有浪费的传感器数据变成有用的数据。这就是机器学习,特别是深度学习将要填补的空白。”

由于MCUNetV2和TinyML在其他方面也取得了进步,沃登的预测很快会变成现实。在未来的几年里,我们可以期待TinyML能够进入到家庭、办公室、医院、工厂、农场、道路、桥梁等的数十亿微控制器中,从而有望实现以前根本不可能实现的应用。

原文链接:https://thenextweb.com/news/tinyml-deep-learning-microcontrollers-syndication

译者介绍

朱先忠,51CTO社区编辑,51CTO专家博客、讲师,潍坊一所高校计算机教师,自由编程界老兵一枚。早期专注各种微软技术(编著成ASP.NET AJX、Cocos 2d-X相关三本技术图书),近十多年投身于开源世界(熟悉流行全栈Web开发技术),了解基于OneNet/AliOS+Arduino/ESP32/树莓派等物联网开发技术与Scala+Hadoop+Spark+Flink等大数据开发技术。

微型机器学习有望把深度学习嵌入微处理器

以上是微型机器学习有望把深度学习嵌入微处理器的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:51CTO.COM。如有侵权,请联系admin@php.cn删除
MISTRAL大2:足够强大,可以挑战Llama 3.1 405b?MISTRAL大2:足够强大,可以挑战Llama 3.1 405b?Apr 18, 2025 am 10:16 AM

MISTRAL大2:深入了解Mistral AI强大的开源LLM Meta AI最近发布的Llama 3.1模型系列很快被Mistral AI揭幕了其迄今为止最大的模型:Mistral flow 2。这个1230亿参数

稳定扩散中的噪声时间表是什么? - 分析Vidhya稳定扩散中的噪声时间表是什么? - 分析VidhyaApr 18, 2025 am 10:15 AM

了解扩散模型中的噪声时间表:综合指南 您是否曾经被AI产生的令人惊叹的数字艺术视觉效果所吸引,并想知道基础机制? 关键要素是“噪声时间表,&quo

如何使用GPT-4O构建对话聊天机器人? - 分析Vidhya如何使用GPT-4O构建对话聊天机器人? - 分析VidhyaApr 18, 2025 am 10:06 AM

使用GPT-4O构建上下文聊天机器人:综合指南 在AI和NLP迅速发展的景观中,聊天机器人已成为开发人员和组织必不可少的工具。 创建真正引人入胜且聪明的聊天的关键方面

2025年建造AI代理的前7个框架2025年建造AI代理的前7个框架Apr 18, 2025 am 10:00 AM

本文探讨了建立AI代理的七个领先框架 - 自主软件实体,这些软件实体可以感知,决定和采取行动实现目标。 这些代理人超越了传统的强化学习,利用高级计划和推理

I型和II型错误有什么区别? - 分析VidhyaI型和II型错误有什么区别? - 分析VidhyaApr 18, 2025 am 09:48 AM

了解统计假设检验中的I型和II型错误 想象一下一项临床试验测试一种新的血压药物。 该试验的结论大大降低了血压,但实际上并非如此。这是一种类型

使用Sumy库的自动文本摘要使用Sumy库的自动文本摘要Apr 18, 2025 am 09:37 AM

Sumy:您的AI驱动摘要助理 厌倦了筛选无尽的文件? 强大的Python库Sumy提供了一种简化的解决方案,用于自动文本摘要。 本文探讨了Sumy的功能,指导您通过

SQL案例语句:从基础到高级技术SQL案例语句:从基础到高级技术Apr 18, 2025 am 09:31 AM

数据挑战:掌握SQL的案例声明以进行准确的见解 当您拥有数据爱好者时,谁需要律师? 数据分析师,科学家和广阔数据世界中的每个人都面临着自己的复杂挑战,确保系统功能FLA

及时工程中知识链的力量是什么?及时工程中知识链的力量是什么?Apr 18, 2025 am 09:30 AM

利用AI中的知识链的力量:深入研究迅速工程 您是否知道人工智能(AI)不仅可以理解您的问题,而且还可以编织大量知识来提供有见地的答案?

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境