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

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

3天内不再提示

由人工智能在最远的边缘实现更智能的物联网端点

星星科技指导员 来源:嵌入式计算设计 作者:Chris Shore 2022-10-13 15:14 次阅读

新的互联网是物联网IoT),它完全是关于数据的 - 以在物联网之前根本无法想象的规模生成和处理。现在,通过将AI应用于这些数据,我们可以显着改善见解。人工智能现在可以识别伦敦水网的泄漏,因此工程师可以精确地更换管道。它可以衡量在高峰时段使用东京涩谷口口的人如何影响交通流量。它可以衡量纽约人对时代广场新广告的反应。三个例子,三个行业 - 公用事业,物流和营销 - 都得到了人工智能的增强。

目前物联网整理的数据量已经很大,但它将变得更大、更有趣。2019年2月,Gartner表示,组织中人工智能的采用率逐年增加了两倍。对于工程师和工程公司来说,设备网络智能化的提高意味着我们可以开始实现物联网的真正潜力。

人工智能在工业物联网(IIoT)中最有用的地方

AI正迅速成为主流计算资源可以处理的任务;我们已经有了人工智能,以机器学习(ML)推理的形式,在哮喘吸入器等单传感器设备上运行。我们可以直接在智能手机上访问AI驱动的照片增强功能,然后在高级车辆中运行计算机视觉应用程序。所有这些都已经在改善人们的生活,但我认为我们将在工业应用中看到最直接的商业价值。

在工业环境中,任何可以提高生产率的技术都是有价值的,并且操作数据通常用于提供对机器及其当前状况的见解。工业传感器生成的数据包含模式,通过日益复杂的分析,可以帮助预测资产何时会发生故障,从而在故障对生产率产生更大的整体影响之前对其进行修复。预测和预防性分析的这一分支以前已经在大型服务器和“云”中进行,但AI和ML的发展意味着它现在正在向网络边缘靠拢。事实上,它被直接放入构成IIoT的机器中。

边缘机器学习

ML处理走向边缘的原因有很多。第一个是最简单的接受:边缘是创建数据的地方。不过,还有其他更关键的原因;最值得注意的是,数据在移动带宽和处理指令周期方面都消耗资源。如果通过物联网生成的所有数据都由服务器处理,它将涉及大量的网络流量和服务器功率的指数级增长。这正是谷歌等公司正在精简其一些算法的原因 - 因此它们可以独立于云,在边缘AI驱动的设备上运行。

正如在边缘设备中嵌入 HTML 服务器现在已司空见惯一样,在端点(如传感器)中执行 ML 也是可行的。但是,ML在边缘的实现方式至关重要,它遵循分布式处理的概念。训练AI算法所需的处理资源相当可观,但它实际上是一种非经常性费用。执行推理模型所需的资源更为有限,但在数量上可以消耗与训练阶段一样多(如果不是更多)的处理资源。它们的不同之处在于,与训练不同,每个推理实例都可以与所有其他实例隔离打包和执行,这意味着它可以很容易地移植到较小的处理资源中,并根据需要多次复制。

这种分布式智能是新互联网的形态,如有必要,它可以再次孤立地运行,同时仍然是整体的一部分。边缘处理消除了在日益拥挤的网络中传递数据的需要,并消耗了越来越宝贵的处理资源。

面向机器学习的架构

训练完成后,AI 框架将提供部署路径。对于部署在边缘的资源受限设备,这包括张量流精简版和 Caffe2 等设备。这些和其他此类平台通常是开源的,并且通常带有“入门”介绍;已经过训练以提供某种形式的推理的模型。这些模型还可以使用自定义数据集进行重新训练,该过程称为迁移学习,可以节省数小时的处理时间。

为了在不同的处理架构之间移植,模型通常通过解释器运行,并由主机软件使用API访问。由于模型经过优化,因此整个实现可以适应 100 KB 的低内存。

有许多例子说明ML如何在网络边缘,网络边缘或附近运行,其中许多将运行基于Linux操作系统。这些基于 CPU 的 ML 解决方案使用本质上是通用的微处理器,而不是台式计算机中常见的耗电量大且通常面向 GPU 的大型设备。GPU具有高度并行的执行模块,并利用多个MAC单元,旨在尽可能快地执行重复的,面向数学的操作,而很少考虑功耗。它们通常难以编程,需要高水平的功率,并且通常不适合资源受限的边缘设备。

TensorFlow Lite设计用于在较小的处理器上运行一些TensorFlow模型,并提供预训练的模型,可以提供各种类型的ML,包括图像分类,对象检测和分割。这三种类型的模型的工作方式略有不同:图像分类适用于整个图像,而对象检测将图像分解为矩形,但分割进一步查看每个单独的像素。要在 TensorFlow 精简版部署中使用经过训练的张量流模型,需要转换这些模型,这可以通过可选的优化来减小文件大小。该转换器可用作 Python 的 API,下面的代码示例演示了如何使用它。

导入张量流作为 tf

转换器 = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)

tflite_model = converter.convert()

打开(“converted_model.tflite”,“wb”)。写入(tflite_model)

在标准处理器上运行ML意味着开发人员还可以利用基于行业标准语言(如Python)的简单软件解决方案。在某些情况下,这些处理器可能具有DSP扩展,这些扩展可用于加速部分数据流,但本质上通用处理器可以处理在较小设备中运行ML所需的处理级别,同时仍然处理通用应用程序代码

CPU主导的AI已经普遍用于智能手机,例如用于识别照片中的特定特征。在工业应用中也是如此,基于多核处理器(如恩智浦 i.MX 系列)的片上系统(SoC)解决方案通常用于将ML投入工业过程。这包括机器视觉系统,该系统可以在制造过程中识别特定产品。这些 SoC 和其他类似 SoC 是当今如何部署 ML 的完美示例。

超越地平线

虽然CPU或MCU主导的AI现在已经司空见惯,但我们已经期待设备网络最远的边缘,其中尺寸,功耗和成本要求受到超高限制。这就是最新版本的TensorFlow的用武之地:张量流精简版微软,或称为TF精简微,是框架的一个版本,它被设计为在可能没有操作系统的微控制器上运行,而不是运行Linux的微处理器。代码和模型加在一起只需要45KB的闪存,只需要30KB的RAM即可运行。这是在最远的边缘的推断,在设备中完全自主运行,无需任何其他软件的帮助,或者同样重要的是,没有其他硬件的帮助。

使用 TF 精简版的过程类似于使用张量流精简版,但附加步骤是编写深度嵌入的代码来运行推理。除了在代码中包含相关的.h文件外,主要步骤还包括:添加代码以允许模型写入日志;实例化模型;为输入分配内存;输出和中间数组;实例化解释器;验证输入形状,实际运行模型并获取输出。下面的代码片段是如何获取输出的示例。

TfLiteTensor* output = interpreter.output(0);

uint8_t top_category_score = 0;

int top_category_index;

for (int category_index = 0; category_index 《 kCategoryCount;

++category_index) {

const uint8_t category_score = output-》data.uint8[category_index];

if (category_score 》 top_category_score) {

top_category_score = category_score;

top_category_index = category_index;

}

}

为了在微控制器上支持 ML,Arm 开发了 CMSIS-NN 软件库,这是处理神经网络的 Cortex 微控制器软件接口标准 (CMSIS) 的一部分。通过量化,将浮点数减少到整数(这一过程已被证明很少或没有精度损失),CMSIS-NN帮助开发人员将模型映射到微控制器的有限资源。

超高效的 ML 框架(如 TF 精简版微处理器)以及 CMSIS-NN 使得使用在超低功耗微控制器上运行的 ML 成为可能。这显然有许多可能的应用,但一个非常适用于始终在线系统的场景是,系统的大部分保持深度睡眠模式,直到特定条件使其栩栩如生,例如唤醒词。我们可以将其视为一种新型的中断服务例程,它使用智能来决定芯片/系统的其余部分何时需要参与。这清楚地表明了超低功耗ML功能在边缘产生巨大影响的潜力。

展望未来,专注于边缘推理需求的技术开发将使高度响应和功能强大的ML模型能够在更低的功率水平下运行。例如,Arm 为 Armv8-M 架构开发了新的矢量扩展,称为氦。这是 Arm Cortex-M 处理器的最新发展,当 Armv8-M 架构于 2015 年推出时,它获得了 Arm TrustZone 在安全性方面的优势。氦矢量扩展的开发将把类似NEON的处理能力与信任区的安全性结合起来。氦矢量扩展还将为Cortex-M级微控制器提供显着的性能提升,这将有助于实现许多新应用,在边缘具有更灵敏,更准确的ML。氦气将使Cortex-M设备的ML提高多达15倍,信号处理将提高多达5倍。

poYBAGNHuxGAFmx-AAFHcgYV-1E192.png

图 4:氦气将加速信号处理和机器学习算法。

对于开发人员来说同样重要的是,这意味着他们将可以在用于其他基于微控制器的开发中使用的相同工具链中访问ML。集成功能,如识别异常振动、意外噪音或警报图像,将隐含在控制代码中,从而简化将ML置于边缘的整个过程。

机器学习远非“为了技术而技术”,由于对响应更快,更强大的控制系统的需求正在增加,这些系统不依赖于云服务,并且与物联网保持始终在线的连接。

如果物联网要扩展到我们现在意识到的数万亿台设备来满足不断增长的期望,那么在边缘使用推理来限制在日益拥挤的网络上传输的数据量将是必不可少的。

审核编辑:郭婷

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

    关注

    2897

    文章

    43609

    浏览量

    368058
  • 人工智能
    +关注

    关注

    1788

    文章

    46159

    浏览量

    235920
  • IOT
    IOT
    +关注

    关注

    186

    文章

    4121

    浏览量

    195392
收藏 人收藏

    评论

    相关推荐

    risc-v在人工智能图像处理应用前景分析

    人工智能推荐系统中强大的图形处理器(GPU)一争高下。其独特的设计使得该处理器在功耗受限的条件下仍能实现高性能的图像处理任务。 Ceremorphic公司 :该公司开发的分层学习处理器结合了
    发表于 09-28 11:00

    生成式人工智能在教育中的应用

    生成式人工智能在教育中的应用日益广泛,为教育领域带来了诸多变革和创新。以下是对生成式人工智能在教育中的几个主要应用方面的详细阐述:
    的头像 发表于 09-16 16:07 192次阅读

    人工智能ai4s试读申请

    目前人工智能在绘画对话等大模型领域应用广阔,ai4s也是方兴未艾。但是如何有效利用ai4s工具助力科研是个需要研究的课题,本书对ai4s基本原理和原则,方法进行描诉,有利于总结经验,拟按照要求准备相关体会材料。看能否有助于入门和提高ss
    发表于 09-09 15:36

    【书籍评测活动NO.44】AI for Science:人工智能驱动科学创新

    了在材料基因组工程的推动下,人工智能如何与材料科学结合,加快传统材料和新型材料的开发过程。 第4章介绍了人工智能在加快药物研发、辅助基因研究方面及在合成生物学中的普遍应用。 第5章介绍了人工智能如何在
    发表于 09-09 13:54

    FPGA在人工智能中的应用有哪些?

    FPGA(现场可编程门阵列)在人工智能领域的应用非常广泛,主要体现在以下几个方面: 一、深度学习加速 训练和推理过程加速:FPGA可以用来加速深度学习的训练和推理过程。由于其高并行性和低延迟特性
    发表于 07-29 17:05

    人工智能在军事方面的应用

    智慧华盛恒辉人工智能在军事方面的应用广泛且深入,主要包括以下几个方面: 智慧华盛恒辉一、作战效能提升 自动目标识别与跟踪: 人工智能系统能够在复杂环境中准确识别和跟踪目标,提高作战效率。利用图像识别
    的头像 发表于 07-16 09:52 269次阅读

    5G智能联网课程之Aidlux下人工智能开发(SC171开发套件V2)

    5G智能联网课程之Aidlux下人工智能开发(SC171开发套件V2) 课程类别 课程名称 视频课程时长 视频课程链接 课件链接 人工智能
    发表于 05-10 16:46

    5G智能联网课程之Aidlux下人工智能开发(SC171开发套件V1)

    ://t.elecfans.com/v/25653.html 人工智能 初学者完整学习流程实现手写数字识别案例 28分55秒 https://t.elecfans.com/v/27184.html
    发表于 04-01 10:40

    创龙教仪基于瑞芯微3568的ARM Cortex A-55教学实验箱 适用于人工智能 传感器 联网等领域

    界面。 适用于嵌入式系统、联网、无线传感器、人工智能等教学领域。 实验板硬件参数 配套模块 软件资源
    发表于 03-22 14:29

    嵌入式人工智能的就业方向有哪些?

    联网ARM开发 NB-IoT开发及实战 七:python工程师,人工智能工程师 python语法基础 python核心编程 基于OpenCV的机器视觉开发 嵌入式人工智能渗入生活的方方面面,广泛应用
    发表于 02-26 10:17

    人工智能在软件测试中的应用

    测试中的应用。 人工智能在软件测试中的应用可以有效地提高测试的效率和准确性。通过机器学习、自然语言处理、模式识别等人工智能技术,测试工具可以自动分析软件的代码、性能、功能等各方面指标,并发现其中的缺陷和错误。
    的头像 发表于 12-26 11:02 492次阅读

    人工智能在工业领域的作用

    本文是系列的第一部分,我们将探讨人工智能在工业领域的作用。
    的头像 发表于 12-21 11:07 723次阅读

    十分钟详解边缘计算原理#人工智能 #边缘计算 #联网

    联网边缘计算
    成都华江信息
    发布于 :2023年11月13日 12:59:05

    TDK机器学习解决方案促进边缘人工智能前景大幅扩展

    联网技术的进步为大量设备带来了互联网连接能力。此外,边缘计算的发展如今还为边缘设备提供机器学习*1,将
    的头像 发表于 10-27 12:18 315次阅读
    TDK机器学习解决方案促进<b class='flag-5'>边缘人工智能</b>前景大幅扩展

    联网专业前景怎么样?

    联网专业前景怎么样? 联网专业在当今技术发展迅速的背景下具有广阔的前景。以下是联网专业的
    发表于 10-20 09:48