近年来,数据经常被描述为21世纪的石油和黄金。随着消费者、企业和其他组织以前所未有的速度生成数据,企业正在寻求有效的方法来分析数据并生成见解,以帮助他们改进业务流程并优化决策。在这种情况下,他们越来越多地开发和部署人工智能 (AI) 系统和技术,这有助于他们自动化业务流程,并做出更明智的商业决策。而机器学习可能是最突出和最广泛使用的人工智能技术:它利用大量历史数据来学习和改进自身,就像人类通过学习和观察来改进自己一样。

在过去十年中,对机器学习(ML)的大多数兴趣都围绕着深度学习(DL)展开,这是机器学习的一个特定部分,专注于深度神经网络 (DNN)。DNN 是在其输入和输出之间具有多层的神经网络,其运做方式类似于人类思维。DNN 的发展势头很大程度上是因为它们能够根据用于训练的数据集来提高性能,也就是说,当有大量训练数据可用时,它们可以表现得很好。

人工智能和深度学习应用是数据密集型应用。这就是为什么在行业专家和行业从业者心目中,它们与使用大量计算资源(例如图形处理单元 (GPU) 和张量处理单元 (TPU) 处理器)相关联的原因所在。

现代云计算基础设施提供对大量计算资源的按需访问,因此是运行复杂机器学习和深度学习应用(如自动驾驶和大规模欺诈检测)的主要选择。在一些情况下,AI/ML应用也托管在私有云上,例如本地数据中心。然而,在云中执行 AI 并不总是最佳选择,尤其是对于需要低延迟且必须在最终用户附近运行的应用。具体来说,云人工智能需要将大量数据从数据产生地传输到云数据中心,这会消耗大量网络带宽并产生高延迟。此外,此类数据传输可能容易受到隐私泄露的影响,尤其是在管理敏感数据的应用中。此外,在云中使用 GPU 和 TPU 会产生大量碳足迹,这会引发环境问题。

嵌入式机器学习的兴起和优势

与智能手机一样,也可以在各种嵌入式设备上执行机器学习模型,从连网和移动嵌入式系统到小型微控制器。在嵌入式设备上执行机器学习模型通常被称为嵌入式机器学习。后者基于以下一般原则运行:像神经网络这样的机器学习模型在计算集群或云上进行训练,而推理操作和模型的执行则在嵌入式设备上进行。与普遍的看法相反,事实证明,一旦对模型进行了训练,深度学习模型的矩阵运算就可以在 CPU(中央处理单元)受限的设备甚至微型微控制器上有效执行。嵌入式机器学习的特点是在非常小的硬件(如超低功耗微控制器)上执行ML模型,这称为TinyML。

嵌入式机器学习释放了在数千亿个无处不在的微处理器和嵌入式控制器中处理数据的潜力,这些微处理器和嵌入式控制器可用于各种环境,例如工业厂房、制造车间、智能建筑和住宅环境等。

与传统的基于云的 AI 相比,在嵌入式设备上执行机器学习模型具有多项优势:

  • 低延迟:在需要在现场附近执行低延迟操作的情况下,嵌入式机器学习比云 AI 更有效。这是因为不需要将大量数据传输到云中,传输到云中可能会导致相当大的网络延迟。因此,当涉及到支持工业环境中的现场驱动和控制等实时用例时,嵌入式机器学习是一个非常好的选择。
  • 降低功耗:许多嵌入式系统(例如微控制器)具有高能效,并且可以长时间运行而无需充电。
  • 改善环境绩效:云人工智能导致二氧化碳排放过多,环境绩效非常差。相反,嵌入式设备上的机器学习具有更低的碳足迹,从而产生更好的可持续性。
  • 网络带宽效率: 在嵌入式设备上执行机器学习模型,可以在数据源处提取洞察力。这样就无需将原始数据传输到边缘或云服务器,从而节省了带宽和网络资源。
  • 强大的隐私:嵌入式机器学习无需在云服务器上传输和存储数据。这降低了数据泄露和隐私泄露的风险,这对于处理个人数据、知识产权 (IP) 数据和商业机密等敏感数据的应用尤为重要。

基于这些优势,嵌入式机器学习有时可能是比传统的基于云的 AI 更好的选择,尤其是在需要实时、低延迟和低开销交互的用例中。例如,各种工业部门的企业维护和智能资产管理都可以从嵌入式机器学习中受益。后者可以通过处理资产内部(例如,机器内部)的数据,提取关于潜在机器故障和生产缺陷的实时洞察。作为另一个例子,基于对来自田间传感器的数据(例如,图像和温度数据)的直接处理,精准农业应用可以受益于对作物问题的即时发现。后一种处理速度通常比云数据处理更快。

尽管如此,嵌入式机器学习绝不能被视为基于云的人工智能的替代品。在大多数情况下,嵌入式机器学习可以为基于云的应用提供增值功能,如实时控制操作和敏感数据集的隐私管理。

嵌入式机器学习生态系统

嵌入式机器学习应用基于能够在资源受限节点上开发和部署 ML 模型的工具和技术,在不同类型的嵌入式设备上运行。因此,嵌入式机器学习生态系统包括设备供应商,尤其是部署和执行 ML 模型的设备制造商。此外,它还通过在嵌入式设备(包括物联网设备)上开发、部署和操作 ML 应用的工具和技术,扩展了全球机器学习生态系统。在后一种情况下,ML 应用被称为 AIoT(智能物联网)。

已经有丰富的嵌入式设备可以运行机器学习和深度学习应用。许多设备成本低廉,可以灵活部署在不同的物联网应用中,而其中一些设备非常适合学习和教育目的。作为一个突出的例子,熟悉 Arduino 生态系统的物联网开发人员现在可以利用基于 Nordic Semiconductor SoC 的 Arduino Nano 33 BLE Sense 板来开发 TinyML 应用。该板带有多个嵌入式传感器,包括湿度传感器、温度传感器、气压传感器、麦克风,以及手势、接近度、光色和光强度传感器。因此,它用途广泛,适用于广泛的应用。再举一个例子,SparkFun 的边缘开发板支持语音转录和手势识别等深度学习应用。该板基于 Ambiq Micro 的 Apollo3 Blue 微控制器,该微控制器运行 TensorFlow Lite,这是嵌入式设备上最流行的深度学习应用环境之一。最近,用于物联网产品开发的紧凑型开发平台 Thunderboard Sense 2 平台也增强了嵌入式机器学习功能。由于 SiLabs 和 Edge Impulse 之间的合作伙伴关系,因此可以支持通过各种微控制器 (MCU) 开发机器学习应用,特别是支持 EFR32/EFM32 连接的 MCU。通过这种方式,可以为各种应用领域开发广泛的企业功能,例如监测机器和分析声音事件。

机器学习模型的开发基于流行的数据科学库和工具,例如 Python 机器学习库,以及为数据科学家和机器学习研究人员设计的 Jupyter Notebooks 等相关工具。尽管如此,嵌入式机器学习生态系统还包括专门设计用于支持对计算能力有限的设备进行推理的库,例如TensorFlow Lite就是这种情况,它支持设备上的推理。此外,还有面向 TinyML 的库,可以在微控制器等内存非常小的设备上部署模型。例如,TensorFlow Lite Micro 的内核可以在 Arm Cortex-M3 上容纳 16 KB,并且可以运行各种机器学习和深度学习模型。

总体而言,已经有了一个硬件和软件资产生态系统,这使得嵌入式机器学习应用的开发、部署和操作成为可能。这个生态系统正在增长,因为越来越多的开发人员和集成商正在加入嵌入式机器学习应用的浪潮。

抓住嵌入式机器学习机会

嵌入式机器学习为希望充分利用数据的企业提供了大量的创新机会。它使企业能够利用未使用的数据集,同时帮助他们优化机器学习应用的带宽、存储和延迟。在这种情况下,它还促进了增值应用的开发,例如工业维护中基于状态的实时监测。

然而,利用这些令人兴奋的机会还存在一些障碍和挑战。企业需要应对机器学习和嵌入式系统方面的人才缺口。嵌入式机器学习要求开发人员和工程师同时具备这两个领域的知识、技能和才能。然而,拥有这种技能的开发人员太少了。此外,嵌入式机器学习有一些区别于传统机器学习的特性。这些特性不仅是由于使用了专用工具,而且还因为从嵌入式设备收集和预处理数据的过程通常比从其他 IT 系统和数据库收集和使用数据更加繁琐。此外,为了应对各种嵌入式平台中的机器学习,开发人员和部署人员必须熟悉各种不同的系统和工具,这是另一个挑战。其他重要挑战包括需要解决能源效率和资源使用问题,这些问题源于对资源受限设备的使用。

为了缓解这些挑战,Edge Impulse 正在努力为全球的开发人员和部署人员创建一个充满活力的嵌入式机器学习生态系统。这个生态系统是围绕该公司领先的开发平台构建的,该平台已经被世界各地数千名熟练的开发人员使用。它也越来越受到不同行业企业的信任,这些企业使用该平台开发具有切实投资回报 (ROI) 的嵌入式机器学习用例。(编译:iothome)

Scroll to Top