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 还是马里兰州的持证专业工程师,并拥有约翰霍普金斯大学的系统工程硕士学位。

审核编辑黄宇

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

    关注

    2573

    文章

    54368

    浏览量

    786028
  • 神经网络
    +关注

    关注

    42

    文章

    4827

    浏览量

    106796
  • 数据
    +关注

    关注

    8

    文章

    7314

    浏览量

    93979
  • AI
    AI
    +关注

    关注

    89

    文章

    38091

    浏览量

    296580
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    陶氏化学借助AI技术重塑网络安全

    拥有125年历史的陶氏化学,正借助AI技术重塑网络安全。在与微软的合作中,陶氏将其安全运营中心(CSOC)全面接入智能Microsoft Security Copilot副驾驶(国际版),实现了从
    的头像 发表于 10-10 09:21 642次阅读

    edge impulse的文件存入sd卡,插入sd卡到开发板后openmv中还是显示找不到tflite模型和labels,怎么解决?

    edge impulse的文件存入sd卡,插入sd卡到开发板后openmv中还是显示找不到tflite模型和labels。
    发表于 09-02 07:23

    全球知名品牌借助NVIDIA技术规模交付个性广告

    营销领先者正借助使用 OpenUSD、NVIDIA Omniverse 和代理式 AI 技术开发的解决方案,加速内容创作管线。
    的头像 发表于 08-12 15:15 1030次阅读

    制作团队如何借助NVIDIA RTX AI让创意成真

    艺术家和开发者已经在利用生成式 AI 简化工作、突破创意边界,无论是探索概念、设计虚拟世界还是构建智能应用。借助 RTX AI PC,用户能够将最新、最强大的模型和工具,以及强大的
    的头像 发表于 07-09 16:28 608次阅读

    最新人工智能硬件培训AI基础入门学习课程参考2025版(离线AI语音视觉识别篇)

    视觉开发板开箱即用的离线AI能力,分类列出学习课程知识点和实操参考,希望能够帮助大家快速掌握离线 AI 智能硬件的基础知识与实战技能,同时了解相关AI技术在实际场景的应用情况。正文按入
    发表于 07-04 11:14

    NVIDIA携手诺和诺德借助AI加速药物研发

    打造定制 AI 模型与智能体,用于诺和诺德的早期研究与临床开发工作,并引入先进的仿真与物理 AI 技术。
    的头像 发表于 06-12 15:49 974次阅读

    【「零基础开发AI Agent」阅读体验】+ 入门篇学习

    ,展现出高度的个性 7.AI Agent具备4大能力:规划、记忆、使用工具、行动 8.短期记忆主要用于处理当前任务与上下文;长期记忆主要用于存储更持久的信息。 9.开发AI Agen
    发表于 05-02 09:26

    首创开源架构,天玑AI开发套件让端侧AI模型接入得心应手

    倍,可见天玑的AI开发者解决方案已经被开发者高度认可,天玑AI生态圈正在飞速成长起来。 联发科与OPPO深度合作,共同研发,借助天玑
    发表于 04-13 19:52

    面向AI与机器学习应用的开发平台 AMD/Xilinx Versal™ AI Edge VEK280

    AMD/Xilinx Versal™ AI Edge VEK280评估套件是一款面向AI与机器学习应用的开发平台,专为边缘计算场景优化设计。以下从核心配置、技术特性、应用场景及
    的头像 发表于 04-11 18:33 2027次阅读
    面向<b class='flag-5'>AI</b>与机器学习应用的<b class='flag-5'>开发</b>平台 AMD/Xilinx Versal™ <b class='flag-5'>AI</b> <b class='flag-5'>Edge</b> VEK280

    Edge AI+储能——能源新方向 2025研华储能合伙伙伴会议圆满落幕!

    及合作伙伴参与,共同探讨储能技术创新与产业智能升级路径。   聚焦前沿技术,共话产业未来 会议开场,研华以《 Edge AI创新方案:加速光储充产业智能应用与高效部署 》为题,分享
    发表于 04-02 11:32 354次阅读
    <b class='flag-5'>Edge</b> <b class='flag-5'>AI</b>+储能——能源新方向 2025研华储能合伙伙伴会议圆满落幕!

    研华科技全栈式Edge AI产品助力工业智能升级

    在2025慕尼黑上海电子设备展上,研华展示了其全栈式Edge AI产品,助力工业智能升级。通过边缘计算与AI技术的深度融合,研华赋能智能制造,推动产业创新发展。本文深入解析研华的技术
    的头像 发表于 03-28 17:23 1157次阅读

    在树莓派上设置 DeepSeek R1:2025 年离线人工智能的未来

    媲美ChatGPT的先进推理能力,推动人工智能技术的民主化,使开发者能够在低成本硬件(如RaspberryPi)上部署高性能AI应用,构建去中心、隐私安全的
    的头像 发表于 03-25 09:20 1075次阅读
    在树莓派上设置 DeepSeek R1:2025 年离线人工智能的未来

    ST EDGE AI云服务最后一步无法下载工程是怎么回事?

    ST EDGE AI云服务我选择使用ST提供的模型,使用cube ai 9.0.0,选择STM32板卡。之后就按照文档一步一步操作,基准测试也能运行的到结果(说明云端是生成工程并编译下载到开发
    发表于 03-13 08:17

    高通收购 Edge Impulse,助力 AI 与物联网新局面

    高通宣布与 Edge Impulse 达成收购协议,旨在进一步增强其在人工智能(AI)和物联网(IoT)领域的竞争力。高通表示,此次收购不仅丰富了其物联网战略,还为开发者提供了更为强大
    的头像 发表于 03-11 18:15 684次阅读
    高通收购 <b class='flag-5'>Edge</b> <b class='flag-5'>Impulse</b>,助力 <b class='flag-5'>AI</b> 与物联网新局面

    研华WISE-AI Agent借助DeepSeek引领企业级AI全新范式

    本期导读 研华WISE-AI Agent平台结合DeepSeek大模型,通过Edge AI技术将AI推理能力下沉至边缘设备,助力工业企业实现
    的头像 发表于 02-12 09:42 1500次阅读
    研华WISE-<b class='flag-5'>AI</b> Agent<b class='flag-5'>借助</b>DeepSeek引领企业级<b class='flag-5'>AI</b>全新范式