在微控制端实现机器学习

浏览:272来源:本站时间:2023-01-06

机器学习已经成为一个重要的技术驱动力,在从汽车和工业控制到物联网和空间系统技术,机器学习已经在多个行业中取得了成果和创新。多数机器学习专注于具有后端服务器或应用处理器中的高端、计算量大的应用程序。尽管如此,将机器学习算法部署到微控制器的需求越来越大。


基于微控制器的机器学习用例

机器学习是否能应用于微控制器,取决于具体应用。例如,如果想要将自适应 ML 算法部署到微控制器,则超出了其处理能力。但是,对于基于微控制器的系统,有几个机器学习用例非常有趣,而且应用数量在不断增长。

一个有趣的用例是关键字发现。语音正在成为一种高效的用户接口,而微控制器可以提供实现。例如,低功耗微控制器可以运行机器学习推理来监视单个关键字。检测到关键字后,微控制器可以唤醒一个应用处理器,该处理器可以管理其他关键字和主应用程序。

另一个应用是预测性维护。当在许多工业和家庭应用中使用的机器出现故障时,维修可能会非常昂贵且不方便。在许多情况下,机器不会突然坏掉。相反,根据可检测的数据点(如振动、气流等),性能的轻微下降表明设备可能存在问题。简单的机器学习模型可以检测正常行为,并在系统需要维护时提醒用户。提前维护而非停机可以节省资金、减少麻烦。


微控制器的机器学习技术

一旦确定了机器学习用例,我们需要使用合适的工具和技术来构建它。在微控制器领域,帮助开发人员实现机器学习工作的工具正在迅速增长。

开发人员可以利用多种工具为其应用程序训练机器学习模型。Tensorflow Lite for Microcontrollers 在微控制器和只有几千字节内存的设备上运行机器学习模型。其基本运行库在Arm Cortex M3上占用16 KB,并且可以运行许多基本模型。它不需要操作系统、标准 C 或 C++ 库或动态内存分配。

根据选择的微控制器,开发人员还有利用相应微控制器的生态系统。例如,ST的X-CUBE-AI 插件允许开发人员导入机器学习模型、对其进行分析并优化以在微控制器上运行。

边缘构建低功耗 AI/IoT 的工具SensiML,支持数据集、模型管道版本控制和多会话数据集标注。SensiML允许几乎没有ML经验的软件开发人员训练机器学习模型并将其部署到微控制器。生成的模型会自动转换为代码,直接在目标设备上执行实时推理。使智能应用运行得更快,需要更少的网络性能,更加安全。

是否可以在微控制器端实现机器学习应用取决于最终用例。一些工具如SensiML可以支持微控制器的机器学习。将机器学习模型部署到微控制器时,可能需要在运行库的内存占用及模型的准确性中做出权衡。

更多详细的产品介绍请参考SensiML官网:https://sensiml.com/

京ICP备:京ICP备05011254号-1 版权归北京麦克泰软件技术有限公司所有
北京麦克泰软件技术有限公司