机器学习

机器学习(Machine Learning,简称ML)是一种人工智能(AI)的分支,致力于研究让计算机系统能够从数据中学习并自动改进性能的算法和技术。机器学习使计算机系统能够从经验中学习,而不需要明确地进行编程。

这些年随着AIOT(人工智能+物联网)的快速发展,以及MCU性能的提升(比如瑞萨推出的基于Cortex-M85内核的RA8系列MCU),在MCU上实现机器学习也变得越来越流行。

近些年,随着机器学习(ML, Machine Learning)的发展,出现了分歧,分为两个规模:

  • 一个是传统的大型ML(云ML),模型越来越大,以实现准确性方面的最佳性能;

  • 另外一个是新兴的微型机器学习(TinyML)领域,其中模型被缩小以适应受限设备(如MCU)以超低功耗执行。

由于TinyML是一个新兴领域,本篇文章将讨论在开发TinyML和当前行业标准纳入TinyML设备基准测试的系统时要考虑的各种参数。

关于TinyML

机器学习本身是一种利用称为神经网络的算法(如下图所示)来教计算机识别模式的技术, 这被外推到各种应用,包括对象识别和自然语言处理。

1.png

另一方面,TinyML可以认为是ML的一个子领域,它追求在廉价且资源和功率受限的设备上启用ML应用程序。
TinyML的目标是以一种极端的方式将机器学习带到边缘,比如电池供电的、基于微控制器(MCU)的嵌入式设备可以实时响应地执行ML任务。这项工作是非常多学科的,需要从硬件、软件、数据科学和机器学习等领域进行优化和最大化。

MCU中实现机器学习几大指标

上面我们了解了关于TinyML的内容,那么在MCU系统中实现机器学习,通常我们要考虑以下四个指标:准确性、功耗、延迟和内存要求。

准确性

在过去十年中,准确性一直被用作衡量机器学习模型性能的主要指标,较大的模型往往优于较小的。在TinyML系统中,准确性也是一个关键指标,但与云ML相比,与其他指标的平衡更为必要。

功耗

由于TinyML系统预计将长时间使用电池运行,因此考虑TinyML模型的功耗(通常为mW量级)至关重要。TinyML模型的功耗将取决于可用的硬件指令集,例如,由于采用了氦气指令集,ARM® Cortex®-M85比ARM® Cortex®-M7更节能。此外,功耗还取决于用于运行模型的底层软件,即推理引擎。例如,与参考内核相比,使用CMSIS-NN库可显著提高性能。

延迟

TinyML系统在端点运行并且不需要云连接,因此,此类系统的推理速度明显优于基于云的系统。在某些用例中,拥有超高的推理速度对于生产就绪至关重要(ms为单位)。与功耗指标类似,延迟取决于底层硬件和软件。

内存

内存是TinyML的一大障碍,它挤压了ML模型以适应资源受限的MCU(内存小于1MB的MCU更常见)。所以,降低内存需求一直是一个挑战。在模型开发过程中,会使用许多技术,例如:剪枝和量化。此外,底层软件发挥着重要作用,因为更好的推理引擎可以更有效地优化模型(更好的内存管理和用于执行层的库)。

由于这四个参数是相关的(往往是准确性和内存之间的负相关,但内存、延迟和功耗之间存在正相关),改进一个参数可能会影响其他参数。在开发TinyML系统时,仔细考虑这些因素很重要。一般的经验法则是根据用例定义所需的必要模型准确性,将各种开发的模型与其他三个指标进行比较。如下图所示,给定已训练的各种模型的虚拟示例。

2.png

不同标记形状表示具有不同超参数的模型架构(超参数,是指机器学习算法中的调优参数,需要人为设定)。这些超参数往往会随着架构大小的增加而提高准确性,但却牺牲了其他3个指标。根据系统定义的用例,显示一个典型的相关区域,由此,只有一个模型具有90%的精度,如果需要更高的精度,则应重新考虑整个系统以适应其他指标的增加。

在此,提一下“基准测试”(benchmark),它是设置可重复标准以比较不同技术、架构、软件等的必要工具。在AI/ML中,准确性是衡量不同模型的关键指标。在嵌入式系统中,常见的基准测试包括CoreMark和EEMBC的ULPMark用以测量性能和功耗。就TinyML而言,MLCommons作为行业标准越来越受到关注,它可以评估前面讨论的四个指标,并且由于TinyML系统的异构性,为了确保公平性,使用了4个具有4个不同AI模型的AI用例,并且必须达到一定水平的准确性才能获得基准测试资格。

目前,瑞萨基于Cortex-M85内核的MCU已经提供了TinyML的各种用例,感兴趣的读者可以进入他们官网进一步了解更多信息。

素材来源 | 瑞萨嵌入式小百科

转载来源:strongerHuang

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 29

2024410提供超丰富半导体和电子元器件的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售NXP SemiconductorsMCX工业和物联网微控制器 (MCU)。这些新款MCU属于高性能、低功耗微控制器,配备智能外设和加速器,适用于安全、智能的电机控制机器学习应用。

1.jpg

贸泽供应的NXP全新MCX N系列微控制器搭载Arm® Cortex®-M33 CPU,配备智能外设和加速器、通信和信号处理功能,可扩展性强,易于开发。MCX N的低功耗高速缓存提高了系统性能,双闪存和完整的ECC RAM则支持系统安全,提供了额外的保护。部分MCX N器件包含NXP面向机器学习应用的eIQ® Neutron神经处理单元 (NPU)。MCX N系列还包含EdgeLock®安全区域Core Profile,它通过设计本身来保障安全,提供具有不可变信任根和硬件加速加密的安全启动。

贸泽还代理NXP MCX A系列微控制器,该系列具有可扩展的器件选项、低功耗和智能外设,让设计人员可以选用更小封装,简化板卡设计。MCX A系列专为支持更多GPIO引脚以提供更多外部连接而设计,工作频率高达96MHz,集成度高,模拟性能优异且拥有各种外设,包括定时器和4Msps 12位ADC。定时器可以生成三组带有死区插入的互补脉宽调制 (PWM) 信号,4Msps 12位ADC则可以实现硬件窗口和平均功能。MCX A系列可提供对系统性能至关重要的功能,其创新型电源架构能够高效利用I/O并节省功耗,供电电路简单,占板面积小。

NXP Semiconductors FRDM-MCXN947FRDM-MCXA153快速检索和数据操纵器 (FRDM) 开发板是低成本、可扩展的紧凑型开发平台,可使用MCUXpresso开发工具快速进行原型开发。FRDM-MCXN947搭载MCX N系列,适用于各种具有高集成度、片上加速器、智能外设和高级安全性的应用。FRDM-MCXA153搭载具有可扩展器件选项、低功耗和智能外设的MCX A系列。

要进一步了解MCX N系列MCU,请访问https://www.mouser.cn/new/nxp-semiconductors/nxp-mcx-n-mcus/。有关MCX A系列详情,请访问 https://www.mouser.cn/new/nxp-semiconductors/nxp-mcx-a-mcus/

要进一步了解MCX FRDM开发板,请访问https://www.mouser.cn/new/nxp-semiconductors/nxp-mcx-n-boards/https://www.mouser.com/new/nxp-semiconductors/nxp-mcx-a-boards/

作为全球授权代理商,贸泽电子库存有丰富的半导体和电子元器件并支持随时发货。贸泽旨在为客户供应全面认证的原厂产品,并提供全方位的制造商可追溯性。为帮助客户加速设计,贸泽网站提供了丰富的技术资源库,包括技术资源中心、产品数据手册、供应商特定参考设计、应用笔记、技术设计信息、设计工具以及其他有用的信息。

工程师还可以一键订阅免费的贸泽电子报,及时了解业界新品动态和资讯。在订阅贸泽的电子报时,我们可以根据您不断变化的具体项目需求来提供相关的新闻报道和参考信息。贸泽充分尊重用户的权利,让您能自由掌控想要接收的内容。欢迎登陆https://sub.info.mouser.com/subscriber-sc注册,及时掌握新兴技术、行业趋势及更多资讯。

关于贸泽电子 (Mouser Electronics)

贸泽电子隶属于伯克希尔哈撒韦集团 (Berkshire Hathaway) 公司旗下,是一家授权电子元器件代理商,专门致力于向设计工程师和采购人员提供各产品线制造商的新产品。作为一家全球代理商,我们的网站mouser.cn能够提供多语言和多货币交易支持,提供超过1200品牌制造商680多万种产品。我们通过遍布全球的28个客户支持中心,为客户提供无时差的本地化贴心服务,并支持使用当地货币结算。我们从占地9.3万平方米的全球配送中心,将产品运送至全球223个国家/地区、超过65万个顾客的手中。更多信息,敬请访问:http://www.mouser.cn

围观 8

2016年3月9日到15日,人工智能AlphaGo与围棋世界冠军李世石在韩国首尔进行了备受瞩目的人机大战。这是人类历史上第一次围棋世界冠军与人工智能进行的正式比赛,引起了全世界的关注。在这场比赛中,AlphaGo以4比1的成绩战胜了李世石,展现出了人工智能在围棋领域及其它复杂决策方面的强大实力和无限潜力。这场比赛是一场具有历史意义的人机大战,其意义不仅仅在于胜负和技术的突破,更在于它推动了人工智能技术的快速发展和普及。

AlphaGo的成功很大程度上归功于机器学习和深度学习技术,特别是卷积神经网络(CNN)和递归神经网络(RNN)。这些技术使机器能够学习数据中的复杂模式和关系,使它们能够在曾经被认为极具挑战性的任务中表现出色。

随着AlphaGo的成功,人工智能开始应用到各个领域。深度学习模型开始在图像识别、自然语言处理和其他任务方面表现出色,进一步促进了人工智能技术在医疗保健、金融和自动驾驶汽车等行业的应用。最近比较火得自然语言处理处理工具ChatGPT, 百度文心一言,科大讯飞星火等都是非常典型的机器学习应用。这些工具不但可以和你聊天,还可以帮你写作文,不但可以帮你检查软件代码的语法和逻辑问题,还可以帮你写各种各样的软件代码,比如写C或C++程序,JAVA程序,Python程序等等。功能强大,使用方便,可以说是我们程序员的好帮手。此外,人工智能和机器学习应用还包括搜索引擎,数据挖掘,计算机视觉,语音和手写识别,游戏和机器人,生物特征识别,医学诊断,异常检测等等。相信在不久的将来会有更多的机器学习应用落地,给我们的生活,学习和工作等各方面带来极大的方便。

回顾人工智能和机器学习的发展历程我们可以看到人工智能和机器学习算法软件的发展离不开硬件的发展,两者是相辅相成,相互促进的。虽然算法和深度学习技术在AlphaGo的胜利中发挥了关键作用,但GPU硬件的计算能力和并行处理能力更发挥了至关重要的作用。先进的算法和硬件加速之间的协同作用使AlphaGo能够掌握复杂的围棋游戏,并击败像李世石这样的世界冠军棋手。

随着微控制器技术的突破,人工智能和机器学习不仅可以在高计算能力的计算机和应用处理器上运行,还可以在微控制器平台上有效运行,大大促进了许多人工智能和机器学习应用在边缘节点上落地,推动了物联网节点快速走向智能化。通过下面演讲内容分享,大家能了解到从视觉、语音到时间序列等人工智能应用,不管是对深度学习或经典机器学习,恩智浦都可以提供相应的解决方案,包括入门级微控制器到高性能跨界处理器以及具有专用神经处理单元(NPU)的微控制器。

1.png

2.png

3.png

4.png

5.png

6.png

7.png

8.png

9.png

10.png

11.png

12.png

13.png

14.png

15.png

16.png

17.png

18.png

29.png

20.png

21.png

来源:恩智浦MCU加油站

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 24

随着人工智能(AI)技术的发展,如何在MCU上实现机器学习,创造更多边缘AI的新用例,一直是嵌入式开发社区的热点话题。

在日前举办的RT-Thread开发者大会(简称RDC)上,恩智浦MCU系统与应用工程师牛晓东先生受邀发表了题为《基于恩智浦MCX微控制器的机器学习以及RTT支持更新》的主题演讲,全面阐释了恩智浦“打造具有机器学习功能的微控制器”的产品策略和最新解决方案,并分享了恩智浦营造完整开发生态、为RT-Thread嵌入式开源社区积极赋能的新举措。

1.jpg

在RDC上,恩智浦还特别展示了基于新一代MCX微控制器的机器学习应用示例,并在活动现场免费派发了MCX MCU开发板,受到与会观众的热烈围观!

2.jpg

为了助力嵌入式开发者快速实现基于微控制器的机器学习,恩智浦提供了多样化的硬件平台以及配套的eIQ机器学习软件开发环境。

其中,多核设计的MCX N系列MCU,通过将工作负载智能高效地分配到模拟和数字外围设备,提高了系统性能并降低了功耗;MCX N中集成的新一代机器学习加速器神经处理单元 (NPU),专为微控制器发挥作用而设计,与单独使用CPU内核相比机器学习的吞吐量提高多达30倍,可以为资源和功耗受限的边缘设备扩展TinyML功能,加之eIQ软件开发环境的支持,MCX N系列MCU可谓是边缘AI开发的理想平台。

3.jpg

基于MCX N系列MCU的机器学习应用十分广泛,可涵盖物体识别 、多人检测、多脸检测、异常检测等诸多场景。如下图这个“人脸追踪风扇”,就是一个很有创意的用例。

4.jpg

来源:NXP客栈

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 21

机器学习 (ML) 在服务器和移动应用中已经风靡多年,现在这种趋势已蔓延到边缘设备,并且变得突出。由于边缘设备需要节能,因此开发人员需要学习和了解如何将ML模型部署到基于微控制器的系统中。

在微控制器上运行的ML模型通常被称为tinyML。然而,将模型部署到微控制器并非易事,但它正在变得越来越容易,没有经过任何专业培训的开发人员也能在规定时间完成部署。

本文探讨了嵌入式环境开发人员如何通过STMicroelectronics的STM32微控制器开始使用ML。为此,文中展示了如何通过X-CUBE-AITensorFlow Lite for Microcontrollers模型转换用于STM32CubeIDE,来创建“Hello World”应用。

tinyML用例介绍

tinyML是一个不断发展的领域,它将ML功能整合到微控制器等资源和功耗受限的设备中,通常采用深度神经网络。然后,这些微控制器设备可以运行ML模型,在边缘进行有价值的工作。以下几个用例中的tinyML非常值得关注。

第一个用例常见于许多移动设备和家庭自动化设备,即关键词识别。通过关键词识别,嵌入式设备可以使用麦克风捕获语音并检测预先训练的关键词。tinyML模型使用表示语音的时间序列输入,将其转换为语音特征,通常为频谱图,其中包含随时间变化的频率信息。然后,将频谱图输入经过训练的神经网络,以检测特定的字词,结果就是检测到特定字词的概率。图1显示了这个过程的示例。

“图1:关键词识别是tinyML的有趣用例。输入的语音被转换为频谱图,然后输入经过训练的神经网络,以确定是否有预先训练的字词。(图片来源:Arm®)"
图1:关键词识别是tinyML的有趣用例。输入的语音被转换为频谱图,然后输入经过训练的神经网络,以确定是否有预先训练的字词。(图片来源:Arm®)

许多嵌入式环境开发人员感兴趣的另一个tinyML用例为图像识别。微控制器从摄像头捕获图像,然后将其输入预先训练的模型。模型可以辨别图中的内容。例如,模型可以确定是否有猫、狗或者鱼等等。图像识别用于边缘的一个很好的例子是视频门铃。视频门铃通常可以检测门口是否有人,或者是否有放下的包裹。

最后一个非常常见的用例是用tinyML进行预见性维护。预见性维护使用ML基于异常检测、分类算法和预测模型来预测设备状态。同样,从HVAC系统到工厂车间设备,应用非常广泛。

尽管上述三个用例是目前常见的tinyML,但开发人员无疑还可以找到更多潜在的用例。以下是相关应用的列表:

  • 手势分类
  • 异常检测
  • 模拟量表读取器
  • 指导和控制 (GNC)
  • 包装检测

无论哪个用例,开始熟悉tinyML的最好方法是使用“Hello World”应用,它可以帮助开发人员学习和理解实现并运行一个最基础的系统所遵循的基本流程。在STM32微控制器上运行tinyML模型,有5个必要步骤:

1、捕获数据
2、标记数据
3、训练神经网络
4、转换模型
5、在微控制器上运行模型

捕获、标记和训练“Hello World”模型

关于捕获和标记用于训练模型所需的数据,开发人员通常有许多选择。首先,有大量的线上训练数据库。开发人员可以搜索他人收集和标记的数据。例如,对于基本的图像检测,有CIFAR-10或ImageNet。如需训练模型来检测照片中的微笑,也有一个图像集。从在线数据存储库开始显然是不错的选择。

如果所需的数据尚未在互联网上公开,开发人员也可以生成自己的数据。可以使用Matlab或其他工具来生成数据集。如果不能自动生成数据,也可以手动完成。最后,如果觉得这些都太耗时,也可在互联网上购买数据集。收集数据往往是最令人兴奋和有趣的选择,但也最费事。

这里探讨的“Hello World”示例展示了如何训练模型来生成正弦波并将其部署到STM32上。这个示例由Pete Warden和Daniel Situnayake整理,当时他们在谷歌开展TensorFlow Lite for Microcontrollers工作。这样一来,工作变得更容易,因为他们已经整理出了简单的捕获、标记和训练模型的公开教程。可以在Github上找到(点击此处);打开链接后,开发人员应点击“Run in Google Colab”(在Google Colab中运行)按钮。Google Colab是Google Collaboratory的简称,它允许开发人员在浏览器中编写和执行Python,无需配置,并提供对Google GPU的免费访问。

浏览训练示例将输出两个不同的模型文件;一个是为微控制器量化的model.tflite TensorFlow模型,一个是没有量化的model_no_quant.tflite模型。量化可以表明如何以数字方式存储模型的激活和偏置。量化后可以得到更小的模型,更适合于微控制器。好奇的读者可以在图2中查看训练过的模型结果与实际正弦波结果的对比。模型的输出以红色显示。正弦波输出并不完美,但对“Hello World”程序而言,其效果已经很好了。

“图2:TensorFlow模型正弦波预测与实际值的对比。(图片来源:Beningo
图2:TensorFlow模型正弦波预测与实际值的对比。(图片来源:Beningo Embedded Group)

选择开发板

在研究如何转换TensorFlow模型以便在微控制器上运行之前,需要选择该模型中部署的微控制器。本文将重点介绍STM32微控制器,因为STMicroelectronics公司有许多tinyML/ML工具,可以很好地转换和运行模型。此外,STMicroelectronics有多种与其ML工具兼容的元器件(图3)。

“图3:图示为STMicroelectronics
图3:图示为STMicroelectronics AI生态系统目前支持的微控制器和微处理器单元(MPU)。(图片来源:STMicroelectronics)

如果办公室里有这样一块开发板,就非常适合启动和运行“Hello World”应用。然而,如果对本例之外的应用感兴趣,想要了解手势控制或关键词识别,可以选择STM32 B-L4S5I-IOT01A开发套件物联网节点(图4)。

该开发板带有STM32L4+系列Arm Cortex®-M4处理器。该处理器有2MB闪存和640KB RAM,为tinyML模型提供了充足的空间。该模块还带有STMicroelectronics的MP34DT01微机电系统 (MEMS) 麦克风,可用于关键词识别的应用开发,适用于tinyML用例实验。此外,同样来自STMicroelectronics的板载LIS3MDLTR三轴加速计,可用于基于tinyML的手势检测。

“图4:STM32
图4:STM32 B-L4S5I-IOT01A开发套件物联网节点搭载Arm Cortex-M4处理器、MEMS麦克风和三轴加速计,是适应性tinyML实验平台。(图片来源:STMicroelectronics)

使用STM32Cube.AI转换和运行TensorFlow Lite模型

凭借可以运行tinyML模型的开发板,开发人员现在可以开始对TensorFlow Lite模型进行转换,以便在微控制器上运行。TensorFlow Lite模型可以直接在微控制器上运行,但需要一个运行时环境来处理它。

运行模型时,需要执行一系列的功能。这些功能首先收集传感器数据,然后筛选,提取必要特征,并反馈给模型。该模型输出结果,然后对结果进一步筛选,通常还会再进行一些操作。图5显示了该过程的概况。

“图5:数据如何从传感器流向运行时,再到tinyML应用的输出。(图片来源:Beningo
图5:数据如何从传感器流向运行时,再到tinyML应用的输出。(图片来源:Beningo Embedded Group)

STM32CubeMx的X-CUBE-AI插件提供了解释TensorFlow Lite模型的运行时环境,并提供了开发人员可以利用的替代运行时和转换工具。X-CUBE-AI插件在项目中默认不启用。然而,在创建新项目并初始化电路板后,在Software Packs-> Select Components(软件包-> 选择组件)下,有一个启用AI运行时的选项。这里有几个选项;确保本例中使用的是Application模板,如图6所示。

“图6:X-CUBE-AI插件需要使用本例的应用模板来启用。(图片来源:Beningo
图6:X-CUBE-AI插件需要使用本例的应用模板来启用。(图片来源:Beningo Embedded Group)

启用X-CUBE-AI后,STMicroelectronics X-CUBE-AI类别将出现在工具链中。点击该类别,开发人员能选择自己创建的模型文件并设置模型参数,如图7所示。可通过分析按钮对模型进行分析,并为开发人员提供RAM、ROM和执行周期信息。强烈建议开发人员比较Keras和TFLite模型选项。在较小的正弦波模型示例中,没有显著差异,但却可以发现其中的区别。点击“Generate code”(生成代码)可生成该项目。

“图7:分析按钮为开发人员提供RAM、ROM和执行周期信息。(图片来源:Beningo
图7:分析按钮为开发人员提供RAM、ROM和执行周期信息。(图片来源:Beningo Embedded Group)

代码生成器将初始化项目,并为tinyML模型构建运行时环境。但默认情况下,不会为模型提供输入。开发人员需要添加代码,为模型提供输入值 — x值,模型将解释该值并生成正弦y值。如图8所示,需要在acquisition_and_process_data和post_process函数中增加几段代码。

“图8:所示代码将连接伪输入传感器值到正弦波模型。(图片来源:Beningo
图8:所示代码将连接伪输入传感器值到正弦波模型。(图片来源:Beningo Embedded Group)

此时,本例运行就绪。注意:添加一些printf语句来获取模型输出,以便快速验证。快速编译和部署能让“Hello World”tinyML 模型运行。获取整个周期的模型输出得到图9所示的正弦波。它并不完美,但对于首个tinyML应用来说非常优秀。由此,开发人员可以将输出与脉冲宽度调制器 (PWM) 联结起来,并产生正弦波。

“图9:在
图9:在 STM32上运行时的“Hello World”正弦波模型输出。(图片来源:Beningo Embedded Group)

嵌入式系统上的ML技巧和窍门

开发人员若要在基于微控制器的系统上开始使用ML,需要做相当多的工作,才能让自己的首个tinyML应用运行起来。然而,记住几个“技巧和窍门”,可以简化和加快其开发:

  • 浏览TensorFlow Lite for Microcontrollers的“Hello World”示例,包括Google Colab文件。花点儿时间调整参数,了解这些参数对经过训练的模型的影响。
  • 在微控制器应用中使用量化模型。量化模型经过压缩,可以使用uint8_t而非32位浮点数。因此,该模型更小,执行速度更快。
  • 了解TensorFlow Lite for Microcontrollers资源库中的其他示例。其他示例包括手势检测和关键词检测。
  • 以“Hello World”为例,将模型输出连接到PWM和低通滤波器上,以查看产生的正弦波。执行运行时实验,增加和减少正弦波频率。
  • 选择包括“额外”传感器的开发板,以便尝试广泛的ML应用。
  • 尽管收集数据很有趣,但一般来说,购买或使用开源数据库来训练模型更容易。

开发人员遵循这些“技巧和窍门”,可以在确保应用安全的同时节省更多的时间并省去更多的麻烦。

本文小结

机器学习已经蔓延至网络边缘,而基于资源受限微控制器的系统是其主要目标。最新的工具可以转换和优化机器学习模型,以在实时系统上运行。如图所示,在STM32开发板上实现和运行模型相对容易,但也会涉及复杂性问题。虽然只探讨了产生正弦波的简单模型,但也可以实现更复杂的模型,如手势检测和关键词识别。

来源:得捷电子DigiKey
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 942

机器学习(ML)是解决涉及模式识别问题的一个非常好的工具,ML算法能将杂乱的原始数据转化为可用信号。其基本流程是基于数据产生模型,然后利用模型预测输出,从而实现无需人工交互即可完成学习、推理和决策等目的。然而,对高性能计算资源的需求将许多ML应用程序限制在云中。也就是说,只有云数据中心级别的性能才能满足ML对算力的要求。令业界兴奋的是,随着算法设计以及微处理器体系结构的不断进步,在最小的微控制器(MCU)上运行复杂的机器学习工作负载正在成为可能。

在嵌入式设备上运行机器学习模型通常被称为嵌入式机器学习(Embedded machine learning)。嵌入式设备中的机器学习有很多好处:

一、它消除了在云服务器上传输和存储数据的需要,从而减少了传输数据时涉及的数据和隐私泄露。

二、它强化了对知识产权、个人数据和商业秘密的保护。

三、ML模型的执行可有效避免向云服务器传输数据的需要,节约了宝贵的带宽和网络资源。

四、使用基于ML模型的嵌入式设备是可持续的,它的碳足迹要低得多。因为设备中使用的微控制器都是低能耗的。

五、嵌入式系统比基于云中心的系统效率更高,边缘设备上的ML模型可以实现实时响应。

TinyML:MCU厂商的新商机

深度学习模型最初的成功主要归功于拥有大量内存和GPU集群的大型服务器。虽然云端深度学习非常成功,但它并不适用于所有情况,因为许多应用需要在设备上进行推理。当今的大多数AI应用程序都是基于机器学习技术,如果在资源受限的设备上能够流畅地运行机器学习模型,必将为许多新兴应用打开了一扇技术之门,这也是近些年边缘计算和嵌入式机器学习越来越火的一个重要原因。

嵌入式机器学习是机器学习的一个领域,这些被称为微型机器学习(Tiny Machine Learning,TinyML)的模型非常适用于内存和处理能力有限、互联网连接不存在或受限的边缘设备。现在,TinyML已经成为机器学习中一个快速发展的领域,通过硬件、算法和软件的有机结合,使之能够以mW及以下的功率完成传感器数据的分析,实现了在小型硬件上嵌入AI的过程。

虽然TinyML是一个新概念,但将机器学习应用于智能设备并不是什么新鲜事。比如,大多数的智能手机都有某种神经网络,音乐识别、许多相机模式(如夜视和肖像模式)都是依靠嵌入式深度学习的例子。这些都是TinyML的用武之地,也将Edge AI向前推进了一步。

Edge AI芯片组将AI引入到无数的终端内部,包括移动设备、汽车、智能音箱和无线摄像头等。然而,这些设备往往因难以支持高计算性能和高数据吞吐量,无法充分利用产生的所有数据。TinyML的横空出世,使得在MCU上运行机器学习模型成为可能。这些MCU普遍价格低廉,外形小巧,内置几百KB的低功耗内存(SRAM)和几兆字节的存储空间,功耗很低,且应用广泛。TinyML芯片组的主要目标是解决成本和能效问题,它们通过为小型推理工作负载设计的软件,在低功耗、低处理能力和小内存的硬件上实现了数据分析性能,这一技术有可能彻底改变物联网的未来。

如今,全球活跃的物联网(IoT)设备超过2500亿台,预计每年增长20%。这些设备每天都会收集大量数据,在云中处理这些数据存在相当大的挑战。现在,TinyML有望弥合边缘硬件和设备智能之间的鸿沟。麦肯锡研究人员预测,到2025年,物联网行业将产生4-11万亿美元的潜在经济影响,其中制造业为最大的垂直产业,达到1.2-3.7万亿美元。

市场咨询公司ABI Research在其新的白皮书《TinyML:科技领域的下一个重大机遇》中预测,2021至2026年间,物联网连接数量将增加近三倍,达到236亿。每一次新的连接都代表着利用AI和机器学习的机会,TinyML技术将是抓住企业这一机会的关键。因此,ABI预计,TinyML设备的出货量将从2020年的1520万台增加到2030年的25亿台。

名厂云集TinyML赛道

自TinyML诞生以来,创新市场一直热点不断,许多产品都非常引入关注。例如:基于NVIDIA Jetson Xavier NX的工业AI智能相机,这是由Adlink公司推出的业界首款工业智能相机,该相机基于英伟达(NVIDIA)的Jetson Xavier NX,性能高、尺寸小,效率大约是前代产品的十倍,是一款紧凑、可靠、功能强大的Edge AI应用产品,为制造业、物流、医疗保健、农业和许多其他商业领域的人工智能创新打开了方便之门。

TinyML专注于优化机器学习的工作负载,以便它们可以在低功耗的微控制器上运行。TinyML的激增将导致Edge AI在传统关键市场之外的扩张,更多的终端用户可以从基于声波、温度、压力、振动和其他数据源的智能连接传感器和物联网设备中受益。如今,TinyML正处在机器学习和嵌入式物联网的交汇点上,有可能为许多行业带来颠覆性的变革。TinyML的潜在应用几乎是没有边界的,比如:可以预测何时需要服务的工业机器人,可以监测作物是否存在有害昆虫的传感器,当库存减少时可以要求重新进货的店内货架,在保持隐私的同时可以跟踪生命体征的医疗监护仪。

音频分析、模式识别和语音人机界面是当今TinyML应用最多的领域。恩智浦(NXP)基于EdgeReady MCU的3D人脸识别解决方案利用i.MX RT117F跨界MCU,能够帮助开发人员快速地将3D人脸识别和先进的活体检测填加到其产品中,即使在户外照明条件下设备也能正常工作。该方案具备的3D活体检测功能还能识别和抵御使用照片或3D模型的欺诈,仅需使用高性能3D结构化光摄像头模块(SLM)和可选的基于低成本CMOS传感器的RGB摄像头,无需使用昂贵、耗电、基于Linux的MPU。

方案中采用的i.MX RT1170是一款跨界MCU,它采用了主频达1GHz的Cortex-M7内核和主频达400MHz的Arm Cortex-M4,拥有卓越的计算能力、多种媒体功能以及实时功能。人脸识别和活体检测可在i.MX RT117F MCU上完全离线执行,不再借助云,不仅消除了延迟问题,还能有效保护消费者的隐私。

“图1:i.MX
图1:i.MX RT117F 3D人脸识别硬件结构框图(图源:NXP)

视觉、运动和手势识别同样是TinyML的重要应用领域。意法半导体(ST)的AI解决方案主要基于STM32产品组合,借助预训练神经网络,嵌入式开发人员可以在任何基于Cortex M4、M33和M7的STM32上进行移植、优化和验证。STM32CubeMX是一种图形工具,通过分步过程可以非常轻松地配置STM32微控制器和微处理器,以及为Arm Cortex-M内核或面向Arm Cortex-A内核的特定Linux设备树生成相应的初始化C代码。

STM32Cube.AI是STM32CubeMX的AI扩展包,设计人员可以在其基础上更高效地开发自己的AI产品。FP-AI-VISION1属于STM32Cube的一种功能包(FP),含有基于卷积神经网络(CNN)的计算机视觉应用实例。

目前,FP-AI-VISION1包括三个基于CNN的图像分类应用示例:

  • 在彩色(RGB24位)帧图像上运行的食品识别应用;

  • 在彩色(RGB24位)帧图像上运行的人员存在检测应用;

  • 在灰度(8位)帧图像上运行的人员存在检测应用。

现在,ST提供的TinyML计算机视觉解决方案可识别18种常见食物,也可以实施人员在场检测,或者基于目标检测模型统计场景中的人数等。

“图2:食品识别模型的执行流程(图源:ST)"
图2:食品识别模型的执行流程(图源:ST)

随着IoT市场规模的扩大,边缘的数据量增长迅猛,由TinyML赋能的AIoT应运而生。根据Markets and Markets的分析数据,2019年的AIoT市场规模约为51亿美元,预计到2024年将增长至162亿美元,复合年均增长率(CAGR)高达26%。AIoT的主要作用是赋能联网设备使其具备机器学习能力,从而执行复杂的智能运算。

2021年6月英飞凌(Infineon)推出的ModusToolbox ML,其目标就是让公司的PSoC MCU具有深度学习的功能。ModusToolbox ML是一项基于ModusToolbox软件的全新功能,可为开发人员提供基于深度学习的ML模型所需的中间件、软件库和专用工具。ML可与ModusToolbox中已有的软件框架无缝集成,十分便利地集成到安全的AIoT系统中。ModusToolbox ML允许开发人员使用他们首选的深度学习框架(如TensorFlow),直接部署到PSoC MCU上。此外,ML还有助于工程师优化嵌入式平台的模型,降低平台复杂度,并提供具有基于测试数据的性能验证功能。

“图3:英飞凌PSoC6
图3:英飞凌PSoC6 MCU内部架构(图源:Infineon)

为了帮助开发人员快速地将本地智能添加到他们的IoT设计中,Infineon选择了与SensiML公司合作。SensiML是QuickLogic的子公司,向市场提供尖端的软件,使超低功耗IoT终端能够实现AI,公司的旗舰方案SensiML Analytics Toolkit提供了一个端到端的开发平台,涵盖数据采集、标签、算法和固件自动生成和测试。SensiML的“Analytics Toolkit” Edge AI开发软件现在可以与Infineon ModusToolbox配合使用, 为开发人员提供了一种快速简便的方法来记录来自Infineon XENSIV传感器的数据,创建复杂的基于AI/ML的模型,并在PSoC6 MCU上运行定制的应用程序。

不断壮大的TinyML生态系统

TinyML社区成立于2019年,是一个由研究人员和行业工程师组成的社区,致力于将ML能力引入到微控制器设备。TinyML由机器学习体系结构、技术、工具和方法组成,能够在以电池驱动设备为主的低功率目标设备上对各种传感模式(视觉、音频、运动、化学和其他)执行分析。TinyML的创始人之一Evgeni Gousev认为:“我们正处于数字转型革命中,TinyML以低成本执行设备上的机器智能和分析,并结合固有的隐私功能,提供了极大的节能优势。”

TinyML将在许多行业普及,它将影响包括:零售、医疗保健、交通、健康、农业、健身和制造业等几乎每一个行业。与此同时,行业的参与者很快就认识到了TinyML的价值,并迅速采取行动创建了一个支持性的生态系统。

Arm是TinyML的坚定支持者,同时也是TinyML技术的领导者。随着超过1800亿基于Arm的芯片的出货,其IP、工具和1100多个软件合作伙伴已经构建了数十亿微型智能IoT设备。

如今,Arm®Cortex®-M系列MCU已经成为TinyML应用最广泛的平台,它们能够快速高效地执行实时计算,价格便宜,可靠性高,响应速度快,且耗电很少。Cortex-M55处理器是Arm最具AI能力的Cortex-M处理器,它提供了增强、节能的DSP和ML性能。Ethos-U55 NPU是一种新的ML处理器,称为microNPU,专门设计用于在面积受限的嵌入式和物联网设备中加速ML推理。Ethos-U55与支持AI的Cortex-M55处理器相结合,使ML性能比现有基于Cortex-M的系统提高了480倍。

事实上,在2021年初,Raspberry Pi(树莓派)就发布了第一块微控制器板,这是市场上价格最实惠的开发板之一,售价仅为4美元。这款名为Raspberry Pi Pico,基于RP2040 MCU,内置功能强大的双核Cortex-M0+处理器,能够运行TensorFlow Lite Micro,很快我们就能看到该板的各种TinyML用例。

对于淹没在海量数据中的决策者来说,TinyML好比是一个救星,它将边缘的数据充分利用起来,使人们能够更快地获取正确的信息。此外,TinyML还通过在设备上处理数据并只传输关键信息来改善了人们普遍担忧的隐私问题。

接下来,我们将看到一个拥有数万亿智能设备的新世界,这些智能设备有TinyML技术的支持,能够感知、分析和自主行动,并将为我们创造一个更健康、更可持续的环境。

该发布文章为贸泽独家原创文章,转载请注明来源。

来源:贸泽电子
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 206

意法半导体STM32Cube.AI开发环境为用户提供各种机器学习技术,为他们尽可能高效地解决分类、聚类和新颖性检测三种算法挑战提供更多灵活性。

“意法半导体STM32Cube.AI生态系统加强对高效机器学习的支持"

除了能够在STM32*微控制器(MCU)上开发用于边缘推理的神经网络外,最新的STM32Cube.AI版本(7.0版)还支持新的监督和半监督方法,这些方法可以处理更小的数据集和更少的CPU周期。其中包括孤立森林异常检测(iForest)和单类支持向量机(OC-SVM)新颖性检测,以及K-means和SVM分类器算法,现在,用户无需人工写代码就能实现这些算法。

除神经网络之外,这些经典机器学习算法让开发人员通过易于使用的技术在STM32微控制器上转换、验证和部署各种学习模型,缩短研发周期,更快地解决人工智能开发挑战。

STM32Cube.AI允许开发人员将机器学习处理任务从云端转移到基于STM32的边缘设备,以减少延迟、节约能源、提高云利用率,并通过大限度地减少互联网上的数据交换来保护隐私。现在,用户使用STM32 MCU具有额外的灵活性,可以选择高效的机器学习技术进行设备上分析,是长期在线使用案例和智能电池供电应用的理想之选。

关于意法半导体

意法半导体拥有46,000名半导体技术的创造者和创新者,掌握半导体供应链和先进的制造设备。作为一家独立的半导体设备制造商,意法半导体与十万余客户、数千名合作伙伴一起研发产品和解决方案,共同构建生态系统,帮助他们更好地应对各种挑战和新机遇,满足世界对可持续发展的更高需求。意法半导体的技术让人们的出行更智能,电力和能源管理更高效,物联网和5G技术应用更广泛。

来源:意法半导体
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 33
  • 机器学习技术可分类处理运动数据,提高运动跟踪精度
  • 嵌入式智能和其它强化功能大幅降低功耗,延长智能手机、穿戴设备和游戏控制器的电池续航时间

横跨多重电子应用领域的全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)在其先进的惯性传感器内集成机器学习技术,提高手机和穿戴设备的运动跟踪性能和电池续航能力。

LSM6DSOX iNEMO™传感器内部集成一个机器学习内核,可根据已知运动模式对运动数据进行分类处理,接替主处理器处理运动跟踪的第一阶段任务,这种方法可以节能降耗,加快健身记录、健康监测、个人导航、跌倒检测应用等运动类应用程序的运行速度。

意法半导体模拟、MEMS和传感器产品部副总裁Andrea Onetti表示:“机器学习已大范围用于社交媒体、金融建模或自动驾驶等应用以提高模式识别的速度和效率,LSM6DSOX运动传感器集成了机器学习功能,可增强智能手机和穿戴设备的运动跟踪性能。”

配备意法半导体LSM6DSOX的设备可以为用户带来便利、响应迅速的“永远开启”的使用体验,且对电池续航时间没有任何影响。LSM6DSOX集成于传统传感器相比,增添了更大的内存空间,并配备最先进的高速I3C数字接口,使得传感器与主控制器的交互间隔更长,连接时间更短,节能省电效果更好。

该传感器易于集成到主流移动平台(例如:Android和iOS)上,可简化消费、医疗和工业智能设备使用流程。

LSM6DSOX现已量产上市。

更多技术信息:

LSM6DSOX包含一个3D MEMS加速度计和3D MEMS陀螺仪,并使用机器学习内核跟踪复杂的运动,典型工作电流仅为0.55mA,电池负载得到大幅降低。

机器学习内核与传感器集成的有限状态机逻辑协同工作,执行运动模式识别或振动检测功能。使用LSM6DSOX创建运动跟踪产品,需要用开源PC应用程序Weka对机器学习内核进行决策树分类培训,从样本数据生成设置参数和限值,例如,用于表征被检测运动类型的加速度、速度和磁倾角。

因为支持自由落体检测、唤醒、6D / 4D方向检测、单击和双击中断,LSM6DSOX可用于运动跟踪外的其它的多种应用,例如,用户界面管理和笔记本电脑保护。辅助输出和配置选项还简化其光学防抖(OIS)应用。

围观 457
订阅 RSS - 机器学习