一种基于深度学习的中大型网络智能路由选择方法与流程

文档序号:18040087发布日期:2019-06-28 23:54阅读:771来源:国知局
一种基于深度学习的中大型网络智能路由选择方法与流程

本发明适用于中大型网络中的路由选择问题,具体涉及到一种基于深度学习的中大型网络智能路由选择方法。



背景技术:

大数据时代,网络流量爆炸增长,需要网络底层的路由交换设备规模成指数级增长。与此同时,中大型网络环境中的相关网络业务也变得越来越复杂化,需要更复杂的网络路由协议去转发数据、提高通信质量与通信效率,人为设计路由协议变得越发困难,已成为一个np完全问题,且计算复杂,无法在短时间内完成动态路由的选择。因此亟需一种能在中大型网络上,能够通过学习网络中流量模式特征,自动迅速预测路由路径的方法去解决这一难题。

深度学习已在计算机视觉、语音识别和文本分类等领域得到了广泛的应用。深度学习的深层次结构拥有强大的复杂函数表达能力,对于捕获潜在隐藏特征效果明显,此外,深度学习模型只包含输入,深度学习网络,输出三部分,层次结构清晰,易于使用。但是,深度学习应用于中大型网络的路由选择方面的研究刚刚起步,并不多见。



技术实现要素:

为了解决现有技术存在的问题,本发明提出一种基于深度学习的中大型网络智能路由选择方法,其特征在于,包括以下步骤:

一种基于深度学习的中大型网络智能路由选择方法,其特征在于,包含以下步骤:

步骤1:采集、构建监督学习样本,根据不同的流量模式添加相应的标签,并按输入和输出形式构建训练数据集和测试数据集;

步骤2:根据用户需求,将大型网络按照用户需求进行划分。

步骤3:将步骤1中获取到的带标签训练数据集输入到深度学习模型中进行训练,完成深度学习模型的训练;将测试数据集输入到训练好的深度学习模型中,分别通过分布式计算得到不同子块的最佳路由;

步骤4:通过评价函数选择步骤3中的最佳子块路由;评价子块路由的标准为:

y=w1x1+w2x2+…wnxn,n∈n+(1)

步骤5:在得到步骤4中的最佳子块路由后,补充剩余路由,完成整个网络的全局路由。

在上述的一种基于深度学习的中大型网络智能路由方法,所述步骤1的实现方式如下,

相同时隙t下,以进入每个路由器的数据包数量pi为其流量模式;训练算法的输入用表示,表示块结构中路由器的流量模式,由(m*n)的输入矩阵组成,其中m表示子块结构中,源路由器(or)--目的路由器(dr)之间的跳数,n表示网络中路由器的个数;作为训练数据的标签,用于表示块结构中的路径编号;输入矩阵的第u行表示第u个时间间隙tu,第k列表示进入路由器k的pi数量;定义每个块结构中源--目的路由器之间只存在一条路径,根据监督学习的结果,当有新的流量模式输入到训练好的系统时,系统将会给出相应的路径编号并映射为对应路径(rn)输出。

在上述的一种基于深度学习的中大型网络智能路由方法,所述步骤2中的划分适用于n×m网络结构,包括多级划分,具体包括:

步骤2.1:进行第一级划分,具体是:所有边缘路由器具有同等的地位,因此定义ro为源路由器,rd为目的路由器;对于从源路由器ro到达目的路由器rd的路由路径,都必须经过rd的上一级路由器rd1或者rd2,当目的路由器只有一个上一级路由器时,rd2不存在;使用rd1或者rd2作为子目的路由器,进行路由路径预测;

步骤2.2:进行第二级划分,具体是:将原n×m网络按步骤2.1划分成了以rd1为子终点的block1((n-1)×m)和以rd2为子终点的block2(n×(m-1)),之后,仍可以使用同样的方法,将block1分为block1-1((n-2)×m)和block1-2((n-1)×(m-1)),block2分为block2-1((n-1)×(m-1))和block2-2(n×(m-2));

步骤2.3:进行多级划分,具体是:将网络分成2r-l个子块(其中r∈n+,l代表网络中只有一个上一级节点的路由器);划分的依据是根据目的节点的所有上一级路由器,递归过程可以看作一个等比数列的形式,其中初始网络数目q1=1,公比q=2,划分的块数aw的计算,如公式(2)所示;

aw=a1qw-1(2)

公式(2)中,w>0,且w∈n+;值得一提的是,w-1可以用来表示子块对网络的降维情况,例如在4x4网络中,当w=2时,表示网络被分为2个子块;原网络中从源节点到达目的节点需要6级路由,而现在每个子块中只需5级路由,减少了1级路由;当w=3时,表示网络被分成4个子块,每个子块中只有4级路由,减少了2级路由。

在上述的一种基于深度学习的中大型网络智能路由方法,所述步骤3的实现方式如下:

步骤3.1:分别设计三种基于块结构的深度学习方法进行了实验,包括基于块结构的全连接路由方法,基于块结构的卷积神经网络路由方法和基于块结构的残差网络路由方法;

步骤3.2:由于三种方法只是在选择的深度学习结构上有所不同,其他步骤均相同。因此可以以基于块结构的残差网络路由方法为例说明本发明中的学习过程;将步骤1中设计的输入训练数据均匀分批输入到基于块结构的深度网络中,训练数据分别经过多层感知器的卷积层、池化层、残差层、池化层,全连接层、完成前向传播;其中能够使本发明中基于块结构的残差网络路由方法的效果优于其他路由算法效果的关键在于:本发明使用了结合分块路由策略的深度学习方法进行流量特征的学习;该学习方式在网络自动训练参数的过程中,根据每层节点情况,计算出每层网络中的流量模式残差并逐级保存记录,根据需要,用块残差去逼近表达每层函数;减小了每层函数表达的误差;系统中的每一个残差核在输出至下一层时都加入了dropout层;在训练过程中,可随机使得网络中某些隐含层节点不工作,不工作的节点可暂时认为不是网络结构的一部分,但会保留它的权重;引入dropout技术后,解决了训练网络过拟合问题的同时改善了训练网络参数耗时过大的问题;

步骤3.3:对步骤3.2中的多层感知器进行梯度计算和误差计算;使用交叉熵代价函数计算输出值与期望值之间的差量,激活函数采用relu,可以提升训练速度;按极小化误差的方法使之收敛,并将误差向量保存起来;

步骤3.4:将步骤3.3中得到的误差和梯度用反向传播算法,经过池化层,残差层、池化层、卷积层、输入层逐层传播,并且根据要求自动反向更新网络的权重,判断是否为输入层,若是则跳转至步骤3.2,否则重复步骤3.4,直至提取出有效的流量数据特征;

步骤3.5:直到权重更新稳定,建立基于深度学习的中大型网络智能路由方法的训练模型;

步骤3.6:将测试数据按上述步骤输入,最终,得到子块的路由结果。

步骤4中,式(1)可根据用户关心的变量做适当的调整;如本文更加关心吞吐量和算法运行时间,则公式(1)可简化为公式(3):

y=w1x1+w2x2(3)

公式(3)中,评价结果y取决于吞吐量x1,算法运行时间x2,以及相应的权重w1和w2的线性加权和。

本发明与其他方法相比,优点在于:1.与传统路由算法相比,该方法能挖掘流量特征的同时,不需人工手动设计路由协议,能更加智能的学习复杂流量模式中的特征。2.与现有基于深度学习的智能路由方法相比,该方法适合在中大型网络路由选择中使用。提出的递归分块路由策略可以根据目的路由器的上一级节点将网络有规则的划分为块结构进行路由。该方法性能指标上可以减少路由时间,降低路由复杂度的同时有较高的路由准确度。另外,由于该方法具有很好的灵活性和递归性,可以使得具有不同计算能力的用户需求得以满足,拥有很好的泛化能力。

附图说明:

图1是本发明实施例的智能路由方法的总体示意图。

图2是本发明实施例的分块方法示意图。

图3是本发明实施例的递归方法示意图。

图4是本发明中基于块结构的残差网络智能路由实现框图。

图5是本发明实施例的基于块结构的残差智能路由结构示意图。

具体实现步骤为:

以中型4x4规模的无线网络智能路由为例,结合附图1,2,3,4,5详细说明本发明的实施步骤:

附图1为本发明提出的智能路由的总体示意图。

步骤1:采集、构建监督学习样本,根据不同的流量模式添加相应的标签,并按输入和输出形式构建训练数据集和测试数据集。

步骤2:根据用户需求,将大型网络按照用户需求进行划分,接着,将步骤1中获取到的带标签训练数据输入到深度学习模型中进行训练,完成深度学习模型的训练。

步骤3:将测试数据输入到步骤2训练好的深度学习模型中,分别通过分布式计算得到不同子块的最佳路由。本实例中使用不同的gpu运算实现智能路由规则的学习。

步骤4:通过评价函数选择步骤3中的最佳子块路由。本发明提出的评价子块路由标准为:

y=w1x1+w2x2+…wnxn,n∈n+(1)

式(1)可根据用户关心的变量做适当的调整。如本文更加关心吞吐量和算法运行时间,则公式(1)可简化为公式(2)

y=w1x1+w2x2(2)

公式(2)中,评价结果y取决于吞吐量x1,算法运行时间x2,以及相应的权重w1和w2的线性加权和(本实例中,w1和w2均取0.5,若在实际应用中需考虑其他因素,可增加相应w3和w4等等。

步骤5:在步骤4的最佳子块路由后补充剩余路由,完成整个网络的全局路由。如附图2所示,在4x4网络中,已判定子块1中,r1—r15之间的最佳路由,则完整的路由,即由r1—r15的最佳路由和r15—r16的最佳路由的组成,因r15是r16的上一级路由器,所以r15—r16之间仅有一条路径,因此,只需将r15—r16的路径补充入子块1中的最佳路由中,即可得到完整路由。

进一步地,所述步骤1的实现方式如下:

相同时隙t下,以进入每个路由器的数据包数量pi为其流量模式。训练算法的输入用表示,表示块结构中路由器的流量模式,由(m*n)的输入矩阵组成,其中m表示子块结构中,源路由器(or)--目的路由器(dr)之间的跳数,n表示网络中路由器的个数。作为训练数据的标签,用于表示块结构中的路径编号。输入矩阵的第u行表示第u个时间间隙tu,第k列表示进入路由器k的pi数量。假设每个块结构中源--目的路由器之间只存在一条路径,根据监督学习的结果,当有新的流量模式输入到训练好的系统时,系统将会给出相应的路径编号并映射为对应路径(rn)输出。

进一步地,所述步骤1的实现方式如下:

在networksimulatorversion2上,对4x4中型无线网络进行了ospf协议的模拟,并记录其流量模式和路由路线,分别用于构建训练数据和测试数据。

进一步地,所述步骤2的实现方式如下:

步骤2.1:如附图2所示,本例中使用的4x4中型无线网络中,所有边缘路由器具有同等的地位,因此假设r1为源路由器,r16为目的路由器。对于从源路由器r1到达目的路由器r16的路由路径,都必须经过r16的上一级路由器r12或者r15。因此,可以使用r12或者r15作为子目的路由器,进行路由路径预测。我们只需通过本发明提出的评价方法比较到达r12子块的最优路径和到达r15子块的最优路径情况,取二者中评价较好的一条路由纳入整体路由预测结果之中。

步骤2.2:本发明提出的分块策略不是仅限于附图2。附图2所示的分块策略只是本发明提出的分块思想的一个简单的例子。如附图3所示,我们将原4x4网络分成了以r12为子终点的block1(3x4)和以r15为子终点的block2(4x3),之后,仍可以使用同样的方法,将block1分为block1-1(2x4)和block1-2(3x3),block2分为block2-1(3x3)和block2-2(4x2)。等等。总的来说,本发明提出的方法可以总结为一种递归的分块方法,将网络分成2m(其中m为自然数)个子块。划分的依据是根据目的节点的所有上一级路由器,递归过程可以看作一个等比数列的形式,其中初始网络数目a1=1,公比q=2,划分的块数am的计算,如公式(3)所示。

am=a1qm-1(3)

公式(3)中,m>0,且m∈n+。值得一提的是,m-1可以用来表示子块对网络的降维情况,例如在4x4网络中,当m=2时,表示网络被分为2个子块。原网络中从源节点到达目的节点需要6级路由,而现在每个子块中只需5级路由,减少了1级路由。当m=3时,表示网络被分成4个子块,每个子块中只有4级路由,减少了2级路由。

进一步地,所述步骤3的实现方式如下:

步骤3.1:设计基于块的深度学习结构。为了更全面的证明提出的基于深度学习的大型网络智能路由方法是一种有效的路由方法。在实验中,我们分别使用了基于块结构的三种深度学习方法进行了实验,包括全连接网络,卷积神经网络和残差网络。基于块的深度学习(“全连接”)智能路由方法中。子块1中包含1层隐含层,80个神经元;子块2中包含1层隐含层,80个神经元。基于块的深度学习(“卷积神经网络”)智能路由方法中,子块1包含2层卷积层,其中,第一层用了64个尺寸为2*2的卷积滤波器,第二层用了64个尺寸为1*2的卷积滤波器;子块2中包含2层卷积层,第一层用了32个尺寸为2*2的卷积滤波器,第二层用了32个尺寸为1*4的卷积滤波器。基于块的深度学习(“残差网络”)智能路由方法中,残差结构和参数如附图5所示。

步骤3.2:以基于块结构的残差学习路由方法为例说明本发明中的学习过程。附图4和附图5分别展示了基于块结构的残差网络智能路由实现框图和基于块结构的残差智能路由结构示意图。将步骤2中设计的输入训练数据均匀分批输入到基于块结构的深度网络中,训练数据分别经过多层感知器的卷积层、池化层、残差层、池化层,全连接层、完成前向传播;其中能够使本发明的效果优于其他路由算法效果的关键在于:本发明使用了结合分块路由策略的深度学习方法进行流量特征的学习。该学习方式在网络自动训练参数的过程中,根据每层节点情况,计算出每层网络中的流量模式残差并逐级保存记录,根据需要,用块残差去逼近表达每层函数。减小了每层函数表达的误差。系统中的每一个残差核在输出至下一层时都加入了dropout层。在训练过程中,可随机使得网络中某些隐含层节点不工作,不工作的那些节点虽暂时认为不是网络结构的一部分,但会保留它的权重。引入dropout技术后,解决了训练网络过拟合问题的同时改善了训练网络参数耗时过大的问题。

步骤3.3:对步骤3.2中的多层感知器进行梯度计算和误差计算。使用交叉熵代价函数计算输出值与期望值之间的差量,激活函数采用relu,可以提升训练速度。按极小化误差的方法使之收敛,并将误差向量保存起来。

步骤3.4:将步骤3.3中得到的误差和梯度用反向传播算法,经过池化层,残差层、池化层、卷积层、输入层逐层传播,并且根据要求自动反向更新网络的权重,判断是否为输入层,若是则跳转至步骤3.2,否则重复步骤3.4,直至提取出有效的流量数据特征;

步骤3.5:直到权重更新稳定,建立基于深度学习的中大型网络智能路由选择方法的训练模型;

步骤3.6:将测试数据按上述步骤输入,最终,得到子块的路由结果。

以上内容是结合最佳实施方案对本发明所做的进一步详细说明,不能认定本发明的具体实施只限于这些说明。本领域的技术人员应该理解,在不脱离由所附权利要求书限定的情况下,可以在细节上进行各种修改,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1