您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 
 订阅
使用边缘计算的深度学习:回顾
 
作者昵称:librahfacebook
   次浏览      
2022-4-8
 
编辑推荐:
本文回顾了在网络边缘深度学习操作的研究现状,描述了跨终端设备、边缘服务器和云的深度学习推理的方法,该方法利用了DNN模型的独特架构以及在边缘计算中用户请求的地理空间位置。深度学习模型的训练,多个终端设备协作训练一个DNN模型也被描述了,包括进一步增强隐私的技术。
本文来自于CSDN,由火龙果软件Linda编辑、推荐。

边缘计算,将计算节点的精细网格放置于靠近终端设备的位置,是一种可行的方法来满足于在边缘设备上深度学习的高计算和低延迟要求,并在隐私、带宽效率和可伸缩性方面提供额外的好处。本文主要针对于深度学习和边缘计算的交叉进行一个综述,它将提供在网络边缘使用深度学习的应用程序的概述,讨论不同的方法来快速执行跨终端设备、边缘服务器和云结合的深度学习推理,并描述了跨多个边缘设备训练深度学习模型的方法。

一、简介

深度学习的高精度对于其训练和推理阶段,带来了高计算和内存要求的代价,而高精度和高资源消耗是深度学习的特征。为了满足深度学习的计算要求,一个常用的方法是利用云计算,而将数据从源地址传输到云上的解决方案引入了几个挑战:(1)延迟(Latency):传输数据到云上做推理或者训练可能会引发来自网络额外的排队和传播延迟,不可能满足实时性交互应用程序所需要的,严格的端到端和低延迟要求。(2)可伸缩性(Scalability):从源地址发送数据到云上引入了可伸缩性问题,正如当所连接设备的数量增长时,连接到云的网络可能成为一个瓶颈。(3)隐私(Privacy):将数据发送到云可能会引起拥有数据或行为被数据捕获的用户的隐私担忧。

为了解决延迟挑战,边缘计算接近终端设备上的数据源减少了端到端延迟,于是支持实时性服务。为了解决可伸缩性挑战,边缘计算支持终端设备、边缘计算节点和云数据中心的层次结构,可以提供计算资源并根据客户端数量来进行伸缩,避免在一个中心位置的网络瓶颈。为了解决隐私性挑战,边缘计算支持数据在接近源地址来被分析,可能是通过一个本地可信的边缘服务器,于是避免了穿越公众互联网和减少暴露于隐私和安全攻击。

相比较于日益增长的资源受限设备的深度学习工作,边缘计算在跨多个边缘设备共享通信和计算资源方面存在额外的挑战。

二、背景、衡量和框架

深度学习的背景:在深度学习训练中,计算按照相反的顺序进行。给定真实的训练标签集,在各层进行传递来优化各层矩阵乘法的参数,从最后一层开始到第一层结束。该算法通常被称为随机梯度下降。在每次传递中,一个随机选择的"mini-batch"样本被选中,然后被用来在最大程度上减少训练损失的方向下更新梯度。一个通过整个训练数据集的传递过程被称为一个训练迭代。在矩阵乘法中有着大量的参数,导致了许多计算被执行,于是我们在终端设备上可以看到延迟问题。另外一个问题是这里有着很多选择来决定如何设计DNN模型,例如每层的参数数量以及网络层数。

深度学习性能的衡量:对于DNN模型设计人员或者应用程序开发者来说,很好地理解速度、精度、内存、能量和其他系统资源之间的权衡是很有帮助的。一旦系统性能被理解,应用程序开发者可以选择正确的模型。在自动化机器学习方面,可以使用人工智能来选择DNN模型来运行,并对超参数进行调整。

DNN推理和训练的可用框架:TensorFlow是一个用于表达机器学习算法的接口,也是一个用于在异构分布式系统上执行算法的实现,TensorFlow的计算工作流被建模为一个有向图,并利用placement算法来根据估计或测量的执行时间和通信时间去分配计算任务。Caffe2试图以移动设备为重点,为深度学习提供一种简单而直接的方式。PyTorch则侧重于将研究原型集成到生产开发中去。

三、在边缘的深度学习应用程序

计算机视觉:其实时性推理通常用帧率来测量,而将摄像头的数据上传到云上也有着隐私性考虑,特别是如果摄像帧包含敏感性信息(比如人脸或私密文件),进一步激励了边缘上的计算。灵活性也是边缘计算被用在计算机视觉任务上的一个原因,如果这里有着大量相机上传大的视频流时,一个云服务器的上行带宽可能成为一个瓶颈。

自然语言处理:深度学习对于自然语言处理任务变得很流行,包括语音合成、命名实体识别(理解一个句子的不同部分)和机器翻译。在边缘上的一个自然语言处理例子是语音助手,当语音助手在云上执行它们的一些处理任务时,它们通常会使用设备处理来检测唤醒语言。一旦唤醒语言被检测到,语言记录就会被发送到云上进行进一步的分析、解释和查询响应。总的来说,边缘计算目前用于边缘设备上的唤醒语言检测,延迟对于更复杂的自然语言任务来说仍然是一个显著的问题,还有限制性的云连结的需求。

网络功能:使用深度学习的网络功能,如入侵检测和无线调度,已经被提出来了。从定义上讲,这样的系统位于网络边缘,需要以严格的延迟需求进行操作。网络内缓存是网络功能的另一个例子,它可以在网络边缘使用深度学习。这里有两种方法在一个缓存系统中应用深度学习:对于内容流行度预测使用深度学习;使用深度强化学习来决定一个缓存策略。

物联网:在医疗可穿戴设备、智能城市和智能电网等多个垂直领域,需要对物联网传感器数据进行自动理解。物联网深度学习领域的另一项工作重点是压缩深度学习模型,使其适合于计算能力薄弱的终端设备。使用物联网设备进行边缘计算的另一个动机是,当物联网传感器被放置在公共位置时,会引起严重的隐私性问题。于是,当实时性分析物联网传感器数据并不总是一个需求时,来自传感器的通信带宽要求通常小一些,隐私是一个主要担忧,推动了边缘的物联网处理。

虚拟现实和增强现实:AR/VR中的延迟通常用运动光子延迟来描述,这被定义为端到端延迟,从用户移动耳机开始,到根据用户的移动来更新显示。运动光子延迟要求是在深度学习延迟要求上的一个上界,这个运动光子延迟也依赖于特别的应用程序和在该应用程序下用户互动的类型。

四、快速推理的方法

设备上的计算(on-device computation):DNNs在终端设备上进行执行。

(1)模型设计(Model Design):当对资源受限型设备设计DNN模型时,我们重点设计DNN模型中参数较少的模型,于是减少内存和执行延迟,同时保持高精度。MobileNet将卷积滤波器分解为两个更简单的操作,减少了所需的计算量。YOLO和SSD都是单一的shot检测器,可以同时预测物体的位置和类别,这要比顺序性执行这些步骤更快。

(2)模型压缩(Model Compression):压缩DNN模型是在边缘设备上支持DNNs的另一种方法,通常使用最小的精度损失来压缩已有的DNN模型。常用的模型压缩方法有:参数量化、参数修剪和知识蒸馏。

(3)硬件(Hardware):为了加速深度学习的推理,硬件制造商正利用已有的硬件例如CPUs和GPUs ,还有为深度学习定制的特定应用程序的集成电路,例如TPU。

边缘服务器体系架构(edge server-based):来自终端设备上的数据被发送到一个或者更多的边缘服务器进行计算。

(1)数据预处理(Data Preprocessing):数据预处理有助于减少数据冗余度,从而减少通信时间。

(2)边缘资源管理(Edge Resource Management):当DNN计算在边缘服务器上运行时,来自多个终端设备的DNN任务需要在共享的计算资源上运行和有效管理。迁移学习使多个应用程序能够共享DNN模型的共有较低层,并计算特定应用程序特有的较高层,从而减少了总计算量。

跨终端设备、边缘服务器和云上的联合计算:

(1)卸载(Offloading):我们讨论四种卸载场景:二进制卸载的DNN计算,决策为是否卸载整个DNN;分区DNN的部分卸载,决策为应该卸载DNN计算的哪些部分;分层架构,其中卸载是跨边缘设备、边缘服务器和云的组合来执行的;分布式计算方法,其中DNN计算分布在多个对等设备。DNN卸载不仅可以考虑在何处运行,还可以考虑运行哪个DNN模型或者模型的哪个部分的额外自由度。是否卸载的决策依赖于数据大小、硬件能力、被执行的DNN模型和网络质量等其他因素。

(2)DNN模型划分(Model Partitioning):在模型划分中,一些层在设备上被计算,一些层在边缘服务器或者云上被计算。通过利用其他边缘设备的计算周期,这些方法可以潜在地降低延迟,然而在DNN划分点传输中间结果的延迟仍然可以带来总体的网络收益。除了逐层划分DNN,DNN模型也可以沿着输入维度被划分。然而,input-wise的划分方法可能会导致数据依赖性增加,因为计算后续DNN层需要来自相邻分区的数据结果。

(3)边缘服务+云:深度学习计算不仅可以执行在边缘设备上,也可以在云上执行。边缘服务器接收到输入数据,执行较低层的DNN处理,然后发送中间结果到云上。云在计算完较高层后,将最终结果返回到终端设备上。边缘计算的一个独特特性是边缘服务器通常在有限的地理区域内为用户提供服务,这表明用户的输入数据和DNN输出可能是相似的。

(4)分布式计算:DNN计算可以分布在多个辅助边缘设备上,向辅助设备分配数据可以在线调整,以适应计算资源可用性或者网络条件的动态变化。在这些场景中还可以应用来自分布式系统的更加正式的机制来提供可证明的性能保证。

隐私推理(Private Inference):添加噪声来混淆终端设备上传到边缘服务器的数据、使用加密技术的安全计算。

(1)给数据添加噪声:在终端设备上本地部署一个较小的DNN来提取特征,给特征添加噪声,然后上传特征到云上,来被一个更强的DNN做进一步的推理处理。这个在云上的DNN已经使用噪声样本预先训练好,从而来自终端设备上传的噪声推理样本仍然可以在测试时间内,以高精度来被分类。

(2)安全计算:加密技术可以被用来计算DNN预测任务。此设置的安全计算目标是确保终端设备在不了解DNN模型的情况下接收到推理结果,然后边缘服务器在不了解设备数据的情况下对数据进行处理。同态加密是一种安全计算方法,它对通信数据进行加密,并对加密后的数据进行计算。多方计算是另一种安全计算技术,在安全多方计算中,多个机器一起工作,并在多轮通信中共同计算结果。不同于差分隐私侧重于整体构建模型的隐私保障,安全多方计算关注于计算过程中中间步骤的隐私性。

五、在边缘设备上的适当训练

基于边缘的训练借鉴了数据中心的分布式DNN训练,在数据中心中,训练跨多个workers被执行,其中每个worker拥有数据集的一部分(数据并行)或者模型的一部分(模型并行)。在数据并行上,每个worker计算着数据集本地分区的梯度,这些然后被一个中心参数服务器所收集,接着执行一些聚合计算,并将更新发送回workers。在边缘设备上的训练的workers是终端设备而不是数据中心的服务器,而中心参数服务器是一个边缘计算节点或者服务器。在边缘场景中,通信延迟、网络带宽和终端设备的计算能力都是训练性能的关键因素。

训练更新的频率:这里有两种同步更新到一个中央边缘服务器的通用方法,分别是同步和异步随机梯度下降。在同步随机梯度下降中,当所有设备计算完当前批训练数据上的梯度时,各个设备同步更新它们的参数。在异步SGD中,设备独立地将参数更新到中央服务器。弹性平均减少了同步和异步SGD训练方法的通信成本,允许每个设备执行更多的本地训练计算,并在同步更新之前进一步偏离/探索全局共享解决方案。这减少了本地设备和边缘服务器之间的通信数量。除了同步和异步更新外,蒸馏是另一种用于降低通信频率的方法,使用一个模型的预测输出来帮助训练另一个模型。每个设备在数据的一个子集上进行训练,并基于它的计算训练损失来更新其梯度,当时它也使用其他设备的预测输出,这些设备也同时训练来提高训练效率。因为这种训练方式对于其他设备的过去结果具有鲁棒性,与其他设备被交换的信息可以较少频繁,可以避免或者减少梯度的频繁通信。

训练更新的大小:梯度压缩技术可以减少通信到一个中央服务器的更新大小,对于梯度压缩这里有两种常用的方法,分别是梯度量化和梯度稀疏化。梯度量化使用低比特宽数来近似浮点梯度;梯度稀疏化丢弃不重要的梯度更新,只通信超过一个特定阈值的更新。

分散的通信协议:一个gossip-type算法被提出以一种分散的形式来交换训练信息,每个设备基于它的训练数据来计算它自己的梯度更新,然后将它的更新信息传递给一些其他设备。总体设计目标是设计一个gossiping算法来允许设备在一个好的DNN模型上达成共识。Gossiping可以被认为是弹性平均的一个分散式版本,允许客户端之间有更大的偏差。

隐私训练:主要分为两种方法,分别为将噪声添加到梯度或数据传输中作为训练的一部分,训练一个DNN的安全计算。

六、开放挑战

系统挑战:(1)延迟(Latency):要使深度学习能够在边缘设备上运行,特别是在资源约束最严重的物联网设备上,DNN模型压缩方面还有很多工作要做。跟上新的深度学习设计也将继续是主要系统的挑战。(2)能量(Energy):最小化深度学习的能耗对于电池供电的边缘设备来说十分重要,例如智能手机。对输入数据执行更改检测,在软件或者硬件上,可以帮助减少深度学习执行频率和总体能耗。(3)迁移(Migration):在不同的边缘服务器中迁移边缘计算应用程序对于负载平衡或者适应用户移动来说非常有用,其目标是最小化用户的端到端延迟。

与SDN和NFV技术的关系:软件定义网络(SDN),从控制平面抽象数据平面,和网络函数虚拟化(NFV),从硬件上抽象网络函数,已经变得越来越重要。另一个方向是使用深度学习自身来作为一个网络函数,如果各种网络任务都采用深度学习,NFV平台需要考虑深度学习的资源需求,以便网络功能能够实时运行。

边缘计算资源的管理和调度:指定应用程序的需求和正在运行的DNN模型的权衡可以允许边缘服务器有效地调度终端设备请求。将优先级引入调度策略,会影响边缘服务器在何时为哪些请求提供服务的决策。边缘计算带来了新的挑战,在为地理位置终端设备提供服务的边缘设备上,请求的数量和种类更能更少,因此统计多路复用并不一定具有可靠性,对于负载均衡和请求调度机制的新分析需要被提出。进一步说,计算资源分配可以与从终端设备到边缘服务器的流量控制相耦合。

在边缘设备上的深度学习基准:目前的工作大多集中在功能强大的服务器或智能手机上,但随着深度学习和边缘计算的流行,需要对异构硬件上的深度学习性能进行比较理解。

隐私性:成员资格攻击试图确定某个特定项目是否属于用于生成深度学习模型的训练集的一部分。另一个担忧是数据混淆,由于更少的终端设备连接到每个边缘服务器目前还不清楚。

七、结论

本文回顾了在网络边缘深度学习操作的研究现状,描述了跨终端设备、边缘服务器和云的深度学习推理的方法,该方法利用了DNN模型的独特架构以及在边缘计算中用户请求的地理空间位置。深度学习模型的训练,多个终端设备协作训练一个DNN模型也被描述了,包括进一步增强隐私的技术。

   
次浏览       
相关文章

基于图卷积网络的图深度学习
自动驾驶中的3D目标检测
工业机器人控制系统架构介绍
项目实战:如何构建知识图谱
 
相关文档

5G人工智能物联网的典型应用
深度学习在自动驾驶中的应用
图神经网络在交叉学科领域的应用研究
无人机系统原理
相关课程

人工智能、机器学习&TensorFlow
机器人软件开发技术
人工智能,机器学习和深度学习
图像处理算法方法与实践

最新活动计划
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
LLM大模型应用与项目构建 12-26[特惠]
UML和EA进行系统分析设计 12-20[线上]
数据建模方法与工具 12-3[北京]
SysML建模专家 1-16[北京]
 
 
最新文章
AIGC技术与应用全解析
详解知识图谱的构建全流程
大模型升级与设计之道
自动驾驶和辅助驾驶系统
ROS机器人操作系统底层原理
最新课程
人工智能,机器学习和深度学习
人工智能与机器学习应用实战
人工智能-图像处理和识别
人工智能、机器学习& TensorFlow+Keras框架实践
人工智能+Python+大数据
成功案例
某综合性科研机构 人工智能与机器学习应用
某银行 人工智能+Python+大数据
北京 人工智能、机器学习& TensorFlow框架实践
某领先数字地图提供商 Python数据分析与机器学习
中国移动 人工智能、机器学习和深度学习