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

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

3天内不再提示

用于边缘设备上机器学习的安全闪存

星星科技指导员 来源:嵌入式计算设计 作者:Zhi Feng 2022-10-14 14:29 次阅读

最初,云计算及其所有“无限”功能似乎消除了边缘设备具有任何实质性智能的需求。然而,在过去几年中,有一种趋势是在边缘设备中实施人工智能AI)和机器学习(ML),以解决数据传输延迟,隐私和更大的设备自主性等问题。这为在边缘设备中构建嵌入式系统带来了一定的内存要求。本文探讨了适用于边缘设备的某些 ML 方案,以及使其成为可能的非易失性内存要求。

为什么在边缘设备上使用机器学习 (ML)

边缘设备是生成 ML 数据的位置。物联网工业和消费领域的应用从自己的传感器生成大量数据,并且需要能够根据人机界面 (HMI) 的命令快速做出决策。传感器融合技术使获取边缘设备上的数据变得更容易、更快、更准确。HMI使人际互动更加用户友好和适应性强。当然,在ML计算引擎中处理更接近其来源的数据是有意义的。边缘计算永远不会取代云计算;但是,不必将数据传输到云,可以更快地训练机器,并且可以大大减少与云服务器的连接带宽。

广泛的物联网应用程序可以从本地AI处理中受益。图 1 显示了 SensiML 中的一个图表,其中列出了在边缘设备上进行 AI 处理的示例。

pYYBAGNJAd2AUt24AAPEL4uBWdE473.png

图 1:可以从本地 AI 处理中受益的示例应用程序(来源:SensiML)

当然,在边缘设备上实现 ML 肯定存在挑战。例如,边缘设备可能依赖于电池,因此具有有限的能量预算。它们也可能具有有限的计算容量和/或内存空间。然而,现代MCU技术正在使边缘设备上实现这一目标。如图2所示,从Barth Development所做的研究中,在过去的几十年里,我们可以看到,虽然MCU的功耗保持相对平稳,但晶体管的数量、时钟速度、并联内核的数量都在上升。随着更多高性能、低功耗MCU的出现,边缘计算可以帮助构建智能且用户友好的系统。

poYBAGNJAeeAb-UaAAMAcBEs8z8833.png

图2:过去几年的MCU研究(来源:巴特发展)

机器学习的不同方案

一般来说,ML可以分为两大类:监督学习和无监督学习。监督学习是指使用“标记”的数据训练机器,这意味着每个数据样本都包含特征和答案。通过向机器提供这些标记数据,我们正在训练它找到特征和答案之间的相关性。经过培训后,当我们为机器提供一组新功能时,希望它能得出我们期望的正确答案。例如,可以训练设备在其视频源(即摄像机)捕获的图像中查找文本和数字。为了以非常简化的方式描述该过程,通过给定可能包含或不包含文本和数字的图像以及正确答案(即“标签”)来训练设备。训练后,该设备可以在任何给定的新图像中查找文本和数字。

另一方面,无监督学习是指一种方法,其中机器被馈送未“标记”的数据,这意味着每组特征都没有答案。无监督学习的目标是从所有这些数据中找到隐藏的信息,无论是对数据集进行聚类化,还是查找它们之间的关联。无监督学习的一个例子可能是在生产线末端进行质量控制,从所有其他产品中发现异常产品(即异常检测)。设备不会给出“标记”答案来指示哪些产品异常。通过分析每个产品中的特征,该算法会自动从大多数好产品中识别不良产品,因为设备经过训练以查看它们之间的差异。

在本文中,我们将尝试更深入地了解可以部署在边缘设备中的监督学习算法。我们将使用一些简单的数学公式来解释两种学习算法之间的差异。

如上所述,监督学习将标记的数据集馈送到正在训练的设备中。假设每个数据集包含许多特征 x1,x2.。.xn.接下来,为每个特征分配一个系数 q,并记下该函数。这称为假设函数,hq(x):

hq(x) = q0* P1x1* P2x2* P3x3.。. + qnxn

训练机器意味着一组适当的 q (q0- P1- P2, 。.., qn) 被找到,以便假设输出 hq(x)尽可能接近给定的答案(标签)。训练后,当一组新特征 X (x1,x2, 。.., xn)提出时,假设函数将给出基于 q 的最优集合的输出。

查找 q 的一种方法是使用具有梯度下降的线性回归。以下步骤是此方法的简化说明:

1.选择一组初始。..n.然后计算假设与给定答案 Y 之间的差值。这种差异通常称为成本。

2.不断向成本更低的方向发展。每次重新计算成本。重复此步骤,直到成本不再降低。

3.如果成本不再降低,我们已经达到了一个最佳集合,该集合为我们提供了所有给定样品的最低成本。

4.现在,如果给定一组新的X,则此集合可用于预测输出。

梯度下降的名称来自步骤 2 中更改 q 的方法。通过在梯度方向上更新 q,该算法保证它将收敛到最优值。图 3 显示了梯度下降的图形表示,以得到最小成本函数 J(q0- P1)。

poYBAGNJAimAP301AAPDm8OspfU769.png

图 3:梯度下降中的成本函数 J 与参数集 q

如果步骤 2 中的成本计算是对所有给定的数据样本完成的,则该方法称为批量梯度下降。每次更新 q 时,该算法都会计算所有训练数据样本的成本。这种计算方式为如何更改 q 提供了更好的方向。但是,如果给定的训练数据样本集很大,则计算所有样本的成本需要大量的计算能力。此外,系统必须在训练期间存储所有数据样本。

梯度下降的另一种方法是对数据样本的子集执行步骤 2。这种方法称为随机梯度下降。该算法在每次迭代时根据较小的数据样本集更改 q。此方法可能需要更多迭代才能达到最佳 q,但它节省了大量的计算能力和潜在的时间,因为它不需要计算整个数据样本集的成本。

使用随机梯度下降方法,用于计算成本的最小样本数为 1。如果 ML 算法在新数据样本可用时优化 q,我们可以将此 ML 算法视为基于顺序数据样本更新的持续行为。当每个可用的数据样本进入时,算法会计算新的 q。因此,系统在每一步动态更新假设函数。此方法也称为在线梯度下降或在线机器学习。

批量梯度下降与在线机器学习

在批量梯度下降和在线机器学习之间,后者具有适用于边缘设备的某些特征。

1.无限的数据样本

如前所述,边缘设备通常配备传感器或HMI,可以连续提供无穷无尽的数据样本或人类反馈。因此,在线ML算法可以不断从数据变化中学习并改进假设。

2.计算能力

边缘设备通常具有有限的计算能力。对大量数据样本运行批量梯度下降算法可能不切实际。但是,通过一次计算一个数据样本,就像在线ML一样,MCU不必具有巨大的计算能力。

3.非易失性(NV)存储器

Batch 梯度下降算法要求系统存储整个训练集,该训练集必须驻留在非易失性存储中,而在线 ML 算法则一次计算一个传入的数据样本。在线 ML 算法可能会丢弃数据或仅存储一小组样本,以节省非易失性存储。这特别适用于非易失性存储器可能受到限制的边缘设备。

4.适应性

想象一下,在线 ML 算法在边缘设备上执行语音识别。通过新的数据样本不断训练算法,系统可以动态地适应特定的用户和/或口音。

边缘设备上 ML 的非易失性内存要求

除MCU外,非易失性存储器是设计执行ML处理的边缘设备的另一个重要因素。如果MCU为应用软件提供足够的电子闪存,则嵌入式闪存是一个显而易见的选择。然而,随着MCU技术节点的不断缩小,电子闪存变得越来越难以集成。简而言之,应用软件的增长超过了可用的电子闪存。在这种情况下,外部独立NV闪存变得必要。考虑到不同类型NV闪存设备提供的可靠性、读取吞吐量和就地执行功能,NOR闪存通常是边缘系统设计人员的首选。

要为 ML 构建安全可靠的边缘设备,有许多设计注意事项。以下是其中的几个,可帮助设计人员决定使用哪种NV存储器(参见图4)。

1.安全启动

所有嵌入式系统必须安全启动。对于边缘设备,安全启动尤其重要,因为靠近人类访问,因此存在潜在的安全攻击风险。通常,对于使用存储下载 (SnD) 代码模型的设备,启动代码存储在非易失性内存中,并下载到 RAM 中以执行。如果非易失性存储器不安全,黑客很容易替换或修改引导代码以执行恶意操作。因此,将引导代码存储在安全的非易失性存储器中并在引导期间建立信任根是边缘设备非常重要的考虑因素。

2.抗攻击性

鉴于边缘设备的连接性,边缘设备的攻击面无疑是巨大的。即使使用安全启动,黑客也可能试图通过各种攻击方法从设备中窃取智能机密或隐私信息,例如被动监控,主动重放攻击,侧信道攻击等。使用能够抵抗这些攻击的非易失性存储器可以大大降低系统暴露的风险。

3.重要AI参数的安全存储

ML 算法需要存储参数的内存,例如上面提到的参数集。这些参数是使用大量数据样本集运行训练的结果。黑客可能对AI算法本身不感兴趣,但最终结果往往是。如果黑客可以从存储中窃取最终结果,他们就可以在不经过任何训练的情况下模仿AI系统。这些参数(如参数集)直接影响 ML 方案和系统的智能。因此,它们应存储在黑客无意或故意更改的安全存储中。提供这种安全存储能力的非易失性存储器将非常适合需要存储敏感信息的边缘设备。

4.快速吞吐量

虽然边缘设备可能不需要功能强大的MCU来运行广泛的ML算法,但它们可能仍然需要快速访问非易失性存储器,以实现快速安全启动和良好的计算性能。

pYYBAGNJAh6ABGH1AAMKDpkW_JY481.png

图 4:使用机器学习的边缘设备需要非易失性内存,以支持安全启动、抵御恶意攻击、安全存储和快速吞吐量,如此处所示的 Cypress Semper 安全 NOR 闪存。

在边缘设备中实现智能化,使用户数据的处理更接近其来源,这是一种工业趋势。许多AI应用程序可以部署在构建智能和用户友好系统的边缘设备上。其中一种机器学习算法,在线机器学习,不需要广泛的计算能力,对变化有很大的适应性,适用于边缘设备。要在边缘设备上构建智能和安全的系统,用户可以选择非易失性存储器,这些存储器提供信任根功能、安全存储、快速吞吐量和抗恶意攻击能力。

审核编辑:郭婷

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

    关注

    146

    文章

    17141

    浏览量

    351063
  • 机器学习
    +关注

    关注

    66

    文章

    8411

    浏览量

    132594
收藏 人收藏

    评论

    相关推荐

    边缘设备上设计和部署深度神经网络的实用框架

    ‍‍‍‍ 机器学习和深度学习应用程序正越来越多地从云端转移到靠近数据源头的嵌入式设备。随着边缘计算市场的快速扩张,多种因素正在推动
    的头像 发表于 12-20 11:28 99次阅读

    AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV

    、车辆和其他重要元素。 2 基础知识 OpenCV 是一个开源的计算机视觉和机器学习软件库,广泛用于图像处理、视频捕捉、物体检测等领域。一些常用操作及其目的: 读取图片 使用 cv2.imread
    发表于 12-14 09:31

    使用机器学习和NVIDIA Jetson边缘AI和机器人平台打造机器人导盲犬

    Selin Alara Ornek 是一名富有远见的高中生。她使用机器学习和 NVIDIA Jetson 边缘 AI 和机器人平台,为视障人士打造了
    的头像 发表于 11-08 10:05 393次阅读

    边缘计算与边缘设备的关系

    边缘计算与边缘设备之间存在着密切的关系,它们是相互依存、相互促进的。以下是对这两者关系的介绍: 一、定义与功能 边缘计算 边缘计算是一种分布
    的头像 发表于 10-24 14:33 350次阅读

    用于控制边缘设备的工业以太网到IO-link网关

    电子发烧友网站提供《用于控制边缘设备的工业以太网到IO-link网关.pdf》资料免费下载
    发表于 09-03 11:26 0次下载
    <b class='flag-5'>用于</b>控制<b class='flag-5'>边缘</b><b class='flag-5'>设备</b>的工业以太网到IO-link网关

    闪存的哪些扇区可用于用户数据存储?

    有 2 个 ESP8266 模块被砖砌了(无法使用下载工具下载任何应用程序)。 我将非常感谢完整的内存映射和一些示例代码,解释了如何安全地使用板载闪存来存储自定义数据。 目的是让设备配置使用 Web
    发表于 07-12 08:13

    边缘AI网关,将具备更强大的计算和学习能力

    电子发烧友网报道(文/李弯弯)网关又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。   边缘AI网关是指在边缘计算环境
    的头像 发表于 06-06 00:26 3517次阅读

    MCX N系列微控制器适用于安全、智能的电机控制和机器学习应用

    ‍‍ 贸泽电子即日起开售NXP Semiconductors的MCX工业和物联网微控制器 (MCU)。这些新款MCU属于高性能、低功耗微控制器,配备智能外设和加速器,适用于安全、智能的电机控制和机器
    的头像 发表于 06-05 09:06 1078次阅读

    英飞凌收购Imagimob,扩大AI产品,提升边缘设备机器学习

    英飞凌安全互联系统事业部总裁托马斯·罗斯泰克先生表示:“AI和机器学习正在引领各类嵌入式应用,带来全新功能。借助Imagimob出色的研发能力和在边缘
    的头像 发表于 04-29 11:27 353次阅读

    AI边缘盒子助力安全生产相关等场景

    随着科技的迅猛发展和企业对安全生产管理的日益重视,以AI边缘计算为核心的边缘计算设备(内置灵活可配的AI算法库)已经在安全生产等相关场景得到
    的头像 发表于 03-28 15:30 734次阅读
    AI<b class='flag-5'>边缘</b>盒子助力<b class='flag-5'>安全</b>生产相关等场景

    plc边缘网关如何实现PLC设备数据处理?

    随着工业自动化的快速发展,PLC已成为工业自动化领域中不可或缺的核心设备。然而,随着工业物联网的兴起,PLC设备面临着数据集成、远程监控以及安全性等方面的挑战。为了解决这些问题,PLC边缘
    的头像 发表于 03-18 17:21 474次阅读
    plc<b class='flag-5'>边缘</b>网关如何实现PLC<b class='flag-5'>设备</b>数据处理?

    人工智能和机器学习的顶级开发板有哪些?

    机器学习(ML)和人工智能(AI)不再局限于高端服务器或云平台。得益于集成电路(IC)和软件技术的新发展,在微型控制器和微型计算机上实现机器学习算法和深度
    的头像 发表于 02-29 18:59 826次阅读
    人工智能和<b class='flag-5'>机器</b><b class='flag-5'>学习</b>的顶级开发板有哪些?

    英飞凌科技旗下Imagimob可视化Graph UX改变边缘机器学习建模

    。用户现在可以将他们的机器学习(ML)建模流程可视化,并利用各种先进功能更加高效、快速地开发适用于边缘设备的模型。Imagimob
    发表于 02-19 14:08 321次阅读
    英飞凌科技旗下Imagimob可视化Graph UX改变<b class='flag-5'>边缘</b><b class='flag-5'>机器</b><b class='flag-5'>学习</b>建模

    边缘计算盒子护航企业安全生产,边缘设备提高安全生产监管效率

    为助力企业安全生产,实现本地设备智能管理与降本增效“两手抓”,不少智慧工地、煤矿安全、危化品管理等安全生产场景下开始着重部署智能边缘分析
    的头像 发表于 01-04 15:42 390次阅读
    <b class='flag-5'>边缘</b>计算盒子护航企业<b class='flag-5'>安全</b>生产,<b class='flag-5'>边缘</b><b class='flag-5'>设备</b>提高<b class='flag-5'>安全</b>生产监管效率

    边缘计算和边缘智能计算区别

    边缘计算和边缘智能计算是两个相关但不同的概念。边缘计算指的是数据处理和存储在靠近数据源的边缘设备上进行,而不是在远程云服务器上进行。
    的头像 发表于 12-27 15:28 1074次阅读