[0047] 下面结合附图对本发明作进一步的分析。
[0048] 图2为DRL‑E2D的架构图。移动边缘计算环境下基于DRL的能耗感知任务卸载方法,包括以下步骤:
[0049] 步骤(1)、构建出多eNB MEC环境下任务卸载场景;图1为多eNB MEC环境下任务卸载的体系结构;
[0050] 多eNB MEC环境下任务卸载场景的整体架构主要包括单个MD和n个基站eNBs;其中MD用于将指定任务发送至各个基站上进行卸载,并同时可在本地执行任务;
[0051] (1.1)将系统时间划分为等间隔的各个时间段,假设在每个时间段开始时有z(τ)个任务到达MD,将其认为是独立且同分布的序列,并且每个到达的任务都有恒定的数据D和执行工作负载W;
[0052] (1.2)定义第τ个时间段从MD发往第i个基站eNBi的数据传输速率ηi(τ):
[0053] ηi(τ)=Bilog2[1+SNRi(τ)] (1)
[0054] 其中Bi表示eNBi分配到MD的带宽, 表示信噪比, 表示MD的2
传输功率,σ表示高斯白噪声,gi(τ)表示信道增益,定义为 和θ分别表
示路径损耗常数和路径损耗指数,di(τ)表示eNBi在τ时间段与MD的路径距离;
[0055] (1.4)定义eNBi的第τ+1个时间段任务处理队列Li(τ+1):
[0056] Li(τ+1)=max{Li(τ)‑βi(τ),0}+αi(τ) (2)
[0057] 其中αi(τ)表示所有卸载到eNBi的任务,βi(τ)表示eNBi第τ个时间段内所处理完成的任务;
[0058] 定义MD的第τ+1个时间段任务处理队列L0(τ+1):
[0059] L0(τ+1)=max{L0(τ)‑β0(τ),0}+α0(τ) (3)
[0060] 其中,α0(τ)为MD的本地任务,β0(τ)为MD第τ个时间段内所处理完成的任务;
[0061] (1.5)由于任务可分别在MD或eNB上执行,分别定义其执行时间 和能力消耗
[0062] (1.5.1)对于任务在MD本地执行的情况,定义其执行时间以及能量消耗为:
[0063]
[0064]
[0065] 其中 表示具备M核CPU的MD的计算能力,定义为 其中 表示与芯片架构有关的常数;F(τ)表示M核CPU的工作频率;M表示M核;c0(τ)表示MD的计算容量,表示为c0(τ)=MF(τ);W表示任务的工作负荷;
[0066] (1.5.2)对于MD将任务卸载到eNBi执行的情况,需分别考虑其数据传输时间和执行时间;定义数据传输时间为:
[0067]
[0068] 同时,可定义其数据传输所消耗的能量为:
[0069]
[0070] 其中D表示任务的数据大小; 表示MD的传输功率;
[0071] 当eNBi接受到任务后,会将任务按照先到先得的规则放入其自身任务处理队列Qi(τ)中;定义任务执行时间为:
[0072]
[0073] 其中W表示任务的工作负荷;ci(τ)表示eNBi的计算容量;
[0074] 步骤(2)、构建多eNB MEC环境下任务卸载场景在截止时间约束下的联合奖励函数,具体如下:
[0075] (2.1)定义在每个时间段MD本地执行任务和卸载任务至eNB的能量总消耗E(τ)为:
[0076]
[0077] 其中 表示MD本地执行β0(τ)个任务消耗的能量, 表示αi(τ)个任务卸载给eNBi的总传输能量消耗;
[0078] (2.2)考虑任务截止时间约束,定义MD和所有基站的总效用U(τ)为:
[0079]
[0080]
[0081] 其中n表示MEC中eNB的个数;T(tj)表示第j个任务tj的等待时间或者执行时间,TDL表示任务的截止时间;β0(τ)表示MD在τ时间段所处理完成的任务数量,αi(τ)表示第i个基站eNBi在τ时间段所处理完成的任务数量,u表示MD成功完成任务能获得的效用;
[0082] (2.3)如果一个任务错过了截止期限,则认为此任务超时,将会被系统丢弃,因此会产生损失,定义损失函数:
[0083]
[0084] 其中d0(τ)表示MD所丢弃的任务数量,di(τ)表示eNBi所丢弃的任务数量;
[0085] (2.4)根据步骤(2.1)‑(2.3),定义本场景下的任务卸载的优化问题模型:
[0086] Max:R(τ)=U(τ)‑P(τ)‑E(τ) (a)
[0087]
[0088]
[0089]
[0090]
[0091] 其中公式(a)表示优化的目标奖励函数R(τ),即最大化获得任务总效用U(τ),同时最大程度减小损失函数P(τ)和能量消耗E(τ);
[0092] 公式(b)表示任务卸载的数量约束,z(τ)表示在τ时间段MD上任务到达的数量;
[0093] 公式(c)表示MD和每个eNB之间链路传输容量约束,ηi(τ)表示在τ时间段从MD发往eNB的数据传输速率;
[0094] 公式(d)表示任务卸载的时间约束,Tslot表示每个时间段的持续时间;
[0095] 公式(e)表示每个基站以及MD的计算能力约束,βi(τ)表示在τ时间段所处理完成的任务,ci(τ)表示eNBi的计算容量;
[0096] 步骤(3)、多eNB MEC环境下任务卸载场景下,构建actor‑critic深度强化学习网络框架;
[0097] 所述actor‑critic深度强化学习网络框架以所有eNBi和MD的τ时间段任务处理队列、MD发往所有eNBi的数据传输速率、MD所到达的任务总数为输入状态sτ,以任务卸载的解决方案、MD的计算容量为动作空间,以任务卸载的解决方案为输出,以公式(a)目标奖励函数作为奖励;
[0098] 所述τ时间段的状态sτ=[L0(π),L1(τ),...,Li(τ),...,Ln(τ),η1(τ),...,ηi(τ),...,ηn(τ),z(τ)]
[0099] 其中L0(π)表示MD上任务处理队列,Li(τ)表示eNBi上任务处理队列,i=1,2,……,n;ηi(τ)表示MD与eNBi之间的数据传输速率,z(τ)表示MD所到达的任务总数;
[0100] 所述动作空间的各动作的向量形式为aτ=[a0(τ),...,ai(τ),...,an(τ),c0(τ)],即每个动作都包含MD本地保留任务数a0(τ),卸载到各个eNBi上的任务ai(τ)以及MD的计算容量c0(τ);
[0101] 所述的actor‑critic深度强化学习网络框架采用actor网络与critic网络;
[0102] 所述actor网络采用[100,100,n+1]的三层全连接层,激活函数为RELU,最后一层为动作层,输出n+1个不同动作的概率值;其中actor网络策略函数为 表示为状态sτμ下所能获得动作值;θ为actor网络权重参数;
[0103] 所述critic网络结构与actor网络相同;其中critic网络评价函数为Q
表示在状态sτ下采取动作aτ后所能获得的动作期望值;θ为critic网络权重参数;
[0104] 步骤(4)、采用actor‑critic深度强化学习网络框架对步骤(2)任务卸载的联合奖励函数进行优化求解,得到最佳任务卸载的解决方案;
[0105] 2、根据权利要求1所述的移动边缘计算环境下基于DRL的能耗感知任务卸载方法,其特征在于步骤(1)具体如下:
[0106] 3、根据权利要求2所述的移动边缘计算环境下基于DRL的能耗感知任务卸载方法,其特征在于步骤(1.5)具体如下:
[0107] 4、根据权利要求1所述的移动边缘计算环境下基于DRL的能耗感知任务卸载方法,其特征在于步骤四具体如下:
[0108] (4.1)随机初始化actor网络和critic网络的权重θμ和θQ,将权重分别复制到目标actor网络和目标critic网络,并设置经验回放池容量为D,D>0,同时清空经验回放池;
[0109] θμ′←θμ,θQ′←θQ;
[0110] 其中θμ′、θQ′分别表示目标actor网络和目标critic网络的权重;
[0111] (4.2)当前回合下,初始化MD系统环境并向MD分配任务获取初始状态值;具体如下:
[0112] 4.2.1初始化MD系统环境,并初始化生成一个随机噪声发生器N;
[0113] 4.2.2为MD分配z(τ)任务,此时τ=0表示初始时间段;
[0114] 4.2.3获得MD从系统环境中观察到的最初状态值,即任务未运行时的MD本地状态并且由于此时MD并未卸载任务到eNB,所以当τ=0时,MD本地状态为:
[0115] sτ=[L0(π),η0(τ),z(τ)] (5)
[0116] (4.3)运行actor‑critic深度强化学习网络框架对每一时间段下状态获取最优值动作;具体如下:
[0117] 4.3.1actor网络根据当前时间段状态sτ输出原型动作,并进入嵌入层进行映射,并利用KNN算法提取k个最近邻值动作;具体如下:
[0118] 4.3.1.1状态sτ输入actor网络,actor网络根据输入策略π得到输出 并且为了增加学习的随机性,添加探索噪点Nτ得到原型动作ap,即
[0119] 4.3.1.2为了将连续空间下的动作值ap映射到离散空间下的动作值ap',在actor和critic之间设置嵌入层,将上述得到的ap输入嵌入层,输出d个映射后的ap';将映射后的d个动作值ap'利用KNN算法提取K个邻值集合Ak,其度量方式为动作之间的欧氏距离,即Ak=knn(ap'),K可以选择为10;
[0120] 4.3.2critic网获取步骤(3.2.2.1)所获得的所有最近邻值动作,筛选获得最优值动作;MD执行该最优值动作后保存当前状态至经验回放池;具体如下:
[0121] 4.3.2.1将Ak个动作分别输入到critic当前网络中,critic根据策略函数 输出当前状态下不同行为动作Ak所对应的价值,从中选取具有最大价值的ax作为MD的预测输入动作,即
[0122] 4.3.2.2MD根据动作aτ执行任务卸载决策,根据动作执行结果得到回报rτ,并观察到新的状态sτ+1,形成新的向量样本[sτ,aτ,rτ,sτ+1],并存入经验回放池;
[0123] 4.3.3更新网络参数;具体如下:
[0124] 1)从经验回放池里面随机采样m个样本[sτ,aτ,rτ,sτ+1],发送给当前actor网络,当前critic网络,目标actor网络和目标critic网络;
[0125] 2)目标actor网络根据下一时间段状态sτ+1输出动作a'τ+1,目标critic网络根据状态sτ+1和目标actor网络输出的动作a'τ+1,得到当前目标期望值yτ;并把当前目标期望值yτ传递给均方差损失函数
[0126]
[0127] 其中 表示目标网络,γ代表折合因子;
[0128] 3)当前critic网络根据状态sτ,动作aτ和奖励rτ,输出评估函数 给抽样策略梯度 和均方差损失函数
[0129] 4)通过神经网络的反向传播更新actor网络、critic网络的所有权重θQ,θu;
[0130] 均方差损失函数为
[0131] 抽样策略梯度函数为
[0132] 5)更新目标actor网络和目标critic网络的网络参数,即:
[0133] θQ′←σθQ+(1‑σ)θQ′
[0134] θμ′←σθμ+(1‑σ)θμ′
[0135] 其中σ为网络更新权重,设置为0.1;
[0136] 6)actor网络从经验回收池中获得下一时间段的状态sτ+1,重复步骤1)到6)直到最大时间段;
[0137] 4.3.4重复步骤4.3.1‑4.3.3直到达到最大回合次数,以得到稳定的模型参数。
[0138] 为了验证本发明方法的可行性,将本方法与现有的传统三种算法LB,Remote,Local以及强化学习网络DQN进行实验对比。
[0139] 本次实验中每个enb的计算容量ci(τ)=10GHz,与MD的传输功率 总工作时长为1000s,每个时间段大小Tslot为1s,在每个时间段τ内,每个任务具有相同的工作负荷W=25GHz·s,数据大小D=10MB,并且截止时间TDL设为3s,当任务在截止时间完成时,MD
2
可获得效用u=1,无线网路的带宽B=100MHz,高斯白噪声σ=‑174dbm/Hz,路径损耗常数路径损耗指数θ=4,每个enb距离MD的距离长度d为1000。
[0140] MD的cpu核数M=4,每个CPU的工作频率为F=2.0GHz,所以MD的计算能力为其中
[0141] 将从MD的奖励,能量消耗以及任务丢弃产生的损失代价三个指标来进行各个算法在不同情况下的性能比较。
[0142] 1.收敛性对比
[0143] 由于本发明应用了Knn算法将动作特征从连续空间提取到离散空间,因此在实验中考虑KNN算法里不同的k大小对收敛性的影响,其中k=1表示只从原型动作中提取一种,k=1%表示从原型动作中提取1%。图3(1)‑(3)分别为enb数量为1,3,5的情况下,将本发明提出的DRL‑E2D与传统DQN算法进行收敛性对比实验,循环次数上限为250。
[0144] 由图3(2)‑(3)可以看出当k=1%时,DRL‑E2D的表现好于k=1,这是因为k越大就越有利于神经网络基于自身的策略去推断更好的下一步动作,并且可以看出无论enb的数量为多少,在相同的循环次数内,DQN收敛表现要始终差于DRL‑E2D。
[0145] 2.eNB数量的影响
[0146] 图4(1)显示随着enb数量的增多,LB,Remote,DRL‑E2D和DQN所获得奖励也增多,这是因为这些算法能受益与将任务卸载到enb上,此外,随着eNB的增加,MD通过完成更多任务和消耗更少的能量而获得更高的奖励。图4(2)显示无论enb的数量如何,DRL‑E2D的能力消耗始终保持稳定,这是因为为了获得最大的奖励,MD倾向于放弃任务而不是执行任务。图4(3)显示随着enb的增加,除了Local算法以外,其余算法的损失代价都相应减小。
[0147] 3.任务工作负荷W的影响
[0148] 图5(1)可以看出随着W的增加,所有算法所获得奖励都逐渐减小,这是因为对于固定的任务到达率λ,较大的W需要更多的计算资源,从而导致更高的能耗,更少的完成任务和更低的奖励,但是DRL‑E2D的表现始终好于其他算法,表明其更能适应W的变化。图5(2)可以看出Remote的能耗最低,并且与W无关。LB,DRL‑E2D和DQN的能耗随W的增加而增加,因为更大的W需要更多的计算资源和时间,从而导致更高的能耗。图5(3)显示随着W的增加,所有算法的损失代价都增大,其中Local的损失变化最剧烈,这是由于其比其他算法丢弃了更多任务。
[0149] 4.数据大小D的影响
[0150] 图6(1)可以看出除了Local以外,随着D的增大其余算法所获得奖励也同样增加,这是因为DRL‑E2D,LB,Remote和DQN应用了任务卸载策略。因此,在较大的D情况下,MD将花费更多的能量来将任务卸载到eNB。而Local并不采用任务卸载,所以其奖励与D无关。
[0151] 同样,图6(1)‑(2)中MD的能力损耗与损失代价也随着D的增大而逐渐增大。其中,由于Remote算法会将所有的任务都卸载给enb,因此其任务丢弃的数量更多,其损失代价变化也更快。
[0152] 综上所述,本发明提出的DRL‑E2D算法在各种情况下表现都较为优异。