一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于DQN算法的集中式光片上网络自适应路由规划方法与流程

2021-11-05 23:32:00 来源:中国专利 TAG:

基于dqn算法的集中式光片上网络自适应路由规划方法
技术领域
1.本发明属于动态路由规划技术领域,具体涉及一种基于dqn算法的集中式光片上网络自适应路由规划方法。


背景技术:

2.片上硅光互连具有提高芯片级别的通信带宽、降低传输延迟、降低功耗等重要特性。而路由算法作为规划网络常规算法,路由算法的优劣直接影响到片上网络的性能。
3.现有技术提出将机器学习方法应用于路由路径规划中,以对集中式光片上网络的路由路径进行规划。机器学习应用的路由路径规划方法分为基于监督学习的智能路由算法以及基于强化学习的智能路由算法。
4.在基于监督学习的智能路由算法中在设定样本时需要确定标签;而确定合适的标签过程较为复杂,因此对网络的适应性不高。基于强化学习的智能路由算法主要是基于q

learning算法及其衍生的算法,该算法需要学习q表,而q表中的参数会随着网络动态变更,同时当用户端接入想要访问区别于之前的源节点到目标节点时,该算法需要重新学习并重新规划路由。由于该算法计算过程中需要大量的计算来实现q值的收敛较为耗时,重新学习增加了该算法在时间上的复杂度使得路由规划实时性更差。
5.由于光片上网络自适应路由规划过程中,网络如果动态变更,影响网络性能的因素也发生变化,现有的路由规划方法想要提高实时性就需要降低数据维度,即减少在计算中影响网络性能的因素,此种方案导致路由路径规划的准确性下降。


技术实现要素:

6.为了解决现有技术中存在的上述问题,本发明提供了一种基于dqn算法的集中式光片上网络自适应路由规划方法。本发明要解决的技术问题通过以下技术方案实现:
7.本发明提供的一种基于dqn算法的集中式光片上网络自适应路由规划方法包括:
8.s1:根据网络组成单元的拓扑关系建立无向加权图;
9.其中,无向加权图中包括多个表述网络组成单元的节点以及节点与节点之间的表示双向链路,源节点至目标节点包括多条由数据链路组成的路径,每个路径存在由于网络堵塞引起的等待时延,每个网络组成单元使用时存在内插损耗,在多条路径之间的不同状态下存在不同的网络负载均衡因子参数,所述负载均衡参数大小表述路径之间的负载均衡程度;
10.s2:确定影响所述链路以及网络组成单元的多个因子参数;
11.其中,因子参数包括:负载均衡因子参数、等待延迟因子参数、内插损耗因子参数以及最短路径因子参数;
12.s3:设置每个因子参数的当前状态参数,将其输入对应的dqn算子模型中,以使每个dqn算子模型初始化各自的当前状态参数后,得到输出结果并将其输入至ε

greedy策略网络中,ε

greedy策略网络根据输入以及内插损耗的状态参数选择数据链路组成一条路
径,输出选择该路径的每个因子参数的奖励以及下一时刻的状态参数;
13.s4:将每个因子参数的当前状态参数、基于ε

greedy策略在无向加权图中选择的路径、其奖励、因子参数的下一时刻状态参数以及其他标记参数组成一个变迁样本放入经验池中;
14.s5:循环从经验池中随机选择变迁样本,训练dqn算子模型,获得训练完成后的dqn算子模型;
15.s6:使用训练完成后的dqn算子模型结合ε

greedy策略网络为光片上网络通信进行集中式路由规划。
16.可选的,所述s3包括:
17.针对负载均衡因子参数,将无向加权图中当前时刻每个路径上的节点之间数据链路使用次数归一化数值,作为当前状态参数输入负载均衡的dqn算子模型中,以使负载均衡的dqn算子模型初始化当前状态参数后,得到输出结果并将其输入至ε

greedy策略网络中,将数据链路使用次数归一化数值负值作为负载均衡的dqn算子模型的奖励,以使ε

greedy策略网络根据输入以及内插损耗的状态参数,以奖励递增的方式迭代、在无向加权图中选择数据链路组成路径,获得负载均衡因子参数下一时刻的状态参数;
18.针对等待延迟因子参数,将无向加权图中当前时刻每个路径上由于某个堵塞引起的等待时延的归一化数值作为当前状态参数输入等待延迟的dqn算子模型中,以使等待延迟的dqn算子模型初始化当前状态参数后,得到输出结果并将其输入至ε

greedy策略网络中,将等待时延的归一化数值的负值作为等待延迟的dqn算子模型的奖励,使ε

greedy策略网络根据输入以及内插损耗的状态参数,以奖励递增的方式迭代、在无向加权图中选择数据链路组成路径,获得负载均衡因子参数下一时刻的状态参数。
19.可选的,所述根据输入以及内插损耗的状态参数,以奖励递增的方式迭代在无向加权图中选择数据链路组成路径包括:
20.以奖励递增的方式,以负载均衡因子参数、等待延迟因子参数、内插损耗因子参数以及最短路径因子参数最小为目标,从源节点开始直至目标节点迭代在无向加权图中选择数据链路组成最终选择的路径。
21.所述数据链路使用次数归一化数值表示为:
[0022][0023]
其中,l(n
i
)表示节点n
i
的所有输出数据链路的使用次数集合,l(n
i
,n
j
)表示节点n
i
连接节点n
j
的数据链路的链路使用次数;
[0024]
等待时延的归一化数值表示为:
[0025][0026]
其中,d(n
i
)表示节点n
i
的不同拐弯方向的路径由于网络堵塞引起的等待时延,d(n
i
,turn)表示通过节点n
i
时,路径中由于某个转弯堵塞引起的等待时延。
[0027]
可选的,所述dqn算子模型的奖励表示为:
[0028][0029]
其中,所述变迁样本表示为:
[0030]
(s
t
,a
t
,r
t
,s
t 1
,done)
[0031]
其中,s
t
表示当前状态参数,a
t
表示数据链路,s
t 1
表示下一时刻的状态参数,r
t
表示奖励,done表示标记参数,表示执行动作a
t
之后,是否到达目标节点。
[0032]
可选的,所述s5包括:
[0033]
循环k次从经验池中随机选择变迁样本,输入至dqn算子模型中,计算目标值和预测值的误差,并采用梯度下降算法更新估计dqn算子模型中的权重,获得训练完成后的dqn算子模型;
[0034]
其中,k为当前的源节点和目标节点之间的最短路由跳数。
[0035]
可选的,所述目标值和预测值的误差表示为:
[0036]
loss=(y
t

q(s
t
,a
t
;w1))2;
[0037]
目标值表示为:
[0038]
其中,γ表示折扣系数,表示dqn算子模型输出的最大q值,s
t
表示当前状态参数,a
t
表示数据链路,s
t 1
表示下一时刻的状态参数,a'表示每隔a
×
c步计算目标值时所对应数据链路,用于与a
t
区分,w1表示负载均衡dqn算子模型的权重,w2表示等待时延dqn算子模型的权重。
[0039]
1、本发明的基于dqn算法的集中式光片上网络自适应路由规划方法,通过建立无向加权图以及多个因子参数;将因子参数的当前状态参数输入对应的dqn算子模型中,得到输出结果,并输入到ε

greedy策略网络;ε

greedy策略网络根据输入以及内插损耗的状态参数选择数据链路组成一条路径,得到衡量各个考虑因素的输出;每个因子参数的奖励以及下一时刻的状态参数,组成一个变迁样本训练dqn算子模型,结合基于ε

greedy策略网络规划路由路径。本发明综合考虑所有考虑因素,并做出路由决策。相较于基于q

learning的路由算法,本发明的方法基于经验池,可以通过学习历史信息做出路由决策。而若改变源点和目标点,q

learning算法需要重新学习。
[0040]
2、本发明的基于dqn算法的集中式光片上网络自适应路由规划方法,相较于单一的q

learning算法,dqn算法利用神经网络对q表进行拟合,不需要时间或者空间来搜索或存放q表。
[0041]
3、本发明的基于dqn算法的集中式光片上网络自适应路由规划方法,考虑多个因素,能够从高维数据中提取和处理特征,可以显著提高学习速度,非常适合处理高维数据,对于在状态和动作空间数量巨大的问题适应性较高。
[0042]
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
[0043]
图1是本发明实施例提供的一种基于dqn的集中式光片上网络自适应路由规划方法的流程图;
[0044]
图2是本发明实施例提供的一种基于dqn算法的集中式光片上网络自适应路由规划方法的通用架构图;
[0045]
图3是本发明实施例提供的一种从节点(x1,y4)到节点(x4,y1)的第一步状态ts1,ds1的组成结构图;
[0046]
图4是本发明实施例提供的一种基于dqn的集中式光片上网络自适应路由规划方法的详细架构图。
具体实施方式
[0047]
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
[0048]
如图1所示,本发明提供的一种基于dqn算法的集中式光片上网络自适应路由规划方法包括:
[0049]
s1:根据网络中组成单元的拓扑关系建立无向加权图;
[0050]
其中,无向加权图中包括多个表述网络组成单元的节点以及节点与节点之间的表示双向链路,源节点至目标节点包括多条由数据链路组成的路径,每个路径存在由于网络堵塞引起的等待时延,每个网络组成单元使用时存在内插损耗,在多条路径之间的不同状态下存在不同的网络负载均衡因子参数,负载均衡参数大小表述路径之间的负载均衡程度;
[0051]
本发明可以采用n
×
n mesh网络、cygnus路由器和光电路交换。在规划路由时,根据网络拓扑构建网络模型,即无向加权图g(e,v),其中,e表示双向数据链路集合,v表示路由器集合。确定规划路由时需要考虑的因素,包括最短路径、负载均衡、预约阶段预约路径中由于网络堵塞引起的等待时延和内插损耗四种因素,当然本发明也可以结合其他的多个参考因素进行路径规划,使用过程与这四种因素相同,本发明在此不作限制。
[0052]
s2:确定影响链路以及网络组成单元的多个因子参数;
[0053]
其中,因子参数包括:负载均衡因子参数、等待延迟因子参数、内插损耗因子参数以及最短路径因子参数;
[0054]
s3:设置每个因子参数的当前状态参数,将其输入对应的dqn算子模型中,以使每个dqn算子模型初始化各自的当前状态参数后,得到输出结果并将其输入至ε

greedy策略网络中,ε

greedy策略网络根据输入以及内插损耗的状态参数选择数据链路组成一条路径,输出选择该路径的每个因子参数的奖励以及下一时刻的状态参数;
[0055]
参考图2,本发明根据四种考虑因素,即最短路径、负载均衡、预约阶段预约路径中由于网络堵塞引起的等待时延和内插损耗,来进行路径规划算法。使用dijkstra’s算法计算并保存从各节点到目标节点的最短路由跳数,并利用存储信息约束规划路由跳数,即保证规划的路径是最短路径。此处的最短路径指,从源点到目标节点的路径、并且路由跳数最少。由于网络中路由器同为cygnus路由器,内插损耗因素固定。故对负载均衡和预约阶段预约路径中由于网络堵塞引起的等待时延两种因素设计对应的dqn算法子模型。并根据对应
的考虑因素,初始化dqn算法子模型中的各部分参数。
[0056]
s4:将每个因子参数的当前状态参数、基于ε

greedy策略在无向加权图中选择的路径、其奖励、因子参数的下一时刻状态参数以及其他标记参数组成一个变迁样本放入经验池中;
[0057]
其中,变迁样本表示为:(s
t
,a
t
,r
t
,s
t 1
,done),s
t
表示当前状态参数,a
t
表示数据链路,s
t 1
表示下一时刻的状态参数,r
t
表示奖励,done表示标记参数,表示执行动作a
t
之后,是否到达目标节点。
[0058]
由于从源节点到目标节点的最短路径可能存在多跳,在规划路径算法中,为了去掉网络中不需要考虑的信息,每次执行动作,需重新确定状态{ts
t
,ds
t
}、经验回放池{td2,dd2}和q网络。随着每次选择并执行动作a
t
,dqn算法的状态需修改成{ts
t 1
,ds
t 1
},并只包含从下一节点n
t 1
到目标节点的所有最短路径上节点和链路集合所对应考虑参数的信息。根据{ts,ds}的规模大小,确定经验池{td,dd}和q网络。若状态规模大小一致,则可对应同一经验池。
[0059]
在具体网络规划过程中,由于网络的动态变化,因子参数的状态在不同时刻会发生变化,本发明在组成回放池的变迁样本也跟随变化,具体过程如下:将目标q网络的参数设置成与估计q网络的初始化参数一致,并根据对应的s2中的考虑因素设置初始化状态s1。基于ε

greedy策略和当前状态s
t
选择链路a
t
并执行,得到奖励r
t
和下一状态s
t 1
,并组成变迁样本(s
t
,a
t
,r
t
,s
t 1
,done),将其填充到经验回放池d
t
中。
[0060]
示例性,假设多个因子参数分别为a,b,c;a因子参数的当前状态参数a_s1、b因子参数的当前状态参数b_s1和c因子参数的当前状态参数c_s1分别输入dqn1算子模型、dqn2算子模型和dqn3算子模型中,获得a因子参数的输出a1、b因子参数的输出b1和c因子参数的输出c1。综合上述各因子参数的输出a1、b1和c1,基于ε

greedy策略在无向加权图中选择路径path,获得下一时刻各因子参数的状态参数a_s2、b_s2、c_s2和各因子参数的奖励a_r、b_r、c_r,以及标记参数done,最后组成对应不同因子参数的变迁样本(a_s1,path,a_r,a_s2,done)、(b_s1,path,b_r,b_s2,done)、(c_s1,path,c_r,c_s2,done)。
[0061]
s5:循环从经验池中随机选择变迁样本,训练dqn算子模型,获得训练完成后的dqn算子模型;
[0062]
s6:使用训练完成后的dqn算子模型结合ε

greedy策略网络为光片上网络通信进行集中式路由规划。
[0063]
本发明提供的一种基于dqn算法的集中式光片上网络自适应路由规划方法,根据网络组成单元的拓扑关系建立无向加权图;确定影响链路以及网络组成单元的多个因子参数;设置每个因子参数的当前状态参数输入对应的dqn算子模型中,得到输出结果并将其输入至ε

greedy策略网络中,ε

greedy策略网络根据输入结果及内插损耗状态参数选择数据链路组成一条路径,输出选择该路径的每个因子参数的奖励以及下一时刻的状态参数,组成一个变迁样本放入经验池中;循环从经验池中随机选择变迁样本,训练dqn算子模型;使用训练完成后的dqn算子模型结合基于ε

greedy策略网络为光片上网络通信进行集中式路由规划。相较于单一的q

learning算法,本发明利用经验池的变迁样本作出路由决策,利用神经网络对q表进行拟合,不需要时间或者空间来搜索或存放q表,当源节点与目标节点更改时无需重新学习,同时考虑多个影响因素,从高维数据中提取和处理特征,学习速度较
快,使得路径规划效率以及准确率得到显著提高。
[0064]
作为本发明一种可选的实施方式,s3包括:
[0065]
s31:针对负载均衡因子参数,将无向加权图中当前时刻每个路径上的节点之间数据链路使用次数归一化数值,作为当前状态参数输入负载均衡的dqn算子模型中,以使负载均衡的dqn算子模型初始化当前状态参数后,得到输出结果并将其输入至ε

greedy策略网络中,将数据链路使用次数归一化数值负值作为负载均衡的dqn算子模型的奖励,以使ε

greedy策略网络根据输入以及内插损耗的状态参数,以奖励递增的方式迭代在无向加权图中选择数据链路组成路径,获得负载均衡因子参数下一时刻的状态参数;
[0066]
有关dqn算法的状态设置请参见图3。图3是从节点(x1,y4)到节点(x4,y1)的第一步状态ts1,ds1的组成结构图。状态根据具体情况分为多个表格,每个格子表示对应的路由器节点,格子里的数值表示该节点的有关参数数值的归一化值。
[0067]
其中,数据链路使用次数归一化数值表示为:
[0068][0069]
其中,l(n
i
)表示节点n
i
的所有输出数据链路的使用次数集合,l(n
i
,n
j
)表示节点n
i
连接节点n
j
的数据链路的链路使用次数;
[0070]
本发明将考虑因素对应的因子参数的当前状态作为输入,得到衡量不同考虑因素的输出,具体解释:考虑负载均衡,其状态为节点n
i
到节点n
j
之间数据链路使用次数的归一化数值。期望其整个网络的数据链路的使用次数更为均衡,其奖励设置为数据链路使用次数的归一化数值的负值。对于用于负载均衡的dqn子算法模型,初始化负载均衡的状态后,基于ε

greedy策略和当前负载均衡以及其他考虑因素的状态做出链路选择,得到奖励以及下一步负载均衡的状态,组成变迁样本,填充到经验池td
t
中用于估计q网络的训练。
[0071]
s32:针对等待延迟因子参数,将无向加权图中当前时刻每个路径上由于某个拐弯堵塞引起的等待时延的归一化数值作为当前状态参数输入等待延迟的dqn算子模型中,以使等待延迟的dqn算子模型初始化当前状态参数后得到输出结果并将其输入至ε

greedy策略网络中,将等待时延的归一化数值的负值作为等待延迟的dqn算子模型的奖励,使ε

greedy策略网络根据输入以及内插损耗的状态参数,以奖励递增的方式迭代在无向加权图中选择数据链路组成路径,获得负载均衡因子参数下一时刻的状态参数。
[0072]
等待时延的归一化数值表示为:
[0073][0074]
其中,d(n
i
)表示节点n
i
的不同拐弯方向的路径由于网络堵塞引起的等待时延,d(n
i
,turn)表示通过节点n
i
时,路径中由于某个转弯堵塞引起的等待时延。
[0075]
dqn算子模型的奖励表示为:
[0076][0077]
本发明考虑预约阶段预约路径由于网络堵塞引起的等待时延,其状态为通过节点
n
i
时,预约阶段预约路径中由于某个拐弯堵塞引起的等待时延的归一化数值。期望其等待时延更小,其奖励设置为等待时延的归一化数值的负值。对于用于预约阶段预约路径由于网络堵塞引起的等待时延的dqn算法,初始化等待时延的状态后,基于ε

greedy策略和当前等待时延以及其他考虑因素的状态做出链路选择,得到奖励以及下一步等待时延的状态,组成变迁样本,填充到经验池dd
t
中用于估计q网络的训练。
[0078]
作为本发明一种可选的实施方式,根据输入以及内插损耗的状态参数,以奖励递增的方式迭代,在无向加权图中选择数据链路组成路径包括:
[0079]
以奖励递增的方式,以负载均衡因子参数、等待延迟因子参数、内插损耗因子参数以及最短路径因子参数最小为目标,从源节点开始直至目标节点迭代,在无向加权图中选择数据链路组成最终选择的路径。
[0080]
其中,样本(s
t
,a
t
,r
t
,s
t 1
,done)包括动作a
t
,奖励r
t
,当前状态s
t
以及下一状态s
t 1
,done表示是否到达目标点。
[0081]
本步骤中以概率ε随机选择动作a
t
,则
[0082][0083]
其中,q
1*
(s1,a;w1)是由dqn1算法的估计q网络预测的不同数据链路对应的输出值的归一化数值。q
2*
(s1,a;w'1)是由dqn2算法的估计q网络预测的不同数据链路对应的输出值的归一化数值。iloss是选择不同数据链路之后产生的内插损耗数值的归一化数值。另外,在选择数据链路时,会使用dijkstra’s算法计算各个节点到目标节点的最短路由跳数限制数据链路的选择,确保规划的路径为最短路径。
[0084]
在路由规划算法中,当前状态s
t
指由s1中考虑因素决定,每一个考虑因素对应一个状态。动作a
t
指输出数据链路的选择。奖励r
t
指执行动作a
t
之后,得到的关于对应考虑因素的反馈。下一状态s
t 1
指执行动作a
t
之后,网络对应考虑因素的变化状态。done表示在执行动作a
t
之后,是否到达目标点。
[0085]
参考图4,图4中包含两个dqn算法的子模型,两者的算法结构以及q网络模型一致。当然本发明的考虑因素越多,dqn子模型的个数越多。图3中仅展示两个dqn算法的子模型,以dqn1算法为例,结合dqn1子模型和当前状态ts
t
,基于ε

greedy策略,执行动作a
t
,选择链路,获得奖励r
t
以及dqn1算法的下一状态ts
t 1
,组成变迁样本(ts
t
,a
t
,r
t
,ts
t 1
,done)放入经验回放池td中,再进行下一步更新。每隔a步,从经验回放池中随机抽取minibatch个样本,由样本中的奖励值r
t
、目标q网络所产生的最大q值以及当前状态ts
t
对应估计q网络产生的估计q值q(ts
t
,a
t
;w1)计算dqn1的损失函数,通过梯度下降法更新估计q网络的权重w1。每隔a
×
c步,将估计q网络的权重w1赋给目标q网络的参数w2。dqn2算法子模型的更新步骤同理。
[0086]
作为本发明一种可选的实施方式,s5包括:
[0087]
循环k次从经验池中随机选择变迁样本,输入至dqn算子模型中,计算目标值和预测值的误差,并采用梯度下降算法更新估计dqn算子模型中的权重,获得训练完成后的dqn算子模型;
[0088]
其中,k为当前的源节点和目标节点之间的最短路由跳数。目标值和预测值的误差表示为:
[0089]
loss=(y
t

q(s
t
,a
t
;w1))2;
[0090]
目标值表示为:
[0091]
其中,γ表示折扣系数,表示dqn算子模型输出的最大q值,s
t
表示当前状态参数,a
t
表示数据链路,s
t 1
表示下一时刻的状态参数,a'表示每隔a
×
c步计算目标值时所对应数据链路,用于与a
t
区分,w1表示负载均衡dqn算子模型的权重,w2表示等待时延dqn算子模型的权重。
[0092]
本实施方式中,k为对应的当前的源节点和目标节点之间的最短路由跳数。每一次遍历,需更改dqn算法的输入状态s
t
、对应的q网络和经验池d
t
。每隔a步训练dqn算法中的估计q网络,采用梯度下降算法更新估计q网络的权重。每隔a
×
c步更新目标q网络的权重。
[0093]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献