1.一种基于深度强化学习策略的车载计算任务卸载方法,其特征在于该方法主要包括如下步骤:第1、系统模型的构建:
第1.1、建立网络拓扑图;
第1.2、建立计算任务模型;
第1.3、建立任务时延模型;
第1.4、问题建模;
第2、基于深度强化学习策略的车载计算任务卸载方法的设计:
第2.1、寻找优化传统的卸载方案的解决方案,首先探究深度强化学习策略;
第2.2、讨论Q‑learning强化学习算法的设计步骤和可行性;
第2.3、讨论OBDRLS算法的设计步骤和可行性;
步骤第1.1中建立网络拓扑图,即将实际复杂的道路看作一条笔直单向的道路,所有车辆在道路上匀速单向行驶,RSU在道路一侧均匀分布,并且都配置了MEC服务器,RSU之间通过有线连接的方式通信,车辆与车辆之间以及车辆与其覆盖范围内的RSU之间通过无线通信技术进行通信,RSU接受车辆传来的计算任务,将任务卸载至MEC服务器,MEC服务器完成计算任务并将计算结果返回给车辆,设定RSU之间的距离为D,D的取值范围在100m~200m,车辆可以将任务卸载到其覆盖范围内的MEC服务器,通过V2I的方式进行通信,车辆与车辆之间也可以通过V2V的方式进行通信,这些MEC服务器有一个SDN中心服务器可以收集MEC的状态信息,并将这些信息传递给车载终端,此外,车载终端也具备计算能力,一部分任务可以在本地执行;
步骤第1.2中建立计算任务模型的方法如下,针对多样的任务类型,定义表示i类计算任务,总计有N种计算任务类型,计算任务的集合记为I={1,2,...,N},其中αi表示任务数据量的大小,该数据量影响任务传输时间,βi表示任务计算量,影响任务计算时间, 表示任务的容忍时延,假设任务i的所占比例为εi,则:卸载i类计算任务的车辆定义为Vi,其车速定义为vi,当车辆向MEC服务器卸载计算任务时,定义X为车辆距离RSU覆盖边界的距离,此时车辆停留在所属RSU的时间tstay为:本步骤方法是在整体卸载的条件下进行的,即每种计算任务只能在本地计算或者通将任务卸载到MEC服务器执行,定义λi∈{0,1}表示车辆Vi的卸载决策,定义A=[λ1,λ2,...,λN]是卸载决策向量,如果λi=0,表示车辆Vi选择在本地执行计算任务,如果λi=1,表示车辆Vi选择将任务卸载到MEC服务器执行;
步骤第1.3中建立任务时延模型的方法如下,对于车辆来说,计算任务的时延分三种情况:本地计算时延,任务等待时延和卸载计算时延,
1)本地计算时延
对于本地计算,车辆i的任务时延部分仅包括计算时延,不用考虑传输时延,假设表示i类车辆的计算能力,则本地任务处理时延表示如下:
2)任务等待时延
车辆将任务卸载到MEC服务器后,如果当前MEC服务器有正在执行的任务,此时卸载到MEC服务器的任务需要等待,假设任务等待时延为Tw,下面将推导Tw的表达式,假设单位时间内的车辆密度为λu,那么该服务器单位时间内要处理的计算任务数量为λu,定义任务计算量为βi,所以单位时间内MEC服务器需要处理的计算任务总量为:那么处理完所有计算任务的总时延为:
因此设定一个计算任务在该MEC服务器的平均等待时延为:
3)卸载计算时延
对于需要进行卸载计算的任务,传统的卸载过程有三个部分组成,首先车辆将i类计算任务传输到RSU;然后MEC服务器分配计算资源执行计算任务;最后MEC服务器将计算结果返回给车辆;
根据以上过程,卸载处理的第一步是任务传输过程的时延,可以表示为:上式中 表示车辆i通过V2I通信的方式在无线信道的传输速率,根据香农定理,可以得出(7)式中无线信道传输速率 为:
其中,参数B表示上传通信信道的带宽,参数Pi表示车载设备的传输功率,hi表示分配给车辆Vi的无线信道增益,N0表示高斯白噪声信道的方差;
卸载处理的第二步是MEC服务器的计算时延,定义 是MEC服务器为车辆i分配的计算资源数,可以表示为:定义MEC服务器的计算资源总数为 MEC服务器为卸载处理的车辆i分配的计算资源不能超过自身的计算资源总数,即卸载处理的第三步是任务回传过程,定义En表示任务回传数据量, 表示回传速率,则任务回传过程的时延可以表示为:任务回传的数据大小远远小于上传数据,且任务回传速率的大小远远高于任务上传的速率,所以任务回传时延可以忽略不计;
基于传统的直接卸载方法,是将计算任务卸载到车辆当前接入的MEC服务器,当车辆速度很快或执行计算任务的服务器计算资源不足时,在任务计算完成后,车辆已经驶入新的MECn服务器的范围,计算结果需要通过I2I多跳通信的方式传到MECn服务器,然后再通过MECn传回车辆,此时任务的总时延可以表示如下:
其中t0表示计算结果在多跳通信中每一跳的时延,xi表示跳数,Twn表示卸载到第n个MEC服务器的计算任务等待时延,结合公式(2)可以推出xi的表达式如下:
RSU可以广播自身的状态信息,MEC服务器架构中有一个SDN中心服务器,它能够收集MEC服务器的状态和车辆状态信息,并告知车辆和其他服务器,考虑根据MEC服务器的状态信息,将计算任务卸载到空闲的服务器上,这样不仅可以减少计算任务等待时延,而且计算结果的上传和回传都可以用代价更小的V2V通信取代I2I通信,节省了更多时延;
定义V2V与I2I单跳通信时延时间比为rV2V,排队等待处理时延最低的MEC服务器为MECj,最终卸载计算的总时延如下:其中Tj表示任务i卸载到服务器j执行计算前的排队等待时延。
2.如权利要求1所述的基于深度强化学习策略的车载计算任务卸载方法,其特征在于,步骤第1.4中问题建模的方法如下,明确了车辆选择本地计算方法和卸载计算方法的时延公式,确定想要优化的目标是所有任务总时延之和,公式如下:必须在满足最大时延约束和服务器资源限制的情况下进行卸载决策和资源分配,所有车载终端的加权总开销最小化问题可以由下式表示:上式中,A=[λ1,λ2,...,λi]是卸载决策向量, 是资源分配向量,优化的目标是最小化用户的加权总开销,要求解的量就是A和E,其中,约束C1确保每个任务可以通过直接卸载的方式计算也可以通过V2V预测卸载算法计算;约束C2是保证不管是直接卸载计算方式还是V2V可预测算法卸载的方式,处理的延迟都要满足车载用户的最大零容忍延迟;约束C3保证MEC服务器为用户提供的计算资源的总和不会超出MEC服务器自身的计算容量限制;约束C4表示保证单个用户被分配的计算资源不超过MEC服务器自身的计算容量限制。
3.如权利要求1所述的基于深度强化学习策略的车载计算任务卸载方法,其特征在于,步骤第2.1中的寻找优化传统的卸载方案的解决方案,采用马尔科夫过程建模强化学习策略。
4.如权利要求2所述的基于深度强化学习策略的车载计算任务卸载方法,其特征在于,步骤第2.2中讨论Q‑learning强化学习算法的设计步骤和可行性,Q‑learning是经典的强化学习算法,该算法的主要思想就是将state与action构建成一张Q‑Table,通过获取最大的Q值来解决问题,Q(s,a)更新公式表示如下:其中α是步长,s’是下一个时间点的状态,经过多次迭代后的Q(s,a)值,得到最优的A和E,算法的详细描述如下:
步骤1:给定参数γ和步长α∈(0,1];
步骤2:给定任意的s和a,初始化函数矩阵Q(s,a)的值为0;
步骤3:开始expisode,随机选择一个初始状态s,智能体根据∈‑greedy策略在当前所有可能动作中选取回报最大的一个动作a;
步骤4:执行选定的动作a,观察得到的奖励r,进入一个新的状态s′,根据公式16更新Q值,继续迭代下一个流程;
基于Q‑learning算法存在的缺陷,在Q‑learning的学习过程中,把所有的值都存储在Q表中,任务状态空间和动作空间过大,对存储的要求极高,导致无法维护Q表。
5.如权利要求1所述的基于深度强化学习策略的车载计算任务卸载方法,其特征在于,步骤第2.3中讨论基于深度强化学习的车载计算任务自适应卸载方法OBDRLS算法的设计步骤和可行性,由于Q‑learning算法存在的缺陷,使用深度神经网络(DNN)近似Q函数,这样不需要维护Q表,而是直接存储神经网络的参数,就可以根据输入的状态输出每个动作下Q值的估计,此时的值函数Q不是一个具体的数值,而是一组向量,在神经网络中权重参数为ω,值函数表示为Q(s,a,ω),最终神经网络收敛后的ω即为值函数;
智能体首先要遍历状态s下所有的动作a,选择最大的动作输出,首先需要构建损失函数,得到损失函数后再通过梯度下降法求解权重参数ω的值,定义损失函数为:
其中 是第i次迭代后的目标权重参数,ωi是Q网络权重参数,接下来对ω求梯度,如公式(17)所示:算法的详细步骤如下:
步骤1:初始化经验池D的容量为M;
步骤2:初始化迭代网络动作价值函数Q(s,a,ω),ω初始化为任意值;
步骤3:初始化目标网络动作价值函数 另
步骤4:初始化状态s1,预处理序列φ1=φ(s1);
步骤5:利用ε贪婪策略选择状态动作,在仿真器中执行动作at,得到下一个状态st+1和奖励rt,计算φt+1=φ(st+1);
步骤6:将特征向量(φt,at,rt,φt+1)存储在D中,从D中对特征向量随机抽取样本;
步骤7:计算每一个样本的目标值,即通过执行动作at后的reward来更新Q值作为目标值;
步骤8:根据公式(18)的梯度下降法,最小化公式(17)的损失函数,更新权重值ω,直至收敛。