目录
1.为什么会出现微型机器学习(TinyML)?
2.卷积神经网络中的内存瓶颈
3.MCUNetV2基于补丁的推理
4.TinyML应用程序
译者介绍
首页 科技周边 人工智能 微型机器学习有望把深度学习嵌入微处理器

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

Apr 08, 2023 pm 01:51 PM
机器学习 深度学习 cnn

图片

译者 | 朱先忠

审校 | 梁策 孙淑娟

深度学习模型最初的成功归功于拥有大量内存和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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

一文带您了解SHAP:机器学习的模型解释 一文带您了解SHAP:机器学习的模型解释 Jun 01, 2024 am 10:58 AM

在机器学习和数据科学领域,模型的可解释性一直是研究者和实践者关注的焦点。随着深度学习和集成方法等复杂模型的广泛应用,理解模型的决策过程变得尤为重要。可解释人工智能(ExplainableAI|XAI)通过提高模型的透明度,帮助建立对机器学习模型的信任和信心。提高模型的透明度可以通过多种复杂模型的广泛应用等方法来实现,以及用于解释模型的决策过程。这些方法包括特征重要性分析、模型预测区间估计、局部可解释性算法等。特征重要性分析可以通过评估模型对输入特征的影响程度来解释模型的决策过程。模型预测区间估计

通过学习曲线识别过拟合和欠拟合 通过学习曲线识别过拟合和欠拟合 Apr 29, 2024 pm 06:50 PM

本文将介绍如何通过学习曲线来有效识别机器学习模型中的过拟合和欠拟合。欠拟合和过拟合1、过拟合如果一个模型对数据进行了过度训练,以至于它从中学习了噪声,那么这个模型就被称为过拟合。过拟合模型非常完美地学习了每一个例子,所以它会错误地分类一个看不见的/新的例子。对于一个过拟合的模型,我们会得到一个完美/接近完美的训练集分数和一个糟糕的验证集/测试分数。略有修改:"过拟合的原因:用一个复杂的模型来解决一个简单的问题,从数据中提取噪声。因为小数据集作为训练集可能无法代表所有数据的正确表示。"2、欠拟合如

超越ORB-SLAM3!SL-SLAM:低光、严重抖动和弱纹理场景全搞定 超越ORB-SLAM3!SL-SLAM:低光、严重抖动和弱纹理场景全搞定 May 30, 2024 am 09:35 AM

写在前面今天我们探讨下深度学习技术如何改善在复杂环境中基于视觉的SLAM(同时定位与地图构建)性能。通过将深度特征提取和深度匹配方法相结合,这里介绍了一种多功能的混合视觉SLAM系统,旨在提高在诸如低光条件、动态光照、弱纹理区域和严重抖动等挑战性场景中的适应性。我们的系统支持多种模式,包括拓展单目、立体、单目-惯性以及立体-惯性配置。除此之外,还分析了如何将视觉SLAM与深度学习方法相结合,以启发其他研究。通过在公共数据集和自采样数据上的广泛实验,展示了SL-SLAM在定位精度和跟踪鲁棒性方面优

人工智能在太空探索和人居工程中的演变 人工智能在太空探索和人居工程中的演变 Apr 29, 2024 pm 03:25 PM

20世纪50年代,人工智能(AI)诞生。当时研究人员发现机器可以执行类似人类的任务,例如思考。后来,在20世纪60年代,美国国防部资助了人工智能,并建立了实验室进行进一步开发。研究人员发现人工智能在许多领域都有用武之地,例如太空探索和极端环境中的生存。太空探索是对宇宙的研究,宇宙涵盖了地球以外的整个宇宙空间。太空被归类为极端环境,因为它的条件与地球不同。要在太空中生存,必须考虑许多因素,并采取预防措施。科学家和研究人员认为,探索太空并了解一切事物的现状有助于理解宇宙的运作方式,并为潜在的环境危机

使用C++实现机器学习算法:常见挑战及解决方案 使用C++实现机器学习算法:常见挑战及解决方案 Jun 03, 2024 pm 01:25 PM

C++中机器学习算法面临的常见挑战包括内存管理、多线程、性能优化和可维护性。解决方案包括使用智能指针、现代线程库、SIMD指令和第三方库,并遵循代码风格指南和使用自动化工具。实践案例展示了如何利用Eigen库实现线性回归算法,有效地管理内存和使用高性能矩阵操作。

你所不知道的机器学习五大学派 你所不知道的机器学习五大学派 Jun 05, 2024 pm 08:51 PM

机器学习是人工智能的重要分支,它赋予计算机从数据中学习的能力,并能够在无需明确编程的情况下改进自身能力。机器学习在各个领域都有着广泛的应用,从图像识别和自然语言处理到推荐系统和欺诈检测,它正在改变我们的生活方式。机器学习领域存在着多种不同的方法和理论,其中最具影响力的五种方法被称为“机器学习五大派”。这五大派分别为符号派、联结派、进化派、贝叶斯派和类推学派。1.符号学派符号学(Symbolism),又称为符号主义,强调利用符号进行逻辑推理和表达知识。该学派认为学习是一种逆向演绎的过程,通过已有的

Flash Attention稳定吗?Meta、哈佛发现其模型权重偏差呈现数量级波动 Flash Attention稳定吗?Meta、哈佛发现其模型权重偏差呈现数量级波动 May 30, 2024 pm 01:24 PM

MetaFAIR联合哈佛优化大规模机器学习时产生的数据偏差,提供了新的研究框架。据所周知,大语言模型的训练常常需要数月的时间,使用数百乃至上千个GPU。以LLaMA270B模型为例,其训练总共需要1,720,320个GPU小时。由于这些工作负载的规模和复杂性,导致训练大模型存在着独特的系统性挑战。最近,许多机构在训练SOTA生成式AI模型时报告了训练过程中的不稳定情况,它们通常以损失尖峰的形式出现,比如谷歌的PaLM模型训练过程中出现了多达20次的损失尖峰。数值偏差是造成这种训练不准确性的根因,

AlphaFold 3 重磅问世,全面预测蛋白质与所有生命分子相互作用及结构,准确性远超以往水平 AlphaFold 3 重磅问世,全面预测蛋白质与所有生命分子相互作用及结构,准确性远超以往水平 Jul 16, 2024 am 12:08 AM

编辑|萝卜皮自2021年发布强大的AlphaFold2以来,科学家们一直在使用蛋白质结构预测模型来绘制细胞内各种蛋白质结构的图谱、发现药物,并绘制每种已知蛋白质相互作用的「宇宙图」 。就在刚刚,GoogleDeepMind发布了AlphaFold3模型,该模型能够对包括蛋白质、核酸、小分子、离子和修饰残基在内的复合物进行联合结构预测。 AlphaFold3的准确性对比过去许多专用工具(蛋白质-配体相互作用、蛋白质-核酸相互作用、抗体-抗原预测)有显着提高。这表明,在单个统一的深度学习框架内,可以实现

See all articles