深度学习边缘计算综述论文阅读笔记

文章《Convergence of Edge Computing and Deep Learning: A Comprehensive Survey》

这是一篇关于深度学习和边缘计算基础知识的综述,包含了深度学习DL的几种网络模型的介绍,边缘计算的基础知识的介绍,以及二者的结合,如何利用DL来发展边缘计算,如何用边缘计算发展DL,怎么在边缘计算的框架下进行DL的训练,DL在边缘上运行的预测结果怎么样,二者怎么更好融合形成智慧边缘(Intelligent Edge)和边缘智慧(Edge Intelligent)。涉及到的知识很多,也很碎。基本上看完知道这个名词是什么就可以了,要是深挖的话,还是要看这篇文章的引用的论文。

作者在文章最后还针对每一个部分,提出了当前的问题与思考,如果想做这个方向的话,还是要着重看这一下这个部分。文章内容比较多,我对一些重要的主干内容做了整理。


介绍部分

传统的深度学习训练过程需要把数据传到云端进行集中式的训练,会占据网络带宽资源,并且有效率和延时问题。深度学习结合边缘计算,在数据源附近的网络边缘提供深度学习服务,可以解决这样的问题。把深度学习集成到边缘计算的框架,动态地,自适应的进行边缘的管理和维护,是未来的发展方向。

而且,深度学习在物联网,智慧城市等应用场景下应用有限,原因:

1. 代价,需要占用网络带宽;2.延时,获取云服务时间延时大;3.可靠性,网络不稳定;4.隐私性,不安全;边缘计算可以解决这些问题

文章提出了两个概念,智慧边缘(Intelligent Edge)和边缘智慧(Edge Intelligent)。

边缘智能想尽可能的把深度学习计算从云端迁移到边缘,这样做有很多好处。智能边缘目的是把深度学习嵌入到边缘端的动态可适应管理和维护。

五个关键技术方向

  1. 综合使用Edge和DL,提供智能服务

  2. DL在Edge的推理预测

  3. 为了发展DL的Edge,利用Edge思想,技术等来服务于DL的发展

  4. 在Edge端使用DL来训练模型,以完成特定的任务

  5. 使用DL技术,更大地促进Edge算力的充分使用


边缘计算基础

cloudlet和微小数据中心,雾计算,MEC(这些概念在上一篇博客介绍过了)

边缘节点(Edge node),微小云,雾节点,边缘服务器,MEC服务器

边缘终端(Edge device),移动设备,物联网设备

终端-边缘-云计算模式:由终端设备生成的计算强度较低的计算任务可以直接在终端设备上执行或卸载到边缘,从而避免了发送数据到云端带来的延时。对于计算密集型任务,将合理分割并分别发送到末端、边缘和云以执行,减少任务的执行延迟,同时确保结果的准确性。

边缘计算的AI硬件,GPU,FPGA,ASIC

边缘计算框架,对于配置复杂、资源需求密集的 DL 服务,具有先进卓越微服务架构的优势计算系统是未来发展方向。

KubeEdge(基于Kubernetes) 云与边缘之间的网络化、应用部署和元数据同步

OpenEdge 屏蔽计算框架和简化应用程序生成

Azure IoT Edge和EdgeX 在跨平台物联网设备上部署和运行 AI,设计用于将云智能传送到边缘。

虚拟化技术:虚拟机和容器技术

网络功能虚拟化 (NFV) 通过将网络功能和服务与专用网络硬软件分离,使虚拟网络功能 (VNF) 能够在软件中运行。   ->   解决的是传统网络不够灵活

软件定义的网络 (SDN) 则通过三个关键创新 [72]实现服务快速部署、网络可编程性和多租赁支持:             ->    Edge DL需要高频段带宽、低延迟和动态网络配置。

1.控制与数据分离2.集中式可编程控制3.标准化应用程序编程界面

网络Slicing:网络切片是一种敏捷和虚拟的网络架构,是网络的高级抽象,允许在共同共享物理基础结构之上对多个网络实例进行加密,每个实体都针对特定服务进行了优化。

深度学习边缘计算综述论文阅读笔记_第1张图片

 


深度学习以及相关术语 

 FCNNs 全连接的神经网络:FCNN 的每一层输出,即多层感知机都向前馈送到下一层。在连续的 FCNN 层之间,神经元 (细胞) 的输出(无论是输入细胞还是隐藏细胞)直接传递给下一层 ,由神经元直接传递和激活。FCNN 可用于功能提取和功能近似,但复杂度高、性能适中、收敛速度慢。

深度学习边缘计算综述论文阅读笔记_第2张图片

AE自动编码器:实际上是一叠两个 NN,以未经允许的学习方式复制输入到其输出中。第一个 NN 了解输入(编码)的代表性特征。第二个 NN 以这些功能为输入,并恢复匹配输入输出单元中原始输入的近似值,用于将身份函数从输入汇合到输出,作为最终输出(解码)。由于 AEs 能够学习输入数据的低维有用功能来恢复输入数据,因此它通常用于对高维数据  进行分类和存储。 

 

深度学习边缘计算综述论文阅读笔记_第3张图片

 CNNs卷积神经网络:通过采用集合操作和一组不同的移动过滤器,CNN 抓住相邻数据块之间的相关性,然后对输入数据进行一个先后的更高层次的抽象。与 FCNN 相比,CNN 可以提取特征,同时降低模型的复杂性,从而降低过拟合的风险。

深度学习边缘计算综述论文阅读笔记_第4张图片

 GAN对抗生成网络,源于博弈论。GAN 由生成器和歧视器组成。生成器的目标是通过故意在反馈输入单元中引入反馈来尽可能多地了解真实的数据分布,而歧视者则正确确定输入数据是来自真实数据还是生成器。这两位参与者需要不断优化他们在对抗过程中生成和区分的能力,直到找到纳什平衡 。

深度学习边缘计算综述论文阅读笔记_第5张图片

 RNN循环神经网络,专为处理顺序数据而设计。RNN中的每个神经元不仅从上层接收信息,而且还从其自身的前一个通道接收信息。一般来说,RNN 是预测未来信息或恢复顺序数据缺失部分的自然选择。RNN的一个严重问题是梯度爆炸。

深度学习边缘计算综述论文阅读笔记_第6张图片

 LSTM长短期记忆神经网络,通过添加门结构和定义明确的内存单元来改进RNN,可以通过控制(禁止或允许)信息流动来克服这个问题。

深度学习边缘计算综述论文阅读笔记_第7张图片

 

迁移学习 (TL): TL 可以将知识(如图 7(g)所示)从源域转移到目标域,以便在目标域 [85] 中实现更好的学习性能。通过使用 TL,大量计算资源学到的现有知识可以转移到一个新的场景中,从而加快培训过程并降低模型开发成本。

知识蒸馏(KD),可以将一个网络的知识转移到另一个网络,两个网络可以是同构或者异构。. 做法是先训练一个teacher网络,然后使用这个teacher网络的输出和数据的真实标签去训练student网络。

深度强化学习DRL:RL 的目标是使环境中的代理能够在当前状态下采取最佳操作,以最大限度地提高长期收益,其中代理的行为与环境状态之间的相互作用被建模为 Markov 决策过程 (MDP)。DRL 是 DL 和 RL 的组合,但它更注重 RL,旨在解决决策问题。DL的作用是利用DNN的强大表现能力来适应价值功能或直接策略,解决状态动作空间的爆炸性或连续状态动作空间问题。

 深度学习边缘计算综述论文阅读笔记_第8张图片

 基于值的DRL:

DQL:使用 DNN 来适应动作值,成功地将高维输入数据映射到操作中

Double-DQL:高估计动作值的问题

Dueling-DQL:可以了解哪些状态是(或不是)有价值的,而不必了解每个状态下每个动作的效果。

基于策略梯度的 DRL:策略梯度是另一种常见的策略优化方法,如深度决策策略梯度 (DDPG) [91]、异步优势演员-批评 (A3C) [92]、近似策略优化 (PPO) [93] 等。它通过不断计算策略预期奖励的梯度来更新政策参数,并最终收敛到最佳策略 [94]。因此,在解决 DRL 问题时,DNN 可用于参数化策略,然后通过策略梯度方法进行优化。

分布式深度学习训练:目前,集中培训DL模型耗时耗时和计算资源,阻碍了算法性能的进一步提高。尽管如此,分布式训练可以通过充分利用并行服务器来促进训练过程。数据并行和模型并行两种方式。

模型并行:首先将大型 DL 模型拆分为多个部分,然后提供数据样本,用于并行训练这些分段模型。这不仅能提高训练速度,还能应对模型大于设备内存的情况。训练大型 DL 模型通常需要大量的计算资源,甚至需要大量 CPU 来训练大型 DL 模型。为了解决这个问题,分布式 GPU 可用于模型并行训练 [99]。

数据并行:将数据划分为多个分区,然后分别与自己分配的数据样本同时训练模型副本。


DEEP LEARNING INFERENCE IN EDGE

A. 边缘 DL 模型的优化

DL 任务通常计算密集,需要大量内存。但在边缘,没有足够的资源来支持原始的大型DL模型。优化 DL 模型使其轻量化可以减少资源消耗。

B.DL模型细分

水平分割 DL 模型,即沿末端、边缘和云进行分区,是最常见的分段方法。

C.EEoI提前退出推理

EEoI是边缘网络中垂直协作的应用程序,它为在资源稀缺的终端设备上运行神经网络模型推断提供了一种有效的方法。

D.共享DL计算


EDGE COMPUTING FOR DEEP LEARNING

A.硬件

移动CPU,GPU,基于FPGA的解决方案

B.边缘 DL 的通信和计算模型

Integral Offloading(集成卸载);Partial Offloading(部分卸载);

vertical collaboration(垂直协作);horizontal collaboration(水平协作)

深度学习边缘计算综述论文阅读笔记_第9张图片

 C. 自定义边缘 DL 框架

 D.边缘 DL 的性能评估

 


DEEP LEARNING TRAINING AT EDGE

两种方案:

a.每个端设备根据本地数据训练模型,然后这些模型更新在边缘节点进行聚合。

b.边缘节点训练自己的本地模型,并交换和完善其模型更新,以构建一个全局模型。

深度学习边缘计算综述论文阅读笔记_第10张图片

Vanilla Federated Learning at Edge(朴素联邦学习);Communication-Efficient FL(有效通信联邦学习);Resource-Optimized FL(资源优化联邦学习);Security-Enhance FL 增强安全联邦学习


DEEP LEARNING FOR OPTIMIZING EDGE

A. 自适应边缘缓存的 DL(缓存一部分内容到边缘服务器上)

深度学习边缘计算综述论文阅读笔记_第11张图片

B. 用于优化边缘任务卸载的 DL

深度学习边缘计算综述论文阅读笔记_第12张图片

C. 边缘管理和维护 DL

边缘DL服务部署在蜂窝网络,需要在很多方面进行优化,比如在无线通信方面上使用DL

边缘安全

边缘设备更容易受到DDoS攻击(分布式拒绝服务攻击)此外,边缘设备应该使用DL方法识别出窃听和干扰攻击的特征,根据被攻击的类型选择合适的保护方案。

eavesdropping attack窃听攻击,也称为嗅探或窥探,依靠不安全的网络通信来访问设备之间传输的数据。为了进一步定义窃听,它通常发生在用户连接到流量未受保护或加密的网络并向同事发送敏感业务数据时。

jamming attack干扰攻击,攻击者故意在无线网络上传输干扰信号。因此,它降低了接收方的信号与噪声比,并中断了现有的无线通信。干扰攻击使用故意无线电干扰,使通信介质保持忙碌。

基于DRL的安全方案可以提供安全的计算卸载,来防御干扰攻击或者保护用户的定位以及使用习惯等隐私。边缘设备监测边缘节点的位置和攻击特性来决定安全协议的防护等级和关键参数。

基于DQL的安全方案,同样也可以解决一部分的攻击问题。

联合边缘优化

边缘计算能够迎合快速增长的智能设备,大量计算密集型和数据消耗型的应用的增长。然而,它同时使得未来的网络运营更加地复杂。为了管理如此局的网,需要联合边缘优化。


一些思考和讨论

文章在介绍DL和Edge技术的同时,也在理清这两个方向存在的挑战和潜在的错误方向。

A更多潜在的应用

边缘计算架构,接近用户,可以利用云形成混合游戏架构。此外,智能驾驶涉及语音识别、图像识别、智能决策等。分析交通流量,保证驾驶安全。

B用于预测推理的DL模型-》(“DL inference in Edge”,)
1.模棱两可的性能指标
模型很多,但是应用设计者不知道该选哪个。由于是在边缘网络上运行的原因,现有的指标无法描述模型在应用上的特性和优缺点。除了模型的准确性,推理预测的延时,资源的消耗这些指标也很重要。因此我们需要明确边缘DL关键性能指标,量化分析影响他们的因素,并且探索权衡这些指标,以此来改进边缘DL的部署
2.EEoI推论
EEoI 可用于 DL 中的分类问题,但对于更广泛的 DL 应用没有通用的解决方案。为了建立智能边缘和支持边缘智能,不仅应探讨DL,还应探讨将EEoI应用于DL的可能性。
3.混合模型修改
应考虑与模型优化、模型分割和 EEoI 方面的协调问题。如何设计混合精度方案,即将边缘的简化DL模型与云中的原始DL模型有效结合。
4.训练和推理预测的结合
剪枝、量化和将 EEoI 引入训练有素的原始 DL 模组需要再训练,以提供所需的推理预测性能。一般来说,定制模型可以在云服务器端离线训练。然而,边缘计算的优势在于其响应速度,并可能由于DL训练的延时而被拖累。此外,由于边缘的异构设备数量众多,网络环境动态,特定DL模型的需求并不单一。连续的模型训练要求是否合理,是否会影响模型推理的及时性呢?如何设计一个机制来避免这些副作用?
C.DL 的完整边缘架构-》(“Edge Computing for DL” )
构建完整的DL边缘计算框架
边缘进行数据处理:边缘设备感知收集原始数据,并把数据喂给DL模型
边缘DL服务的微服务:执行 DL 计算可能需要一系列软件依赖性,并且它需要一种解决方案,用于在共享资源上隔离不同的 DL 服务。
DL 的激励和信任卸载机制:资源有限的端设备上的大量的 DL 计算可以卸载到附近的边缘节点。1)应建立激励机制,刺激边缘节点接管DL计算:2) 应保证安全性,以避免匿名边缘节点带来的风险。
与优化边缘架构的DL整合:为了充分利用边缘计算的分散资源,并与现有的云计算基础设施建立紧密的联系,将计算密集型 DL 模型划分为子任务,并在边缘设备之间有效地卸载这些任务以进行协作至关重要。
D.边缘节点的实际训练原则(“DL Training at Edge”)
边缘设备计算表现差,大多数的边缘计算DL框架和库不支持训练。目前该方向仅仅停留在理论层面。
1.数据并行和模型并行
利用FL,在边缘训练DL模型的模式图
深度学习边缘计算综述论文阅读笔记_第13张图片
2.训练数据的获取
现在在边缘训练的都是有监督的学习,但实际上的数据是没有标签的。
让边缘设备通过互相学习他们标记的数据来构建他们自己的带标记的数据
3在边缘的异步FL
现有的 FL 方法 [198], [199] 侧重于同步培训,并且只能并行处理数百台设备。
但是,由于FL在边缘框架中的两个缺点(边缘设备计算能力弱,通信有限且不确定),这种同步更新模式可能无法很好地推广到实际应用中。
通过为客户端设置下载、更新和上传 DL 模型的特定截止日期,中央服务器可以确定哪些客户端执行本地训练,以便在每个期间聚合尽可能多的客户端更新,从而使服务器能够加快 DL 模型的性能改进
4.迁移学习为基础的训练
迁移训练适用于资源受限的边缘设备。例如,为了减少训练数据的数量并加快训练过程,可以采用未标记数据在边缘设备之间传输知识 [284]。通过在学习不同传感方式的边缘设备时使用交叉模式传输,可以大幅减少所需的标记数据和加速训练过程。KD 知识蒸馏是迁移学习的一种方式,
E.智慧边缘的部署和改进-》(“DL for optimizing Edge”)
深度学习边缘计算综述论文阅读笔记_第14张图片
使用DL去优化实时的边缘计算网络,DL模型,DRL模型的训练和预测结果,这些应该是研究的重点。现有工程主要关注"DL优化边缘"在高层次上的解决方案,而忽略了低层的实际可行性。虽然 DL 显示了其理论性能,但应仔细考虑 DNN/DRL 的部署问题:
1.考虑到资源开支以及实时管理边缘计算网络的请要求,应该在哪个地方部署DL和DRL
2.当使用 DL 确定缓存策略或优化任务卸载时,DL 的好处是否会因带宽消耗和 DL 本身带来的处理延迟而抵消?
3.如何去探索和改进边缘计算的架构?
4.第四部分谈论的定制化的DL模型能够加快边缘智能的实际部署么?
5.如何修改第七节的训练原则,以提高DL培训的性能,以满足 边缘管理的实时性?

文章的大体内容就是这些,我也是在通过这篇文章扫盲,有些地方理解的不是很好,慢慢来吧,后面可能看多了这方面的文章,再回来看这篇文章的话会有新的理解,加油!

你可能感兴趣的:(深度学习,边缘计算,人工智能)