一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于多智能体DDQN的联合计算卸载和资源分配方法与流程

2022-06-05 09:04:17 来源:中国专利 TAG:

一种基于多智能体ddqn的联合计算卸载和资源分配方法
技术领域
1.本发明涉及一种车联网技术,尤其涉及一种车联网中计算资源调度方法,更具体地说,涉及一种基于多智能体ddqn的联合计算卸载和资源分配方法。


背景技术:

2.随着车辆的日益增多以及用户对于产品体验的更高要求,传统的本地计算模式已经无法满足计算密集型业务的需求。云服务器的出现使得车辆可以将一些复杂的计算移交给远端的云计算服务器来辅助计算,再将结果返回给用户,以此弥补终端计算资源匮乏的缺陷。然而,在车联网的车联万物(vehicle-to-everything,v2x)通信中,低时延要求是重中之重,是保证交通安全的前提条件。而云服务器和终端之间的距离较远,导致了不可忽略的通信时延和能量消耗等问题。有文献采用博弈论这一数学工具,研究了多信道无线干扰环境下移动边缘计算的多用户计算卸载问题,以分布式方式实现了高效的计算卸载。但车联网中的车辆具有较快的移动速度,导致了通信环境的快速变化,我们难以获取确切的环境状态,并且环境状态也是以一种无法预测的方式快速变化。因此,传统的基于模型的方法很难得出合理的、准确的选择。
3.深度强化学习是一种机器学习算法,它不需要像传统的最优化方法一样对优化目标作出假设或为了降低复杂度做次优化处理,而是利用了深度学习的感知能力与强化学习的决策能力,采用神经网络作为函数逼近器,可以很好地将车联网高维状态空间中的决策问题解决。其中,深度双q网络(double deep q network,ddqn)是深度强化学习中一种实现高维数据学习控制策略的新方法。ddqn使用两个网络,在线网络和目标网络,分别用于智能体动作的选择以及动作价值函数的估计,可以有效解决深度q网络(deep q network,dqn)中过估计的问题,从而使训练过程更快更可靠。但采用传统的单智能体强化学习方法无法满足车联网中计算密集型业务的需求,并且快速变化的环境也大大提高了计算成本。
4.本发明提出的一种基于多智能体ddqn的联合计算卸载和资源分配方法,采用线下训练、线上执行的强化学习架构,并将整个车联网看作一个多智能体环境,以最小化通信开销和计算开销为优化目标,可以满足蜂窝车联网(cellular-vehicle-to-everything,c-v2x)对低时延、高动态性、计算密集的服务需求。


技术实现要素:

5.本发明的目的是基于多智能体ddqn架构,提出一种车联网联合计算卸载与资源分配方法,在最小化时延的基础上,尽可能地降低用户端的能量消耗。为了实现该目的,本发明所采用的步骤是:
6.步骤1:以最小化应用时延与用户端能量消耗为目的,定义状态空间为任务信息、信道状态信息和辅助计算设备状态信息;动作空间为卸载决策、计算资源的分配以及发送功率的控制;奖励值包括通信阶段和计算阶段的奖励;
7.步骤2:设置最大训练回合数e和每回合训练的最大步数t,更新车辆位置和大尺度
衰落参数,重设每个智能体的剩余计算任务;
8.步骤3:以智能体n的状态作为在线网络的输入,基于ε贪心策略执行智能体n的动作并将训练数据存入记忆回放池;
9.步骤4:从记忆回放池选取一小批样本,用于计算q估计,通过最小化q网络和学习目标间的平方和误差训练q网络,使用随机梯度下降法计算更新后的网络参数,若训练回合数达到最大训练回合数e,则进入步骤5,否则跳转至步骤2开始新一回合训练;
10.步骤5:根据训练完成的ddqn网络,得到最优的联合计算卸载与资源分配策略。
11.进一步的,所述步骤1包括如下具体步骤:
12.步骤1-1:在c-v2x网络下的车联网系统模型,由云计算中心、核心网和网络接入边缘组成。其中网络接入边缘由与基站、路侧计算单元(road side unit,rsu)相连的移动边缘计算(mobile edge computing,mec)服务器与车辆组成,通过核心网与云计算中心连接;
13.步骤1-2:状态空间s包括智能体n自身的任务信息dn,n∈nc,其中nc为客户端车辆(vehicle user equipment client,vuec)数量,信道状态信息hn,n∈nc以及计算设备状态信息f,即
[0014][0015]
其中,智能体n自身的任务信息dn包括待处理的任务数据量dn、完成任务所需cpu转数cn、可被卸载的模块总数据量qn、可被卸载任务需要cpu转数以及任务时延阈值即
[0016][0017]
信道状态信息hn包括vuec n与服务端车辆(vehicle user equipment server,vues)vues v间的信道增益h
n,v
,与mec m间的信道增益h
n,m
,表示为hn={h
n,v
,h
n,m
}。计算设备状态信息f包括vues v与mec m剩余计算资源表示为
[0018]
步骤1-3:动作空间a包括卸载决策、计算资源的分配以及发送功率的控制,表示为
[0019]an
={on(t),pn(t),xn(t)}
ꢀꢀꢀꢀꢀꢀꢀꢀ
(表达式3)
[0020]
其中on(t)={0,1,2},为智能体n在第t步的卸载决策,0、1、2分别表示本地计算、服务车辆计算、和其他mec计算,pn(t)={23,10,5,0}dbm,为4个不同等级的发送功率,xn(t)={0,0.25,0.5,1},为4个不同等级的计算资源分配比例;
[0021]
步骤1-4:奖励包括通信阶段和计算阶段的奖励,表示为
[0022][0023]
其中为通信阶段的奖励,benifit
comm
为训练时大小可调的固定值,为通信阶段花费的总开销,同理,为计算阶段的奖励,强化学习是为了找到一个能够使从任意状态开始的期望回报最大的策略,折合后的期望回报表示为
[0024][0025]
其中γ∈[0,1],表示折扣率,r
t k 1
表示在t k 1步的奖励值。
[0026]
进一步的,所述步骤3包括如下具体步骤:
[0027]
步骤3-1:将每个智能体n的状态输入在线网络,根据ε贪心策略输出动作并将所有智能体的动作施加到环境中,得到即时奖励r
t 1
,转向下一个状态
[0028]
步骤3-2:更新小尺度衰落参数,将每个智能体的训练数据存放到记忆回放池中。
[0029]
进一步的,所述步骤4包括如下具体步骤:
[0030]
步骤4-1:在记忆回放池中选取一小批训练样本数据构成数据集;
[0031]
步骤4-2:计算q估计为
[0032][0033]
其中γ为折扣率,θ
t
和分别为在线网络和目标网络的参数,这两个网络的结构相同,但在线网络用于评估贪心策略,且不断更新θ
t
,而目标网络用于估算价值,每隔一段时间才会更新
[0034]
步骤4-3:定义损失函数为
[0035]
l
t
(θ)=∑d(y
t-q(s
t
,a
t
;θ))
ꢀꢀꢀꢀꢀ
(表达式7)
[0036]
其中d为采样集合,即步骤4-1中选取的数据集,y
t
为表达式6定义的q估计;
[0037]
步骤4-4:利用随机梯度下降法计算θ
t
更新后的值为
[0038][0039]
其中α为迭代步长,l
t

t
)为表达式7定义的损失函数,更新θ
t
使得q(s
t
,a
t
;θ
t
)尽可能接近于q估计y
t

[0040]
步骤4-5:若满足t<t,t为每一回合的总时间步,t为当前时间步,则t=t 1,跳转至步骤3,否则令t=0,跳转至步骤4-6;
[0041]
步骤4-6:若满足e<e,e为训练总回合数,e为当前回合数,则e=e 1,跳转至步骤2,否则跳转至步骤5。
附图说明
[0042]
图1是本发明提出的一种基于多智能体ddqn的联合计算卸载和资源分配方法的算法框架图;
[0043]
图2是本发明采用的系统模型示意图;
[0044]
图3是本发明采用的强化学习模型中状态空间、动作空间和奖励函数三者之间的关系示意图;
[0045]
图4是本发明的可卸载任务量-成本仿真结果图;
[0046]
图5是本发明的任务车辆数-成本仿真结果图;
具体实施方式
[0047]
下面结合附图和实例对本发明作进一步详细描述。
[0048]
本发明提出的一种基于多智能体ddqn的联合计算卸载和资源分配方法的算法框架图如附图1所示。具体包括以下步骤:
[0049]
步骤1:以最小化应用时延与用户端能量消耗为目的,定义状态空间为任务信息、信道状态信息和辅助计算设备状态信息;动作空间为卸载决策、计算资源的分配以及发送功率的控制;奖励值包括通信阶段和计算阶段的奖励;
[0050]
步骤2:设置最大训练回合数e和每回合训练的最大步数t,更新车辆位置和大尺度衰落参数,重设每个智能体的剩余计算任务;
[0051]
步骤3:以智能体n的状态作为在线网络的输入,基于ε贪心策略执行智能体n的动作并将训练数据存入记忆回放池;
[0052]
步骤4:从记忆回放池选取一小批样本,用于计算q估计,通过最小化q网络和学习目标间的平方和误差训练q网络,使用随机梯度下降法计算更新后的网络参数,若训练回合数达到最大训练回合数e,则进入步骤5,否则跳转至步骤2开始新一回合训练;
[0053]
步骤5:根据训练完成的ddqn网络,得到最优的联合计算卸载与资源分配策略。
[0054]
进一步的,所述步骤1包括如下具体步骤:
[0055]
步骤1-1:在c-v2x网络下的车联网系统模型,由云计算中心、核心网和网络接入边缘组成。其中网络接入边缘由与基站、路侧计算单元(road side unit,rsu)相连的移动边缘计算(mobile edge computing,mec)服务器与车辆组成,通过核心网与云计算中心连接。系统模型图如附图2所示。其中bs是基站,rsu是路侧计算单元,vuec是车联网计算卸载客户端,即当前有计算任务的车辆,共nc辆,vues是车联网计算卸载服务端,即当前没有计算任务并且可以为vuec提供计算辅助的车辆,共ns辆。v2v、v2r和v2b链路分别为车-车、车-路侧mec、车-基站mec链路,使用各自的专用资源池,车辆可以从资源池中选择信道资源用于数据传输;
[0056]
步骤1-2:状态空间s包括智能体n自身的任务信息dn,n∈nc,其中nc为客户端车辆(vehicle user equipment client,vuec)数量,信道状态信息hn,n∈nc以及计算设备状态信息f,即
[0057][0058]
其中,智能体n自身的任务信息dn包括待处理的任务数据量dn、完成任务所需cpu转数cn、可被卸载的模块总数据量qn、可被卸载任务需要cpu转数以及任务时延阈值即
[0059][0060]
信道状态信息hn包括vuec n与服务端车辆(vehicle user equipment server,vues)vues v间的信道增益h
n,v
,与mec m间的信道增益h
n,m
,表示为hn={h
n,v
,h
n,m
}。计算设备状态信息f包括vues v与mec m剩余计算资源表示为
[0061]
步骤1-3:动作空间a包括卸载决策、计算资源的分配以及发送功率的控制,表示为
[0062]an
={on(t),pn(t),xn(t)}
ꢀꢀꢀꢀꢀꢀ
(表达式3)
[0063]
其中on(t)={0,1,2},为智能体n在第t步的卸载决策,0、1、2分别表示本地计算、服务车辆计算、和其他mec计算,pn(t)={23,10,5,0}dbm,为4个不同等级的发送功率,xn(t)={0,0.25,0.5,1},为4个不同等级的计算资源分配比例;
[0064]
步骤1-4:奖励包括通信阶段和计算阶段的奖励,表示为
[0065][0066]
其中为通信阶段的奖励,benifit
comm
为训练时大小可调的固定值,为通信阶段花费的总开销,同理,为计算阶段的奖励,强化学习是为了找到一个能够使从任意状态开始的期望回报最大的策略,折合后的期望回报表示为
[0067][0068]
其中γ∈[0,1],表示折扣率,r
t k 1
表示在t k 1步的奖励值。
[0069]
进一步的,所述步骤3包括如下具体步骤:
[0070]
步骤3-1:将每个智能体n的状态输入在线网络,根据ε贪心策略输出动作并将所有智能体的动作施加到环境中,得到即时奖励r
t 1
,转向下一个状态
[0071]
步骤3-2:更新小尺度衰落参数,将每个智能体的训练数据存放到记忆回放池中。
[0072]
进一步的,所述步骤4包括如下具体步骤:
[0073]
步骤4-1:在记忆回放池中选取一小批训练样本数据构成数据集;
[0074]
步骤4-2:计算q估计为
[0075][0076]
其中θ
t
和分别为在线网络和目标网络的参数,这两个网络的结构相同,但在线网络用于评估贪心策略,且不断更新θ
t
,而目标网络用于估算价值,每隔一段时间才会更新
[0077]
步骤4-3:定义损失函数为
[0078]
l
t
(θ)=∑d(y
t-q(s
t
,a
t
;θ))
ꢀꢀꢀꢀꢀꢀ
(表达式7)
[0079]
其中d为采样集合,即步骤4-1中选取的数据集;
[0080]
步骤4-4:利用随机梯度下降法计算更新后的θ
t

[0081][0082]
其中α为迭代步长,l
t

t
)为(7)式中定义的损失函数,更新θ
t
使得q(s
t
,a
t
;θ
t
)尽可能接近于q估计y
t

[0083]
步骤4-5:若满足t<t,t为每一回合的总时间步,t为当前时间步,则t=t 1,跳转至步骤3,否则令t=0,跳转至步骤4-6;
[0084]
步骤4-6:若满足e<e,e为训练总回合数,e为当前回合数,则e=e 1,跳转至步骤2,否则跳转至步骤5。
[0085]
进一步的,所述步骤5包括如下具体步骤:
[0086]
步骤5-1:利用训练完成的ddqn深度强化学习模型,输入系统某个时刻t的状态s
t

[0087]
步骤5-2:在线网络根据输入状态s
t
输出最优动作a
t
,得到最优卸载决策、计算资源分配决策及发送功率。
[0088]
为了验证优化算法的有效性,本文基于python中的keras库进行仿真。仿真结果如附图4与图5所示,下面对仿真结果进行详细说明。
[0089]
图4对比分析了不同方法在不同任务车辆数量情况下的性能,其中mjcora为本发明提出的一种基于多智能体ddqn的联合计算卸载和资源分配方法(multi-agent reinforcement learning based joint computing offloading and resource allocation,mjcora),sjcora为单智能体联合计算卸载和资源分配方法(single-agent reinforcement learning based joint computing offloading and resource allocation,sjcora),rjcora为基于动作随机选择的联合计算卸载和资源分配方法
(random selection based joint computing offloading and resource allocation,rjcora),local为本地计算方法,cost为成本值,定义为时延和能耗的加权和,成本值越低则表示该方法性能越好。结果表明,随着车辆数量的增加,所有方法得到的成本值都随着任务车辆的增多而提升,但本发明提出的mjcora方法在四种方法中成本值始终最低,在任务车辆数目达到10时,较本地计算的成本值低大约30%。可以看出,当综合考虑时延和功耗时,我们所提出的计算卸载方案较本地计算更具优势,弥补了本地计算的缺陷,同时较sjcora算法和rjcora算法在性能上表现更优异。
[0090]
图5对比分析了不同方法在不同可卸载任务大小下的性能。可以看出,当计算任务量较小时,本地计算性能最优,耗费的成本值最低。但随着计算任务量的增大,计算卸载所花费的传输时延和功率消耗对于本地计算所花费的时间来说不值一提,所以采用计算卸载更为合适,该情况下本发明提出的mjcora方法的性能较其他两种方法来说耗费成本值更低,性能更优。
[0091]
因此,综合仿真结果图4与图5,可以看出本发明提出的方法在计算密集型业务中,较本地计算和其他两种方法来说具有明显的性能优势,较rjcora方法减少了100%-200%的成本值。
[0092]
最后,对说明书中的附图1-附图3进行详细说明。
[0093]
在图1中,描述了本发明提出的方法的框架图,采用2个q网络,利用在线q网络生成贪心策略并将训练数据放入经验复用池,再从中抽取小批量样本,利用目标q网络计算价值,从而更新网络参数θ
t

[0094]
在图2中,描述了本发明采用的系统模型图,网络接入边缘通过核心网与云计算中心连接。
[0095]
在图3中,描述了强化学习中状态空间s、动作空间a和奖励函数r之间的关系,智能体获取当前环境状态z
t
后,结合自身观测状态作为当前状态s
t
,根据特定的策略π选取动作a
t
,将动作施加到环境后,得到下一个观测状态及奖励r
t 1

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献