在低功耗MCU上实现人工智能和机器学习

时间:2025-02-21 15:33来源:

摘要:人工智能(AI)和机器学习(ML)技术不仅正在快速发展,还逐渐被创新性地应用于低功耗的微控制器(MCU)中,从而实现边缘AIML解决方案

WiFi6/Bluetooth®低功耗蓝牙5.3/Thread ST67W611M1模块加快开发进度,
提高设计灵活性,提供先进的消费和工业物联网解决方案

人工智能(AI)和机器学习(ML)技术不仅正在快速发展,还逐渐被创新性地应用于低功耗的微控制器(MCU)中,从而实现边缘AI/ML解决方案。这些MCU是许多嵌入式系统不可或缺的一部分,凭借其成本效益、高能效以及可靠的性能,现在能够支持AI/ML应用。这种集成化在可穿戴电子产品、智能家居设备和工业自动化等应用领域中,从AI/ML功能中获得的效益尤为显著。具备AI优化功能的MCU和TinyML的兴起(专注于在小型、低功耗设备上运行ML模型),体现了这一领域的进步。TinyML对于直接在设备上实现智能决策、促进实时处理和减少延迟至关重要,特别是在连接有限或无连接的环境中。
 
TinyML是指在小型、低功耗设备上应用机器学习模型,尤其是在微控制器(MCU)平台上,这些MCU经过优化,可以在设备有限的资源体系内运行。这使得边缘设备能够实现智能决策,支持实时处理并减少延迟。量化(Quantization)和剪枝(Pruning)等技术用于减小模型大小并提高推理速度。量化通过降低模型权重的精度,显著减少内存使用而几乎不影响准确性;剪枝则通过去除不太重要的神经元,进一步减小模型规模并提升延迟性能。这些方法对于在资源有限的设备上部署ML模型至关重要。
 
PyTorch和TensorFlow Lite都是实现机器学习模型的主流框架。PyTorch是一个开源机器学习库,被广泛用于人工智能应用的开发,包括可以部署在微控制器上的应用程序。PyTorch提供了用于机器学习的工具和库,包括计算机视觉和自然语言处理,可用于低功耗和小尺寸设备。
 
TensorFlow Lite for Microcontroller(TFLM)能够在非常受限的MCU类设备上运行具有Flatbuffer转换功能的TF Lite模型。这减少了模型的大小,并优化了它在MCU上的推理。
 
另一个重要的工具是来自ARM的CMSIS-NN库,它为Cortex-M处理器提供了优化的神经网络内核来运行TFLM模型。CMSIS-NN库提高了性能并减少了内存占用,使其更容易在基于ARM的MCU上运行ML模型。
 
此外,一些MCU还配备了专用的AI/ML硬件加速器,如Silicon Labs(芯科科技)的EFM32无线SoC和MCU,可以显著提高ML模型的性能,使更复杂的应用程序能够在这些设备上更快、更高效地运行。人工智能加速器擅长并行化任务,如矩阵乘法、卷积和图形处理。通过利用多样化的并行性,它们可以一次执行大量的计算。这使得人工智能工作负载的速度大大提高,同时保持低功耗。这些加速器还增强了内存访问模式,减少了数据传输开销,主CPU—CortexM可以进入低功耗睡眠模式,以节省更多的能量或管理额外的任务。通过使数据更接近计算单元,它们减少了等待时间。其结果是增强了性能、降低了功耗和延迟。
 
实际应用
 
TinyML的实际应用是多种多样且有影响力的。一个值得注意的示例是音频和视觉唤醒词,当说出特定的关键字或在图像中检测到某人时,设备会触发动作。这项技术被用于智能扬声器和安全摄像头,支持它们在识别到唤醒词或检测运动时激活。另一种应用是工业环境中的预测性维护。工厂设备上的传感器持续监测振动和温度等参数,可使用TinyML模型检测来异常并在故障发生之前预测维护需求,这有助于减少停机时间和维护成本。
 
手势和活动识别是TinyML的另一种令人兴奋的应用。配备加速度计和陀螺仪的可穿戴设备可以监测身体活动,如走路、跑步或特定手势。这些设备使用TinyML模型实时分析传感器数据,为健身追踪或医疗诊断提供有价值的见解。在农业领域,TinyML被用于环境监测。智能农业系统分析土壤湿度和天气条件,以优化灌溉,提高作物产量和资源效率。
 
TinyML还增强了健康监测功能。诸如连续血糖监测仪(CGM)这样需要长时间电池寿命和实时数据处理的设备,都能够极大地受益于这项技术。此外,智能床传感器可以在没有直接接触的情况下评估病人的呼吸模式,为远程观察提供不间断的健康数据。这一创新在管理老年人护理和慢性疾病方面特别有价值,因为持续监测有助于及早发现潜在的健康问题。
 
开发
 
要开始构建自己的TinyML应用,您需要了解TinyML的基础知识并选择合适的硬件。根据您的应用,您可能需要传感器来收集数据,例如加速度计、麦克风或摄像头。设置开发环境包括安装Simplicity Studio集成开发环境(IDE)、SDK和TinyML所需的资源库。
 
下一步是收集和准备与应用相关的数据。例如,如果您正在构建一个手势识别系统,您需要收集不同手势的加速度计数据。收集数据后,您需要对其进行预处理,使其适合训练您的模型。训练模型需要在功能强大的机器上使用高级框架,如TensorFlow或PyTorch。一旦训练完毕,模型需要使用量化和剪枝等技术进行优化。
 
在完成优化后,即可将模型转换为适合MCU的格式,如TensorFlow Lite格式。最后一步是将优化后的模型部署到MCU,将其与应用程序代码集成,并对其进行全面测试,以确保其满足性能和精度要求。基于实际性能的不断迭代和改进对于完善TinyML应用至关重要。
 
利用芯科科技的解决方案在微控制器上实现人工智能和机器学习
 
芯科科技提供了一系列解决方案,有助于在MCU上实现AI/ML。EFR32/EFM32(xG24、xG26、xG28)和SiWx917系列微控制器由于其低功耗和强大的性能而非常适合TinyML应用。以下是在芯科科技MCU上实现AI/ML的详细技术指南:
 
数据采集与预处理
 
数据采集:使用连接到MCU的传感器采集原始数据,例如加速度计、陀螺仪和温度传感器等传感器都可用于各种应用。
 
预处理:对数据进行清理和预处理,使其适合训练。这可能包括过滤噪声、对数值进行归一化处理以及将数据分割到窗口中。为此,芯科科技提供了数据采集和预处理工具。
 

免责声明:本文若是转载新闻稿,转载此文目的是在于传递更多的信息,版权归原作者所有。文章所用文字、图片、视频等素材如涉及作品版权问题,请联系本网编辑予以删除。

我要投稿
近期活动
帖子推荐更多

Copyright 2008-2025 21dianyuan.com All Rights Reserved 备案许可证号为:津ICP备10002348号-2