联合优化VNF部署和无人机轨迹的深度学习方法及系统
- 国知局
- 2024-08-02 14:32:31
本发明涉及无人机支持的移动边缘网络部署,具体涉及一种联合优化vnf部署和无人机轨迹的深度学习方法及系统。
背景技术:
1、无人机支持的移动边缘网络中的无人机上安装有边缘服务器,能够在网络边缘为用户提供计算资源,可用于以下场景:①场景中的vnf请求需要移动边缘计算资源处理,②传统的地面移动边缘计算系统难以建立/遭到破坏,需要无人机服务器提供边缘计算资源。比如森林监测、灾害救援。但是,因为无人机的通信距离有限且用户分布范围较广,故而只有对无人机轨迹进行规划,才能保证每个用户都能在某个时间段处于某架无人机的通信范围内以获取到使用计算资源的机会。vnf是虚拟网络功能(virtual network function,vnf)。vnf是从网络服务的专用硬件映射的软件实例,并且它能够被部署在无人机服务器上为用户提供特定的网络服务。“网络成本”包含与能量相关的成本(无人机飞行能量消耗成本、处理请求的能量消耗成本)和与计算资源相关的成本(无人机部署vnf的实例化成本、处理请求的计算成本)。无人机飞行能量消耗成本由无人机轨迹决定,无人机部署vnf的实例化成本由vnf部署决定,而处理请求计算/能量消耗成本由无人机轨迹和vnf部署共同决定。无人机支持的移动边缘网络部署要解决的问题是如何在接纳所有用户请求的情况下最小化网络成本。
2、vnf部署和无人机轨迹之间存在耦合关系:无人机的轨迹是基于vnf部署的结果——vnf部署决定了每架无人机为请求哪类vnf的用户提供服务,进而决定每架无人机应该为哪些用户提供服务,最后规划每架无人机的轨迹使其目标用户能够获取到使用其计算资源的机会;无人机的飞行轨迹也会影响vnf的部署——无人机轨迹决定了每架无人的计算资源能够被哪些用户获取到使用机会,根据这些用户请求的vnf类型,能够决定vnf部署。因而,若想最小化网络成本,在确定vnf部署时,应考虑如何规划每架无人机的飞行轨迹,使无人机的能耗最小化;或者在规划无人机轨迹时,应考虑如何在容量有限的无人机上部署按需vnf,以使无人机接受请求的成本最小化。故而无人机支持的移动边缘网络部署要实现最小化网络成本,应该对vnf部署和无人机轨迹进行联合优化。
3、无人机支持的移动边缘网络部署要解决的问题(如何在接纳所有用户请求的情况下最小化网络成本)具有非凸性,但可以被看作一个马尔可夫决策过程,故而可以用深度学习的方法解决问题。最经典的算法有解决离散动作的算法(如深度q网络dqn)、处理连续动作的算法(深度确定性策略梯度ddpg)和处理同时含有离散动作和连续动作的算法(如parametrized deep q-network即pdqn)。提出的问题中同时含有离散动作和连续动作(问题解决过程中需要进行一次离散动作和多次连续动作),且这两个动作之间含有耦合关系。若用dqn等深度学习解决该问题,需要将连续动作量化为离散动作,但这会导致学习/训练速度过慢;若用ddpg等深度学习方法,需要将离散动作转换为连续动作,但这会将在收敛时引起振荡;而已有的pdqn等算法,一则它们通常是进行离散动作和连续动作的次数相同,更重要的是它们的设计没有考虑到“离散动作和连续动作会相互影响的情况”,所以采用这些算法并不能实现将离散动作和连续动作进行联合优化的目的。
技术实现思路
1、本发明要解决的技术问题:针对现有技术的上述问题,提供一种联合优化vnf部署和无人机轨迹的深度学习方法及系统,本发明旨在解决为实现离散动作和连续动作联合优化而统一变量类型而造成的学习/训练速度过慢或收敛具有振荡的问题,能够确保得出的结果是对离散动作和连续动作这两类动作的联合优化。
2、为了解决上述技术问题,本发明采用的技术方案为:
3、一种联合优化vnf部署和无人机轨迹的深度学习方法,包括:
4、步骤s101,初始化构建轨迹动作网络、虚拟网络功能部署q网络、批判网络、目标轨迹动作网络和目标批判网络,所述轨迹动作网络的输入是所有无人机的当前位置信息、所有无人机上的vnf部署方案、所有用户的位置信息、所有用户的请求信息、所有请求的接纳情况,输出为表示连续动作的多个连续变量的值,所述连续动作用于确定每一架处于工作状态的无人机的下一位置,处于工作状态的无人机是指尚有用户请求需要被该无人机接纳的无人机;所述虚拟网络功能部署q网络的输入是所有用户的位置信息和请求信息、输出为实数形式用于表示vnf部署方案的离散动作的q值,请求信息包含请求的vnf类型和需要处理的数据量,q值表示的离散动作会对所有无人机上的vnf部署方案产生影响;批判网络的输入是所有无人机的当前位置信息、所有无人机上的vnf部署方案、所有用户的位置信息、所有用户的请求信息、所有请求的接纳情况,以及根据上述信息由轨迹动作网络生成的连续动作,批判网络的输出为用于评判用轨迹动作网络生成的连续动作的质量的q值;目标轨迹动作网络的输入输出均与轨迹动作网络相同;目标批判网络的输入与批判网络相同且输入的连续动作由目标轨迹动作网络生成,目标批判网络的输出为用于评判用目标轨迹动作网络生成的连续动作的质量的q值;
5、步骤s102,执行第一阶段的训练,包括:训练轨迹动作网络使得轨迹动作网络生成的一系列离散动作构成的无人机飞行轨迹方案能接纳所有请求且使无人机飞行能耗成本、处理请求的计算成本和处理请求的能量消耗成本之和最小;
6、步骤s103,执行第二阶段的训练,包括:利用训练好的轨迹动作网络,并使用批判网络、目标轨迹动作网络和目标批判网络来训练虚拟网络功能部署q网络使其得到vnf部署方案的网络成本最小。
7、可选地,步骤s101中初始化构建轨迹动作网络、虚拟网络功能部署q网络、批判网络、目标轨迹动作网络和目标批判网络时,轨迹动作网络、虚拟网络功能部署q网络、批判网络三者的网络参数为随机生成,目标轨迹动作网络的网络参数初始化为与轨迹动作网络的参数相同,目标批判网络的网络参数初始化为与批判网络的参数相同。
8、可选地,步骤s101中还包括第一阶段迭代变量stageone_now和第一阶段迭代次数stageone_total;步骤s102包括:
9、步骤s201,判断第一阶段迭代变量stageone_now小于第一阶段迭代次数stageone_total是否成立,若不成立,则结束第一阶段的训练,跳转步骤s103;否则跳转步骤s202;
10、步骤s202,执行初始化操作(②-a),包括:随机产生一个训练样本,所述训练样本包括训练样本的初始环境信息以及代表离散动作的一个编号discrete_id,此时所有无人机处于工作状态,所述初始环境信息包括用户位置及其vnf请求信息userinfo、无人机位置信息uavloc、用户vnf被接纳情况stateacc、是否所有请求都被接纳的标志done,其中用户位置及其vnf请求信息userinfo随机产生且在执行动作时不会影响用户位置及其vnf请求信息userinfo、无人机位置信息uavloc被设置为预定位置、用户vnf被接纳情况stateacc被设置为所有请求未接纳的状态进而是否所有请求都被接纳的标志done=false、编号discrete_id设置为0;
11、步骤s203,判断编号discrete_id小于预设阈值discrete_num是否成立,若成立则跳转步骤s204;否则将第一阶段迭代变量stageone_now加1,跳转步骤s201;
12、步骤s204,执行遍历操作(②-b),包括:首先令当前环境为训练样本的初始环境,包括:采用初始环境信息中的用户位置及其vnf请求信息userinfo,将当前环境的无人机位置信息uavloc_now赋值为初始环境信息中的无人机位置信息uavloc,当前环境的用户vnf被接纳情况stateacc_now赋值为初始环境信息中的用户vnf被接纳情况stateacc,当前环境的是否所有请求都被接纳的标志done赋值为false;然后执行编号discrete_id所代表离散动作所表示的部署方案disact,该部署方案disact不会影响无人机位置,使得新的无人机位置uavloc_next为当前环境的无人机位置信息uavloc_now,且根据部署方案disact对应的部署方案和当前无人机与用户的位置关系决定哪些请求能够被接受以产生新的用户vnf被接纳情况stateacc_next;根据新的用户vnf被接纳情况stateacc_next判断是否所有用户请求均被接纳,更新是否所有请求都被接纳的标志done;同时根据新的用户vnf被接纳情况stateacc_next判断无人机是否需要继续工作,若有请求需要某一无人机去接纳,则无人机需要继续工作、继续处于工作状态;否则无人机停止工作;
13、步骤s205,判断是否所有请求都被接纳的标志done为false是否成立,若不成立,则将编号discrete_id加1,跳转步骤s203;否则跳转步骤s206;
14、步骤s206,执行遍历操作(②-c),包括:令当前环境为上一次执行动作后产生的新环境,包括:将当前环境的无人机位置uavloc_now赋值为新的无人机位置uavloc_next,当前环境的用户vnf被接纳情况stateacc_now赋值为新的用户vnf被接纳情况stateacc_next;然后将使用用户位置及其vnf请求信息userinfo、当前环境的用户位置及其vnf请求信息uavloc_now、当前环境的用户vnf被接纳情况stateacc_now、部署方案disact作为轨迹动作网络的输入,生成连续动作con_tan;在连续动作con_tan上添加一个随机生成的噪音产生一个新的连续动作con_new;执行新的连续动作con_new以改变无人机的位置生成新的无人机位置uavloc_next,然后根据此时的部署方案disact、新的无人机位置uavloc_next和用户的关系决定哪些请求能够被接受,故而会产生新的用户vnf被接纳情况stateacc_next;根据新的用户vnf被接纳情况stateacc_next判断是否所有用户请求均被接纳,进而更新是否所有请求都被接纳的标志done;同时根据新的用户vnf被接纳情况stateacc_next判断无人机是否需要继续工作,若有请求需要某一无人机去接纳,则无人机需要继续工作、继续处于工作状态;否则无人机停止工作;计算执行动作产生的动作奖励rc;
15、步骤s207,执行存储操作(②-d),包括:将步骤s206得到的结果采用(userinfo+uavloc_now+stateacc_now,con_new,rc,userinfo+uavloc_next+stateacc_next,done)的格式作为一条经验存储到连续动作回放经验存储区;
16、步骤s208,判断连续动作回放经验存储区存储的经验数大于等于阈值consamnum是否成立,若成立则跳转步骤s209;否则跳转步骤s205;
17、步骤s209,执行学习操作(②-e),包括:从连续动作回放经验存储区进行存储随机抽样出consamnum条经验,利用抽出consamnum条经验样本,采用均方损失作为损失函数,使用最小化损失函数的方法更新批判网络的参数,再利用梯度下降的方法更新轨迹动作网络的参数;采用软更新的方法更新目标批判网络和目标轨迹动作网络的参数,跳转步骤s205。
18、可选地,步骤s209中软更新的方法的函数表达式为:
19、
20、
21、上式中,和分别为目标批判网络软更新后、软更新前的参数,θcri为批判网络的参数,和分别为目标轨迹动作网络软更新后、软更新前的参数,θact为轨迹动作网络的参数,τsoft为大于零且远小于1的常数。
22、可选地,步骤s103中训练虚拟网络功能部署q网络使其得到vnf部署方案的网络成本最小之前,还包括收集训练样本(③-a):
23、步骤s301,判断是否离散动作的数组set_tr中每个离散动作下都存储了预设的常数sam_num个样本,若是则判定收集训练样本(③-a)操作完毕,结束并返回训练虚拟网络功能部署q网络;否则,跳转步骤s302;
24、步骤s302,执行环境样本初始化操作(③-a1),包括随机产生一个环境样本,包括用户位置及其vnf请求信息userinfo、无人机位置信息uavloc、用户vnf被接纳情况stateacc和是否所有请求都被接纳的标志done,此时所有无人机处于工作状态,其中用户位置及其vnf请求信息userinfo随机产生,无人机位置信息uavloc被设置为预定位置,用户vnf被接纳情况stateacc被设置为所有请求未接纳的状态,是否所有请求都被接纳的标志done为false;此外,还包括初始化最大累积奖励max_reward,获得最大累积奖励对应的离散动作编号optiaml_disact_id,用于遍历的代表离散动作的一个编号discrete_id为0,以及同一离散动作下需要进行完整的无人机轨迹规划的次数adisacttest_total;
25、步骤s303,判断编号discrete_id小于预设阈值discrete_num是否成立,若成立则跳转步骤s304;否则判断数组set_tr中的离散动作set_tr[optiaml_disact_id]下存储的样本数小于预设的常数sam_num是否成立,若不成立则跳转步骤s201,否则将生成的环境样本中的用户位置及其vnf请求信息userinfo存入数组set_tr中的离散动作set_tr[optiaml_disact_id]下,跳转步骤s201;
26、步骤s304,执行行为初始化操作(③-a2),包括:定义变量a_disacttest_time代表同一环境下、同一离散动作下进行了几次完整的无人机轨迹规划,并将其初始化为0;
27、步骤s305,判断变量a_disacttest_time小于预设的阈值adisacttest_total是否成立,若不成立,则将编号discrete_id加1,跳转步骤s303;否则跳转步骤s306;
28、步骤s306,执行处理操作(③-a3),包括:首先令当前环境为步骤s302中随机生成的训练样本的初始环境样本,包括采用步骤s302生成的用户位置及其vnf请求信息userinfo,将当前环境的无人机位置信息uavloc_now赋值为初始环境信息中的无人机位置信息uavloc,当前环境的用户vnf被接纳情况stateacc_now赋值为初始环境信息中的用户vnf被接纳情况stateacc,当前环境的是否所有请求都被接纳的标志done赋值为false;然后令部署方案disact表示编号discrete_id所代表的离散动作,执行部署方案disact,使得新的无人机位置uavloc_next为当前环境的无人机位置信息uavloc_now,然后执行编号discrete_id所代表离散动作所表示的部署方案disact,该部署方案disact不会影响无人机位置,使得新的无人机位置uavloc_next为当前环境的无人机位置信息uavloc_now,且根据部署方案disact对应的部署方案和当前无人机与用户的位置关系决定哪些请求能够被接受以产生新的用户vnf被接纳情况stateacc_next;根据新的用户vnf被接纳情况stateacc_next判断是否所有用户请求均被接纳,更新是否所有请求都被接纳的标志done,计算与接纳的请求数和网络成本相关的奖励rd;将与接纳的请求数和网络成本相关的奖励rd赋值给现累积奖励accreward_now;同时根据新的用户vnf被接纳情况stateacc_next判断无人机是否需要继续工作,若有请求需要某一无人机去接纳,则无人机需要继续工作、继续处于工作状态;否则无人机停止工作;
29、步骤s307,判断是否所有请求都被接纳的标志done为false是否成立,若不成立,则跳转步骤s308,否则跳转步骤s309;
30、步骤s308,首先判断现累积奖励accreward_now大于最大奖励max_reward是否成立,若成立则将现累积奖励accreward_now赋值给最大奖励max_reward,将部署方案disact对应的编号discrete_id赋值给最大累积奖励对应的离散动作编号optiaml_disact_id;然后,将变量a_disacttest_time加1,跳转步骤s305;
31、步骤s309,执行学习操作(③-a4),包括:将当前环境的无人机位置uavloc_now赋值为新的无人机位置uavloc_next,当前环境的用户vnf被接纳情况stateacc_now赋值为新的用户vnf被接纳情况stateacc_next;然后将使用用户位置及其vnf请求信息userinfo、当前环境的用户位置及其vnf请求信息uavloc_now、当前环境的用户vnf被接纳情况stateacc_now、部署方案disact作为轨迹动作网络的输入,生成连续动作con_temp;在连续动作con_temp上添加一个随机生成的噪音产生一个新的连续动作con_final;执行新的连续动作con_final以改变无人机的位置生成新的无人机位置uavloc_next,然后根据此时的部署方案disact、新的无人机位置uavloc_next和用户的关系决定哪些请求能够被接受,故而会产生新的用户vnf被接纳情况stateacc_next;根据新的用户vnf被接纳情况stateacc_next判断是否所有用户请求均被接纳,进而更新是否所有请求都被接纳的标志done;计算执行新的连续动作con_final产生的动作奖励rc;将执行新的连续动作con_final产生的奖励rc累加导现累积奖励accreward_now上;同时根据新的用户vnf被接纳情况stateacc_next判断无人机是否需要继续工作,若有请求需要某一无人机去接纳,则无人机需要继续工作、继续处于工作状态;否则无人机停止工作;跳转步骤s307。
32、可选地,所述动作奖励rc为四项奖励之和,其中:第一项奖励为执行该动作接纳请求的奖励,该奖励计算方法为r_ac*ca_num_acc,其中r_ac为接纳一个请求给予的奖励值,为正数;ca_num_acc为执行该动作接纳的请求数;第二项奖励为执行该动作的无人机飞行能耗奖励;第三项奖励为执行该动作的处理请求的计算成本奖励,该奖励的数值/绝对值计算方式为因该动作而处理的每个请求的计算成本之和,且一个请求的计算成本等于需要处理的数据位数、处理一位数据需要的cpu数、相应vnf实例使用每cpu所需的计算成本三者之积、第四项奖励为执行该动作的处理请求的能量消耗成本奖励,该奖励的数值/绝对值计算方式为因该动作而处理的每个请求的计算能量消耗之和,其中一个请求的能量消耗等于要处理的数据位数、处理一位数据需要的cpu数、使用每cpu所需的能量消耗三者之积;上述四项奖励中第一项奖励为正、其余三项奖励为负;所述与接纳的请求数和网络成本相关的奖励rd为五项奖励之和,其中:第一项奖励为接纳请求数,该奖励为正,该奖励计算方法为r_ac*ca_num_acc,其中r_ac为接纳一个请求给予的奖励值,为正数;ca_num_acc为执行该动作接纳的请求数;第二项奖励为部署vnf实例成本,该奖励为负,该奖励的数值/绝对值计算方式为各类vnf实例的部署成本之和,且某一类各类vnf实例的部署成本之和等于部署的该类vnf实例数、部署一个该类vnf实例所需要的部署成本的乘积;第三项奖励为执行该动作的无人机飞行能耗奖励,该奖励为负;第四项奖励为执行该动作的处理请求的计算成本奖励,该奖励为负,该奖励的数值/绝对值计算方式为因该动作而处理的每个请求的计算成本之和,其中一个请求的计算成本等于需要处理的数据位数、处理一位数据需要的cpu数、相应vnf实例使用每cpu所需的计算成本的乘积;第五项奖励为执行该动作的处理请求的能量消耗成本奖励,该奖励为负,该奖励的数值/绝对值计算方式为因该动作而处理的每个请求的计算能量消耗之和,且一个请求的能量消耗等于要处理的数据位数、处理一位数据需要的cpu数、使用每cpu所需的能量消耗的乘积。
33、可选地,步骤s101中还包括第二阶段迭代变量stagetwo_now;步骤s103中训练虚拟网络功能部署q网络使其得到vnf部署方案的网络成本最小包括:
34、步骤s401,判断第二阶段迭代变量stagetwo_now小于预设的常数sam_num是否成立,若不成立,则结束第二阶段的训练并退出;否则跳转步骤s402;
35、步骤s402,执行初始化操作(③-b1),包括:初始化变量optimal_dis_now为0;
36、步骤s403,判断变量optimal_dis_now小于预设阈值discrete_num是否成立,若不成立,则将第二阶段迭代变量stagetwo_now加1,跳转步骤s401;否则跳转步骤s402;
37、步骤s404,执行遍历的环境样本初始化操作(③-b2),包括:令用于记录当前的用户位置及其vnf请求信息的变量userinfo_now为数组set_tr中的离散动作[optimal_dis_now][stagetwo_now]所记录的用户位置及其vnf请求信息;初始化用于遍历每个离散动作的变量traval_dis_now的值为0;
38、步骤s405,判断变量traval_dis_now小于预设阈值discrete_num是否成立,若成立则跳转步骤s406;否则,将变量optimal_dis_now加1,跳转步骤s403;
39、步骤s406,判断变量optimal_dis_now等于变量traval_dis_now是否成立,若成立则判定变量userinfo_now下采取变量traval_dis_now的离散动作能够获得最低的网络成本,设置标识reward_store=1,跳转步骤s407;否则判定变量userinfo_now下采取变量traval_dis_now的离散动作不能够获得最低的网络成本,设置标识reward_store=-1,跳转步骤s408;
40、步骤s407,执行存储操作(③-b3):向连续动作回放经验存储区存储经验(userinfo_now,traval_dis_now,reward_store=-1),跳转步骤s409;
41、步骤s408,执行存储操作(③-b4):向连续动作回放经验存储区存储经验(userinfo_now,traval_dis_now,reward_store=1),跳转步骤s409;
42、步骤s409,判断离散动作回放经验存储区存储的经验数是否大于等于预设阈值dissamnum是否成立,若成立则跳转步骤s410;否则将变量traval_dis_now加1,跳转步骤s405;
43、步骤s410,执行回放学习操作(③-b5),包括:从连续动作回放经验存储区存储随机抽样出dissamnum条经验样本,利用抽出的经验样本,采用平滑l1损失作为损失函数,使用最小化损失函数的方法更新虚拟网络功能部署q网络的参数;将变量traval_dis_now加1,跳转步骤s405。
44、此外,本发明还提供一种联合优化vnf部署和无人机轨迹的深度学习系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行所述联合优化vnf部署和无人机轨迹的深度学习方法。本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序/指令,该算机程序/指令被编程或配置以通过处理器执行所述联合优化vnf部署和无人机轨迹的深度学习方法。本发明还提供一种计算机程序产品,包括计算机程序/指令,该算机程序/指令被编程或配置以通过处理器执行所述联合优化vnf部署和无人机轨迹的深度学习方法。
45、和现有技术相比,本发明主要具有下述优点:本发明通过深度学习实现具有耦合关系的离散动作和连续动作的联合优化,其中离散动作先被执行且整个过程中仅被执行一次,在执行离散动作后连续动作需要被执行一至多次,该技术能够避免为实现联合优化而统一变量类型(将连续动作量化为离散动作或将离散动作转换为连续动作)而造成的学习/训练速度过慢或收敛具有振荡的问题;同时而本发明基于离散动作和连续动作的耦合关系,能够确保得出的结果是对这两类动作的联合优化。
本文地址:https://www.jishuxx.com/zhuanli/20240801/243096.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表