亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial Internet of Things >> 物联网技术

如何在 MCU 上实现物联网 (AIoT)

在我之前的文章中,我强调了越来越多的物联网设备中的人工智能 (AI) 能够创建智能“AIoT”设备的增长趋势,并且各种应用程序都从这些智能设备中受益。它们从数据中学习并在无需人工干预的情况下做出自主决策,从而使产品与其环境进行更合乎逻辑的、更像人类的交互。

AI 和 IoT 的结合为 MCU(微控制器)开辟了新的市场。它支持越来越多的新应用程序和用例,这些应用程序和用例可以使用简单的 MCU 搭配 AI 加速来促进智能控制。这些支持 AI 的 MCU 为计算和机器学习 (ML) 推理提供了 DSP 功能的独特组合,现在正用于关键字识别、传感器融合、振动分析和语音识别等多种应用。更高性能的 MCU 支持更复杂的视觉和成像应用,例如人脸识别、指纹分析和自主机器人。

人工智能技术

以下是一些在物联网设备中启用 AI 的技术:

机器学习 (ML) :机器学习算法基于代表性数据构建模型,使设备能够在无需人工干预的情况下自动识别模式。 ML 供应商提供训练模型所需的算法、API 和工具,然后可以将这些模型构建到嵌入式系统中。然后,这些嵌入式系统使用预先训练的模型来驱动基于新输入数据的推理或预测。应用示例包括传感器集线器、关键字发现、预测性维护和分类。

深度学习 :深度学习是一类机器学习,它通过使用多层神经网络从复杂的输入数据中逐步提取更高级的特征和见解来训练系统。深度学习适用于非常庞大、多样化和复杂的输入数据,并使系统能够迭代学习,从而改善每一步的结果。使用深度学习的应用示例包括图像处理、用于客户服务的聊天机器人和人脸识别。

自然语言处理 (NLP) :NLP 是人工智能的一个分支,它使用自然语言处理系统与人类之间的交互。 NLP 帮助系统理解和解释人类语言(文本或语音)并基于此做出决策。应用示例包括语音识别系统、机器翻译和预测输入。

计算机视觉 :机器/计算机视觉是人工智能的一个领域,它训练机器收集、解释和理解图像数据,并根据该数据采取行动。机器从相机收集数字图像/视频,使用深度学习模型和图像分析工具准确识别和分类对象,并根据它们“看到”的内容采取行动。例如制造装配线上的故障检测、医疗诊断、零售店的人脸识别和无人驾驶汽车测试。

MCU 上的 AIoT

在过去,AI 是 MPU 和 GPU 的权限,它们具有强大的 CPU 内核、大内存资源和用于分析的云连接。不过,近年来,随着边缘智能程度的提高,我们开始看到 MCU 用于嵌入式 AIoT 应用程序。向边缘移动是由延迟和成本考虑推动的,并且涉及将计算移近数据。基于 MCU 的物联网设备上的 AI 允许实时决策和更快地响应事件,并具有更低的带宽要求、更低的功耗、更低的延迟、更低的成本和更高的安全性等优势。 AIoT 得益于近期 MCU 的更高计算能力以及更适合在这些终端设备中使用的资源受限 MCU 的细神经网络 (NN) 框架的可用性。

神经网络是一组节点,按层排列,这些层接收来自前一层的输入并生成输出,该输出是根据输入的加权和偏置总和计算得出的。此输出沿其所有传出连接传递到下一层。在训练过程中,训练数据被送入网络的第一层或输入层,每一层的输出传递到下一层。最后一层或输出层产生模型的预测,将其与已知的预期值进行比较以评估模型误差。训练过程包括在每次迭代中使用称为反向传播的过程细化或调整网络每一层的权重和偏差,直到网络的输出与预期值密切相关。换句话说,网络从输入数据集中迭代“学习”并逐步提高输出预测的准确性。

神经网络的训练需要非常高的计算性能和内存,通常在云端进行。训练后,这个预训练的神经网络模型被嵌入到 MCU 中,并用作基于其训练的新传入数据的推理引擎。

这种推理生成需要比模型训练低得多的计算性能,因此适用于 MCU。这种预训练的神经网络模型的权重是固定的,可以放在闪存中,从而减少了所需的 SRAM 数量,使其适用于更多资源受限的 MCU。

在 MCU 上实现

MCU 上的 AIoT 实施涉及几个步骤。最常见的方法是使用可用的神经网络 (NN) 框架模型之一,例如 Caffe 或 Tensorflow Lite,适用于基于 MCU 的终端设备解决方案。用于机器学习的 NN 模型的训练由 AI 专家使用 AI 供应商提供的工具在云端完成。 NN 模型的优化和 MCU 上的集成使用来自 AI 供应商和 MCU 制造商的工具进行。使用预训练的神经网络模型在 MCU 上进行推理。

该过程的第一步是完全离线完成,涉及从终端设备或应用程序捕获大量数据,然后用于训练 NN 模型。模型的拓扑结构由 AI 开发人员定义,以充分利用可用数据并提供该应用程序所需的输出。 NN 模型的训练是通过将数据集迭代地传递给模型来完成的,目的是不断地最小化模型输出的错误。 NN 框架提供了一些工具可以帮助完成这个过程。

在第二步中,这些针对关键字识别或语音识别等特定功能进行了优化的预训练模型被转换为适合 MCU 的格式。此过程的第一步是使用 AI 转换器工具将其转换为平面缓冲区文件。这可以选择通过量化器运行,以减小尺寸并针对 MCU 对其进行优化。然后将该平面缓冲区文件转换为 C 代码并作为运行时可执行文件传输到目标 MCU。

该 MCU 配备了预训练的嵌入式 AI 模型,现在可以部署在终端设备中。当新数据进入时,它会通过模型运行,并根据训练生成推理。当新数据类出现时,NN 模型可以发送回云端进行重新训练,并且可以通过 OTA(空中)固件升级在 MCU 上对重新训练的新模型进行编程。

可以通过两种不同的方式构建基于 MCU 的 AI 解决方案。出于本次讨论的目的,我们假设在目标 MCU 中使用 Arm Cortex-M 内核。

在第一种方法中,转换后的 NN 模型在 Cortex-M CPU 内核上执行,并使用 CMSIS-NN 库进行加速。这是一种简单的配置,无需任何额外的硬件加速即可处理,适用于更简单的 AI 应用,例如关键字识别、振动分析和传感器集线器。

更复杂和更高性能的选项包括在 MCU 上包含 NN 加速器或微神经处理单元 (u-NPU) 硬件。这些 u-NPU 可在资源受限的 IoT 终端设备中加速机器学习,并且可能支持可以降低模型功率和大小的压缩。它们支持的算子可以完全执行大多数常见的 NN 网络,用于音频处理、语音识别、图像分类和对象检测。 u-NPU 不支持的网络可以回退到主 CPU 内核,并由 CMSIS-NN 库加速。在该方法中,NN模型在uNPU上执行。

这些方法仅展示了将 AI 集成到基于 MCU 的设备中的几种方法。随着 MCU 将性能边界推向更高水平,更接近 MPU 的预期,我们预计将开始看到完整的 AI 功能,包括直接构建在 MCU 上的轻量级学习算法和推理。

边缘人工智能是未来

AI 在资源受限的 MCU 上的实施将在未来呈指数级增长,随着 MCU 推动性能边界并模糊 MCU 和 MPU 之间的界限,以及越来越“瘦”的神经网络,我们将继续看到新的应用程序和用例的出现适用于资源受限设备的模型可用。

未来,随着 MCU 性能的提高,我们可能会看到除推理之外的轻量级学习算法的实现,直接在 MCU 上运行。这将为 MCU 制造商开辟新的市场和应用,并将成为他们的重要投资领域。


物联网技术

  1. 如何保护云技术?
  2. 数据管理推动机器学习和人工智能在 IIOT
  3. 物联网有什么不同?
  4. 如何充分利用您的数据
  5. AIoT 如何实现智能交通解决方案
  6. 物联网如何改变供应链:第 2 部分,未来解决方案
  7. 移动技术如何消除旅行障碍
  8. 数据科学和机器学习如何帮助提升网站设计
  9. 物联网:管理涌入的数据
  10. 如何在当今的企业环境中使用机器学习
  11. 物联网如何赋能车辆跟踪系统?
  12. 医疗器械 OEM 如何实施工业 4.0 商业模式