利用tinyML和自动机器学习构建有效的IoT应用程序

物联网可以使用微型传感器对环境和机器进行连续监控。传感器技术,微控制器和通信协议的进步使IoT平台的批量生产成为可能,该平台具有许多连接选项,并且价格可承受。由于物联网硬件的成本低廉,传感器已在公共场所,住宅和机器上大规模部署。

这些传感器监视与其部署环境24/7相关联的物理属性,并生成大量数据。例如,部署在旋转机械上的加速度计和陀螺仪不断记录附接到轴上的转子的振动模式和角速度。空气质量传感器连续监测室内或室外空气中的气态污染物。婴儿监视器中的麦克风始终在监听。智能手表内的传感器不断测量重要的健康参数。同样,其他各种传感器(例如磁力计,压力,温度,湿度,环境光等)也可以在任何部署位置测量物理条件。

机器学习(ML)算法可以发现这些数据中有趣的模式,而这是人工分析和检查所无法理解的。物联网设备和ML算法的融合实现了广泛的智能应用程序和增强的用户体验,这通过低功耗,低延迟和轻量级的机器学习推理(即tinyML)得以实现。如图1所示,许多行业垂直正在通过这种融合而发生革命,包括但不限于可穿戴技术,智能家居,智能工厂(工业4.0),汽车,机器视觉以及其他智能消费电子设备。

具有自动机器学习功能的tinyML

物联网设备中的微型微控制器(MCU)上部署的ML算法具有多重优势,因此特别受关注:

  • 数据隐私和安全性:ML推理发生在本地嵌入式微控制器上,而不必将数据流传输到Cloud进行处理。数据保留在设备上和本地,在这里它们是私有和安全的。
  • 节省功率:由于无/很少的数据传输,tinyML算法消耗的功率要少得多。
  • 低延迟和高可用性:由于推理是在本地执行的,因此延迟约为毫秒,并且不受网络延迟和可用性的影响。

点击查看完整大小的图片

图1:tinyML为传统的IoT设备添加了高级功能(来源:Qeexo)

使用传感器数据进行自动机器学习涉及图2中阐明的步骤。在这些步骤之前,已完成目标ML应用程序的传感器配置和质量数据收集。诸如Qeexo AutoML之类的自动化机器学习平台管理整个工作流程,以为Arm Cortex-M0至M4类MCU和其他受限环境构建轻量级和高性能的机器学习模型。

点击查看完整大小的图片

图2:Qeexo AutoML工作流程(来源:Qeexo)

采用ARM®Cortex™M0 +架构的tinyML

物联网技术的激增和传感器的大规模部署需求进一步推动了微控制器架构和机器学习计算的边界。例如,以48 MHz运行的Arm Cortex M0 + MCU由于具有低功耗特性,因此被广泛用于为IoT应用设计的传感器板上。与运行在64 MHz且功耗为15mA的Cortex M4版本相比,每个I / O引脚仅消耗7mA电流。

额定Cortex-M0 + MCU的低功耗是以减少内存和计算配置文件为代价的。 M0 + MCU只能执行32位定点数学运算,不具有饱和算法支持,并且缺乏DSP功能。基于该MCU的Arduino Nano 33 IoT是最受欢迎的IoT平台之一,仅具有256 KB的闪存和32 KB的SRAM。相比之下,Arduino Nano 33 BLE Sense是具有Cortex M4架构的流行传感器模块,可以执行32位浮点运算,具有DSP和饱和算术支持,以及闪存的四倍和SRAM的八倍。

由于以下三个主要挑战,与在M4上部署相比,在M0 +上部署机器学习算法要困难几个数量级:

  • 定点计算: 使用传感器数据进行的典型机器学习涉及数字信号处理,特征提取和运行推理。从传感器信号中提取统计和基于频率的特征(例如FFT分析)对于开发高性能机器学习模型至关重要。代表现实世界物理现象的传感器数据流本质上是非平稳的。一般而言,从非平稳传感器信号中提取的信息越好,开发具有高性能的ML模型的机会就越大。在保持商业级精度和性能的同时,以定点表示法执行数学运算具有挑战性。完全定点机器学习管道从传感器数据表示开始,一直运行到模型推断,以生成分类/回归输出。
  • 低内存容量: 256 KB的闪存和32 KB的SRAM严格限制了机器学习模型和这些模型在执行期间可以利用的运行时内存的大小。现实世界中的机器学习问题通常具有复杂的决策/分类边界,这些边界由具有大量参数的机器学习模型表示。对于基于树的集成模型,解决此类复杂问题可能会导致树深和大量助推器,从而影响模型大小和运行时内存。减小模型尺寸通常以牺牲模型性能为代价-通常不是折衷的最理想标准。
  • 低CPU速度: 在为商业部署选择模型时,低延迟一直是关键指标。与毫秒级延迟测量相比,我们在48 MHz M0 +架构上牺牲的16 MHz时钟速度与64 MHz M4架构相比有很大差异。

AutoML M0 +框架

为应对这些挑战而开发的Qeexo AutoML提供了针对Arm Cortex M0 +架构进行了高度优化的定点机器学习管道。该管道包括定点,定点特征计算中的传感器数据处理,以及基于树的集成算法(如Gradient Boosting Machine(GBM),Random Forest(RF)和eXtreme Gradient Boosting( XGBoost)算法。 Qeexo AutoML以非常高效的数据结构对集成模型参数进行编码,并将其与解释逻辑相结合,从而可以对M0 +目标进行极快的推断。图3阐明了Qeexo为Arm Cortex M0 +嵌入式目标开发的定点机器学习管道。

点击查看完整大小的图片

图3:Qeexo AutoML M0 +推理管道(来源:Qeexo)

杰克索 AutoML执行正在申请专利的模型压缩和量化,以进一步减少已开发的集成模型的内存占用量,而不会影响分类性能。图4描述了针对Cortex M0 +嵌入式目标的Qeexo AutoML训练过程。

点击查看完整大小的图片

图4:Qeexo AutoML M0 +培训管道(来源:Qeexo)

智能修剪

智能修剪功能可以压缩模型而不会降低性能。简而言之,Qeexo AutoML首先根据超参数优化器的建议构建一个完整的集成模型,然后智能地选择最强大的增强器。

这种方法是先生成一个更大的模型,然后智能地修剪它以进行目标部署,这比起最初构建一个较小的模型要有效得多。初始的较大模型为选择高性能增强器(或树)提供了机会,最终可以提高模型性能。

如图5所示,压缩的集成模型约为1/10 完整模型的大小,同时具有更高的交叉验证性能。 (X轴表示集成模型中的树(或助推器)数,y轴表示交叉验证性能。)请注意,我们的Qeexo AutoML智能修剪方法仅选择了20个最强大的助推器,压缩率达到90%在模型尺寸上。

点击查看完整大小的图片

图5:Qeexo AutoML智能模型修剪(来源:Qeexo)

集成模型量化

杰克索 AutoML执行合奏算法的训练后量化。训练后量化是基于神经网络的模型的商品化功能,并且在诸如TensorFlow Lite之类的框架中提供开箱即用的支持。但是,集成模型的量化是Qeexo正在申请专利的技术,可以进一步减小模型大小,同时改善MCU级别的延迟,而模型性能几乎没有下降。 Qeexo AutoML M0 +流水线生成以32位精度表示的定点集成模型。 16位和8位量化的其他选项可以将模型的速度分别降低½和¼,速度提高2到3倍。

tinyML的示例用例

有哪些tinyML应用程序或用例?有无限的可能性,在这里我们重点介绍一些:

  1. 我们想要制作一个智能的,支持AI的墙,用户可以点击它来控制照明(打开/关闭并更改光的强度)。我们可以定义与“开/关”和强度控制相关的手势,然后使用安装在墙壁背面的加速度计和陀螺仪模块收集并标记手势数据。有了这些标记的数据,Qeexo AutoML可以使用AI算法来构建模型,以检测墙壁上的“敲打”和“擦拭”手势来控制照明。在里面 视频  在下面,您可以在几分钟内看到Qeexo AutoML开发的原型智能墙。
  2. 通过使用机器学习和物联网,我们希望确保按照运输指南对运输进行极其谨慎的处理。在里面 视频  在下面,您可以看到具有AI功能的运送箱如何检测从源到目的地的运送方式。
  3. 人工智能与物联网的融合也可以打造智能厨房台面。这 video 下面显示了Qeexo AutoML构建的模型,可以检测各种厨房电器。
  4. 机器监视是tinyML最有希望的用例之一。正在检测到多个机器故障模式 视频  below.
  5. 异常检测是另一种可以从机器学习中受益的场景。通常,在工业环境中收集各种故障的数据很困难,而监视机器的健康运行状态则相对容易。仅通过观察健康的运行状态,Qeexo AutoML算法就可以开发用于异常检测的AI系统,如下图所示 part 1 (以下), part 2, part 3part 4.

  6. 使用嵌入在可穿戴设备中的传感器进行活动识别是另一个有益于我们日常生活的用例。这 视频 以下演示了在几分钟内使用Qeexo AutoML构建活动识别解决方案的过程。

拉詹·巴特博士 是以下公司的工程总监 杰克索 领导机器学习工程师团队开发革命性的ML平台和产品。他的广泛专业知识包括机器学习,计算智能,计算机视觉和产品工程。 Bhatt博士撰写了超过35篇经过同行评审的论文,这是一本关于模式分类算法的书,并且是印度,美国和韩国的20项授权专利的发明人/共同发明人。 Bhatt博士是德里印度理工学院的校友,IEEE高级会员,认证的产品工程负责人,在加入Qeexo之前,他曾在印度,美国和韩国的三星和博世研究中心工作。
蒂娜·史远 是的产品行销总监 杰克索 ,她帮助企业应用Qeexo AutoML来使用传感器数据构建创新的解决方案。她热衷于构建和发布最先进的机器学习技术,并已发布了许多成功的机器学习产品。 Tina倡导在Edge上运行机器学习,并为tinyML社区做出了积极贡献。她拥有哥伦比亚大学的MBA学位和UC Berkeley的EECS的学士学位。

相关内容:

要获得更多嵌入式产品, 订阅嵌入式’的每周电子邮件通讯.

发表评论

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.