CN115865914A - 车辆边缘计算中基于联邦深度强化学习的任务卸载方法 - Google Patents

车辆边缘计算中基于联邦深度强化学习的任务卸载方法 Download PDF

Info

Publication number
CN115865914A
CN115865914A CN202211494716.2A CN202211494716A CN115865914A CN 115865914 A CN115865914 A CN 115865914A CN 202211494716 A CN202211494716 A CN 202211494716A CN 115865914 A CN115865914 A CN 115865914A
Authority
CN
China
Prior art keywords
task
vehicle
unloading
time
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211494716.2A
Other languages
English (en)
Inventor
陈星�
林欣郁
姚泽玮
胡晟熙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN202211494716.2A priority Critical patent/CN115865914A/zh
Publication of CN115865914A publication Critical patent/CN115865914A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明涉及一种车辆边缘计算中基于联邦深度强化学习的任务卸载方法,包括:1、将任务卸载问题建模为一个优化问题:找到一组最优的任务卸载策略以最小化系统中所有车辆到达任务的平均响应时间;2、构建卸载动作Q值预测模型;将每辆车看作智能体,在运行时环境中分布式使用DQN方法训练卸载动作Q值预测模型;每个智能体通过自己可观测的数据训练自己的模型;在训练过程中,结合联邦学习框架对各智能体的模型进行聚合,最终得到适用于各智能体的通用的卸载动作Q值预测模型;3、在运行时环境中,使用得到的通用模型,通过比较各卸载动作的Q值选择卸载动作;重复上述过程,为每个子任务决定卸载地点。该方法有利于优化整个系统的平均响应时间。

Description

车辆边缘计算中基于联邦深度强化学习的任务卸载方法
技术领域
本发明属于车辆边缘计算领域,具体涉及一种车辆边缘计算中基于联邦深度强化学习的任务卸载方法。
背景技术
随着我国车联网产业的发展,智能汽车越来越普及,车联网应用服务体系日益丰富,以满足人们的需求。这些应用通常是计算密集和时延敏感的,而车辆端的计算资源通常是有限的,难以在时延约束下完成这些计算密集型任务。移动边缘计算将计算资源部署在距离用户较近的边缘端,为用户提供高性能和低时延的服务。在移动边缘计算的基础上,计算卸载能在处理任务时充分利用系统中的计算资源,进一步对计算密集型和时延敏感型任务的响应时间进行优化。
现有技术广泛使用启发式方法对卸载方案进行搜索,通常耗时几十秒甚至几百秒才能求解出近似最优的结果,不符合车联网应用的时延约束。现实中,各车辆和边缘服务器拥有的计算资源通常不同,每辆车的任务所需计算资源也不同,车辆的移动性导致车辆与边缘服务器之间的位置会随着车辆移动而变化,从而导致车辆与边缘服务器之间的传输速率和传输时延是动态变化的。传统的启发式方法通常不能适应动态变化的环境,当环境动态变化时,需要重新求解卸载策略。为了符合时延约束,使用离线方法在运行时环境中使用很少的求解时间求解出较优的卸载策略。深度强化学习(Deep Reinforcement Learning,DRL)作为一种离线方法,通过在线训练卸载动作的Q值预测模型,之后用于运行时环境中的卸载决策,已被应用在移动边缘计算中的任务卸载。
现有研究通常局限于单车辆的任务卸载。为了符合现实情况,考虑多车辆同时卸载的场景。现有方法通常在边缘端集中式对所有车辆的任务进行卸载决策和调度,缺点是决策时需要收集所有车辆的信息,不仅数据量大而且耗时。考虑车辆在系统中是分散的特性,使用分布式方法进行任务卸载,具体来说将每辆车都看作是一个智能体,分别决策自己的卸载策略。此外,在训练深度强化学习模型时使用联邦学习框架,通过利用其他车辆的学习进展以减少训练时间,并且能得到一个适用于所有车辆的通用模型。
发明内容
本发明的目的在于提供一种车辆边缘计算中基于联邦深度强化学习的任务卸载方法,该方法有利于优化整个系统的平均响应时间。
为实现上述目的,本发明采用的技术方案是:一种车辆边缘计算中基于联邦深度强化学习的任务卸载方法,包括以下步骤:
步骤1:将任务卸载问题建模为一个优化问题:找到一组最优的任务卸载策略以最小化系统中所有车辆到达任务的平均响应时间;
步骤2:构建卸载动作Q值预测模型;将每辆车看作智能体,在运行时环境中分布式使用DQN方法训练卸载动作Q值预测模型;训练数据包括车辆的任务到达率λ、计算节点的服务率μ、计算节点之间的单位任务量传输时延D、任务的卸载方案F、计算节点的负载率ρ及系统平均响应时间T;每个智能体通过自己可观测的数据训练自己的模型,该模型用于在不同的运行时环境下预测不同卸载动作的Q值;在训练过程中,结合联邦学习框架对各智能体的模型进行聚合,最终得到一个适用于各智能体的通用的卸载动作Q值预测模型;
步骤3:在运行时环境中,使用步骤2得到的通用的卸载动作Q值预测模型,根据车辆的任务到达率λ、计算节点的服务率μ、计算节点之间的单位任务量传输时延D、任务的卸载方案F及计算节点的负载率ρ,预测不同卸载动作的Q值,通过比较各卸载动作的Q值选择卸载动作;重复上述过程,逐步为每个子任务决定卸载地点。
进一步地,按如下方法构建所述任务卸载问题的问题模型:
假设在某区域内的道路上部署了N个路侧单元,每个路侧单元都配备一个具有计算能力的边缘服务器,用于处理任务;路侧单元的集合记为E={e1,e2,...,eN},ej表示第j个路侧单元;该区域内有M辆车,记为V={v1,v2,...,vM},vi表示第i辆车;每辆车都拥有计算资源,用于处理自身的任务;具有计算资源的车辆和路侧单元统称为计算节点;每辆车通过无线网络和多接入边缘计算技术接入距离最近的K个路侧单元,进行通信和数据传输,并且使用边缘服务器的计算资源进行数据处理;
当车辆产生任务,假设任务内部是无依赖的,运行时被任意划分为多个子任务,划分任务的开销忽略不计;每个子任务均卸载到K个路侧单元中的任意一个执行,或在本地执行;
假设单位时间内车辆的任务到达率服从泊松分布;使用向量λ=[λ1,λ2,...,λM]表示M辆车的任务到达率,即单位时间内车辆产生的任务量;使用向量
Figure BDA0003965181800000021
Figure BDA0003965181800000022
表示计算节点的服务率,即单位时间内计算节点处理的任务量,μvi表示车辆vi的服务率,μej表示路侧单元ej的服务率;M辆车和N个路侧单元之间的单位任务量传输时延使用矩阵D表示:
Figure BDA0003965181800000031
其中,di,0=0表示车辆vi到自身的单位任务量传输时延,di,j表示车辆vi和路侧单元ej之间的单位任务量传输时延;
单位时间内M辆车的卸载策略使用矩阵F表示:
Figure BDA0003965181800000032
其中,fi,0表示车辆vi本地执行的任务量,fi,j表示车辆vi卸载到路侧单元ej的任务量;
使用向量
Figure BDA0003965181800000033
表示单位时间内计算节点负载的任务量,其中,/>
Figure BDA0003965181800000034
表示车辆vi负载的任务量,/>
Figure BDA0003965181800000035
表示路侧单元ej负载的任务量;假设车辆仅能将任务卸载到其能接入的K个路侧单元或本地执行,而不能卸载到其他车辆执行;因此,车辆vi负载的任务量仅与本地执行的任务量有关,即/>
Figure BDA0003965181800000036
路侧单元ej负载的任务量与M辆车的卸载策略有关,即/>
Figure BDA0003965181800000037
假设每个计算节点均仅拥有一台服务器用于计算任务,使用M/M/1排队模型分别对每个计算节点进行建模;对于每个计算节点,单位任务量逗留时间,即单位任务量在队列中的等待时间与单位任务量所需的执行时间之和计算为:
Figure BDA0003965181800000038
因为每个计算节点处理任务是并行的,所以车辆vi的到达任务响应时间为所有计算节点中最晚执行完成的时间:
Ti=max(fi,0·ti,0,fi,1·ti,1,...,fi,N·ti,N)
其中,ti,j表示将车辆vi的到达任务卸载到计算节点j,
Figure BDA0003965181800000039
的单位任务量平均响应时间,由单位任务量的逗留时间和传输时间组成:
ti,j=Ta(wj,μj)+di,j
其中,当j=0时,表示车辆在本地处理相应的子任务,使用车辆本地的负载和服务率进行计算,即
Figure BDA0003965181800000041
否则,表示车辆将相应的子任务卸载到路侧单元ej执行,使用路侧单元ej的负载任务量和服务率进行计算,即/>
Figure BDA0003965181800000042
对于整个系统,处理所有车辆到达任务的平均响应时间为:
Figure BDA0003965181800000043
所述实时任务卸载方法的优化目标是找到一组卸载策略F,以最小化整个系统中所有车辆到达任务的响应时间:
Figure BDA0003965181800000044
s.t.C1:
Figure BDA0003965181800000045
C2:
Figure BDA0003965181800000046
C3:
Figure BDA0003965181800000047
C4:
Figure BDA0003965181800000048
C5:
Figure BDA0003965181800000049
C6:
Figure BDA00039651818000000410
其中,约束条件C1表示每个任务必须被完整划分并卸载到各个可用的计算节点;C2表示每个路侧单元负载的任务量不能超过其最大能承受的负载量,ρmax表示路侧单元最大可承受的负载率;C3表示每辆车的任务到达率小于其服务率;C4表示每个路侧单元的服务率均大于所有车辆的服务率;C5表示车辆和路侧单元之间的单位任务量传输时延和传输任务量必须是非负的;C6表示车辆需要处理的任务量不大于其任务到达率。
进一步地,按如下方法构建所述卸载动作Q值预测模型:
将每辆车都看作一个智能体,与环境交互进行学习和决策;记车辆vi可接入的K个路侧单元为集合Ei={ei,1,ei,2,...,ei,K},其在路侧单元集合E中的索引分别为j1,j2,...,jK,即
Figure BDA00039651818000000411
记车辆vi及其可接入的K个路侧单元的服务率为/>
Figure BDA00039651818000000412
Figure BDA00039651818000000413
车辆vi可接入的K个路侧单元的单位任务量传输时延为/>
Figure BDA00039651818000000414
Figure BDA00039651818000000415
t时间步车辆vi的到达任务的卸载方案为/>
Figure BDA00039651818000000416
t时间步vi可接入的K个路侧单元的负载率为/>
Figure BDA00039651818000000417
Figure BDA0003965181800000051
基于构建的问题模型,定义每个智能体的状态、动作、状态转移函数和奖励函数马尔可夫决策过程四元组:
状态空间:车辆vi在t时间步的状态定义为向量
Figure BDA0003965181800000052
由可观测到的运行时环境信息μi,di和与性能指标相关的/>
Figure BDA0003965181800000053
组成;
在每辆车的状态中引入指纹,以在未知其他车辆卸载策略的条件下进行任务卸载;指纹是一个蕴含其他智能体信息的低维向量,由[e,∈]组成,其中e是当前训练的轮数,∈是∈-greedy中的探索率;车辆vi在t时间步的状态定义为向量
Figure BDA0003965181800000054
动作空间:动作空间定义为ai=[0,1,2,...,K],车辆vi在t时间步的动作记为
Figure BDA0003965181800000055
将任务量按照固定比例δi分成若干子任务,每个动作决定了每个子任务的执行地点;动作/>
Figure BDA0003965181800000056
表示车辆vi将相应子任务放在本地执行;动作/>
Figure BDA0003965181800000057
表示车辆vi将相应子任务卸载到路侧单元/>
Figure BDA0003965181800000058
上执行;
状态转移函数:在状态
Figure BDA0003965181800000059
下执行动作/>
Figure BDA00039651818000000510
可转移到下一状态/>
Figure BDA00039651818000000511
Figure BDA00039651818000000512
其中运行时环境参数μi和di保持不变;指纹[e,∈]随训练过程转移到[e′,∈′];/>
Figure BDA00039651818000000513
和/>
Figure BDA00039651818000000514
限据动作/>
Figure BDA00039651818000000515
分别转移到/>
Figure BDA00039651818000000516
和/>
Figure BDA00039651818000000517
具体如下所示:
Figure BDA00039651818000000518
Figure BDA00039651818000000519
奖励函数:为了引导智能体的卸载决策能使系统的平均响应时间最小化,奖励函数定义为与系统平均响应时间相关的负数:
Figure BDA00039651818000000520
/>
其中,Tt表示在t时间步系统累积的平均响应时延,Tt+1表示所有智能体执行完动作
Figure BDA00039651818000000521
后,在t+1时间步系统累积的平均响应时延。
进一步地,所述卸载动作Q值预测模型的训练方法为:
首先,初始化探索率、经验回放池、联邦模型参数、各智能体在线网络和目标网络参数;
对于每个训练周期,初始化当前系统平均响应时间、卸载策略和各计算节点负载的任务量;
在训练过程中,每C轮迭代通过联邦平均更新网络参数,并更新每个智能体的目标网络参数;
使用固定比例将每辆车的到达任务划分成若干子任务;对每块子任务,每辆车先观测当前的状态,然后根据∈-greedy方法选取当前子任务的卸载动作;
接着,所有车辆统一执行动作,环境根据各智能体的动作更新信息,包括当前系统平均响应时间、卸载策略和各计算节点负载的任务量;
每辆车收到全局的奖励函数,并转移到下一状态;
之后,每辆车将当前卸载的经验存入经验回放池中,并从经验回放池中随机抽取B条经验,计算目标Q值和损失函数后,使用RMSprop优化器更新在线网络参数;
为了使智能体能探索到更优的经验,但又不让过多较差的经验影响训练过程,通过线性下降更新探索率;
迭代设定轮数后,使用联邦平均得到最终的网络参数。
进一步地,在运行时环境中,使用训练好的卸载动作Q值预测模型进行卸载动作决策,包括:
首先,把训练好的模型分发给每辆车,并初始化当前系统平均响应时间、卸载策略和各计算节点负载的任务量;
接着,每辆车观测当前状态,通过卸载动作Q值预测模型评估在当前状态执行每个卸载动作的Q值,选取Q值最大的卸载动作,并更新当前系统平均响应时间、卸载策略和各计算节点负载的任务量;
依次决定每个子任务的卸载地点,得到最终的系统平均响应时间。
与现有技术相比,本发明具有以下有益效果:提供了一种车辆边缘计算中基于联邦深度强化学习的任务卸载方法,该方法首先将任务卸载问题建模为一个优化问题,其优化目标是使各车辆通过选择最优的任务卸载策略以最小化系统平均响应时间;然后将每个车辆都看作是一个智能体,在未知其他车辆的任务模型和卸载决策下,分布式使用DQN训练各自的卸载动作Q值预测模型,并使用联邦学习框架,结合所有车辆的训练信息,获得一个适用于所有车辆的通用模型;最后,通过获得的通用模型为每个子任务确定卸载地点。该方法可以在可接受的算法执行时间内获得接近于理想方案的系统平均响应时间,使得整个系统的平均响应时间近似最优。
附图说明
图1是本发明实施例的实现框架图;
图2是本发明实施例中在线网络和目标网络的结构框图;
图3是本发明实施例中本方法与其他方法在K=2,N=3场景下的系统平均响应时间(Average Response Time)和算法执行时间(Execution Time);
图4是本发明实施例中本方法与其他方法在K=2,N=15场景下的系统平均响应时间(Average Response Time)和算法执行时间(Execution Time);
图5是本发明实施例中本方法与其他方法在K={0,1,2},N=3场景下的系统平均响应时间(Average Response Time)和算法执行时间(Execution Time);
图6是本发明实施例中本方法与其他方法在K={0,1,2},N=15场景下的系统平均响应时间(Average Response Time)和算法执行时间(Execution Time)。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本实施例提供了一种车辆边缘计算中基于联邦深度强化学习的任务卸载方法(Task Offloading algorithm based on Federal Deep Reinforcement Learning,TOFDRL),包括以下步骤:
步骤1:将任务卸载问题建模为一个优化问题:找到一组最优的任务卸载策略以最小化系统中所有车辆到达任务的平均响应时间。
步骤2:构建卸载动作Q值预测模型;将每辆车看作智能体,在运行时环境中分布式使用DQN方法训练卸载动作Q值预测模型;训练数据包括车辆的任务到达率λ、计算节点的服务率μ、计算节点之间的单位任务量传输时延D、任务的卸载方案F、计算节点的负载率ρ及系统平均响应时间T;每个智能体通过自己可观测的数据训练自己的模型,该模型用于在不同的运行时环境下预测不同卸载动作的Q值;在训练过程中,结合联邦学习框架对各智能体的模型进行聚合,最终得到一个适用于各智能体的通用的卸载动作Q值预测模型。
步骤3:在运行时环境中,使用步骤2得到的通用的卸载动作Q值预测模型,根据车辆的任务到达率λ、计算节点的服务率μ、计算节点之间的单位任务量传输时延D、任务的卸载方案F及计算节点的负载率ρ,预测不同卸载动作的Q值,通过比较各卸载动作的Q值选择卸载动作;重复上述过程,逐步为每个子任务决定卸载地点。
1问题模型
1.1系统模型
假设在某区域内的道路上部署了N个路侧单元(Road Side Units,RSU),每个路侧单元都配备了一个具有计算能力的边缘服务器,用于处理任务;路侧单元的集合记为E={e1,e2,...,eN},ej表示第j个路侧单元;该区域内有M辆车,记为V={v1,v2,...,vM},vi表示第i辆车;每辆车都拥有计算资源,用于处理自身的任务;具有计算资源的车辆和路侧单元统称为计算节点;每辆车通过无线网络和多接入边缘计算技术接入距离最近的K个路侧单元,进行通信和数据传输,并且使用边缘服务器的计算资源进行数据处理。
1.2任务模型
车辆会产生任务。假设任务内部是无依赖的,运行时被任意划分为多个子任务,划分任务的开销忽略不计;每个子任务均卸载到K个路侧单元中的任意一个执行,或在本地执行。
假设单位时间内车辆的任务到达率服从泊松分布;使用向量λ=[λ1,λ2,...,λM]表示M辆车的任务到达率,即单位时间内车辆产生的任务量;使用向量
Figure BDA0003965181800000081
Figure BDA0003965181800000082
表示计算节点的服务率,即单位时间内计算节点处理的任务量,/>
Figure BDA0003965181800000083
表示车辆vi的服务率,/>
Figure BDA0003965181800000084
表示路侧单元ej的服务率;M辆车和N个路侧单元之间的单位任务量传输时延使用矩阵D表示:
Figure BDA0003965181800000085
其中,di,0=0表示车辆vi到自身的单位任务量传输时延,di,j表示车辆vi和路侧单元ej之间的单位任务量传输时延。
单位时间内M辆车的卸载策略使用矩阵F表示:
Figure BDA0003965181800000091
其中,fi,0表示车辆vi本地执行的任务量,fi,j表示车辆vi卸载到路侧单元ej的任务量。
使用向量
Figure BDA0003965181800000092
表示单位时间内计算节点负载的任务量,其中,/>
Figure BDA0003965181800000093
表示车辆vi负载的任务量,/>
Figure BDA0003965181800000094
表示路侧单元ej负载的任务量;假设车辆仅能将任务卸载到其能接入的K个路侧单元或本地执行,而不能卸载到其他车辆执行;因此,车辆vi负载的任务量仅与本地执行的任务量有关,即/>
Figure BDA0003965181800000095
路侧单元ej负载的任务量与M辆车的卸载策略有关,即/>
Figure BDA0003965181800000096
1.3计算模型
假设每个计算节点均仅拥有一台服务器用于计算任务,使用M/M/1排队模型分别对每个计算节点进行建模;对于每个计算节点,单位任务量逗留时间,即单位任务量在队列中的等待时间与单位任务量所需的执行时间之和计算为:
Figure BDA0003965181800000097
因为每个计算节点处理任务是并行的,所以车辆vi的到达任务响应时间为所有计算节点中最晚执行完成的时间:
Ti=max(fi,0·ti,0,fi,1·ti,1,...,fi,N·ti,N)
其中,ti,j表示将车辆vi的到达任务卸载到计算节点j,
Figure BDA0003965181800000098
的单位任务量平均响应时间,由单位任务量的逗留时间和传输时间组成:
ti,j=Ta(wj,μj)+di,j
其中,当j=0时,表示车辆在本地处理相应的子任务,使用车辆本地的负载和服务率进行计算,即
Figure BDA0003965181800000099
否则,表示车辆将相应的子任务卸载到路侧单元ej执行,使用路侧单元ej的负载任务量和服务率进行计算,即/>
Figure BDA00039651818000000910
对于整个系统,处理所有车辆到达任务的平均响应时间为:
Figure BDA00039651818000000911
1.4问题定义
所述实时任务卸载方法的优化目标是找到一组卸载策略F,以最小化整个系统中所有车辆到达任务的响应时间:
Figure BDA0003965181800000101
s.t.C1:
Figure BDA0003965181800000102
C2:
Figure BDA0003965181800000103
C3:
Figure BDA0003965181800000104
C4:
Figure BDA0003965181800000105
C5:
Figure BDA0003965181800000106
C6:
Figure BDA0003965181800000107
其中,约束条件C1表示每个任务必须被完整划分并卸载到各个可用的计算节点;C2表示每个路侧单元负载的任务量不能超过其最大能承受的负载量,ρmax表示路侧单元最大可承受的负载率;C3表示每辆车的任务到达率小于其服务率;C4表示每个路侧单元的服务率均大于所有车辆的服务率;C5表示车辆和路侧单元之间的单位任务量传输时延和传输任务量必须是非负的;C6表示车辆需要处理的任务量不大于其任务到达率。
2卸载动作Q值预测模型
2.1卸载动作Q值预测模型的构建
将每辆车都看作一个智能体,与环境交互进行学习和决策;记车辆vi可接入的K个路侧单元为集合Ei={ei,1,ei,2,...,ei,K},其在路侧单元集合E中的索引分别为j1,j2,...,jK,即
Figure BDA0003965181800000108
记车辆vi及其可接入的K个路侧单元的服务率为/>
Figure BDA0003965181800000109
Figure BDA00039651818000001010
车辆vi可接入的K个路侧单元的单位任务量传输时延为/>
Figure BDA00039651818000001011
Figure BDA00039651818000001012
t时间步车辆vi的到达任务的卸载方案为/>
Figure BDA00039651818000001013
t时间步vi可接入的K个路侧单元的负载率为/>
Figure BDA00039651818000001014
Figure BDA00039651818000001015
基于构建的问题模型,定义每个智能体的状态、动作、状态转移函数和奖励函数马尔可夫决策过程四元组:
状态空间:车辆vi在t时间步的状态定义为向量
Figure BDA00039651818000001016
由可观测到的运行时环境信息μi,di和与性能指标相关的/>
Figure BDA00039651818000001017
组成。除此之外,在多车辆的环境中,每辆车的卸载决策会受到其他车辆的影响。但是,当前车辆进行卸载决策时并不知道其他车辆的卸载策略。为了在未知其他车辆卸载策略的条件下进行任务卸载,在每辆车的状态中引入了指纹。指纹是一个蕴含其他智能体信息的低维向量,由[e,∈]组成,其中e是当前训练的轮数,∈是ε-greedy中的探索率。综上所述,车辆vi在t时间步的状态定义为向量
Figure BDA0003965181800000111
动作空间:动作空间定义为ai=[0,1,2,...,K],车辆vi在t时间步的动作记为
Figure BDA0003965181800000112
将任务量按照固定比例δi分成若干子任务,每个动作决定了每个子任务的执行地点;动作
Figure BDA0003965181800000113
表示车辆vi将相应子任务放在本地执行;动作/>
Figure BDA0003965181800000114
表示车辆vi将相应子任务卸载到路侧单元/>
Figure BDA0003965181800000115
上执行。
状态转移函数:在状态
Figure BDA0003965181800000116
下执行动作/>
Figure BDA0003965181800000117
可转移到下一状态/>
Figure BDA0003965181800000118
Figure BDA0003965181800000119
其中运行时环境参数μi和di保持不变;指纹[e,∈]随训练过程转移到[e′,∈′];/>
Figure BDA00039651818000001110
和/>
Figure BDA00039651818000001111
限据动作/>
Figure BDA00039651818000001112
分别转移到/>
Figure BDA00039651818000001113
和/>
Figure BDA00039651818000001114
具体如下所示:
Figure BDA00039651818000001115
Figure BDA00039651818000001116
奖励函数:为了引导智能体的卸载决策能使系统的平均响应时间最小化,奖励函数定义为与系统平均响应时间相关的负数:
Figure BDA00039651818000001117
其中,Tt表示在t时间步系统累积的平均响应时延,Tt+1表示所有智能体执行完动作
Figure BDA00039651818000001118
后,在t+1时间步系统累积的平均响应时延。
图1是本发明方法的实现框架图。每辆车使用经典的深度强化学习算法DQN进行训练和决策。每个DQN智能体分别观测车辆边缘计算环境以获得状态,再通过ε-greedy方法选择卸载动作,执行卸载动作后,环境发生变化,每个智能体会得到环境评估该动作的奖励值,并观测到新的状态。为了避免下一状态的Q值存在高估现象,每个DQN智能体除了拥有一个用于在线训练更新的在线网络之外,还拥有一个与在线网络架构相同的目标网络,用于获得下一状态的Q值。在线网络和目标网络的结构如图2所示。
2.2卸载动作Q值预测模型的训练
卸载动作Q值预测模型的训练流程如算法1所示。首先,初始化探索率、经验回放池、联邦模型参数、各智能体在线网络和目标网络参数(第1行)。对于每个训练周期,初始化当前系统平均响应时间、卸载策略和各计算节点负载的任务量(第3行)。在训练过程中,每C轮迭代需要通过联邦平均更新网络参数,并更新每个智能体的目标网络参数(第4行)。使用固定比例将每辆车的到达任务划分成若干子任务。对每块子任务,每辆车先观测当前的状态,然后根据∈-greedy方法选取当前子任务的卸载动作(第6-8行)。接着,所有车辆统一执行动作,环境根据各智能体的动作更新信息,包括当前系统平均响应时间、卸载策略和各计算节点负载的任务量(第9行)。每辆车收到全局的奖励函数,并转移到下一状态(第11行)。之后,每辆车将当前卸载的经验存入经验回放池中,并从经验回放池中随机抽取B条经验,计算目标Q值和损失函数后,使用RMSprop优化器更新在线网络参数(第12-15行)。为了使得智能体能探索到更优的经验,但又不能让过多较差的经验影响训练过程,需要通过线性下降更新探索率(第18行)。迭代一定轮数后,使用联邦平均得到最终的网络参数(第21-22行)。
Figure BDA0003965181800000121
/>
Figure BDA0003965181800000131
2.3卸载动作的运行时决策
在运行时环境中,使用训练好的卸载动作Q值预测模型进行卸载动作决策,主要步骤如算法2所示。首先,把训练好的模型分发给每辆车,并初始化当前系统平均响应时间、卸载策略和各计算节点负载的任务量(第1-2行)。接着,每辆车观测当前状态(状态中的e和∈均设置成最后一个训练步骤的值),通过卸载动作Q值预测模型评估在当前状态执行每个卸载动作的Q值,选取Q值最大的卸载动作,并更新当前系统平均响应时间、卸载策略和各计算节点负载的任务量(第4-7行)。依次决定每个子任务的卸载地点,得到最终的系统平均响应时间(第9行)。
Figure BDA0003965181800000132
/>
Figure BDA0003965181800000141
3实验仿真与结果
3.1实验设置
为了模拟场景的多样性,考虑系统中的路侧单元数N={3,15},车辆数M={5,15,25},每辆车可接入的路侧单元个数K={0,1,2}。系统中车辆的任务到达率λ服从N(10,4)的正态分布,划分任务的固定比例δ=4%;车辆的服务率μv服从N(12,6)的正态分布;路侧单元的服务率μe服从N(15,6)的正态分布;车辆与路侧单元之间的单位任务量传输时延d服从U(0.1,0.2)的均匀分布。为了避免车辆无法处理自身的任务,车辆的任务到达率必须小于车辆的服务率。为了防止路侧单元接收过多车辆卸载的任务量导致无法处理完这些任务量,设置路侧单元的负载率上限为ρmax=85%。当路侧单元的负载率超过该上限时,会拒绝车辆的卸载请求,剩余部分任务量将放在车辆本地执行。具体的仿真参数设置如表1所示。
表1系统模型的模拟参数设置
Figure BDA0003965181800000142
本方法基于Python3.8和TensorFlow2.8.0实现,使用由一层输入层、两个全连接层构成的隐藏层和一层输出层组成的神经网络。其中,隐藏层中的每个全连接层都有128个隐藏神经元,激活函数均使用ReLU。训练轮数e、联邦平均网络参数与目标网络参数的同步频率C分别设置为3000、100;经验回放池容量c、训练批量大小B、学习率α、折扣率γ分别设置为65535、32、0.001、0.99;探索率∈的初始值为1,最终值为0.1,在前600轮进行线性衰减,衰减至最终值后保持不变。
3.2实验结果与分析
在不同的场景下,将本方法(TOFDRL)与以下方法从系统响应时间和算法执行时间两方面进行对比:
1)PSO-GA(Particle Swarm Optimization-Genetic Algorithm):一种启发式方法,具有收敛快和精度高的特点,本发明解决的问题难以使用暴力枚举法遍历整个解空间以求得最优解。因此,将PSO-GA视为理想方案。
2)基于规则的方法(Rule-based):采用固定百分比的规则对任务进行划分和卸载。
3)多智能体深度强化学习算法(multi-agent deep reinforcement learning,MADRL):不使用联邦学习框架进行训练,各智能体仅根据自己观测到的局部信息进行模型训练和卸载决策。
图3至图6分别比较了本方法与其他经典方法在不同车辆数、不同路侧单元数以及可接入路侧单元数固定或随机的多种场景下的系统平均响应时间(Average ResponseTime)和算法执行时间(Execution Time)。图3比较了本方法与其他经典方法在K=2,N=3场景下的性能,本方法得到的系统平均响应时间分别优于MADRL和Rule-based方法36.94%和30.03%,仅与理想方案相差10.63%;图4比较了本方法与其他经典方法在K=2,N=15场景下的性能,本方法得到的系统平均响应时间分别优于MADRL和Rule-based方法32.38%和41.23%,仅与理想方案相差19.48%;图5比较了本方法与其他经典方法在K={0,1,2},N=3场景下的性能,本方法得到的系统平均响应时间分别优于MADRL和Rule-based方法22.78%和17.01%,仅与理想方案相差7.69%;图6比较了本方法与其他经典方法在K={0,1,2},N=15场景下的性能,本方法得到的系统平均响应时间分别优于MADRL和Rule-based方法20.28%和18.62%,仅与理想方案相差5.75%。以上系统平均响应时间的结果验证了本方法在不同场景中均能实现接近最优的性能。
比较算法执行时间,理想方案求解出的卸载方案得到的系统平均响应时间虽然小于本方法,但是需要较长的执行时间,约为百秒的数量级,不满足车联网中时延敏感型任务的时延约束。Rule-based方法基本不涉及数学运算,仅需百分之一至千分之一秒数量级的算法执行时间,但是它过于通用,导致其得到的卸载方案的系统平均响应时间高于本方法。MADRL方法仅在训练阶段与本方法不同,在运行时环境中的卸载决策过程与本方法基本相同,因此两个方法的执行时间在同一数量级,均在毫秒级,满足车联网中时延敏感型任务的时延约束,但是本方法得到的系统平均响应时间优于MADRL方法。以上结果验证了本方法能在可接受的算法执行时间内求解出接近于理想方案的系统平均响应时间的优越性。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

Claims (5)

1.一种车辆边缘计算中基于联邦深度强化学习的任务卸载方法,其特征在于,包括以下步骤:
步骤1:将任务卸载问题建模为一个优化问题:找到一组最优的任务卸载策略以最小化系统中所有车辆到达任务的平均响应时间;
步骤2:构建卸载动作Q值预测模型;将每辆车看作智能体,在运行时环境中分布式使用DQN方法训练卸载动作Q值预测模型;训练数据包括车辆的任务到达率λ、计算节点的服务率μ、计算节点之间的单位任务量传输时延D、任务的卸载方案F、计算节点的负载率ρ及系统平均响应时间T;每个智能体通过自己可观测的数据训练自己的模型,该模型用于在不同的运行时环境下预测不同卸载动作的Q值;在训练过程中,结合联邦学习框架对各智能体的模型进行聚合,最终得到一个适用于各智能体的通用的卸载动作Q值预测模型;
步骤3:在运行时环境中,使用步骤2得到的通用的卸载动作Q值预测模型,根据车辆的任务到达率λ、计算节点的服务率μ、计算节点之间的单位任务量传输时延D、任务的卸载方案F及计算节点的负载率ρ,预测不同卸载动作的Q值,通过比较各卸载动作的Q值选择卸载动作;重复上述过程,逐步为每个子任务决定卸载地点。
2.根据权利要求1所述的车辆边缘计算中基于联邦深度强化学习的任务卸载方法,其特征在于,按如下方法构建所述任务卸载问题的问题模型:
假设在某区域内的道路上部署了N个路侧单元,每个路侧单元都配备一个具有计算能力的边缘服务器,用于处理任务;路侧单元的集合记为E={e1,e2,…,eN},ej表示第j个路侧单元;该区域内有M辆车,记为V={v1,v2,…,vM},vi表示第i辆车;每辆车都拥有计算资源,用于处理自身的任务;具有计算资源的车辆和路侧单元统称为计算节点;每辆车通过无线网络和多接入边缘计算技术接入距离最近的K个路侧单元,进行通信和数据传输,并且使用边缘服务器的计算资源进行数据处理;
当车辆产生任务,假设任务内部是无依赖的,运行时被任意划分为多个子任务,划分任务的开销忽略不计;每个子任务均卸载到K个路侧单元中的任意一个执行,或在本地执行;
假设单位时间内车辆的任务到达率服从泊松分布;使用向量λ=[λ12,…,λM]表示M辆车的任务到达率,即单位时间内车辆产生的任务量;使用向量
Figure FDA0003965181790000011
Figure FDA0003965181790000012
表示计算节点的服务率,即单位时间内计算节点处理的任务量,/>
Figure FDA0003965181790000021
表示车辆vi的服务率,
Figure FDA0003965181790000022
表示路侧单元ej的服务率;M辆车和N个路侧单元之间的单位任务量传输时延使用矩阵D表示:
Figure FDA0003965181790000023
其中,di,0=0表示车辆vi到自身的单位任务量传输时延,di,j表示车辆vi和路侧单元ej之间的单位任务量传输时延;
单位时间内M辆车的卸载策略使用矩阵F表示:
Figure FDA0003965181790000024
/>
其中,fi,0表示车辆vi本地执行的任务量,fi,j表示车辆vi卸载到路侧单元ej的任务量;
使用向量
Figure FDA0003965181790000025
表示单位时间内计算节点负载的任务量,其中,/>
Figure FDA0003965181790000026
表示车辆vi负载的任务量,/>
Figure FDA0003965181790000027
表示路侧单元ej负载的任务量;假设车辆仅能将任务卸载到其能接入的K个路侧单元或本地执行,而不能卸载到其他车辆执行;因此,车辆vi负载的任务量仅与本地执行的任务量有关,即/>
Figure FDA0003965181790000028
路侧单元ej负载的任务量与M辆车的卸载策略有关,即/>
Figure FDA0003965181790000029
假设每个计算节点均仅拥有一台服务器用于计算任务,使用M/M/1排队模型分别对每个计算节点进行建模;对于每个计算节点,单位任务量逗留时间,即单位任务量在队列中的等待时间与单位任务量所需的执行时间之和计算为:
Figure FDA00039651817900000210
因为每个计算节点处理任务是并行的,所以车辆vi的到达任务响应时间为所有计算节点中最晚执行完成的时间:
Ti=max(fi,0·ti,0,fi,1·ti,1,…,fi,N·ti,)
其中,ti,j表示将车辆vi的到达任务卸载到计算节点j,
Figure FDA00039651817900000211
的单位任务量平均响应时间,由单位任务量的逗留时间和传输时间组成:
ti,j=Ta(wjj)+di,j
其中,当j=0时,表示车辆在本地处理相应的子任务,使用车辆本地的负载和服务率进行计算,即
Figure FDA0003965181790000031
否则,表示车辆将相应的子任务卸载到路侧单元ej执行,使用路侧单元ej的负载任务量和服务率进行计算,即/>
Figure FDA0003965181790000032
对于整个系统,处理所有车辆到达任务的平均响应时间为:
Figure FDA0003965181790000033
所述实时任务卸载方法的优化目标是找到一组卸载策略F,以最小化整个系统中所有车辆到达任务的响应时间:
Figure FDA0003965181790000034
s.t.C1:
Figure FDA0003965181790000035
C2:
Figure FDA0003965181790000036
C3:
Figure FDA0003965181790000037
C4:
Figure FDA0003965181790000038
C5:
Figure FDA0003965181790000039
C6:
Figure FDA00039651817900000310
其中,约束条件C1表示每个任务必须被完整划分并卸载到各个可用的计算节点;C2表示每个路侧单元负载的任务量不能超过其最大能承受的负载量,ρmax表示路侧单元最大可承受的负载率;C3表示每辆车的任务到达率小于其服务率;C4表示每个路侧单元的服务率均大于所有车辆的服务率;C5表示车辆和路侧单元之间的单位任务量传输时延和传输任务量必须是非负的;C6表示车辆需要处理的任务量不大于其任务到达率。
3.根据权利要求2所述的车辆边缘计算中基于联邦深度强化学习的任务卸载方法,其特征在于,按如下方法构建所述卸载动作Q值预测模型:
将每辆车都看作一个智能体,与环境交互进行学习和决策;记车辆vi可接入的K个路侧单元为集合Ei={ei,1,ei,2,…,ei,K},其在路侧单元集合E中的索引分别为j1,j2,…,jK,即
Figure FDA00039651817900000311
记车辆vi及其可接入的K个路侧单元的服务率为/>
Figure FDA00039651817900000312
Figure FDA00039651817900000313
车辆vi可接入的K个路侧单元的单位任务量传输时延为/>
Figure FDA00039651817900000314
Figure FDA00039651817900000315
t时间步车辆vi的到达任务的卸载方案为/>
Figure FDA00039651817900000316
t时间步vi可接入的K个路侧单元的负载率为/>
Figure FDA00039651817900000317
Figure FDA0003965181790000041
基于构建的问题模型,定义每个智能体的状态、动作、状态转移函数和奖励函数马尔可夫决策过程四元组:
状态空间:车辆vi在t时间步的状态定义为向量
Figure FDA0003965181790000042
由可观测到的运行时环境信息μi,di和与性能指标相关的/>
Figure FDA0003965181790000043
组成;
在每辆车的状态中引入指纹,以在未知其他车辆卸载策略的条件下进行任务卸载;指纹是一个蕴含其他智能体信息的低维向量,由[e,∈]组成,其中e是当前训练的轮数,∈是∈-greedy中的探索率;车辆vi在t时间步的状态定义为向量
Figure FDA0003965181790000044
动作空间:动作空间定义为ai=[0,1,2,…,K],车辆vi在t时间步的动作记为
Figure FDA0003965181790000045
将任务量按照固定比例δi分成若干子任务,每个动作决定了每个子任务的执行地点;动作/>
Figure FDA0003965181790000046
表示车辆vi将相应子任务放在本地执行;动作/>
Figure FDA0003965181790000047
表示车辆vi将相应子任务卸载到路侧单元/>
Figure FDA0003965181790000048
上执行;
状态转移函数:在状态
Figure FDA0003965181790000049
下执行动作/>
Figure FDA00039651817900000410
可转移到下一状态/>
Figure FDA00039651817900000411
Figure FDA00039651817900000412
其中运行时环境参数μi和di保持不变;指纹[e,∈]随训练过程转移到[e',∈'];/>
Figure FDA00039651817900000413
和/>
Figure FDA00039651817900000414
根据动作/>
Figure FDA00039651817900000415
分别转移到/>
Figure FDA00039651817900000416
和/>
Figure FDA00039651817900000417
具体如下所示:
Figure FDA00039651817900000418
Figure FDA00039651817900000419
奖励函数:为了引导智能体的卸载决策能使系统的平均响应时间最小化,奖励函数定义为与系统平均响应时间相关的负数:
Figure FDA00039651817900000420
其中,Tt表示在t时间步系统累积的平均响应时延,Tt+1表示所有智能体执行完动作
Figure FDA00039651817900000421
后,在t+1时间步系统累积的平均响应时延。
4.根据权利要求3所述的车辆边缘计算中基于联邦深度强化学习的任务卸载方法,其特征在于,所述卸载动作Q值预测模型的训练方法为:
首先,初始化探索率、经验回放池、联邦模型参数、各智能体在线网络和目标网络参数;
对于每个训练周期,初始化当前系统平均响应时间、卸载策略和各计算节点负载的任务量;
在训练过程中,每C轮迭代通过联邦平均更新网络参数,并更新每个智能体的目标网络参数;
使用固定比例将每辆车的到达任务划分成若干子任务;对每块子任务,每辆车先观测当前的状态,然后根据∈-greedy方法选取当前子任务的卸载动作;
接着,所有车辆统一执行动作,环境根据各智能体的动作更新信息,包括当前系统平均响应时间、卸载策略和各计算节点负载的任务量;
每辆车收到全局的奖励函数,并转移到下一状态;
之后,每辆车将当前卸载的经验存入经验回放池中,并从经验回放池中随机抽取B条经验,计算目标Q值和损失函数后,使用RMSprop优化器更新在线网络参数;
为了使智能体能探索到更优的经验,但又不让过多较差的经验影响训练过程,通过线性下降更新探索率;
迭代设定轮数后,使用联邦平均得到最终的网络参数。
5.根据权利要求4所述的车辆边缘计算中基于联邦深度强化学习的任务卸载方法,其特征在于,在运行时环境中,使用训练好的卸载动作Q值预测模型进行卸载动作决策,包括:
首先,把训练好的模型分发给每辆车,并初始化当前系统平均响应时间、卸载策略和各计算节点负载的任务量;
接着,每辆车观测当前状态,通过卸载动作Q值预测模型评估在当前状态执行每个卸载动作的Q值,选取Q值最大的卸载动作,并更新当前系统平均响应时间、卸载策略和各计算节点负载的任务量;
依次决定每个子任务的卸载地点,得到最终的系统平均响应时间。
CN202211494716.2A 2022-11-26 2022-11-26 车辆边缘计算中基于联邦深度强化学习的任务卸载方法 Pending CN115865914A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211494716.2A CN115865914A (zh) 2022-11-26 2022-11-26 车辆边缘计算中基于联邦深度强化学习的任务卸载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211494716.2A CN115865914A (zh) 2022-11-26 2022-11-26 车辆边缘计算中基于联邦深度强化学习的任务卸载方法

Publications (1)

Publication Number Publication Date
CN115865914A true CN115865914A (zh) 2023-03-28

Family

ID=85666773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211494716.2A Pending CN115865914A (zh) 2022-11-26 2022-11-26 车辆边缘计算中基于联邦深度强化学习的任务卸载方法

Country Status (1)

Country Link
CN (1) CN115865914A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117610644A (zh) * 2024-01-19 2024-02-27 南京邮电大学 一种基于区块链的联邦学习优化方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117610644A (zh) * 2024-01-19 2024-02-27 南京邮电大学 一种基于区块链的联邦学习优化方法
CN117610644B (zh) * 2024-01-19 2024-04-16 南京邮电大学 一种基于区块链的联邦学习优化方法

Similar Documents

Publication Publication Date Title
CN110971706B (zh) Mec中近似最优化与基于强化学习的任务卸载方法
CN110347500B (zh) 用于边缘计算环境中面向深度学习应用的任务卸载方法
CN112380008B (zh) 一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法
CN114285853B (zh) 设备密集型工业物联网中基于端边云协同的任务卸载方法
CN113760511B (zh) 一种基于深度确定性策略的车辆边缘计算任务卸载方法
CN114638167A (zh) 基于多智能体强化学习的高性能集群资源公平分配方法
CN112732444A (zh) 一种面向分布式机器学习的数据划分方法
CN115865914A (zh) 车辆边缘计算中基于联邦深度强化学习的任务卸载方法
CN113887748B (zh) 在线联邦学习任务分配方法、装置、联邦学习方法及系统
CN113867843A (zh) 一种基于深度强化学习的移动边缘计算任务卸载方法
CN116321298A (zh) 车联网中一种基于深度强化学习的多目标联合优化任务卸载策略
CN116893861A (zh) 基于空地协同边缘计算的多智能体协作依赖任务卸载方法
CN117436485A (zh) 基于权衡时延和精度的多退出点的端-边-云协同系统及方法
CN112445617A (zh) 一种基于移动边缘计算的负载策略选择方法及系统
CN111930435A (zh) 一种基于pd-bpso技术的任务卸载决策方法
CN115208892B (zh) 基于动态资源需求的车路协同在线任务调度方法及系统
CN116663644A (zh) 一种多压缩版本的云边端dnn协同推理加速方法
CN114629769B (zh) 自组织网络的流量图谱生成方法
CN114916013B (zh) 基于车辆轨迹预测的边缘任务卸载时延优化方法、系统及介质
CN114942799B (zh) 云边环境下基于强化学习的工作流调度方法
CN113157344B (zh) 移动边缘计算环境下基于drl的能耗感知任务卸载方法
CN115220818A (zh) 基于深度强化学习的实时依赖型任务卸载方法
CN114693141A (zh) 一种基于端边协同的变电站巡检方法
CN113256128A (zh) 电力物联网中使用强化学习均衡资源使用的任务调度方法
CN115134242B (zh) 一种基于深度强化学习策略的车载计算任务卸载方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination