没有合适的资源?快使用搜索试试~ 我知道了~
沙特国王大学学报TinyML研究现状与展望帕尔塔·普拉蒂姆·雷印度锡金大学计算机应用系阿提奇莱因福奥文章历史记录:2021年10月31日收到2021年11月25日修订2021年11月25日接受2021年11月30日网上发售保留字:TinyMLIoT边缘智能高能效AI资源受限智能嵌入式AIA B S T R A C T机器学习已经成为现有技术领域不可或缺的一部分。边缘计算和物联网(IoT)一起为在网络边缘的资源受限的嵌入式设备上实施机器学习技术提供了新的机会。 传统的机器学习需要巨大的能量来预测场景。嵌入式机器学习– TinyML范式旨在将这些过多的内容从传统的高端系统转移到低端客户端。在进行这样的转换时,存在若干挑战,例如,保持学习模型的准确性,在资源节约的微小边缘设备中提供训练部署设施,优化处理能力,以及提高可靠性。在本文中,我们对TinyML的这种可能性进行了直观的回顾。首先介绍了TinyML的背景。其次,我们列出了支持TinyML的工具集。第三,我们提出了改进TinyML系统的关键使能因素。第四,我们介绍了TinyML的最新框架。最后,我们确定了关键的挑战,并规定了未来的路线图,以减轻TinyML的几个研究问题。版权所有2021作者。由爱思唯尔公司出版代表沙特国王大学这是一个开放的访问CC BY-NC-ND许可证下的文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。内容1.导言15962.关于TinyML 15972.1.TinyML 1597的基础知识2.2.TinyML 1598的限制2.3.TinyML 15982.4.TinyML在边缘15983.TinyML工具集16003.1.硬件16003.2.软件和图书馆16004.TinyML 1602的关键推动因素4.1.TinyML即服务16024.2.超维度计算16024.3.交换16044.4.注意冷凝器16044.5.约束神经架构搜索16054.6.模型压缩16064.7.中国人16064.8.一次性网络16084.9.TinyML基准1609沙特国王大学负责同行审查电子邮件地址:ppray@ieee.orghttps://doi.org/10.1016/j.jksuci.2021.11.0191319-1578/©2021作者。由爱思唯尔公司出版代表沙特国王大学这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。制作和主办:Elsevier可在ScienceDirect上获得目录列表沙特国王大学学报杂志首页:www.sciencedirect.com帕尔塔·普拉蒂姆·雷沙特国王大学学报15964.10.设备上计算和加速器16104.11.处理器内学习16125.TinyML框架16135.1.INCs的TinyML框架5.2.TinyML frameworks by researchgroups 16145.3.TinyMl 1616中的用例5.4.语音识别16165.5.图像识别16165.6.手语预测16165.7.手势识别16175.8.身体姿势估计16175.9.少镜头关键字发现16175.10.总是在语音唤醒16175.11.面部检测16185.12.咳嗽相关呼吸道症状检测16185.13.表型学与生态保护16185.14.自动驾驶汽车16185.15.异常检测16196.前景16196.1.开放的挑战16196.2.未来路线图16207.结论1621竞争利益声明参考文献16211. 介绍边缘计算使计算和数据存储更接近数据的起源(Muniswamaiah等人,2021年)。边缘计算提供了允许分布式计算进行位置敏感行为的基础设施(Anusuya等人,2021)(Ying等人,2021年)。 边缘计算的主要优点是提供几种网络感知服务的低延迟和高可用性。边缘计算为网络终端用户提供了更好的隐私、安全性和可靠性(Bao等人,2021年)。它利用非常接近最终用户的分析计算资源,从而提高应用程序的吞吐量和响应能力(Lu和Lin,2021)。可以考虑以下几个用例:智能医疗、自动驾驶、公共安全、人机交互、农业和应急应用。边缘计算的主要好处是减少网络流量。这样做可以帮助在轻量级客户端处运行复杂的游戏和虚拟现实感知事件(Nezami等人, 2021)(Alwarafy等人, 2021年)。边缘计算具有巨大的潜力来改善自动化网络服务,同时减少网络回程的负担(Ding等人,2021年)。物联网是边缘计算的一个实例,允许数十亿设备传输和接收传感器产生的数据。物联网设备部署在 网 络 边 缘 , 处 理 能 力 和 内 存 占 用 非 常 低 ( Muhammad 和Hossain,2021)(Goudarzi等人,2021年)。与基于IoT的生态系统集成的大多数边缘设备最初被设计为收集传感器数据并将数据传输到邻居或远程云(Liu等人,2021年)。物联网可以通过传感器、边缘设备和云设施的协作方法,帮助将计算从云转移到网络边缘(Singh等人,2021年)。这样的方向可以提供数据持久化、内容缓存、更好的服务交付和高质量的物联网数据管理。在这种情况下,隐私和安全性可以得到显著改善(Wu等人,2021年)。它可以通过将安全方案从云转移到物联网边缘设备来实现。作为IoT边缘设施,高度依赖于边缘平台对于数据收集和端到端数据传播,它最小程度地依赖于通过长回程的数据传输(Li等人,2021 b)。然而,这是一个事实,这样的边缘硬件是资源非常有限,限制了他们选择高端和复杂的服务。很明显,目前边缘计算不能解决所有问题,尽管预计在不久的将来它将满足需求(Guleria等人, 2021年)。其中一个原因可能是硬件和基于Web的技术之间的巨大差异,这些差异导致了异构行为。例如,机器学习应用需要资源充足的基础设施来训练、权重更新和部署模型(Ren等人,2021 b)。由于智能用例开发对机器学习的部署能力的需求,物联网边缘的当前场景变得越来越重要。嵌入式系统架构是平台依赖性的,这也阻碍了标准机器学习框架的开发-所有物联网边缘系统。此外,目前的技术领域在机器学习专用嵌入式硬件和抛光它所需的软件之间存在差距(Ogino,2021)。大多数现有的嵌入式处理器允许通用传感器数据处理和基于Web的应用程序。机器学习工具集依赖于复杂的硬件芯片,如图形处理单元(GPU)和新的专用硬件形式,如专用集成电路(ASIC)。这些芯片需要巨大的功率和存储容量来运行深度神经网络模型。目前的情况描述了一个破坏性的做法对设想的信号处理也是嵌入式智能的关键,这是一种将云智能转移到边缘设备的范例TinyML(Warden和Situnayake,2019)(TinyML,2021a,b)。TinyML范式仍处于新生阶段,需要与现有边缘物联网框架进行适当的调整。开创性的研究表明,TinyML方法对于智能物联网应用程序开发至关重要但与此同时,一些研究问题(例如,TinyML的需求是什么TinyML是否能够在边缘运行深度神经网络?如何减少能源消耗?TinyML是否可以实现高精度?)会阻碍TinyML的发展。在本文中,我们讨论了TinyML背后现有场景的背景。我们还提出了一个国家的最先进的文献综述,旨在迎合显着有用的微小的ML的许多应用程序。本文的主要贡献可归纳如下:帕尔塔·普拉蒂姆·雷沙特国王大学学报1597图1.一、(a)现有的物理世界和数字AI,(b)TinyML辅助的物理世界和数字AI。d展示对TinyML的直观理解,并提供有关其基本原理的详细见解d展示现有的TinyML感知工具集,用于在现有库、软件包和硬件平台的边缘进行模型训练和部署。d讨论TinyML范式的关键使能因素,包括TinyML-as-a-Service的概念、超维计算、交换、注意力凝聚器、约束神经架构搜索、模型压缩、量化、one-for-all网络、TinyML基准测试、设备上计算和加速器以及处理器内学习。d介绍TinyML最先进的框架,其中我们讨论了当前公司和研究小组对TinyML框架的看法。d为了说明TinyML的用例,我们将其用于语音识别,图像识别,手语预测,手势识别,身体姿势估计,少数关键字定位,始终语音唤醒,面部检测,咳嗽相关呼吸症状检测,表型组学和生态保护,自动驾驶车辆和异常检测。d确定TinyML研究的关键挑战并为TinyML研究制定未来的路线图,我们讨论了与低功耗计算,有限的内存使用,硬件-软件异构性,缺乏合适的基准测试工具集相关的各种问题图二. TinyML具有极小的可扩展性。图三. TinyML的分层方法缺乏数据集,缺乏普遍接受的模型,边缘计算基础设施,边缘平台编排,数据和网络管理,边缘软件开发,以及需要新的机器学习模型。我们还提出了一个未来的路线图,并提供了一些重要的步骤,包括边缘智能框架,任务卸载,移动性支持和级别评级。本文的其余部分组织如下。第二部分介绍TinyML的背景。第三节讨论了TinyML的关键使能因素,第四节展示了TinyML框架的最新例证第五部分涉及TinyML的一些用例第七节描述了主要挑战,并提出了今后的路线图。第八节结束了本文。2. TinyML的背景2.1. TinyML的基础知识TinyML是一种范式,有助于在处理器和内存非常少的嵌入式边缘设备 上 运 行 机 器 学 习 ( ARM-TinyL , 2021 ) ( Forbes-TinyML ,2021)。运行机器学习的此类系统的功耗应在几毫瓦或更低的范围内。通常,TinyML允许基于物联网的嵌入式边缘设备通过合并复杂的电源管理模块进入低功耗系统。这样的系统应该利用硬件加速(学习,帕尔塔·普拉蒂姆·雷沙特国王大学学报1598见图4。TinyML的组成2021年)。此外,在TinyML场景中帮助运行机器学习的软件应该尽可能紧凑,以便节省功耗。TinyML系统应该专注于优化各种机器学习模型,以在资源节约的限制下提供更好的准确性。TinyML系统必须满足以下要求:(i)用于运行学习模型的能量收集边缘设备,(ii)支持电池供电的嵌入式边缘设备,(iii)可扩展到数万亿传感器支持的廉价嵌入 式 设 备 , 以 及 ( iv ) 可 以 存 储 在 设 备 RAM 中 几 KB 内 的 代 码(TinyML技术和机会的最新进展,2021)(真实世界TinyML的数据收集设计,2021)。今天的机器学习设备托管在公共云中以及私有场所。企业在许多工业应用中使用来自各种学习感知云服务的随时可用的部署模型。依赖于这种基于云的机器学习服务,几乎没有挑战,例如,(i)巨大的能量消耗,(ii)隐私问题,(iii)网络和处理延迟,以及(iv)可靠性问题。现有的物理世界从传感器获取原始数据或信号,并在微处理器单元(MPU)进行处理。MPU在专用边缘感知AI系统的帮助下帮助提供AI感知分析支持。边缘AI可以与远程云AI进行通信以进行知识传输。TinyML意识到物理世界比现有的场景更智能(EdgeML:TinyML算法,2021)。这样的系统可以在向边缘AI或云AI寻求帮助之前,在嵌入式边缘设备上做出决策这种设置导致以下改进:(i)能源效率,(ii)更好的本地数据隐私,(iii)低处理延迟,以及(iv)最小的连接依赖性。图 12.2. TinyML的限制目前阻碍设想的TinyML范式发展的主要限制有四个关键方面,(i)能源:现有的基于物联网的嵌入式边缘设备需要至少10图五.用于时间序列数据的TinyML边缘管道。mAh电池用于独立处理;因此,应部署有效的能量收集技术来为此类边缘设备供电,以消耗机器学习任务所需的能量,(ii)处理器容量:大多数微型边缘设备的时钟速度为10 - 1000 MHz;这可能会限制复杂的学习模型在边缘有效运行,(iii)内存:现有微型边缘平台平均拥有不到1 MB的板载闪存和1000 KB SRAM;缺乏空间阻碍了模型与MCU的兼容,以及(iv)成本:尽管单个设备成本较低,但累积的更高规模可能会TinyML要想在低成本的边缘平台上取得成功 , 必 须 消 除 这 些 问 题 ( Artificial NeuralNetworks , 2021 )(MLOps for TinyML,2021)。图2展示了TinyML与边缘ML和云ML在算法,硬件和可扩展性方面的比较(TinyML,2021 a)。TinyML系统可以从各种传感器直接获取数据输入。它可以使用微纳米级卷积神经网络。该系统可以容纳具有或不具有硬件加速器的微控制器单元(MCU)。基于边缘的ML设备可以具有优化的轻量级卷积神经网络,以在具有内置加速器的神经处理单元(NPU)的片上系统(SoC)上运行。这个过程在云级别变得更加庞大和高度计算密集型,复杂的深度神经网络可以在GPU,多核CPU和张量处理单元(TPU)的帮助下执行图3.第三章。介绍了TinyML的分层方法2.3. TinyML的定义在这种情况下,我们可以将TinyML定义如下:因此,TinyML可以被设想为三个关键元素的组成:(i)软件,(ii)硬件和(iii)算法。TinyML可以适应Linux、嵌入式Linux和基于云的软件,在这些软件中可以运行初始的TinyML应用程序。硬件可以包括具有或不具有硬件加速器的IoT设备。这种设备可以基于内存计算、模拟计算和神经形态计算,以获得更好的学习体验。TinyML系统的算法应该是新颖的,以便KB大小的模型可以部署在资源节约的边缘设备中。在这种情况下,更好的压缩和量化方案是不可避免的(端点AI和microNPU的出现,2021)。 图 四、介绍了TinyML的基本组成部分,其中硬件-软件协同设计的最佳融合是一个非常重要的方面。 这样的系统应该将优化的机器学习与高质量的数据和紧凑的软件设计相结合(Privacy in Context,2021;Neural,2021)。通常情况下,TinyML系统中会闪现二进制文件,这些文件是从大型主机上的训练模型 中 生 成 的 ( Amber : A Complete , ML-Based , AnomalyDetectionPipeline for Microcontrollers,2021)。2.4. 边缘中的TinyMLTinyML设置的标准边缘管道如图5所示(边缘的无监督协作学习技术,2021年)。边缘管道活动从收集原始数据并提供信号滤波器的传感器开始。然后,信号滤波器基于特征维度对数据进行滤波。例如,如果数据处于时间序列方向,则计算时间序列特征。可选地,可以计算光谱特征。样品帕尔塔·普拉蒂姆·雷沙特国王大学学报1599表1支持TinyML的硬件平台比较。硬件处理器CPU时钟FlashSRAM功率/电压连接传感器/连接器组织阿波罗3号32-位ARMCortex-M4F48兆赫,96MHz,带TurboSPOTTM1 MB384 KB6lA/MHz电池选项,BLE5,FTDI SPI,USB加速度计、HM01B0摄像头、MEMS麦克风SparkFunSTM32F Discovery32位ARM48 MHz1 MB192 KB3LQFP100 I/O,USB加速计,STMicroelectronicsCortex-M4麦克风,FPU核心ST物联网探索ARM Cortex-48 MHz1 MB,64Mbit128 KB电池8.211b/g/n,NFC,麦克风,STMicroelectronicsM4quad-SPI选项868/915 MHz,BLE加速度计,4.1、USB陀螺仪,气压计、手势检测,湿度,温度,ECM3532 AI传感器NSPARM Cortex-M3,恩智浦100 MHz512 KB256 KB51A/MHz,电池BLE 4.2,RF,USB压力,温度,埃塔计算CoolFlux 16-选项陀螺仪,位DSP加速度计,麦克风Arduino Nano 33nRF5284064 MHz1 MB256 KB3.3 V,SPI,SPI,I2C,惯性测量单元,麦克风,ArduinoBLE感知15 mA/引脚USB、BLE手势,灯光接近,气压计,温度,湿度OpenMV Cam H7ARM Cortex-480 MHz2 MB1 MB,3.7 V Li-I2C、USB、CAN、500万像素摄像头OpenMV加上M7(内部)32 MB离子你好,FPSSDRAMHimax EW-I Plus32位ARC400 MHz2 MB2 MB1.2SPI 2、I2C、USB、USBVGA摄像头60 FPS,SparkFunEM9D DSP电池加速度计,关于FPU麦克风核心雷板EFR 32TM38.4 MHz1 KB256 KB3.32.4 GHz、USB、SPI、温度、Silicon Labs释义2无敌壁虎纽扣电池,环境湿度无线SoCULP光、压力、空气质量,麦克风,霍尔效应,紫外线SonyARM Cortex-156兆赫8 MB1.5 MB3.3SPI、I2C、UART、I2S、麦克风、摄像头索尼TinyML板M4F 6核心公司简介48 MHz256 KB32 KB3.7GNSS天线I2C运动,麦克风叙蒂昂NDP101 NDP,LiPo32位ARM电池Cortex-M0Arduino PortentaARM Cortex-480兆赫,16 MB8 MB3.7WiFi,BLE,10/100温度,相机ArduinoH7M7,ARM240 MHzSDRAM锂电池以太网物理,USB,延伸Cortex-M4700mAhMIPI DSI、MPI D-PHYGPU树莓派4B64位ARM1.5ghz的–256 KB3.8WiFo、BLE、CSI、DSI、温度Raspberry PiCortex-A723.3HDMI、USB、以太网四核,BroadcomBCM2711AI甲板1.1GAP8、ESP32168 MHz1 MB192 KB3WiFi、URT、SPI单色相机BitcrazePico4ML BLERaspberry Pi133 MHz4 MB264千字节1.7BLE、USB、I2C摄像头QVGA 60 FPS,ArduoCamRP2040 DSP电池IMU麦克风MKR视频4000双核英特尔®482 MB,256 KB32 KB,8 MB3.7 V Li-SPI、I2C、UART、USB、–Arduino公司简介SDRAM阿宝MIPI,u-blox NINA-10CL0161024毫安时W102FPGA,32位ARM CortexMKR视频4000M0英特尔®482 MB,256 KB32 KB,8 MB3.7 V Li-SPI、I2C、UART、USB、–Arduino公司简介SDRAM阿宝MIPI,u-blox NINA-10CL0161024毫安时W102FPGA,32位ARM CortexM0Nicla Sense MEARM Cortex64 MHz512 KB64 KB3.7 V Li-BLE4.2、SPI、USB、I2C加速计,ArduinoM4Po陀螺仪,压力,地磁,气体,帕尔塔·普拉蒂姆·雷沙特国王大学学报1600温度,湿度(接下页)帕尔塔·普拉蒂姆·雷沙特国王大学学报1601表1(续)硬件处理器CPU时钟FlashSRAM功率/电压连接传感器/连接器组织CC1352PLaunchpadCC1352R无线48 MHz352千字节8 KB60lA/MHz,1.8I2C,SSI,I2C,I2S,868/915/温度TIMCU3.8 V433 MHz,BLE,LaunchPadTM线程,ZigBee,802.15.4,Sub-1 Ghz硬件处理器CPU时钟FlashSRAM电源/连接传感器/连接器组织电压ESP-Eye32位ESP32240 MHz4 MB8 MB3.3 VWiFi、USB、SPI、I2C、2MP相机EspressifPSRAMBLE,BLEGAP8RISC-V250 MHz512 KB80 KB,8 MB1.8串行、SPI、I2C、I2S、 延伸照相机绿波硬件(FC)、SDRAM4.24mW/CPI,Hyperbus,技术卷积175 MHz(C),共和党发动机22.65GOPsGAP9RISC-V400兆赫,1.5 MB128 KB,1.8串行、SPI、I2C、I2S、 延伸照相机绿波硬件150.8GOPs2 MB0.33mW/CPI,Hyperbus,技术卷积外部共和党发动机北欧半ARM Cortex64 MHz192 KB24 KB1.7BLE5,蓝牙–北欧nRF52840 DKM4Li-Po网格,螺纹,Zigbee 802.15.4ANT、2.4 GHz、NFC、UART北欧半ARM Cortex64 MHz1 MB256 KB1440毫安时SPI、I2S、NB-颜色,光线,湿度北欧第91话M33,Li-Po物联网、LTE-M空气质量,nRF9160 SiP温度,压力XCore.ai卷积3200MIPS,–1 MB1.8SPI,I2S,I2C,–XMOS和密集1 M 512500MWMIPI、USB神经FFT/s网络FPU16份核心FRDM-K64FARM Cortex120MHz1 MB256 KB1.7以太网、CAN、SPI、加速计,MbedM4纽扣电池I2C、I2S、I2S磁力计然后在很短的时间内将其保存在先进先出(FIFO)数据结构如果数据是时间序列格式的,则平稳性分类器用于检查数据在哪里遵循stationary属性。下一阶段的目标是将基于物联网的连接铺设到长期模型存储器,后者又与模式分类器进行通信,以进行基于规则的处理或集群过程,具体取决于应用程序的上下文。根据需要,可以根据截面数据的要求修改3. TinyML工具集TinyML需要几个硬件规范、库和软件平台来利用预测。我们简要介绍了现有的硬件和软件工具集正在调查可能的TinyML部署。3.1. 硬件我们选择了几个TinyML感知的硬件平台,如Apollo 3(阿波罗3号 , 2021 年 ) , STM32F 发 现 ( STM32F , 2021 ) , ST IoTDiscovery ( ST IoT Discovery , 2021 ) , ECM 3532 AI SensorNeuro传感器处理器(NSP)(ECM3532,2021),Arduino Nano33 BLE Sense(Arduino Nano 33,2021),OpenMV Cam H7 Plus( OpenMV , 2021 ) , Himax EW-I Plus ( Himax , 2021 ) ,Thunderboard Sense 2(Thunderboard Sense 2,2021),索尼的Spresense TinyML 板 ( 索 尼 的 Spresense TinyML 板 , 2021 ) ,Arduino Portenta H7(Arduino Portenta H7,2021),树莓派4B(Raspberry Pi 4B,2021),Nvidia Jetson Nano(Nvidia JetsonNano , 2021 ) , CC1352P Launchpad ( CC1352P Launchpad ,2021 ) , ESP-EYE ( ESP-EYE , 2021 ) , GAP 8 ( GAP 8 ,2021),GAP 9(GAP 9,2021),AI甲板1.1(AI甲板1.1,2021)、Seeed Wio Terminal(Seeed Wio Terminal,2021)、Agora产品开发套件(Agora产品开发套件,2021),Pico4ML BLE(Pico4ML BLE,2021),MKR Video 4000(MKRVideo4000,2021)、Nicla Sense ME(Nicla Sense ME,2021)、Nordic Semi nRF52840 DK ( Nordic Semi nRF52840 DK ,2021)、Nordic Semi Thingy:91(Nordic Semi Thingy:91,2021 )、 XCore.ai ( XCore.ai , 2021 )和FRDM-K64F(FRDM-K64F,2021)。目前市场上还有许多其他替代品,也可以研究它们是否适合TinyML应用程序开发。我们提出了表1,以比较所提到的硬件平台之间的处理器,CPU时钟频率,闪存,存储器,SRAM的大小,功耗或电压消耗,连接,传感器或连接器和产品开发商。我们注意到,大多数硬件板处理低于100 MHz的处理器频率,平均不到1MB的闪存和不到1 MB的SRAM。蓝牙(BLE)和Wi-Fi是主要选择的连接技术。我们发现,大多数电路板促进了一些板载传感器,包括加速度计,温度,湿度,麦克风,陀螺仪,气压,手势检测,光传感器,霍尔效应,空气质量和摄像头。这种电路板的功耗除了常规的直流电源外,大多数设备都可以使用锂电池和硬币电池。我们还注意到,ARM Cortex-M4是所有其他替代品中最受欢迎的处理器。很少有电路板(例如,GAP 8、GAP 9)内置硬件卷积引擎(HCE),以增强边缘的神经网络感知计算。3.2. 软件和库TensorFlow Lite(TFL):它是一个开源的深度学习框架,用于支持边缘感知学习推理。边缘感知的设备上机器学习可以通过该框架来解决,同时利用五个关键约束(例如,等待时间、保密性、连通性、大小和功耗)。它支持Android、iOS、嵌入式Linux以及多种微控制器帕尔塔·普拉蒂姆·雷沙特国王大学学报1602~-(TensorFlow Lite,2021)。它还支持多种语言(例如,C++、Python、Java、Swift、Java-C)在边缘设备上开发机器学习。采用TFL算法对模型进行硬件加速优化一系列涵盖分类的AI应用程序图像、文本)、问题回答、对象检测和姿态估计。它的二进制的大小是1 MB,因为所有的操作符都连接到32位ARM构建。当使用一些算子进行图像分类时,它可以生成低至300 KB的二进制。TFL的整个工作过程如下:选择模型,将TF模型转换为压缩平面缓冲区(.tflite),将.tflite加载到嵌入式边缘设备,并量化32位浮点数到8位整数。TensorFlow Lite Micro(TSFM)是TFL的扩展,旨在在KB大小的ARM Cortex处理器中运行机器学习TFLM是用C++11编写的,并在32位平台上运行(例如,ESP32、Arduino nano33 BLE Sense、SparkFun Edge、STM32F746 Discovery Kit、Adafruit EdgeBadge、Bluefruit、ESP-EYE、ESP32-DevKitC、Wio Terminal 、 Himax WE-I 、 Sony Spre- sense 和 SynopsysDesignWare ARC EM)。但是,它duTensor:这是一个免费的嵌入式学习环境,物联网边缘设备的原型和快速部署(uTensor,2021)。它包括一个推理引擎,一个图形处理工具,和即将到来的数据收集体系结构。它使用Keras训练神经网络模型。然后将训练好的模型转换为C++。uTensor有助于转换模型,以便在Mbed、ST和K64板中进行适当部署。uTensor是一个小尺寸模块,只需要2 KB的磁盘。Python SDK用于从头开始定制uTensor。它依赖于以下工具集,例如Python、uTensor-CLI、Queryter、Mbed-CLI和ST-link(适用于ST板)。最初,创建一个模型,然后用量化效果定义。下一步是为合适的边缘设备生成代码。dEdge Impulse:这是一项云服务,用于在TinyML目标边缘设备中开 发 机 器 学 习 模 型 这 支 持 边 缘 平 台 的 AutoML 处 理 ( EdgeImpulse,2021)。它还支持包括智能手机在内的许多板,以在此类设备中部署学习模型。训练在云平台上完成,训练后的模型可以通过启用数据转发器的路径导出到边缘设备。通过内置的C++,Node.js,Python和Go SDK的帮助,可以在本地机器上运行脉冲。Impulses也可以部署为WebAssembly库。dNanoEdge AI Studio:该软件以前称为cartesiam.ai,现在可以在边缘最终部署之前使用模拟器选择最佳库和测试库它具有许多重要的功能,包括(i)在项目创建期间限制最大闪存要求,(ii)频率过滤,(iii)闪存优化,(iv)串行数据绘图,(v)实时搜索,以及(vi)在基准测试之后选择库-标记.它可用于检测数据集和分类任务中的异常。它支持STM32Nucleo-32板和Arduino Nano 33 IoT板d PyTorch Mobile:它属于PyTorch生态系统,旨在支持从训练到将机器学习模型部署到智能手机的所有阶段(例如,Android、iOS)。有几个API可用于在移动应用程序中预处理机器学习(PyTorch,2021)。它可以支持TorchScript IR的脚本和跟踪。进一步支持针对ARM CPU的XNNPACK 8位量化内核。它还可以支持GPU、数字信号处理器和神经处理单元。手机部署的优化工具是通过手机解释器铺设的。目前,它支持图像分割,对象检测,视频处理,语音识别和问答任务。嵌入式学习库(ELL):微软开发了ELL,用于支持嵌入式学习的TinyML生态系统(ELL,2021)。它支持Raspberry Pi,Arduino和micro:bit平台。部署在这些设备中的模型与互联网无关,因此不需要云访问。它目前支持图像和音频分类dSTM32Cube.AI:这是一款代码生成和优化软件,可使基于STM32ARM Cortex M 的 板 更 轻 松 地 执 行 机 器 学 习 和 AI 相 关 任 务(STM32Cube.AI,2021)。神经网络在STM32板上的实现可以直接通过使用STM32Cube.AI将神经网络转换为最适合MCU的优化代码来实现。它可以在运行时优化内存使用。它可以使用传统工具(如TFL,ONNX,Matlab和PyTorch)的任何训练模型该工具实际上是原始STM32CubeMX框架的扩展,可帮助STM32Cube.AI为目标STM32边缘设备和中间件参数估计执行代码生成。dlTVM:MicroTVM是现有张量虚拟机器(TVM),以促进在微控制器板上执行张量程序。它允许通过有助于优化张量的AutoTVM平台优化这些程序见图6。 lTVM优化和部署到微控制器的系统模型。见图7。TinyML即服务。帕尔塔·普拉蒂姆·雷沙特国王大学学报1603≥程序(uTVM,2021)。在实践中,微控制器首先通过USB-JTAG端口与在后台运行TVM桌面运行OpenOCD以提供微控制器和桌面之间的连接。这样做,OpenOCD支持lTVM通过应用设备无关的TCP端口来控制微控制器.用户应提供详细信息(例如,用于微控制器的C交叉编译器工具链、用于在设备的存储器上读/写/执行的方法的lTVM要求MicroSession与基于给定方法的设备(例如,OpenOCD)。稍后,按照先前提供的交叉编译器交叉编译ITVM运行时最后,将编译代码的二进制文件加载到设备。人们可以面对与TinyML关联的 ITVM的各个方面,例如,惰性执行、张量加载、函数调用和模块加载。见图6。提出了系统模型组成的lTVM部署优化模型的微控制器,即,基于TinyML的边缘设备(uTVM系统,2021)。4. TinyML的关键推动因素4.1. TinyML即服务TinyML-as-a-Service或TinyMaaS旨在解决与嵌入式领域机器学习相关的一些重要问题,例如物联网环境中ML的高效业务开发流程。传统的基于云的ML任务由一组配备CPU、GPU和张量处理单元(TPU)的云提供商(CP)利用。另一方面,具有最小处理和存储器能力的嵌入式设备被认为不适合运行成熟的ML模型(Doyu等人,2020年)。基于云的Web服务提供了数千种不同的工具集来处理整个ML流程链,从数据收集,预处理,数据转换,模型训练,模型部署和推理开始。然而,嵌入式设备仅适用于ML模型推理。如此巨大的规模差距使得嵌入式设备的任务是为ML增强而挑战。通常,预先训练的ML模型需要巨大的计算和基础设施资源,资源受限的基于IoT的设备可能无法利用这些资源。因此,在将这些模型加载到物联网设备之前,应该对这些模型进行优化,以适应大小。ML编译器可以将预训练的ML模型转换为部署到目标IoT设备。模型的最小化可以通过允许以下技术中的一种来完成,例如量化(用于计算的比特更少)。表2经典和HDC分类之间的比较(Ge和Parhi,2020)站)、修剪(消除无用参数)和融合(将多个算子组合在一起成为一个)。TinyMLaaS生态系统应该需要大量的ML编译器,这些编译器可以为给定的嵌入式平台生成专门的轻量级ML运行时模型。也值得灌输适合特定基于物联网的硬件加速器的ML模型取决于芯片制造商。此服务方面的主要重点是为产品开发人员提供定制的按需设施可以考虑使用轻量级机器对机器(LwM2M)以及动态模型推理模块(例如,Zoo)来为IoT设备生成适当的ML模型。这样一个整体的生态系统可以最大限度地减少嵌入式设计人员的产品开发时间,他们可能希望选择各种ML算法和模型。因此,人们应该期待对即将到来的涉 及嵌 入式 ML 开 发的 业务 流程 产生 巨大 影响 。 见 图 7 。 介绍TinyMLaaS架构。TinyMLaaS可以通过将用户数据保持在物理“本地”边界内来减轻对业务隐私的担忧。它可以尝试将业务敏感数据的处理限制在企业解决方案中的物联网设备本身它还可以帮助减少网络带宽,同时集中一组物联网终端设备来执行异构任务。TinyMLaaS应该假设大多数IoT设备都配备了窄带连接(例如,NB-IoT),其中设备可以具有非常有限的数据传输占有权。这表明了“本地”数据增强的重要性,从而导致数据在物联网边缘卸载。此外,可以设想在TinyMLaaS的支持下的超可靠和低延迟感知服务,其中ML模型的推断在设备级别是可能的。此外,部署在广泛的不稳定网络覆盖区域(例如,农村地区,海洋,山区)应该基于功能明智的预测(TinyML即服务,2021)实现设备上的决策。这样做,它将随后最小化功耗方面并提高能源效率。人们可以将这种最后一英里IO设备视为电池供电的,其可以在本地执行处理,而边缘或云数据连接的干预最小。4.2. 超维计算超维计算(HDC)提供了一个替代选择,现有的学习技术与轻量级算法。与传统技术相比,这种最小算法消耗非常少的能量。在这种方法中,所有数据点都由高维向量表示,即,超矢量。超向量被映射到高维空间,即,超空间来完成计算任务。通常,与传统神经网络学习技巧然而,过度增加超向量维数会导致更高的计算成本和硬件开销计算类型经典计算HDC计算成本,导致利益受损。表2显示了经典和HDC分类之间的对比(Ge和Parhi,数据类型位超向量2020年)。数据传输加法、乘法、逻辑加法-乘法-置换在这种情况下,人们可以期待TinyML将超向量视为利用新视野存储记忆项目记忆,联想记忆训练权重类超向量测试运行预训练的关联查询超向量分类器与类超向量模型复杂度高低精度非常高可接受特征编码容易困难功能数量Many One嵌入式智能。HDC在原始数据类型方面不同于神经学习算法,其中原始样本被映射到随机高维向量,即,样本超向量。在下一阶段,类似的样本高维向量以线性方式组合,以产生称为类别编码器的超向量集合类。查询超向量(Q)稍后在推理过程期间根据针对样本超向量所提及的过程基于给定输入来生成。 在帕尔塔·普拉蒂姆·雷沙特国王大学学报1604见图8。来自加速度计传感器的基于HDC的量化信号表示。见图9。 具有任意比特值的HDC训练阶段
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功