CN113518035B - 路由确定方法及装置 - Google Patents
路由确定方法及装置 Download PDFInfo
- Publication number
- CN113518035B CN113518035B CN202110580019.8A CN202110580019A CN113518035B CN 113518035 B CN113518035 B CN 113518035B CN 202110580019 A CN202110580019 A CN 202110580019A CN 113518035 B CN113518035 B CN 113518035B
- Authority
- CN
- China
- Prior art keywords
- routing node
- node
- neural network
- data packet
- routing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks or artificial intelligence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/121—Shortest path evaluation by minimising delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开实施例公开了一种路由确定方法及装置,所述路由确定方法包括:采集路由节点对应的链路经验数据;利用所述链路经验数据,训练得到所述路由节点对应的图神经网络,所述路由节点对应的图神经网络中的主网络参数通过最小化损失函数使用梯度下降算法训练,并在训练时通过与所述路由节点的邻居节点交换图神经网络参数进行学习;根据所述路由节点上的目标数据包的本地状态信息,利用所述路由节点对应的图神经网络确定所述目标数据包的下一跳路由节点,所述本地状态信息包括所述目标数据包当前所在的路由器位置信息,所述目标数据包可被发送的下一跳路由节点信息,以及所述目标数据包要去到的路由器终点信息。
Description
技术领域
本公开涉及数据处理技术领域,具体涉及一种路由确定方法及装置。
背景技术
路由是为通讯网络中的数据包选择传输路径的过程,是通讯网络的核心功能之一,也是支撑通讯网络持续发展的关键要素。传统的路由协议,如路由信息协议(RoutingInformation Protocol,RIP),开放式最短路径优先(Open Shortest Path First,OSPF),链路状态路由协议(Intermediate System to Intermediate System,IS-IS)等,基于计算最短路径原理进行数据传递,忽略了网络的可用链路容量和数据流本身的要求,存在诸多局限性。除此之外,Q-routing(基于Q值表的路由)算法是最早被提出利用强化学习解决数据包路由的算法;与传统最短路径算法相比,Q-routing算法通过感知通讯网络变化来动态调整路由,因此能更有效地避免拥塞、降低数据包传输时延,然而当通讯网络处于较高负载时,Q-routing算法难以达到最优的路由调度效果,也无法适配通讯网络负载从高到低变化的过程。
为了解决上述问题,目前提出了DQN-routing(Deep Neural Network Routing,基于深度神经网络的路由)算法,采用深度神经网络来替代Q-routing算法中的Q值表,基于经验样本训练一个拟合Q值的函数。DQN-routing的优势是能够处理较大规模的通讯网络,并且能够将更多的网络信息如路由节点的队列长度、链路占用率等纳入网络状态,但是其没有利用通讯网络本身特有的拓扑信息,且没有考虑各路由节点之间的合作。
发明内容
本公开实施例提供一种路由确定方法及装置。
第一方面,本公开实施例中提供了一种路由确定方法。
具体的,所述路由确定方法,包括:
采集路由节点对应的链路经验数据;
利用所述链路经验数据,训练得到所述路由节点对应的图神经网络,所述路由节点对应的图神经网络中的主网络参数通过最小化损失函数使用梯度下降算法训练,并在训练时通过与所述路由节点的邻居节点交换图神经网络参数进行学习;
根据所述路由节点上的目标数据包的本地状态信息,利用所述路由节点对应的图神经网络确定所述目标数据包的下一跳路由节点,所述目标数据包的本地状态信息包括所述目标数据包当前所在的路由器位置信息,所述目标数据包可被发送的下一跳路由节点信息,以及所述目标数据包要去到的路由器终点信息。
其中,si为当前排在路由节点i的缓存队列中最前面的当前数据包的本地状态信息;ai为所述当前数据包选择的下一跳路由节点;ri为路由节点i通过选择ai作为下一跳路由节点转发所述当前数据包而获得的即时奖励,ri=-(qi+gi),qi为所述当前数据包在下一跳路由节点ai的缓存延迟,gi为所述当前数据包在从路由节点i传输至下一跳路由节点ai的传输延迟;为所述当前数据包到达下一跳路由节点ai后被观测到当前数据包的本地状态信息;fi指示所述当前数据包到达下一跳路由节点ai是否达到终点;所述当前数据包的本地状态信息包括所述当前数据包当前所在的路由器位置信息,所述当前数据包可被发送的下一跳路由节点信息,以及所述当前数据包要去到的路由器终点信息。
结合第一方面和第一方面的第一种实现方式,本公开实施例在第一方面的第二种实现方式中,所述利用所述链路经验数据,训练得到所述路由节点对应的图神经网络包括:
利用所述训练数据,训练得到所述路由节点i对应的图神经网络Q(si,a;wi(t)),其中,所述wi(t)为所述路由节点i对应的图神经网络在第t次迭代更新后所得的主网络参数,所述Q(si,a;wi(t))为给定输入si,所述图神经网络的第a个输出的数值。
结合第一方面、第一方面的第一种实现方式和第一方面的第二种实现方式,本公开实施例在第一方面的第三种实现方式中,所述路由节点对应的图神经网络中的主网络参数通过最小化损失函数使用梯度下降算法训练,并在训练时通过与所述路由节点的邻居节点交换图神经网络参数进行学习,包括:
使用以下公式计算所述路由节点i对应的图神经网络在第t次迭代更新后所得的主网络参数wi(t):
所述为路由节点k的最新的辅助参数,当路由节点k为路由节点i的邻居节点时,由所述邻居节点分享,当路由节点k为路由节点i时,定义如下:η为所述路由节点i对应的图神经网络的学习率;wi(t-1)为所述路由节点i对应的图神经网络在第t-1次迭代所得的主网络参数;初始主网络参数wi(t=0)为默认参数或预训练后获取的参数;
所述L(wi(t))为损失函数,按照以下公式计算:
所述yj是目标Q值,按照以下公式计算:
其中,γ∈[0,1]是折扣因子;所述由路由节点aj反馈,所述表示在所述路由节点aj的图神经网络的参数为最新目标网络参数时,给定输入所述路由节点aj的图神经网络输出的对应aj可选下一跳节点的数值中的最大值。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式和第一方面的第三种实现方式,本公开实施例在第一方面的第四种实现方式中,所述由路由节点aj反馈包括:在所述路由节点aj接收到所述上一跳节点i发送的数据包时,由所述路由节点aj计算得到并将分享给所述路由节点i。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式和第一方面的第四种实现方式,本公开实施例在第一方面的第五种实现方式中,所述方法还包括:
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式、第一方面的第四种实现方式、第一方面的第五种实现方式,本公开实施例在第一方面的第六种实现方式中,所述根据所述路由节点上的目标数据包的本地状态信息,利用所述路由节点对应的图神经网络确定所述目标数据包的下一跳路由节点,包括:
将所述路由节点i上的目标数据包的本地状态信息si输入所述路由节点i对应的图神经网络Q(si,a;wi(t)),得到所述图神经网络Q(si,a;wi(t))输出的N个数值;
按照以下公式得到传输时延最短的下一跳相邻节点a*:
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式、第一方面的第四种实现方式、第一方面的第五种实现方式和第一方面的第六种实现方式,本公开实施例在第一方面的第七种实现方式中,所述将所述路由节点i上的目标数据包的本地状态信息si输入所述路由节点i对应的图神经网络Q(si,a;wi(t))时,所述路由节点i对应的图神经网络对所述本地状态信息si进行的特征提取的过程包括:
将所述目标数据包的本地状态信息si用one-hot编码表示,在对应路由器位置取值为1,其它位置取值为0,转换为三个N维向量;
由所述三个N维向量组成的特征矩阵X∈RN×3;
获取一组节点特征{x1,…,xN},其中,xu T为所述X中的第u行向量,u=1,2,…,N;(·)T表示转置,即将列向量xu转置为行向量xu T。
按照以下公式将节点特征{x1,…,xN}转换为新的节点特征{x′1,…,x′N}:
其中,σ(·)是LeackyReLu激活函数,所述为路由节点u所有邻居节点及其自身的集合,αuv表示路由节点v的特征对于路由节点u的重要性,hu=Mxu,所述为参数化权重矩阵,是可学习权重向量,所述M和a属于所述图神经网络Q(si,a;wi(t))中的最新主网络参数wi(t)中的参数,H是每个路由节点的特征数。
第二方面,本公开实施例中提供了一种路由确定装置。
具体的,所述路由确定装置,包括:
采集模块,被配置为采集路由节点对应的链路经验数据;
训练模块,被配置为利用所述链路经验数据,训练得到所述路由节点对应的图神经网络,所述路由节点对应的图神经网络中的主网络参数通过最小化损失函数使用梯度下降算法训练,并在训练时通过与所述路由节点的邻居节点交换图神经网络参数进行学习;
确定模块,被配置为根据所述路由节点上的目标数据包的本地状态信息,利用所述路由节点对应的图神经网络确定所述目标数据包的下一跳路由节点,所述目标数据包的本地状态信息包括所述目标数据包当前所在的路由器位置信息,所述目标数据包可被发送的下一跳路由节点信息,以及所述目标数据包要去到的路由器终点信息。
本公开实施例提供的技术方案可以包括以下有益效果:
上述技术方案通过利用所述链路经验数据,训练得到所述路由节点对应的图神经网络,所述路由节点对应的图神经网络中的主网络参数通过最小化损失函数使用梯度下降算法训练,并在训练时通过与所述路由节点的邻居节点交换图神经网络参数进行学习;然后根据所述路由节点上的目标数据包的本地状态信息,利用所述路由节点对应的图神经网络确定所述目标数据包的下一跳路由节点,如此,通过图神经网络的应用,很好地利用了通讯网络本身特有的拓扑信息,加速了神经网络学习最优策略的速度,即使用更少的样本也可以训练出很好的策略,使资源利用率大大提高;且路由节点的主网络参数是与其邻居节点之间合作学习得到的,不需要中央控制器去集合训练经验,减少了经验传递的花费以及可适配更多的应用场景。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的一种路由确定方法的流程图;
图2示出一种通讯网络的网络拓扑结构示意图;
图3示出一种图神经网络的结构示意图;
图4示出各种路由算法应用于图2中的通讯网络时数据包在不同网络负载下的平均传输时延的曲线示意图;
图5示出根据本公开一实施方式的一种路由确定装置的结构框图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出根据本公开一实施方式的一种路由确定方法的流程图,如图1所示,所述路由确定方法包括以下步骤S101-S103:
在步骤S101中,采集路由节点对应的链路经验数据;
在步骤S102中,利用所述链路经验数据,训练得到所述路由节点对应的图神经网络,所述路由节点对应的图神经网络中的主网络参数通过最小化损失函数使用梯度下降算法训练,并在训练时通过与所述路由节点的邻居节点交换图神经网络参数进行学习;
在步骤S103中,根据所述路由节点上的目标数据包的本地状态信息,利用所述路由节点对应的图神经网络确定所述目标数据包的下一跳路由节点,所述目标数据包的本地状态信息包括所述目标数据包当前所在的路由器位置信息,所述目标数据包可被发送的下一跳路由节点信息,以及所述目标数据包要去到的路由器终点信息。
在本公开一实施方式中,将一个通讯网络抽象成由一组节点和连接这些节点的边组成的图,图中每一个节点代表一台路由器,每条边代表一条通信链路。信息作为数据包从一个节点传输到另一节点。路由是通过一些中间节点将数据包从其源节点引向其目标节点的决策。路由的目标是有效利用路径并最大程度地减少数据包的传递时间。通常,网络可以表示为有向图其中定义节点集,ε定义链路集。示例的,图2示出一种通讯网络的网络拓扑结构示意图;如图2所示,该通讯网络中有36个节点(后续均称为路由节点),通信链路是双向的。
现有技术中提出Q-routing算法来解决网络路由问题。在该Q-routing算法中,每个路由节点被视为独立的智能体,为停留在该节点的数据包做出下一跳的路由决策。具体地每个节点维护一个本地二维查询表,被称为Q值表,用来预测从当前节点到所有目的节点采用所有可能的下一跳节点所需花费的时间。Q值表根据强化学习Q-learning算法进行动态更新,力图反映网络的实时状态。最终Q-routing基于Q值表为每个数据包选择时延最短的下一跳。与传统最短路径算法相比,Q-routing通过感知网络变化来动态调整路由,因此能更有效地避免拥塞、降低数据包传输时延。然而当网络处于较高负载时,Q-routing难以达到最优的路由调度效果,也无法适配网络负载从高到低变化的过程。为了解决该问题,现有技术中还提出了DQN-routing算法,该DQN-routing算法采用深度神经网络来替代Q-routing中的Q值表,基于经验样本训练一个拟合Q值的函数。DQN-routing的优势是能够处理较大规模的网络,并且能够将更多的网络信息如节点的队列长度、链路占用率等纳入网络状态。缺点是没有利用网络本身特有的拓扑信息,且没有考虑多智能体之间的合作。
考虑到上述缺点,在本实施方式中,提出一种路由确定方法,该方法可以称为DGATR(Deep Graph Attention Network Routing,基于图注意力神经网络的路由)算法,该算法采用GAT(Graph Attention Network,图注意力神经网络),利用注意力机制以及图拓扑结构搭建的神经网络模型,训练更新,去选择路由动作,是一种多智能体深度学习方法。该方法可以将数据包路由问题建模为多智能体部分可观察的马尔可夫决策过程。网络中的每个节点都被视为独立的智能体,分别根据自己观察到的网络局部状态,做出自己的路由决策,将排在其缓存队列里的数据包发送到可能的下一个路由节点。该方法主要基于多智能体深度强化学习技术来学习路由策略,同时利用图神经网络进行神经网络建模,训练得到各路由节点对应的图神经网络,用训练得到的图神经网络来替代Q-routing中的Q值表,该图神经网络能很好的利用通信网络的图拓扑结构去进行路由节点表征的更新,进而进行路由的选择,同时训练得到所述路由节点对应的图神经网络中的主网络参数通过最小化损失函数使用梯度下降算法训练,并在训练时通过与所述路由节点的邻居节点交换图神经网络参数进行学习;如此通过图神经网络的应用,很好地利用了通讯网络本身特有的拓扑信息,加速了神经网络学习最优策略的速度,即使用更少的样本也可以训练出很好的策略,使资源利用率大大提高;且路由节点的主网络参数是与其邻居节点之间合作学习得到的,不需要中央控制器去集合训练经验,减少了经验传递的花费以及可适配更多的应用场景。
在本实施例中,该路由节点的目标数据包是指排在路由节点的缓存队列中最前面的数据包,该目标数据包需要从该路由节点的下一跳节点发送目标节点,此时,可以将该目标数据包的本地状态信息输入至该路由节点对应的图神经网络,得到下一跳路由节点,通过该得到的下一跳路由节点将目标数据包从路由节点送到目标节点所花费的传输时延(带有负号)最小。
在本公开一实施方式中,所述路由节点对应的链路经验数据包括路由节点i对应的多组经验五元组为通讯网络中的路由节点集,所述N为所述通讯网络中所有路由节点的个数;其中,si为当前排在路由节点i的缓存队列中最前面的当前数据包的本地状态信息,当前数据包的本地状态信息包括所述当前数据包当前所在的路由器位置信息,所述当前数据包可被发送的下一跳路由节点信息,以及所述当前数据包要去到的路由器终点信息;ai为所述当前数据包选择的下一跳路由节点;ri为路由节点i通过选择ai作为下一跳路由节点转发所述当前数据包而获得的即时奖励,ri=-(qi+gi),qi为所述当前数据包在下一跳路由节点ai的缓存延迟,gi为所述当前数据包在从路由节点i传输至下一跳路由节点ai的传输延迟;为所述当前数据包到达下一跳路由节点ai后被观测到当前数据包的本地状态信息,该是当前数据包到达下一跳路由节点ai时(此时当前数据包需要在该路由节点ai中排队发出,并不一定位于该路由节点ai的最前面)路由节点ai的位置信息,所述当前数据包可被发送的下一跳路由节点信息,以及所述当前数据包要去到的路由器终点信息;fi指示所述当前数据包到达下一跳路由节点ai是否达到终点。
在上述实施方式中,智能体即路由节点与环境交互一段时间后,在每个离散的决策时间t下,路由节点i可以观察到网络局部的状态si,并且根据其策略执行一个对应的路由动作ai,之后这个智能体接收到网络反馈过来的即时奖励ri,网络环境进入到下一个状态通过连续地与环境做出交互,可以获取到不同离散时间对应的多组经验五元组
在本公开一实施方式中,所述利用所述链路经验数据,训练得到所述路由节点对应的图神经网络,包括以下步骤A1和A2。
在步骤A1中,利用所述训练数据,训练得到所述路由节点i对应的图神经网络Q(si,a;wi(t)),其中,所述wi(t)为所述路由节点i对应的图神经网络在第t次迭代更新后所得的主网络参数,所述Q(si,a;wi(t))为给定输入si,所述图神经网络的第a个输出的数值。
在上述实施方式中,在训练图神经网络时,使用经验重放技术。经验重放是指从内存中采样一小批经验元组以训练网络的行为,这可以规避与时间相关的样本的问题。
在上述实施方式中,利用路由节点i的训练数据可以训练得到该路由节点i对应的图神经网络Q(si,a;wi(t)),图3示出一种图神经网络的结构示意图,每个路由节点都可以使用自己的训练数据训练出一个自己的如图3所示的图神经网络。为了统一这个图神经网络结构,我们让图神经网络输出N个数值,每个输出对应于一个路由节点作为可能的下一跳动作。各路由节点共享相同的图神经网络结构,但可以具有不同的主网络参数。因此,我们使用wi(t)来指示路由节点i的神经网络在第t次迭代更新后所得的主网络参数,wi(t)是要不断训练学习的神经网络参数,在实际中使用该图神经网络进行路由决策时,该图神经网络中的主网络参数是最终迭代若干次后得到的主网络参数;对于路由节点i,我们使用Q(si,a;wi(t))表示,给定输入si(该si为数据包排在路由节点i的最前列时的本地状态信息),图神经网络的第a个输出的数值,Q(si,a;wi(t))的物理意义是通过下一跳节点a将数据包从路由节点i送到目标节点所花费的传输时延(带有负号)。这样,当确定目标数据包的本地状态信息si后,就可以输入该Q(si,a;wi(t)),得到通过各个可能的下一跳节点a将数据包从路由节点i送到目标节点所花费的传输时延(带有负号),进而得到传输时延最小的下一跳路由节点。
在本公开一实施方式中,所述路由节点对应的图神经网络中的主网络参数通过最小化损失函数使用梯度下降算法训练,并在训练时通过与所述路由节点的邻居节点交换图神经网络参数进行学习,包括:
使用以下公式计算所述路由节点i对应的图神经网络在第t次迭代更新后所得的主网络参数wi(t):
下面对该第t次迭代更新后所得的主网络参数wi(t)的计算公式进行解释:
所述为路由节点i所有邻居节点及其自身节点的集合,k属于该中的各个路由节点,假设该路由节点i为图1所示网络中的路由节点1,则该i=1节点的包含自身路由节点1,路由节点1的邻居节点-路由节点2和路由节点7。
W=D-1A,Di,i=∑jAi,k,A是所述路由节点i所在网络拓扑结构的邻接矩阵,当路由节点i所在的通讯网络的网络拓扑结构确定时,可以直接根据该网络拓扑结构确定邻接矩阵,D是一个对角线矩阵,所述A和D均为N×N矩阵;W也为N×N矩阵,Wi,k为该矩阵W中的第i行k列的数值。
所述为路由节点k的最新的辅助参数,当路由节点k为路由节点i的邻居节点时,由所述邻居节点分享,当路由节点k为路由节点i时,定义如下:η为图神经网络的学习率;wi(t-1)为所述路由节点i的图神经网络的在第t-1次迭代所得的主网络参数;初始主网络参数wi(t=0)为默认参数或预训练后获取的参数;L(wi(t))为损失函数。
这里添加了迭代索引t来强调更新前的参数值,在每次迭代周期,先计算最新的辅助参数在第一次计算最新的主网络参数时,用到的wi(t)为初始主网络参数wi(t=0),后续的第t次迭代更新的主网络参数用到的wi(t-1)为第t-1次迭代所得的主网络参数。
这里,路由节点i的最新辅助参数会分享给路由节点i的邻居节点,路由节点i的邻居节点也会将其最新辅助参数分享给路由节点i(路由节点o的邻居节点的最新辅助参数的计算参考的定义),这里,路由节点i的迭代次数与其邻居节点的迭代次数并不相同,路由节点i每次进行迭代更新时用到的都是其邻居节点最新分享的辅助参数。这样,每一个路由节点i都拥有路由节点i及其邻居节点的最新的辅助参数的记录。于是路由节点i通过wi(t)的计算公式在本地对这些参数的信息进行聚合就可以得到第t次迭代更新所得的主网络参数wi(t)。
上述的损失函数L(wi(t))可以按照以下公式计算:
所述yj是目标Q值,可以按照以下公式计算:
其中,γ∈[0,1]是折扣因子;所述由路由节点aj反馈,所述表示在所述路由节点aj的图神经网络的参数为最新目标网络参数时,给定输入(为所述当前数据包到达下一跳路由节点aj后被观测到当前数据包的本地状态信息),所述路由节点aj的图神经网络输出的对应aj可选下一跳节点的数值中的最大值,表示路由节点aj的邻居节点和自身节点的集合,表示集合中除路由节点aj之外的节点即邻居节点,那么就表示路由节点aj可选的下一跳节点。
所述最新目标网络参数对应的目标网络是主网络的副本,用于计算目标Q值。这里目标Q值的计算利用了下一跳路由节点aj的目标网络,在实际运作中,路由节点i无需知道节点aj的最新目标网络参数而是,路由节点i接收到来自路由节点aj的反馈信号,告知路由节点i,的数值,由路由节点i直接根据接收到的来计算yj。
这里需要说明的是,每个路由节点的图神经网络均有主网络和目标网络两个网络,两个网络的结构相同,网络参数不同,主网络的网络参数为主网络参数wi(t),用于做路由决策,决定数据包的下一跳路由节点,目标网络的网络参数为目标网络参数用于计算目标Q值。
这里,路由节点aj接收到所述路由节点aj的上一跳节点i发送的数据包时,可以利用目标网络,计算在确定输入为(即数据包从上一跳节点i到达路由节点aj后被观测到的该数据包的本地状态信息)时,通过路由节点aj的可选下一跳节点送到目标节点所花费的传输时延(带负号)的最大值并将分享给所述路由节点aj的上一跳节点i。
在本公开一实施方式中,所述方法还包括:
在该实施例中,可以通过缓慢复制所述路由节点i的图神经网络的最新主网络参数来计算得到所述路由节点i的最新目标网络参数可以如上述计算的公式所示应用移动平均值来更新wi target。路由节点i更新后,可以在路由节点i收到路由节点i的上一跳节点发送过来的数据包时计算并给i的上一跳路由节点反馈
这里需要说明的是,路由节点aj的最新目标网络参数的计算可以参考上述的计算公式,由以下公式计算获得: 所述为所述路由节点aj的图神经网络在第T次迭代所得的主网络参数,所述为所述路由节点aj的图神经网络的上一次即T-1的最新目标网络参数,这里的T也为迭代索引,但是该T与路由节点i中的迭代索引t是互相独立的。其中,是路由节点aj收到上一跳路由节点i发送过来的数据包后才给上一跳路由节点i反馈的信号,是被动式分享的信号。而每次更新的辅助参数则是各个路由节点主动将最新的辅助参数分享给各邻居节点的。
在本公开一实施方式中,所述根据所述路由节点上的目标数据包的本地状态信息,利用所述路由节点对应的图神经网络确定所述目标数据包的下一跳路由节点,包括以下步骤C1和C2。
在步骤C1中,将所述路由节点i上的目标数据包的本地状态信息si输入所述路由节点i对应的图神经网络Q(si,a;wi(t)),得到所述图神经网络Q(si,a;wi(t))输出的N个数值。
在步骤C2中,按照以下公式计算传输时延最短的下一跳相邻节点a*:
这里,所述指Q(si,a;wi(t))输出的所述节点i可选下一跳节点的数值中的最大值对应的下一跳节点为a*,这里,该Q(si,a;wi(t))可以输出N个值,但是这里仅需要i可选的下一跳节点即(路由节点i的邻居节点)对应的数值,确定路由节点i可选的下一跳节点对应的数值中的最大值,进而确定该最大值对应的节点a*。Q(si,a;wi(t))的物理意义是估计通过下一跳节点a将目标数据包从当前路由节点i送到目标节点所花费的传输时延(带有负号),Q(si,a;wi(t))的最大值即为传输时延最小值。一旦获得Q值,路由节点i就可以根据贪婪算法将数据包转发到时延最短的相邻节点a*作为下一跳节点。
在本公开一实施方式中,所述将所述路由节点i上的目标数据包的本地状态信息si输入所述路由节点i对应的图神经网络Q(si,a;wi(t))时,所述路由节点i对应的图神经网络对所述目标数据包的本地状态信息si进行的特征提取过程包括以下步骤D1至D3。
在步骤D1中,将所述目标数据包的本地状态信息si用独热one-hot编码表示,在对应路由器位置取值为1,其它位置取值为0,转换为三个N维向量;
在步骤D2中,由所述三个N维向量组成的特征矩阵X∈RN×3,获取一组节点特征{x1,…,xN},其中,xu T为所述X中的第u行向量,u=1,2,…,N;(·)T表示转置,即将列向量xu转置为行向量xu T。
在步骤D3中,按照以下公式将节点特征{x1,…,xN}转换为新的节点特征{x′1,…,x′N}:
其中,σ(·)是LeackyReLu激活函数,所述为路由节点u所有邻居节点及其自身的集合,αuv表示路由节点v的特征对于路由节点u的重要性,hu=Mxu,所述为参数化权重矩阵,是可学习权重向量,所述M和a属于所述图神经网络Q(si,a;wi(t))中的t=最后一次迭代更新所得的主网络参数wi(t)中的参数,H是每个路由节点的特征数。
示例的,以路由节点i为图1所示的路由节点1为例,假设它有一个发往路由节点36的数据包,该数据包排在路由节点1的最前列准备发送至下一跳路由节点。如图3所示,路由节点1上的目标数据包的本地状态信息si由三个N维向量组成,即表示当前节点的向量(1、0、0,...),表示邻近节点2和7的向量(0,1,0,0,0,0,1,0,...),和指示目标节点36的向量(0,0,...,1),由该三个N维向量组成的特征矩阵X如下所示:
该矩阵X中的省略号均为0。如此,得到的xu=1 T为矩阵X第1行向量为(1、0、0),xu=2 T为矩阵X第2行向量为(0、1、0),xu=3 T为矩阵X第3行向量为(0、0、0),xu=7 T为矩阵X第7行向量为(0、1、0),xu=N=36 T为矩阵X第36行向量为(0、0、1),以此类推可以得到节点特征{x1,…,xN}。
这里,如图3所示,图层的输入是一组节点特征{x1,…,xN},经过图神经网络的两次图层提取后产生了一组新的节点特征{x′1,…,x′N},x′v∈RH,其中H是每个节点的特征数,然后输入图3所示的图神经网络的动作-状态价值函数,输出N个Q值。
图4示出各种路由算法应用于图2中的通讯网络时数据包在不同网络负载下的平均传输时延的曲线示意图。
基于图2所示的通讯网络的网络拓扑结构,对本公开提供的路由确定方案A:DGATR-cooperated方案进行测试,衡量的指标是数据包端到端平均时延。作为对比例,分别给出方案B:最短路径,是一种静态的路由方案,在低负载下近似于最优解;方案C:Q路由是一种基于表格值函数的强化学习方案;方案D:DQN-routing,采用全连接神经网络拟合Q值函数;方案E:DGATR-independent,采用本公开提出的图神经网络,但路由器各自独立学习策略,不与邻居节点进行参数共享;方案F:全局路由(Global Routing),此算法在每一时刻下遍历整张网络,应用在线动态规划算法遍历估计一次数据包延迟时间,通过消耗大量计算量,此算法可实现最低延迟。全局路由算法能将数据包的延迟时间降到最低并将所能承受的流量负载提升至最高,为本次对比提供了一种比较的基准。
首先,实验过程使用离散时间模拟器来对通讯网络操作过程进行建模。在模拟环境中,使用泊松过程来模拟数据包的产生。网络的负载参数被设置成单位时间内平均产生的符从泊松分布的数据包数量。一旦一个数据包被注入网络,它的起始节点和目标节点会均匀地从所有节点中随机选取。此外,数据包的起点和终点一定是不同的,并且数据包会在到达目标节点时被立即从网络中移除。路由节点缓存中的数据包符合先进先出规则,缓存的长度不设限。路由节点总是首先处理排在缓存首位的包。路由节点会记录数据包在缓存中等待所产生的缓存延迟。假设整个通讯网络中的传输延迟都是一个单位时间。
其次,调整并确定诸如学习率和折算系数等的超参数。一旦超参数被确定,就在整个实验训练过程保持不变。在实验中重复改变网络的负载,从低水平到高水平,训练神经网络参数,得到一个在高水平的优质策略。固定策略在看其在不同的负载水平下的表现,结果如图4所示。
从图4可以看出,本公开的方案A即路由确定算法DGATR-cooperated超过了方案B至方案E对应的现有的路由算法,并且更接近方案F即全局路由对应的理论最优解。
另外,还可以从另一方面比对DQN-routing和DGATR两种算法的优略,如可以对神经网络进行了预训练,用于预训练的样本(其中表示数据包在下一跳节点获得的动作)是通过Q-routing在网络负载为1的情况下产生的。预训练的目的是在初始阶段加快训练速度。为了比较DQN-routing和DGATR之间的优劣,我们尝试使用不同数量的预训练步数,并评估这些通过不同预训练步数获得的两个算法模型的表现。如下表1显示了它们在数据包平均端到端时延方面的性能。可以看出,当收到更好的预训练时,模型会变得更好,而DGATR需要更少的预训练步数就能达到与DQN-routing相同的性能,如表1所示,该DGATR训练2000步左右就可以达到DQN-routing训练5000步左右相同的性能。
表1
由表1可以看出,在同样的训练步数下,使用该DGATR可以达到较好的在数据包平均端到端时延方面的性能,也既是说使用该DGATR可以用较少的训练步数达到较好效果的模型。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图5示出根据本公开一实施方式的一种路由确定装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图5所示,所述路由确定装置包括:
采集模块501,被配置为采集路由节点对应的链路经验数据;
训练模块502,被配置为利用所述链路经验数据,训练得到所述路由节点对应的图神经网络,所述路由节点对应的图神经网络中的主网络参数通过最小化损失函数使用梯度下降算法训练,并在训练时通过与所述路由节点的邻居节点交换图神经网络参数进行学习;
确定模块503,被配置为根据所述路由节点上的目标数据包的本地状态信息,利用所述路由节点对应的图神经网络确定所述目标数据包的下一跳路由节点,所述目标数据包的本地状态信息包括所述目标数据包当前所在的路由器位置信息,所述目标数据包可被发送的下一跳路由节点信息,以及所述目标数据包要去到的路由器终点信息。
具体的,该路由确定装置中的各模块的实现可以参考上述路由确定方法中的描述,在此不再一一赘述。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (6)
1.一种路由确定方法,其特征在于,包括:
采集路由节点对应的链路经验数据;
利用所述链路经验数据,训练得到所述路由节点对应的图神经网络,所述路由节点对应的图神经网络中的主网络参数通过最小化损失函数使用梯度下降算法训练,并在训练时通过与所述路由节点的邻居节点交换图神经网络参数进行学习;
根据所述路由节点上的目标数据包的本地状态信息,利用所述路由节点对应的图神经网络确定所述目标数据包的下一跳路由节点,所述目标数据包的本地状态信息包括所述目标数据包当前所在的路由器位置信息,所述目标数据包可被发送的下一跳路由节点信息,以及所述目标数据包要去到的路由器终点信息;
其中,si为当前排在路由节点i的缓存队列中最前面的当前数据包的本地状态信息;ai为所述当前数据包选择的下一跳路由节点;ri为路由节点i通过选择ai作为下一跳路由节点转发所述当前数据包而获得的即时奖励,ri=-(qi+gi),qi为所述当前数据包在下一跳路由节点ai的缓存延迟,gi为所述当前数据包在从路由节点i传输至下一跳路由节点ai的传输延迟;为所述当前数据包到达下一跳路由节点ai后被观测到当前数据包的本地状态信息;fi指示所述当前数据包到达下一跳路由节点ai是否达到终点;所述当前数据包的本地状态信息包括所述当前数据包当前所在的路由器位置信息,所述当前数据包可被发送的下一跳路由节点信息,以及所述当前数据包要去到的路由器终点信息;
所述利用所述链路经验数据,训练得到所述路由节点对应的图神经网络包括:
利用所述训练数据,训练得到所述路由节点i对应的图神经网络Q(si,a;wi(t)),其中,所述wi(t)为所述路由节点i对应的图神经网络在第t次迭代更新后所得的主网络参数,所述Q(si,a;wi(t))为给定输入si,所述图神经网络的第a个输出的数值;
所述根据所述路由节点上的目标数据包的本地状态信息,利用所述路由节点对应的图神经网络确定所述目标数据包的下一跳路由节点,包括:
将所述路由节点i上的目标数据包的本地状态信息si输入所述路由节点i对应的图神经网络Q(si,a;wi(t)),得到所述图神经网络Q(si,a;wi(t))输出的N个数值;
按照以下公式得到传输时延最短的下一跳相邻节点a*:
2.根据权利要求1所述的方法,其特征在于,所述路由节点对应的图神经网络中的主网络参数通过最小化损失函数使用梯度下降算法训练,并在训练时通过与所述路由节点的邻居节点交换图神经网络参数进行学习,包括:
使用以下公式计算所述路由节点i对应的图神经网络在第t次迭代更新后所得的主网络参数wi(t):
所述为路由节点k的最新的辅助参数,当路由节点k为路由节点i的邻居节点时,由所述邻居节点分享,当路由节点k为路由节点i时,定义如下:η为所述路由节点i对应的图神经网络的学习率;wi(t-1)为所述路由节点i对应的图神经网络在第t-1次迭代所得的主网络参数;初始主网络参数wi(t=0)为默认参数或预训练后获取的参数;
所述L(wi(t))为损失函数,按照以下公式计算:
所述yj是目标Q值,按照以下公式计算:
5.根据权利要求1所述的方法,其特征在于,所述将所述路由节点i上的目标数据包的本地状态信息si输入所述路由节点i对应的图神经网络Q(si,a;wi(t))时,所述路由节点i对应的图神经网络对所述本地状态信息si进行的特征提取的过程包括:
将所述目标数据包的本地状态信息si用独热one-hot编码表示,在对应路由器位置取值为1,其它位置取值为0,转换为三个N维向量;
由所述三个N维向量组成的特征矩阵X∈RN×3;
按照以下公式将节点特征{x1,…,xN}转换为新的节点特征{x′ 1,…,x′ N}:
6.一种路由确定装置,其特征在于,包括:
采集模块,被配置为采集路由节点对应的链路经验数据;
训练模块,被配置为利用所述链路经验数据,训练得到所述路由节点对应的图神经网络,所述路由节点对应的图神经网络中的主网络参数通过最小化损失函数使用梯度下降算法训练,并在训练时通过与所述路由节点的邻居节点交换图神经网络参数进行学习;
确定模块,被配置为根据所述路由节点上的目标数据包的本地状态信息,利用所述路由节点对应的图神经网络确定所述目标数据包的下一跳路由节点,所述目标数据包的本地状态信息包括所述目标数据包当前所在的路由器位置信息,所述目标数据包可被发送的下一跳路由节点信息,以及所述目标数据包要去到的路由器终点信息;
其中,si为当前排在路由节点i的缓存队列中最前面的当前数据包的本地状态信息;ai为所述当前数据包选择的下一跳路由节点;ri为路由节点i通过选择ai作为下一跳路由节点转发所述当前数据包而获得的即时奖励,ri=-(qi+gi),qi为所述当前数据包在下一跳路由节点ai的缓存延迟,gi为所述当前数据包在从路由节点i传输至下一跳路由节点ai的传输延迟;为所述当前数据包到达下一跳路由节点ai后被观测到当前数据包的本地状态信息;fi指示所述当前数据包到达下一跳路由节点ai是否达到终点;所述当前数据包的本地状态信息包括所述当前数据包当前所在的路由器位置信息,所述当前数据包可被发送的下一跳路由节点信息,以及所述当前数据包要去到的路由器终点信息;
所述利用所述链路经验数据,训练得到所述路由节点对应的图神经网络包括:
利用所述训练数据,训练得到所述路由节点i对应的图神经网络Q(si,a;wi(t)),其中,所述wi(t)为所述路由节点i对应的图神经网络在第t次迭代更新后所得的主网络参数,所述Q(si,a;wi(t))为给定输入si,所述图神经网络的第a个输出的数值;
所述根据所述路由节点上的目标数据包的本地状态信息,利用所述路由节点对应的图神经网络确定所述目标数据包的下一跳路由节点,包括:
将所述路由节点i上的目标数据包的本地状态信息si输入所述路由节点i对应的图神经网络Q(si,a;wi(t)),得到所述图神经网络Q(si,a;wi(t))输出的N个数值;
按照以下公式得到传输时延最短的下一跳相邻节点a*:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110580019.8A CN113518035B (zh) | 2021-05-26 | 2021-05-26 | 路由确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110580019.8A CN113518035B (zh) | 2021-05-26 | 2021-05-26 | 路由确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113518035A CN113518035A (zh) | 2021-10-19 |
CN113518035B true CN113518035B (zh) | 2023-01-31 |
Family
ID=78065033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110580019.8A Active CN113518035B (zh) | 2021-05-26 | 2021-05-26 | 路由确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113518035B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697229B (zh) * | 2022-03-11 | 2023-04-07 | 华中科技大学 | 一种分布式路由规划模型的构建方法及应用 |
CN115173923B (zh) * | 2022-07-04 | 2023-07-04 | 重庆邮电大学 | 一种低轨卫星网络能效感知路由优化方法和系统 |
CN115065707B (zh) * | 2022-07-27 | 2022-11-04 | 北京华夏圣远能源科技有限公司 | 小分子可循环压裂液混砂车的远程监控方法、装置、介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039886A (zh) * | 2018-07-20 | 2018-12-18 | 北京邮电大学 | 网络动态路由计算方法、装置及设备 |
CN111416771A (zh) * | 2020-03-20 | 2020-07-14 | 深圳市大数据研究院 | 基于多智能体强化学习路由策略控制路由动作的方法 |
CN112749791A (zh) * | 2021-01-22 | 2021-05-04 | 重庆理工大学 | 一种基于图神经网络和胶囊网络的链路预测方法 |
CN112770357A (zh) * | 2021-01-08 | 2021-05-07 | 浙江大学 | 一种基于深度强化学习的无线网络拥塞控制方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413707B (zh) * | 2018-08-03 | 2021-10-08 | 南京工业大学 | 无线网络环境下基于深度强化学习技术的智能路由方法 |
US11544535B2 (en) * | 2019-03-08 | 2023-01-03 | Adobe Inc. | Graph convolutional networks with motif-based attention |
WO2021022521A1 (zh) * | 2019-08-07 | 2021-02-11 | 华为技术有限公司 | 数据处理的方法、训练神经网络模型的方法及设备 |
US20200324794A1 (en) * | 2020-06-25 | 2020-10-15 | Intel Corporation | Technology to apply driving norms for automated vehicle behavior prediction |
CN112333102B (zh) * | 2020-11-02 | 2021-09-14 | 北京邮电大学 | 基于知识图谱的软件定义网络路由选择方法和系统 |
-
2021
- 2021-05-26 CN CN202110580019.8A patent/CN113518035B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039886A (zh) * | 2018-07-20 | 2018-12-18 | 北京邮电大学 | 网络动态路由计算方法、装置及设备 |
CN111416771A (zh) * | 2020-03-20 | 2020-07-14 | 深圳市大数据研究院 | 基于多智能体强化学习路由策略控制路由动作的方法 |
CN112770357A (zh) * | 2021-01-08 | 2021-05-07 | 浙江大学 | 一种基于深度强化学习的无线网络拥塞控制方法 |
CN112749791A (zh) * | 2021-01-22 | 2021-05-04 | 重庆理工大学 | 一种基于图神经网络和胶囊网络的链路预测方法 |
Non-Patent Citations (3)
Title |
---|
"Estimating the task route reliability of mobile agent-based systems using Monte Carlo simulation";M. Daoud,等;《10th IEEE Symposium on Computers and Communications (ISCC"05)》;20050815;全文 * |
"基于异构图神经网络的多智能体资源调度模型";熊波;《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》;20210315;全文 * |
基于机器学习的智能路由算法综述;刘辰屹等;《计算机研究与发展》;20200430(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113518035A (zh) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113518035B (zh) | 路由确定方法及装置 | |
Xu et al. | Experience-driven networking: A deep reinforcement learning based approach | |
CN111416771B (zh) | 基于多智能体强化学习路由策略控制路由动作的方法 | |
CN110601973B (zh) | 一种路由规划方法、系统、服务器及存储介质 | |
CN108076158B (zh) | 基于朴素贝叶斯分类器的最小负载路由选择方法及系统 | |
JP6831527B2 (ja) | 経路制御方法及び経路設定装置 | |
CN114697229B (zh) | 一种分布式路由规划模型的构建方法及应用 | |
WO2022116957A1 (zh) | 算法模型及路径的确定方法、电子设备、sdn控制器和介质 | |
CN114629543B (zh) | 一种基于深度监督学习的卫星网络自适应流量调度方法 | |
CN113612692B (zh) | 基于dqn算法的集中式光片上网络自适应路由规划方法 | |
CN114500360A (zh) | 一种基于深度强化学习的网络流量调度方法以及系统 | |
CN111340192B (zh) | 网络路径分配模型训练方法、路径分配方法、以及装置 | |
CN114143264A (zh) | 一种SRv6网络下基于强化学习的流量调度方法 | |
Mai et al. | Packet routing with graph attention multi-agent reinforcement learning | |
Zeng et al. | Multi-agent reinforcement learning for adaptive routing: A hybrid method using eligibility traces | |
CN113472671A (zh) | 组播路由的确定方法、装置和计算机可读存储介质 | |
CN113435567B (zh) | 基于流量预测的智能拓扑重构方法、电子设备、存储介质 | |
Fawaz et al. | Graph Convolutional Reinforcement Learning for Load Balancing and Smart Queuing | |
CN116155805A (zh) | 分布式智能路由方法、系统、电子设备和存储介质 | |
CN117014355A (zh) | 一种基于ddpg深度强化学习算法的tssdn动态路由决策方法 | |
CN115150335A (zh) | 一种基于深度强化学习的最优流量分割的方法和系统 | |
Wei et al. | G-Routing: Graph Neural Networks-Based Flexible Online Routing | |
Sadek et al. | Dynamic bandwidth allocation using a two-stage fuzzy neural network based traffic predictor | |
Zhang et al. | MLP Modeling and Prediction of IP Subnet Packets Forwarding Performance | |
Cai et al. | Multipath routing for traffic engineering with hypergraph attention enhanced multi-agent reinforcement learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |