无人机辅助移动边缘计算的计算卸载优化:一种深度确定性策略梯度方法(4)——DDPG-based算法

news/2024/5/19 14:23:57 标签: 边缘计算, 算法, 深度学习

无人机辅助移动边缘计算的计算卸载优化:一种深度确定性策略梯度方法(4)——DDPG-based算法

参考文献:

[1] Wang Y , Fang W , Ding Y , et al. Computation offloading optimization for UAV-assisted mobile edge computing: a deep deterministic policy gradient approach[J]. Wireless Networks, 2021:1-16.doi:https://doi.org/10.1007/s11276-021-02632-z

4 DDPG-based算法

4.1 状态空间

在无人机辅助的MEC系统中,状态空间由 k 个用户、一个无人机及其环境共同确定。时间槽 i 处的系统状态可定义为:
s i = ( E battery  ( i ) , q ( i ) , p 1 ( i ) , … , p K ( i ) , D remain  ( i ) , D 1 ( i ) , … , D K ( i ) , f 1 ( i ) , … , f K ( i ) ) , \begin{aligned} s_{i}=&\left(E_{\text {battery }}(i), \mathbf{q}(i), \mathbf{p}_{1}(i), \ldots, \mathbf{p}_{K}(i), D_{\text {remain }}(i),\right.\\ &\left.D_{1}(i), \ldots, D_{K}(i), f_{1}(i), \ldots, f_{K}(i)\right), \end{aligned} si=(Ebattery (i),q(i),p1(i),,pK(i),Dremain (i),D1(i),,DK(i),f1(i),,fK(i)),
式中, E battery  ( i ) E_{\text {battery }}(i) Ebattery (i) 为 i 时刻无人机电池剩余能量, q ( i ) \mathbf{q}(i) q(i) 为无人机位置信息, p K ( i ) \mathbf{p}_{K}(i) pK(i) 为无人机服务的UE k的位置信息, D r e m a i n ( i ) D_{remain}(i) Dremain(i) 为整个时间段系统需要完成的剩余任务大小, D K ( i ) D_{K}(i) DK(i) 为UE k在 i 时刻随机生成的任务大小, f K ( i ) f_{K}(i) fK(i) 表示UE k的信号是否被障碍物阻挡。特别是当 i = 1 i=1 i=1 E battery  ( i ) = E b E_{\text {battery }}(i)=E_b Ebattery (i)=Eb D r e m a i n ( i ) = D D_{remain}(i)=D Dremain(i)=D

4.2 行动空间

agent根据系统当前状态和所观察的环境,选择待服务的动作包括 i 时刻被服务的UE k ′ k^{\prime} k 、无人机飞行角度、无人机飞行速度、任务卸载比等,动作 a i a_i ai 表示为:
a i = ( k ( i ) , β ( i ) , v ( i ) , R k ( i ) ) a_{i}=\left(k(i), \beta(i), v(i), R_{k}(i)\right) ai=(k(i),β(i),v(i),Rk(i))
值得注意的是,DDPG 中的演员网络输出连续的动作。被 agent 选择的动作变量 UE k ( i ) ∈ [ 0 , K ] k(i)\in [0,K] k(i)[0,K] 需要进行离散化,即如果 k ( i ) = 0 k(i)=0 k(i)=0 ,则 k ′ = 1 k^{\prime}=1 k=1 ;如果 k ( i ) ≠ 0 k(i)\neq 0 k(i)=0 ,则 k ′ = ⌈ k ( i ) ⌉ , k^{\prime}=\lceil k(i)\rceil, k=k(i), 其中 ⌈ ⋅ ⌉ \lceil \cdot \rceil 为向上取整操作。在一个连续动作空间内,可以精确优化无人机的飞行角度、飞行速度和任务卸载比,即 β ( i ) ∈ [ 0 , 2 π ] \beta(i) \in[0,2 \pi] β(i)[0,2π], v ( i ) ∈ [ 0 , v max ⁡ ] v(i) \in\left[0, v_{\max }\right] v(i)[0,vmax] ,以及 R k ( i ) ∈ [ 0 , 1 ] R_k(i) \in\left[0, 1\right] Rk(i)[0,1] 。对以上四个变量进行联合优化,使系统成本最小。

4.3 奖励函数

agent 的行为是基于奖励的,选择合适的奖励函数对 DDPG 框架的性能起着至关重要的作用。我们的目标是通过最小化问题 (9) 中定义的处理延迟来实现回报最大化,如下所示:
r i = r ( s i , a i ) = − τ delay  ( i ) r_{i}=r\left(s_{i}, a_{i}\right)=-\tau_{\text {delay }}(i) ri=r(si,ai)=τdelay (i)
其中,时间槽 i 的处理延迟为
τ delay  ( i ) = ∑ k = 1 K α k ( i ) max ⁡ { t local  , k ( i ) , t U A V , k ( i ) + t t r , k ( i ) } \tau_{\text {delay }}(i)=\sum_{k=1}^{K} \alpha_{k}(i) \max \left\{t_{\text {local }, k}(i), t_{U A V, k}(i)+t_{t r, k}(i)\right\} τdelay (i)=k=1Kαk(i)max{tlocal ,k(i),tUAV,k(i)+ttr,k(i)}
,并且如果 k = k ′ k=k^{\prime} k=k ,则 α k ( i ) = 1 \alpha_{k}(i)=1 αk(i)=1 ;否则 α k ( i ) = 0 \alpha_{k}(i)=0 αk(i)=0 。通过DDPG算法,可以找到使Q值最大化的动作。系统的长期平均报酬可以用 Bellman 方程表示为:
Q μ ( s i , a i ) = E μ [ r ( s i , a i ) + γ Q μ ( s i + 1 , μ ( s i + 1 ) ) ] Q_{\mu}\left(s_{i}, a_{i}\right)=\mathbb{E}_{\mu}\left[r\left(s_{i}, a_{i}\right)+\gamma Q_{\mu}\left(s_{i+1}, \mu\left(s_{i+1}\right)\right)\right] Qμ(si,ai)=Eμ[r(si,ai)+γQμ(si+1,μ(si+1))]

4.4 状态标准化

在 DNN 的训练过程中,输入在每一层的分布会随着前一层参数的变化而变化,这需要较低的学习速率和细致的参数初始化,从而减慢了训练的速度。Ioffe 和 Szegedy 提出了一种批处理归一化机制,该机制允许训练使用更高的学习率,并且对初始化不那么小心。我们提出了一种状态归一化算法对观测状态进行预处理,从而更有效地训练 DNN 。值得注意的是,与Qiu的状态归一化算法不同,本文算法将每个变量的最大值与最小值之差作为尺度因子。所提出的状态归一化算法可以很好地解决输入变量的大小差异问题。

在我们的工作中,变量 E battery  ( i ) , q ( i ) , p 1 ( i ) , … , p K ( i ) , D remain  ( i ) , D 1 ( i ) , … , D K − 1 ( i ) E_{\text {battery }}(i), \mathbf{q}(i), \mathbf{p}_{1}(i), \ldots, \mathbf{p}_{K}(i), D_{\text {remain }}(i), D_{1}(i), \ldots, D_{K-1}(i) Ebattery (i),q(i),p1(i),,pK(i),Dremain (i),D1(i),,DK1(i) D K − 1 ( i ) D_{K-1}(i) DK1(i) 在状态集中处于不同的序列,这可能导致在训练中出现问题。如算法 1 所示,通过状态归一化对这些变量进行归一化,以防止出现这种问题。在状态归一化算法中,我们使用了五个尺度因子。每个因素可以解释如下。利用缩放因子 γ b \gamma_b γb 来缩小无人机电池容量。由于 UAV 和 UE 具有相同的 x 和 y 坐标范围,我们使用 γ x \gamma_x γx γ y \gamma_y γy 分别缩小UAV和UE的x和y坐标。我们使用 γ D r m \gamma_{D_{rm}} γDrm 来缩小整个时间段内剩余的任务,使用 γ D U E \gamma_{D_{UE}} γDUE 来缩小时间段 i 内每个终端的任务大小。

2

4.5 训练与测试

对基于 DDPG 的计算卸载算法的学习和评估分为训练和测试两个阶段。基于DDPG的计算卸载训练算法算法 2 所示。在训练过程中,对训练行为策略的批评家网络参数和演员网络参数进行迭代更新。算法 3 描述了计算卸载测试过程,采用了算法 2 中训练好的演员网络 θ μ \theta^\mu θμ 。需要注意的是,由于演员网络是用归一化状态进行训练的,所以在测试过程中,我们还需要对输入状态进行预处理。

3

4


http://www.niftyadmin.cn/n/1399217.html

相关文章

无人机辅助移动边缘计算的计算卸载优化:一种深度确定性策略梯度方法(5)——结果与分析

无人机辅助移动边缘计算的计算卸载优化:一种深度确定性策略梯度方法(5)——结果与分析 参考文献: [1] Wang Y , Fang W , Ding Y , et al. Computation offloading optimization for UAV-assisted mobile edge computing: a deep determinist…

无人机辅助移动边缘计算的计算卸载优化:一种深度确定性策略梯度方法(6)——代码实现

无人机辅助移动边缘计算的计算卸载优化:一种深度确定性策略梯度方法(6)——代码实现 参考连接: [1] Wang Y , Fang W , Ding Y , et al. Computation offloading optimization for UAV-assisted mobile edge computing: a deep deterministic…

Tensorflow出现Variable Actor/eval0/l1/kernel already exists, disallowed.

参考链接: https://blog.csdn.net/weixin_43283397/article/details/103289928?spm1001.2014.3001.5506 1.问题描述 Spyder或者Jupyter中重复运行Tensorflow的代码,会出现变量已经存在的问题。这是因为这些编辑器都会自动保存变量。 具体错误描述&…

Matplotlib绘制动态散点图

使用Matplotlib绘制动态散点图。 主要函数: plt.ion():开启交互模式 plt.clf():清空画布 plt.ioff():关闭交互模式 基本思路:清空画布之后重新绘制图像,如果想要设置坐标轴、标题等内容,需…

Matplotlib散点图(scatter)制作一个轨迹图

参考链接: https://blog.csdn.net/huangguohui_123/article/details/108208134 https://blog.csdn.net/weixin_31556371/article/details/112224367 https://blog.csdn.net/sinat_41299610/article/details/106912048 https://blog.csdn.net/weixin_44176696/articl…

强化学习中好奇心机制

参考链接: https://www.leiphone.com/category/ai/TmJCRLNVeuXoh2mv.html https://tianjuewudi.gitee.io/2021/12/02/qiang-hua-xue-xi-zhong-de-hao-qi-xin-jiang-li-ji-zhi/#! https://cloud.tencent.com/developer/news/339809 https://cloud.tencent.com/develo…

人工智能和计算机视觉(4)-纹理分割

纹理分割 图案或纹理是图像处理的重要组成部分。 通过使用灰度共生矩阵(GLCM)查看图片的模式或纹理,将图片分成组(区域)。 案例 灰度共生矩阵(GLCM) 三种不同的共生矩阵的灰度图像。 GLCM通过计算具有特定值和具有特定空间关系的像素对在图像中出现的频率来描述图…

人工智能和计算机视觉(5)-边缘检测

边缘检测 边缘主要包括轮廓线边缘和纹理边缘 寻找图像中的边缘是为了找到变化非常强烈的相邻像素,例如从0-255或从255-0。 Robert算子(Robert operator) I[i, j] : 图像中的像素值 通过高斯滤波器卷积图像,我们将得到 S[i,j]G[i,j:σ]∗I[i,j]S[i,j]G…