0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

借助 Edge Impulse 实现 AI 开发的民主化

悬崖勒马2 来源:Michael Parks 作者:Michael Parks 2022-12-30 09:40 次阅读

民主化 AI 开发 Edge Impulse:Edge Impulse 101

加拿大哲学家马歇尔·麦克卢汉 (Marshall McLuhan) 曾说过:“我们成为我们所看到的。我们塑造我们的工具,然后我们的工具塑造我们。” 如果是这样,那么人工智能 (AI) 的最独特之处在于我们看到的对象是我们自己,特别是我们的大脑。如果这是真的,那么看看人工智能这个工具将如何递归地塑造我们自己和我们的未来将会很有趣。开发工具的民主化使我们能够创建具有基于 AI 功能的对象,这对于为人类建设光明、积极的未来至关重要。一家名为 Edge Impulse 的公司正在尽自己的一份力量来确保这一点。

对于我们这些嵌入式系统开发人员来说,向神经网络的范式转变可能令人望而生畏,他们是在过程甚至面向对象编程的全盛时期开始学习的。对于一些人来说,这感觉就像是放弃了对设计的一点绝对控制,而放弃了表面上似乎未经证实的东西,即使不是彻头彻尾的魔法。尽管如此,边缘机器学习的前景(意味着将 AI 算法从云端转移到数十亿物联网设备中的微控制器上)仍然很有吸引力,不容忽视。幸运的是,Edge Impulse 为嵌入式系统工程师提供了一条非常简单且有据可查的前进道路,以帮助他们成功驾驭 AI、机器学习和神经网络 (NN) 等相对较新的领域。

有可能在嵌入式设计的某个时刻,工程师会绘制流程图以了解机器在其运行生命周期中所处的各种状态。为此,了解使用 Edge Impulse 为独特的嵌入式应用程序开发定制神经网络时将遇到的步骤是有益的。下面从嵌入式电子工程师和人工智能专业的计算机科学家的角度总结了这些步骤。

第一步:获取训练数据

神经网络的开发需要访问数据。很多很多的数据。简而言之,数据越多,未来的 NN 模型在根据实际操作预测输出时就会越准确。Edge Impulse 提供了多种易于使用的工具来将数据从现实世界获取到他们的服务器以开发自定义神经网络。首先,它们为许多流行的开发板(例如TI CC1352P Launchpad、SiLabs Thunderboard Sense 2和Arduino Portenta )提供预构建固件) 可以访问各种板载传感器并将数据流发送回 Edge Impulse。对于其他主板,Edge Impulse 在其命令行界面 (CLI) 工具集的保护下提供了一套工具,可用于 Mac OS、Windows 和 Linux 发行版 Ubuntu 和 Raspbian。CLI 需要在您的桌面上安装 Python3Node.js。CLI 的三个关键工具是:

艾达蒙

冲动上传者

数据转发器

这些工具对于从缺乏直接互联网连接的开发板获取传感器数据特别有用。它们充当代理,通过串行端口接收数据,并通过主机互联网连接将其转发到 Edge Impulse 服务器。Edge Impulse 还提供了一种基于浏览器的机制来从智能手机收集数据(例如语音样本或加速度计数据)。

从实际角度出发,仔细考虑您的嵌入式设备在运行过程中可能遇到的所有状态。例如,在最近的一个涉及工业机械和根据加速度计数据识别机器故障的项目中,开发团队在数据按预期负载运行时以及处于故障模式时收集了大量数据。但最初,它在机器空闲时无法收集数据。结果,第一个 NN 模型难以区分故障和空转。最后,使用机器空闲时收集的数据对神经网络进行再训练,模型的预测准确性(例如,神经网络性能)显着提高。底线是,如果房地产是关于位置、位置、还是位置的话。那么机器学习就是数据、数据、数据。

第 2 步:标记和分块原始数据

一旦训练数据位于 Edge Impulse 服务器上,训练 NN 模型(也称为“Impulse”)的其余工作将通过 Web 浏览器在 Edge Impulse 网站上进行。首先,我们收集的数据集必须标有每个特定数据集代表的输出状态。这是通过简单地编辑收集的每个单独数据集的“标签”标签来实现的。使用上述工业机械示例,三分之一的数据被标记为“故障”,另外三分之一被标记为“正常”,最后三分之一被标记为“空闲”。回想一下神经网络的输出不是绝对的;相反,它是每个可能结果的确定性百分比。

对于时间序列数据(例如随时间收集的加速度计读数),有必要将每个数据集中的数据“分块”。像所有好的解决问题的技巧一样,将问题分解成更小、更易于管理的块可以让人们解决看似无法克服的问题。在 NN 训练的这个初始阶段,您可以调整数据分析方式的一些属性,包括窗口大小、窗口增加、采样频率以及数据是否应该被零填充。此外,可以调整这些不同的属性以平衡分析的分辨率与完成分析的时间之间的权衡。

第 3 步:分析和转换原始数据块

在数据被适当地分块后,是时候通过应用适当的分析威廉希尔官方网站 (例如“处理块”)来分析它了。这会获取原始数据并将其转换为训练过程中下游 NN 分类器可以使用的格式。Edge Impulse 根据要分析的数据类型提供多种不同的分析威廉希尔官方网站 。

频谱分析:非常适合分析重复运动,例如来自加速度计的数据。提取信号随时间变化的频率和功率特性。

Flatten:将轴展平为单个值,与其他块结合使用可用于温度数据等缓慢移动的平均值。

Mel-Filterbank Energy (MFE):从非语音音频信号中提取频谱图。

Mel 频率倒谱系数 (MFCC):从人声音频文件中提取频谱图。

图像:用于识别静态图像中的对象。

自定义处理块:对于那些具有基于人工智能的计算机科学背景的人,还可以上传为您的特定应用量身定制的自定义处理块

第 4 步:对数据块进行分类,运行 NN 分类器

一旦我们将原始数据转换为可用格式并了解如何从我们的数据集中提取特征,就有必要训练神经网络从这些特征中学习,以便它可以适当地对测试和操作数据集进行分类。换句话说,所有表示系统故障的数据集都应归类为此类。同样,所有代表正常操作的数据集都应该进行类似的分类。这是通过应用所谓的学习块来实现的。与处理块一样,可以根据数据类型应用各种学习块。例如,对于快速波动的时变数据,例如我们示例中的数据集,可以使用以下学习模块:

分类 (Keras):从数据中学习模式并将其应用于新数据。非常适合对运动进行分类或识别音频。

异常检测(K 均值):在新数据中查找异常值。有利于识别未知状态和补充分类器。

回归 (Keras):从数据中学习模式并将其应用于新数据。非常适合预测连续数值。

可以调整信号处理算法的各种参数以微调学习块的性能。通过调整截止频率和快速傅里叶变换 (FFT) 长度等参数,可以在处理时间和随机存取存储器 (RAM) 使用峰值之间取得平衡。Edge Impulse 甚至提供在目标嵌入式平台上运行时处理时间和 RAM 使用情况的性能估计。

最后,在最终生成神经网络模型(又名脉冲)本身之前,可以更改用于控制 NN 分类器输出的设置。可以调整的参数包括训练周期数、学习率、验证集大小以及输入层和输出层之间网络中间层的神经元数。改变这些参数的能力对于防止称为过度拟合的常见数据科学问题至关重要,这种问题发生在模型与训练数据完美配合但在暴露于新数据时却惨败。

第 5 步:测试神经网络模型

对于机器学习算法的开发人员来说,过度拟合并不是一个不常见的问题。为确保模型足够通用,有必要根据独立测试数据测试 Edge Impulse 生成的神经网络。Edge Impulse 提供的用于收集训练数据的相同威廉希尔官方网站 可用于收集测试数据。除了对先前记录的测试数据进行分类外,还可以从测试设备流式传输数据并在 Edge Impulse 服务器上进行实时分类。设计人员可以使用由 Edge Impulse 应用程序编程接口 (API) 提供支持的固件中的直接连接或数据转发器代理将数据从传感器获取到云端。

第 6 步:部署神经网络模型

在神经网络针对训练数据取得令人满意的结果后,是时候将 NN 模型打包到一个软件库中,该软件库可以部署在基于微控制器的系统上。Edge Impulse 使这个过程变得非常简单。首先,模型可以置于版本控制之下,以便在需要时可以将未来的改进与过去的模型进行比较。接下来,该模型可以变成各种嵌入式系统开发板的“交钥匙”固件。

对于Edge Impulse不直接支持的开发板,仍然可以生成通用库,包括基于C++、Arduino、WebAssembly、TensorRT、STM32Cube.MX CMSIS-PACK等系统架构的模型文件。在生成库或固件之前,还可以运行优化器以实现速度或内存使用优化,具体取决于运行 NN 模型(又名脉冲)的硬件规格。此外,基于作为 8 位整数或 32 位浮点数发送的传感器数据的脉冲也是可能的。

由于 Edge Impulse 还提供基于 C++、GoLang、Node.js 和 Python 的软件开发工具包 (SDK),Impulses 也可以在运行 Linux 操作系统的嵌入式系统上运行。也可以使用 C++ 库在 Windows 和 macOS 上运行脉冲。

最后,impulse 可以直接部署到智能手机上,无需在目标设备上安装任何额外的应用程序。

概括

对于那些希望将 AI 威廉希尔官方网站 集成到他们的下一个嵌入式系统项目中的人来说,浏览 Edge Impulse 的文档和论坛是开始了解边缘 ML 的一种免费且简单的方法。一个有限的免费版本可用于测试 Edge Impulse 生态系统。免费层的主要限制是单个开发人员的汗水访问、最长 20 分钟的处理时间以及 4GB 或 4 小时数据的云存储限制。此外,还提供企业版,按项目付费,这消除了免费层的限制,并提供对私有云和每个项目五个席位的访问。

Michael Parks, PE 是 Green Shoe Garage 的联合创始人,Green Shoe Garage 是一家位于马里兰州西部的定制电子设计工作室和嵌入式安全研究公司。他制作了 Gears of Resistance 播客,以帮助提高公众对威廉希尔官方网站 和科学问题的认识。Michael 还是马里兰州的持证专业工程师,并拥有约翰霍普金斯大学的系统工程硕士学位。

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2550

    文章

    51064

    浏览量

    753290
  • 神经网络
    +关注

    关注

    42

    文章

    4771

    浏览量

    100742
  • 数据
    +关注

    关注

    8

    文章

    7014

    浏览量

    88984
  • AI
    AI
    +关注

    关注

    87

    文章

    30818

    浏览量

    268969
收藏 人收藏

    评论

    相关推荐

    贸泽开售适用于AI和机器学习应用的 AMD Versal AI Edge VEK280评估套件

    2024 年 11 月 19 日 – 专注于引入新品的全球电子元器件和工业自动产品授权代理商贸泽电子 (Mouser Electronics) 即日起供应AMD全新Versal™ AI Edge
    发表于 11-21 14:23 109次阅读

    在设备上利用AI Edge Torch生成式API部署自定义大语言模型

    使用 TFLite 运行时的设备上实现高性能的 PyTorch 模型推理。 AI Edge Torch 生成式 API 使开发者能够在设备上引入强大的新功能,例如摘要生成、内容生
    的头像 发表于 11-14 10:23 426次阅读
    在设备上利用<b class='flag-5'>AI</b> <b class='flag-5'>Edge</b> Torch生成式API部署自定义大语言模型

    自动AI开发平台功能介绍

    自动AI开发平台集成了多种算法、工具和框架,旨在帮助开发者更快速、高效地设计、训练、部署和管理AI模型。以下,
    的头像 发表于 11-14 09:29 212次阅读

    AI破解个性客服难题

    一文汇集多个行业借助 AI 实现的个性客服实践
    的头像 发表于 10-25 09:06 1878次阅读
    以<b class='flag-5'>AI</b>破解个性<b class='flag-5'>化</b>客服难题

    使用TI Edge AI Studio和AM62A进行基于视觉AI的缺陷检测

    电子发烧友网站提供《使用TI Edge AI Studio和AM62A进行基于视觉AI的缺陷检测.pdf》资料免费下载
    发表于 09-03 10:38 0次下载
    使用TI <b class='flag-5'>Edge</b> <b class='flag-5'>AI</b> Studio和AM62A进行基于视觉<b class='flag-5'>AI</b>的缺陷检测

    Edge AI工控机的定义、挑选考量与常见应用

    何谓Edge AI  在传统的AI部署方式中,边缘端的数据会集中到一台具备强大运算能力的服务器上,由这台服务器进行相关的模型训练和预测。为了让来自不同地点的使用者能够存取并使用这些AI
    的头像 发表于 08-14 10:51 417次阅读

    Automation Anywhere推出全新系统

    第二代GenAI Process Models和新的AI Studio可实现民主化AI Agent创建、快速自动化开发和3倍更快的价值
    的头像 发表于 07-12 17:47 538次阅读

    凌华智能推出全新AI 边缘服务器MEC-AI7400 (AI Edge Server)系列

    智能制造应用产品系列:凌华智能的AI 边缘服务器 MEC-AI7400 (AI Edge Server )专为智能制造设计,驱动AI革新数字
    的头像 发表于 07-12 16:35 684次阅读

    意法半导体ST Edge AI Suite人工智能开发套件上线

    边缘人工智能进一步缩短了智能和决策能力与数据源之间的距离,是企业在当今的互联网时代实现产品智能的关键威廉希尔官方网站 。2023年年底,意法半导体ST Edge AI Suite人工智能
    的头像 发表于 07-04 10:52 805次阅读

    如何借助数字威廉希尔官方网站 实现PMC管理的升级与转型?

    随着数字威廉希尔官方网站 的飞速发展,传统的管理模式正面临着前所未有的挑战与机遇。特别是对于产品物料控制(PMC)这一关键领域,如何借助数字威廉希尔官方网站 实现管理的升级与转型,已成为企业提升竞争力、降低成
    的头像 发表于 06-27 09:48 417次阅读

    开发者手机 AI - 目标识别 demo

    功能简介 该应用是在Openharmony 4.0系统上开发的一个目标识别的AI应用,旨在从上到下打通Openharmony AI子系统,展示Openharmony系统的AI能力,并为
    发表于 04-11 16:14

    如何借助AI实现1万亿晶体管GPU

    人工智能成为所有人类事业的数字助手,拥有着巨大的机遇。ChatGPT是人工智能如何使高性能计算的使用民主化、为社会中的每个人带来好处的一个很好的例子。
    发表于 04-02 17:07 180次阅读
    如何<b class='flag-5'>借助</b><b class='flag-5'>AI</b><b class='flag-5'>实现</b>1万亿晶体管GPU

    Edge Impulse发布新工具,助 NVIDIA 模型大规模部署

    借助 Edge Impulse 和 NVIDIA TAO 工具包的协同效应,工程师得以快速构建并部署至边缘优化硬件(如上述型号)的计算机视觉模型。该平台还支持用户运用经由 GPU 优化的 NVIDIA TAO 模型(如 YOLO
    的头像 发表于 03-25 16:00 745次阅读

    【ALINX 威廉希尔官方网站 分享】AMD Versal AI Edge 自适应计算加速平台之 Versal 介绍(2)

    【ALINX 威廉希尔官方网站 分享】AMD Versal AI Edge 自适应计算加速平台之 Versal 介绍,以及Versal 芯片开发流程的简介。
    的头像 发表于 03-07 16:03 1028次阅读
    【ALINX 威廉希尔官方网站
分享】AMD Versal <b class='flag-5'>AI</b> <b class='flag-5'>Edge</b> 自适应计算加速平台之 Versal 介绍(2)

    借助AI识别网关实现高空坠物监测预警

    高空坠物危害着民众的人身财产安全,无论哪种类型的高空坠物,都可以借助AI智能网关搭建坠物识别监测预警系统,实现对坠物的智能、实时、精准的感知、追踪以及预警防范,减少民众人身财产损失。
    的头像 发表于 01-09 17:48 518次阅读
    <b class='flag-5'>借助</b><b class='flag-5'>AI</b>识别网关<b class='flag-5'>实现</b>高空坠物监测预警