发明内容
本发明提供了一种车联网频谱分配方法及设备,用于解决现有的频谱分配方法,存在着难以在大规模状态空间下实时做出快速、正确的频谱分配决策,导致“广播风暴”发生的技术问题。
本发明提供的一种车联网频谱分配方法,所述方法适用于预先训练好的深度强化学习网络,方法包括以下步骤:
S1:确定车辆中发送信息的车辆以及接收信息的车辆,将发送信息的车辆作为源节点,将接收信息的车辆作为目标节点;
S2:根据车辆的移动特性,计算其他车辆与源节点之间的相似性,根据相似性对车辆进行分组,使得每个源节点从自身所在的分组内选择其他车辆作为中继节点;
S3:设定车辆信息转发协议;
S4:令每个分组内的源节点以及中继节点从可选信道中任意选择一个信道,根据所选择的信道以及车辆信息转发协议将源节点发出的信息转发至目标节点;
S5:获取此次信息发送过程中每个节点的信息发送情况;
S6:根据每个节点的信息发送情况计算每个节点此次信道选择的奖励值,并记录此时每个节点可选择的信道以及此时每个信道的状态;
S7:根据每个节点的信息发送情况、此时每个节点可选择的信道以及此时每个信道的状态计算此时每个节点的发送状态;
S8:将此时每个节点的发送状态以及每个节点此次信道选择的奖励值输入到预先训练好的深度强化学习网络中,得到每个分组内每个节点的最优信道选择策略;
S9:将每个分组内每个节点的最优信道选择策略反馈至对应的分组中,令每个分组中的每个节点根据最优信道选择策略重新选择信道进行信息传输,重复执行步骤S5~S9,直至所有信息发送完毕。
优选的,深度强化学习网络包括RNN网络以及DNN网络。
优选的,车辆的移动特性包括车辆的行车速度,车辆与源节点的距离以及车辆是否处在岔道口。
优选的,采用欧式距离来计算其他车辆与源节点之间的相似性,根据其他车辆与源节点之间的相似性,采用深度优先搜索算法对车辆进行分组。
优选的,采用深度优先搜索算法对车辆进行分组的具体过程为:
S201:将源节点作为中心节点;
S202:计算其他车辆与中心节点的相似性,按照相似性的数值从高到低对其他车辆进行排序;
S203:将排序在前的X个其他车辆与中心节点作为一个分组;
S204:在分组中选择与源节点相似性最高的其他车辆作为中心节点,重新执行步骤S201~S203,直至所有的其他车辆都分组完成为止。
优选的,在步骤S4中,若目标节点位于源节点的传播半径之内,则源节点根据车辆信息转发协议直接向目标节点发送信息。
优选的,对于每一个节点,若该节点信息发送成功,则该节点的信息发送情况置1;若该节点信息发送失败,则该节点的信息发送情况置0。
优选的,对于每一个信道,若该信道被选择用于发送信息,则信道的状态置1;若该信道未被选择用于发送信息,则信道状态置0。
优选的,得到预先训练好的深度强化学习网络的具体过程为:
S101:获取各个节点的历史发送状态;
S102:将各个节点的历史发送状态输入到深度强化学习网络,深度强化学习网络根据每一层网络的权重值来输出信道选择策略;
S103:每个节点根据信道选择策略选择信道进行信息传输,并计算每个节点的信道选择的奖励值;
S104:将每个节点的信道选择的奖励值反馈至深度强化学习网络中,通过反向传播的方式调节深度强化学习网络中每一层网络的权重值;
S105:重复执行步骤S101~S104,直至计算出来的信道选择的奖励值为最大值为止。
一种车联网频谱分配设备,包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述的一种车联网频谱分配方法。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例根据车辆的移动特性对车辆进行分组,并通过设置车辆信息转发协议来规范车辆的信息发送行为,从而避免了车辆在较小范围内同时转发信息,提高信息的转发效率,减少网络拥堵量。并且本发明实施例使用深度强化学习网络的为所有需要发送信息的车辆完成动态信道接入的最优决策,以增加信道的利用率,减少因争抢信道而产生的数据丢失,在降低了频谱冲突的风险的同时也最小化了现有信道的空闲率,从而避免了“广播风暴”的出现。
具体实施方式
本发明实施例提供了一种车联网频谱分配方法及设备,用于解决用于解决现有的频谱分配方法,存在着难以在大规模状态空间下实时做出快速、正确的频谱分配决策,导致“广播风暴”发生的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的一种车联网频谱分配方法及设备的方法流程图。
实施例1
如图1所示,本发明提供的一种车联网频谱分配方法,所述方法适用于预先训练好的深度强化学习网络,方法包括以下步骤:
S1:确定车辆中发送信息的车辆以及接收信息的车辆,将发送信息的车辆作为源节点,将接收信息的车辆作为目标节点;
S2:根据车辆的移动特性,如速度、方向等,计算其他车辆与源节点之间的相似性,根据相似性对车辆进行分组,每个源节点从自身所在的分组内选择其他车辆作为中继节点;将在移动中具有高度相似移动特性的车辆分组后以中继的方式传播信息,使得发送信息的过程中具有更高的稳定性。
S3:设定车辆信息转发协议,通过设定车辆信息转发协议从而来规范车辆的信息发送行为;
S4:每个分组内的源节点以及中继节点从可选信道中任意选择一个信道,根据每个节点所选择的信道,中继节点根据车辆信息转发协议对源节点发出的信息进行转发,将信息发送至目标节点;其中,若目标节点位于源节点的传播半径之内,则源节点根据车辆信息转发协议直接向目标节点发送信息;
S5:当每个节点尝试完成一次信道选择并发送信息后,接收信息的节点都返回一个信息发送情况告知发送信息的节点是否发送成功,获取此次信息发送过程中每个节点的信息发送情况;
S6:根据每个节点的信息发送情况计算每个节点此次信道选择的奖励值,对该次信道的选择给予一个奖励,并记录此时每个节点可选择的信道以及此时每个信道的状态;
S7:根据每个节点的信息发送情况、此时每个节点可选择的信道以及此时每个信道的状态计算此时每个节点的发送状态,每个节点根据每次信道选择后的发送状态决定下一时刻的信道选择;
S8:将此时每个节点的发送状态以及每个节点此次信道选择的奖励值输入到预先训练好的深度强化学习网络中,深度强化学习网络输出每个分组内每个节点的最优信道选择策略;通过使用深度强化学习中的深度强化学习网络来代替传统强化学习中的Q值表,得到一组节点的信道选择与发送状态对应的Q值,根据Q值来指导对每个节点的信道选择进行指导;
S9:将每个分组内每个节点的最优信道选择策略反馈至对应的分组中,每个分组中的每个节点根据最优信道选择策略重新选择信道进行信息传输,重复执行步骤S5~S9,直至所有信息发送完毕。
实施例2
如图1所示,本发明提供的一种车联网频谱分配方法,所述方法适用于预先训练好的深度强化学习网络,方法包括以下步骤:
S1:确定车辆中发送信息的车辆以及接收信息的车辆,将发送信息的车辆作为源节点,将接收信息的车辆作为目标节点,相关的定义如下:
定义1.源节点:需要发送信息的车辆。
定义2.中继节点:转发信息的车辆。
定义3.邻节点:与中心节点同组可转发信息的车辆。
定义4.目标节点:接受信息的车辆(或其它设备)。
定义5.中心节点:每个分组的中心车辆,可连通两个分组间的信息传播。
定义6.等待延时(T):节点接收到信息到发出信息中间等待的时间。
S2:根据车辆的移动特性,从车辆的行车速度,车辆与源节点的距离以及车辆是否处在岔道口三个方面,计算其他车辆与源节点之间的相似性,根据相似性对采用深度优先搜索算法车辆进行分组,每个源节点从自身所在的分组内选择其他车辆作为中继节点;将在移动中具有高度相似移动特性的车辆分组后以中继的方式传播信息,使得发送信息的过程中具有更高的稳定性,具体过程如下:
S201:首先定义每个分组的最大车辆数量Xmax,其次定义在搜索过程中每辆车只能做一次中心节点,将源节点作为中心节点;
S202:计算其他车辆与中心节点的相似性,按照相似性的数值从高到低对其他车辆进行排序;
S203:将排序在前的X个其他车辆与中心节点作为一个分组;
S204:在分组中选择与源节点相似性最高的其他车辆作为中心节点,重新执行步骤S201~S203,产生新的分组,直至所有的其他车辆都分组完成为止。当同组的中继节点无法完成对源节点的辅助时,选择同组其他的中心节点转发至其他分组继续选择中继节点转发信息。
其中,需要进一步说明的是,相似性的计算过程如下:
采用欧式距离来计算其他车辆与源节点之间的相似性,具体公式为:
式中K表示从K个方面计算车辆间相似性,Ai与Bi分别表示源节点与其他车辆间的第i个特性。
S3:设定车辆信息转发协议,通过设定车辆信息转发协议从而来规范车辆的信息发送行为;需要进一步说明的是,车辆信息转发协议的具体规定如下:
(1)车辆可以通过GPS等车载设备感知周围车辆的行驶信息和道路状况,或者借助RSU或MEC服务器获得相关信息。
(2)车辆仅选择自己所在分组中的其他车辆作为中继节点,计算所有邻居节点的等待延时,选择等待延时最短的发送,其他车辆不再转发。
(3)每个节点接收到信息后无法向目标节点继续发送时给发送信息的节点进行反馈,发送信息的节点重新选择中继节点。
(4)需要多个中继节点转发时两个分组间由中心节点连通。
(5)对于处在岔路口的车辆由于存在与源节点分开的可能,降低其转发优先级。
(6)一个中继节点重复收到同样的信息时,自动丢弃。
S4:每个分组内的源节点以及中继节点从可选信道中任意选择一个信道,根据每个节点所选择的信道,中继节点根据车辆信息转发协议对源节点发出的信息进行转发,将信息发送至目标节点;其中,若目标节点位于源节点的传播半径之内,则源节点根据车辆信息转发协议直接向目标节点发送信息;
首先通过实验数据及仿真验证车辆信息转发协议的有效性。对车辆信息转发协议的性能测试结果如图2所示。无车辆信息转发协议时,为保证信息不在转发途中丢失,源节点以广播的形式发送信息,其传播半径范围内所有车辆接收信息后都辅助转发。此时由于信道数量有限导致因争抢信道而产生大量丢失数据,并产生因为同一辆车重复接收相同的信息并转发导致整体传输效率低。按三角形分组转发的方法下,接收信息车辆数量相对减少,但随着车辆数增多仍存在因信道争抢数据丢失的可能,此外该组协议存在一辆车同属于多个分组,导致同一个节点多次接到同一条信息丢弃,增加网络开销。本实施例提出车辆信息转发协议,每次每组仅有一个节点进行信息转发,不存在信道争抢问题,小概率的数据丢失波动由环境或车辆自身性能原因等造成。
S5:当每个节点尝试完成一次信道选择并发送信息后,接收信息的节点都返回一个信息发送情况告知发送信息的节点是否发送成功,获取此次信息发送过程中每个节点的信息发送情况;
在VANET环境中即使采用分组的方式限制转发范围,但当多个分组需发送不同的信息到不同的目标节点时仍存在信道选择冲突。假设存在一组需发送信息车辆M=[1,2,...,M}和一组信道C=[1,2,...,C},车辆可任意选择信道接入并完成信息的发送,在每一帧时车辆都可动态地选择继续留在该信道还是切换信道发送。本实施例中允许车辆在信道选择时选择不发送信息,此时该车辆的信道C=0。每个信道仅存在单个车辆时信息才能发送成功,否则将产生碰撞,发生碰撞的车辆数据包均丢失即发送失败。假设当M≤C,即信道数量足够,频谱接入时不产生信道争抢,信息发送总是成功,反之将发生频谱接入时的信息碰撞。当每个车辆尝试完成一次信道选择并发送信息后,接收信息的节点都返回一个信息发送情况η告知发送信息的节点是否发送成功,其具体表达式为:
对于每一个节点,若该节点信息发送成功,则该节点的信息发送情况置1,
若该节点信息发送失败,则该节点的信息发送情况置0。
S6:根据每个节点的信息发送情况计算每个节点此次信道选择的奖励值,对该次信道的选择给予一个奖励,并记录此时每个节点可选择的信道以及此时每个信道的状态;奖励值的定义为:
其中β为常数。
S7:根据每个节点的信息发送情况、此时每个节点可选择的信道以及此时每个信道的状态计算此时每个节点的发送状态,每个节点根据每次信道选择后的发送状态决定下一时刻的信道选择;
将每个节点在发送信息时可选择的信道定义为信道动作选择:a∈{0,1,...,C},当am(t)=0时代表节点m在t时刻未选择信道,在每次动态接入过程完成后都有信道的状态:
δ(t)={δ1,δ2,...,δC}
当信道C有信息发送时,信道状态δc置1,节点m根据每次接入后的发送状态决定下一时刻的发送动作,因此节点m在t时刻的状态由该时刻下的信息发送情况η,信道动作选择a和信道的状态δ共同构成:
Sm(t)={(ηm(t),(am(t)),(δ(t))}
节点m在t时刻的信道切换策略被定义为:
μm(t)=(pm,0(t),pm,1(t),...,pm,c(t))
pm,c(t)表示用节点m在t时刻切换到信道C的概率。
S8:信道切换策略可以使节点在每次发送完成后以一定的概率换至其他信道,但是无法保证每次切换都为本时刻下的最优动态接入选择。因此将此时每个节点的发送状态以及每个节点此次信道选择的奖励值输入到预先训练好的深度强化学习网络中,深度强化学习网络输出每个分组内每个节点的最优信道选择策略;通过使用深度强化学习中的深度强化学习网络来代替传统强化学习中的Q值表,得到一组节点的信道选择与发送状态对应的Q值,根据Q值来指导对每个节点的信道选择进行指导,减少因争抢信道而产生的数据丢失;
本实施例提出一个基于经验累积的全局优化算法(简称GOEA算法),该算法使用深度强化学习网络为所有需要发送信息的车辆完成动态信道接入的最优决策,以增加信道的利用率,减少因争抢信道而产生的数据丢失。在GOEA算法中,每一个节点被看作一个智能体,S表示一个分组中节点的发送状态:S={s1,s2,...,sl},A表示一个分组中节点的信道动作选择:A={a1,a2,...,ak}。t时刻下节点在发送状态s(t)∈S下执行信道动作选择a(t)∈A后根据环境返回的信息获得一个奖励r(s,a),节点转移至下一个发送状态s(t+1)∈S。用一个奖励函数表示在本次环境状态下该信道动作选择的执行效果并指导智能体学习下一步的信道选择。节点在t时刻的发送状态为:S={s1(t),s2(t),...,sm(t)},信道动作选择为:A={a1(t),a2(t),...,am(t)},获得的奖励为rm(t)。在本实施例中使用深度强化学习中的深度强化学习网络代替传统强化学习中的Q值表,采用值迭代的方式得到一组信道动作选择a与发送状态s对应的Q值Qπ(s,a),Qπ(s,a)表示在初始发送状态s下根据策略π执行信道动作选择获得奖励累计的期望值,Q值的具体更新方式如下,
其中,α为学习率,r表示奖励值,γ表示折扣率,是一个超参。
为防止获得奖励的依赖性,做出以下进行规定:
A(t)={a1(t),a2(t),...,am(t)}
ξ(a(t)=0)≤M-C
其中,ξ(a(t)=0)表示选择0信道的用户数量。
发送状态s作为深度强化学习网络的输入,通过多层神经网络后最终输出多个Q值,每个Q值对应不同的动作,如Q(s,a0),Q(s,a1),Q(s,a2),智能体选择Q值最大的动作执行后根据结果返回一个奖励值r以判断该信道动作选择是否正确,深度强化学习网络的权值也随之调节,以此来指导智能体根据不同的环境尽可能的选择奖励值大的信道动作选择。
本实施例提出的GOEA算法中深度强化学习网络通过将RNN网络与DNN网络相结合,在该结构下,智能体通过累积之前的t-d个时刻的发送状态以及当前时刻的发送状态做出信道动作选择,GOEA算法的深度强化学习网络的网络结构如图3所示。
需要进一步说明的是,得到预先训练好的深度强化学习网络的具体过程为:
S101:获取各个节点的历史发送状态;
S102:将各个节点的历史发送状态输入到深度强化学习网络,深度强化学习网络根据每一层网络的权重值来输出信道选择策略;
S103:每个节点根据信道选择策略选择信道进行信息传输,并计算每个节点的信道选择的奖励值;
S104:将每个节点的信道选择的奖励值反馈至深度强化学习网络中,通过反向传播的方式调节深度强化学习网络中每一层网络的权重值;
S105:重复执行步骤S101~S104,直至计算出来的信道选择的奖励值为最大值为止。
S9:将每个分组内每个节点的最优信道选择策略反馈至对应的分组中,每个分组中的每个节点根据最优信道选择策略重新选择信道进行信息传输,重复执行步骤S5~S9,直至所有信息发送完毕。
在GOEA算法性能的研究中,假设5个车辆动态接入3条信道。RNN层设置一个隐藏层,神经元个数为100,DNN层设置3个隐藏层,神经元个数均为128个。根据车辆碰撞概率,信道空闲率和获得奖励的累积值对GOEA算法的性能做出评判。
由图4中多种算法比较可以得出:本实施例提出的GOEA算法与无全局优化奖励的RNN+DQN算法对动态频谱接入策略的学习均有较好的结果,与没有RNN网络的DQN算法相比,碰撞率快速下降并逐渐收敛。DQN仅能对当前时刻的单个车辆状态进行决策,无法处理受到历史经验影响的动态频谱接入过程,因此碰撞概率始终在0.8上下波动,且振荡范围较大,无法学习到更好的动态接入策略。由于单个的DQN算法本身无法学习接入策略,因此在此基础上加入全局优化的方法增加了环境对动作的反馈的复杂性,导致智能体更加难以理解环境,时隙Aloha算法有效的将碰撞概率降低至0.6且稳定性较高,但算法效果的提升空间小。
图5显示了频谱动态接入过程中信道的闲置率。对比图4可以得出,时隙Aloha算法下车辆产生碰撞后该信道被闲置,因此信道空闲率与碰撞概率基本一致。使用DQN算法和GO+DQN算法时由于神经网络本身学习效果差,无法对环境的反馈做出及时的判断,因此信道空闲率同样与碰撞概率无差别。在采用全局优化的方式下,信道空闲率都会快速下降。GOEA算法在训练初期可能存在尽可能多的车辆选择了不发送信息,因此前40000步的训练中振荡比RNN+DQN严重,但是随着训练次数的增加GOEA算法的信道空闲率逐渐小于其他算法并收敛。
实施例3
如图6所示,一种车联网频谱分配设备30,所述设备包括处理器300以及存储器301;
所述存储器301用于存储程序代码302,并将所述程序代码302传输给所述处理器;
所述处理器300用于根据所述程序代码302中的指令执行上述的一种车联网频谱分配方法中的步骤。
示例性的,所述计算机程序302可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器301中,并由所述处理器300执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序302在所述终端设备30中的执行过程。
所述终端设备30可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器300、存储器301。本领域技术人员可以理解,图6仅仅是终端设备30的示例,并不构成对终端设备30的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器300可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器301可以是所述终端设备30的内部存储单元,例如终端设备30的硬盘或内存。所述存储器301也可以是所述终端设备30的外部存储设备,例如所述终端设备30上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器301还可以既包括所述终端设备30的内部存储单元也包括外部存储设备。所述存储器301用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器301还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。