首页> 中国专利> 基于多智能体的边缘云可扩展任务卸载方法

基于多智能体的边缘云可扩展任务卸载方法

摘要

本申请公开了一种基于多智能体强化学习的边缘云可扩展任务卸载方法,包括以下步骤:初始化每个Agent的网络结构,每个Agent根据自己观测的状态与移动边缘网络环境进行交互,将输入状态与输出行为保存至经验回放池;每个智能体对经验回放池中的数据进行采样,训练自己的actor和critic网络并优化参数;在模型收敛至满足迭代条件时生成卸载策略,并根据卸载策略进行卸载决策。本申请实施例为基于多智能体强化学习的移动边缘计算卸载方法,不但更符合真实的应用场景,更考虑了当有新的用户设备加入时系统的进一步调整和训练,避免了新智能体从零开始训练,保证了任务卸载策略的可扩展性。

著录项

  • 公开/公告号CN113064671A

    专利类型发明专利

  • 公开/公告日2021-07-02

    原文格式PDF

  • 申请/专利权人 清华大学;

    申请/专利号CN202110462090.6

  • 发明设计人 孙立峰;姜丽丽;黄天驰;张睿霄;

    申请日2021-04-27

  • 分类号G06F9/445(20180101);G06N3/08(20060101);

  • 代理机构11201 北京清亦华知识产权代理事务所(普通合伙);

  • 代理人徐章伟

  • 地址 100084 北京市海淀区清华园

  • 入库时间 2023-06-19 11:42:32

说明书

技术领域

本申请涉及多智能体强化学习技术领域,特别涉及一种基于多智能体的边缘云可扩展的任务卸载方法。

背景技术

随着5G移动网络和物联网的快速发展,大量延迟敏感的计算密集型应用任务在用户设备端产生,如增强现实和虚拟现实等新型视频应用,监控设备和自动驾驶等实时视频流服务。由于本地设备的计算能力难以满足这类任务的需求,而传统的将任务上传到远端云服务器去处理,会产生较大的传输延迟,还会造成回程网络负载过大。为解决这些问题,移动边缘计算(Mobile Edge Computing,MEC)作为一种新的计算模式被提出,它将计算资源部署在核心网络的边缘,从而更靠近任务生成的移动设备端,为用户端提供服务环境和计算能力。用户设备可以通过将一部分任务卸载到边缘服务节点进行处理,从而提供低任务延迟、减少网络通信和降低整体能耗的解决方案。

其中,如何制定任务卸载策略是移动边缘计算的关键问题,不同的卸载决策导致不同的计算和通信成本。相关技术中,在移动边缘计算环境中进行边缘云任务卸载的算法还存在很多不足,例如:

1)坐标下降法、线性放松近似法,博弈论以及凸优化等传统数学算法,能够保证得到最优解,但是大量的迭代计算在NP-hard问题上无法在有限时间内得到最优解,因此不适合“多任务-多用户”的复杂的移动边缘计算场景;

2)基于DQN(Deep Q-Learning,深度强化学习)或A3C的计算卸载算法可以在有限时间内得到次优解,但是随着网络状态和卸载决策数量的增多,会导致强化学习的状态和行为空间呈指数增长。同时此类算法需要根据全局的环境信息来做下一步的决策,集中式的决策策略也导致算法的灵活性较差;

申请内容

本申请提供一种边缘云可扩展的任务卸载方法,以解决多个移动用户设备决策本设备上的某个任务,在本地执行还是卸载到边缘计算节点或者远端云上去执行的问题。包括如何构建基于“计算-通信-能耗”多维模型来优化目标函数、如何对已有的系统调度环境中新加入的用户设备进行参数设置,以及如何进一步的更新环境设置,开始新一轮的调度策略训练和生成等内容。

本申请第一方面实施例提供一种边缘云可扩展任务卸载方法,包括以下步骤:在创建环境并初始化多个智能体的模型参数后,初始化每个Agent的网络结构,定义状态S,行为A和奖励函数R,定义目标值函数Q,每个Agent根据自己观测的状态与移动边缘网络环境进行交互,将输入状态与输出行为保存至经验回放池;每个智能体对所述经验回放池中的数据进行采样,训练自己的actor和critic网络并优化参数;在模型收敛至满足迭代条件后生成卸载策略,并根据所述卸载策略进行卸载决策。

可选地,在本申请的一个实施例中,还包括:检测是否加入新设备,在检测到加入所述新设备后,重置环境,设置新的智能体网络参数,以使得所述每个智能体进行采样和进行卸载决策。

可选地,在本申请的一个实施例中,还包括:根据由智能体网络结构、交互环境和多用户设备间的关系生成的多任务-多用户-边缘云模式构建系统模型。

可选地,在本申请的一个实施例中,所述将输入状态与输出行为保存至经验回放池,包括:每个actor根据自己观测的状态与移动边缘网络环境进行交互,并基于critic的值函数指导下一步行为;根据预先设置的经验回放池大小,收集所述输入状态与输出行为,存放到所述经验回放池。

基于多智能体强化学习的移动边缘计算卸载算法,将决策权下发到每个用户设备,不同于DQN,A3C等集中式决策方法,MADDPG采取分散式决策方法使得每个智能体做决策时只需要了解本地的信息,更符合真实的应用场景,也有效的避免了维度爆炸,并且考虑了对于新的移动设备加入的处理方法。本申请实施例的基于多智能体强化学习的任务卸载策略提供了用户设备数量的可扩展性,提高系统的整体调度性能。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本申请实施例提供的一种基于多智能体的边缘云可扩展任务卸载方法的流程图;

图2为根据本申请一个具体实施例的基于多智能体的边缘云可扩展任务卸载方法的流程图;

图3为根据本申请实施例的基于多智能体的边缘云可扩展任务卸载策略的训练和执行流程图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

下面参考附图描述本申请实施例的基于多智能体的边缘云可扩展的任务卸载方法。针对上述背景技术中心提到的多个移动用户设备可以自己决定本设备上的某个任务是在本地执行还是卸载到边缘计算节点或者远端云上执行、如何构建基于“计算-通信-能耗”多维模型来优化目标函数、如何对已有的系统环境中新加入的用户设备进行参数设置,以及如何进一步的更新环境的问题。本申请提供了一种边缘云可扩展的任务卸载方法,在该方法中,基于多智能体强化学习的任务卸载算法,将决策权下发到每个用户设备,从集中式决策到分散式决策,使得每个智能体做决策时只需要了解本地的信息,更符合真实的应用场景。并且对于新的移动设备的加入提供了解决思路,避免新加入的智能体从零开始训练,实现了卸载策略在用户设备数量上的可扩展性。总之,解决了多个移动用户设备决定本设备上的某个任务是在本地执行还是卸载到边缘云执行、如何构建基于“计算-通信-能耗”多维模型来优化目标函数、如何对已有的系统环境中新加入的用户设备进行参数设置,以及如何进一步的更新环境,进行新一轮训练等问题。

具体而言,图1为本申请实施例所提供的一种边缘云可扩展任务卸载方法的流程示意图。

如图1所示,该基于多智能体的边缘云可扩展任务卸载方法包括以下步骤:

在步骤S101中,在创建环境并初始化多个智能体的模型参数后,初始化每个Agent的网络结构,定义状态S,A和奖励函数R,定义目标值函数Q,每个Agent根据自己观测的状态与移动边缘网络环境进行交互,将输入状态与输出行为保存至经验回放池。

其中,在本申请的一个实施例中,将输入状态与输出行为保存至经验回放池,包括:每个actor根据自己观测的状态与移动边缘网络环境进行交互,并基于critic的值函数指导下一步行为;根据预先设置的经验回放池大小,收集输入状态与输出行为,存放到经验回放池。

具体地,如图2所示,创建环境包括:创建环境中的n个用户设备(即n个智能体),设置系统里的网络通信状态,以及每个智能体的网络结构和算法流程参数。

步骤1.1:创建环境包括创建环境中的n个用户设备。即n个Agent(每个Agent表示一个用户设备),每个Agent上到达的m个任务,每个任务上传数据量

步骤1.2:设置系统里的网络通信状态。包括每个用户设备分配的上行带宽B

并且在每一个step计算系统的整体能耗E,并根据能耗计算获得目标值Q,对比不同行为对应的Q值进行决策,决定每个任务执行的位置:本地执行还是卸载到边缘云上执行。如果一个任务在本地执行,则只产生计算能耗,一个任务卸载到边缘云执行,则能耗包括通信能耗和计算能耗两部分。

系统的目标函数为最小化系统总能耗和每个用户设备上的任务集整体完成时间两个方面,即

步骤1.3:不区分边缘节点和云,即任务卸载到边缘节点还是远端云,每个Agent可以根据特定任务的大小和当时的网络带宽情况判断;

步骤1.4:初始化每个Agent的网络结构和算法参数;

1.4.1:每个Agent由相同的网络结构组成

其中主要用到了两个技巧:目标网络(target network)和经验回放(experiencereplay buffer)。即每个Agent有4个网络,包括2个actor网络和2个critic网络:actor当前网络,actor目标网络,critic当前网络,critic目标网络。

MADDPG使用了经验回放池,来打破数据之间联系,因为神经网络对数据的假设是独立同分布,而MDP过程的数据前后有关联。

同时,为了学习过程可以增加一些随机性,增加学习过程的覆盖,DDPG对选择出来的动作A会加入一定的噪声N,即最终和环境交互的动作A的表达式是:

A=π

1.4.2:算法参数设置

actor网络和critic网络的学习率分别为0.0001和0.001,设置Agent采样的批量大小为512,经验回放池的大小为1000000。衰减因子gamma为0.99,软更新参数TAU为0.001,最大迭代次数为1000000。

在步骤S102中,每个智能体对经验回放池中的数据进行采样,训练自己的actor和critic网络并优化参数。

在步骤S103中,在模型收敛至满足迭代条件后,生成卸载策略,并根据卸载策略进行卸载决策。

本申请实施例包括三个部分:1)多个智能体和环境交互产生(x,x',a,r)保存至经验回放池;2)Agent从经验回放池进行批量采样训练网络模型;3)算法达到迭代条件后输出actor网络,即图3中的执行部分。

步骤3.1:每个Agent根据自己观测的状态与移动边缘计算环境交互,决策本设备上的任务集中某个任务在本地运行还是卸载到边缘节点或者远端云上执行,然后获取奖励值和下一步的状态,如图2所示,并将(x,x',a,r)保存至经验回放池;

步骤3.2:每个智能体对经验回放池中的数据进行采样,从经验回放池中抽样min-batch的数据去训练网络参数。n个智能体的网络参数为θ=[θ

其中o

集中式的critic采取梯度下降法更新网络参数,最小化损失函数L(θ

其中y定义为:

其中

步骤3.3:算法收敛并达到迭代条件后输出actor网络,即图3中的执行部分。即为生成的卸载策略,并根据卸载策略进行卸载决策。

另外,系统根据卸载策略进行卸载决策,并检查是否有新的用户设备加入系统环境,即图3中部分的新加入的Agent。

如果有新设备加入,给新加入的设备Agent赋值,重置更新环境参数,包括环境里的Agent数加一,并且更新后的系统里每个Agent计算Q值时考虑新加入的Agent的状态o

具体而言,如图2所示,对于某些需要处理大计算量任务的移动设备,比如智能手机和笔记本电脑、电动汽车、无人机和监控器等,可以由每个用户设备端根据自身情况来决定如何调度这些任务:在本地执行还是卸载到边缘或云服务器去执行。比如手机和电脑端的多媒体等娱乐活动,对延迟的需求不大,可以卸载到边缘服务器去执行;而电动汽车上的图像辅助导航和停车导航任务可以依据车辆速度和网络通信实时情况,来决定是否卸载。当另一个笔记本电脑连入该边缘节点,或者另一辆汽车驶入到该边缘服务器范围内,本申请实施例能够调整系统环境,帮助和支持新加入的设备尽量快尽量好的完成任务卸载工作。

可以理解的是,本申请实施例未考虑子任务,卸载的最小单元为任务;同时本方案为无模型的强化学习算法,设计了状态S,动作A和奖励函数R,本申请实施例为基于多智能体的强化学习算法。其中,以最小化系统整体能耗和任务集延迟为目标制定卸载和资源分配策略,在资源受限和保证时延要求下,尽量减少每一个用户端设备的能量消耗。

需要说明的是,在达到迭代次数或者收敛精度达到要求后停止算法训练,在此不做具体限制。

可选地,在本申请的一个实施例中,还包括:检测是否加入新设备,在检测到加入新设备后,重置环境,设置新的智能体网络参数,避免新加入的智能体从零开始训练,实现了卸载策略在用户设备数量上的可扩展性。

在一些情况下,对于调度策略的可扩展性设计与实现,本申请实施例在新用户加入正在运行的系统时,根据此时的系统状况和现有智能体的参数情况,保证新加入的用户拥有合理有效的调度策略,并且使得对系统的整体性能影响尽量减少。

可选地,在本申请的一个实施例中,还包括:根据智能体网络结构、交互环境和多用户设备间的关系生成的多任务-多用户-边缘云模式构建系统模型。

可以理解的是,本申请实施例的系统整体设计:根据“多任务-多用户-边缘云”模式构建系统模型,其中每个智能体使用同样网络结构表示用户设备,并且每个智能体包含同样结构的actor和critic,这种网络结构的设置是为了保证网络参数的后续更新工作,交互环境构建为智能体通过与环境进行交互获得的奖励指导下一步行为,以“探索-反馈”的方式进行训练学习,如何设计和完成与多个智能体交互的环境尤为重要,特别是当新的用户加入到系统环境后的环境的设置和更新操作,多用户设备间的关系采取不同智能体之间合作的方式,目标函数定义为最小化系统整体能耗(包括网络通信开销,用户侧和边侧的计算开销)和任务整体集的完成时间。

如图2所示,以下以一个具体实施例对本申请实施例的方法的工作原理进行详细赘述。

S1:假设一个边缘网络服务多个用户设备的场景,用户设备上运行着延迟敏感并且计算密集的任务,比如虚拟现实或者增强现实的任务,或者监控设备或者无人机的视频流数据,首先要合理表示出整个系统中用户设备的计算能力,网络状况,边缘云服务器的计算能力,和每个设备上到达的任务集。

S2:用户设备开始探索环境,以“探索-反馈”的方式进行学习,通过与环境进行交互获得的奖励指导下一步行为,并将(x,x',a,r)存放到经验回放池。

S3:探索过程结束后,每个智能体从经验回放池里批量采样数据,训练自己的actor和critic网络,优化参数。

S4:训练收敛满足迭代要求后输出策略,使用此策略进行卸载决策。

S5:如果有新的用户设备加入系统,更新系统,并且设置表示新用户设备的Agent网络参数开始新一轮的训练,再次收敛后输出新的卸载决策。

综上,多个智能体竞争网络通信资源和边缘服务节点的计算资源,同时,最小化整体的能耗又是多个智能体的合作,相对于人为的手动设置场景变化,“设备-网络-边缘云”的三层结构里资源动态变化更适合于用多智能体来表示这种既竞争又合作关系。在卸载决策训练完后使用阶段,如果有新的用户设备进入系统,本申请实施例提出的算法可以尽量快的保证新加入的用户设备拥有合理有效的调度策略,并且尽量减小对系统的整体性能影响。

根据本申请实施例提出的边缘云可扩展任务卸载方法,是基于多智能体强化学习的卸载算法,将卸载决策权下发到每个用户设备,从DQN,A3C等集中式决策到MADDPG分散式决策,使得每个智能体做决策时只需要了解本地的信息,更符合真实的应用场景,也有效的避免了维度爆炸,并且考虑了对于新的移动设备的加入的处理方法。本申请实施例的基于多智能体强化学习的任务卸载策略提供了用户设备数量的可扩展性,提高系统的整体调度性能。

图3是本申请实施例中多个智能体的训练和执行过程示意图。

如图3所示,分别表示集中式训练、分散式执行和新加入的智能体。

图3中集中式训练部分:所谓集中式训练,是指在训练中使用联合行为值函数Q

图3中分散式执行部分:所谓分散式执行是指智能体观测到部分信息,包括部分的状态信息和部分的动作信息,以及在这些信息下应该采用什么样的策略。上述集中式训练部分和分散式执行部分加起来就是MADDPG算法。

可选地,在本申请的一个实施例中,本申请实施例还包括了如何处理新加入系统的用户设备。图3中右侧描述了系统里出现了新加入的用户设备,系统选择将一个智能体参数复制给新加入的智能体。从而避免新加入的智能体从零开始训练,保证新加入的用户设备拥有合理有效的调度策略,并且尽量减小对系统的整体性能影响,从而实现了卸载策略在用户设备数量上的可扩展性。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号