本发明涉及情景网络技术和深度学习技术,具体涉及一种基于图神经网络的sdn时延感知方法。
背景技术:
迄今为止,深度学习在图像识别和数据挖掘等领域已经取得了巨大的成功。大多数机器学习任务例如目标监测、机器翻译以及语音识别等曾严重依赖人工特征工程去获取特征信息集。随着多种深度学习方法如卷积神经网络(cnn,convolutionalneuralnetwork)、循环神经网络(rnn,recurrentneuralnetwork)等的提出,这种状况得到大幅改善。深度学习的成功离不开机器计算能力的高速发展、海量数据集的成功获取以及深度学习可以从欧几里得数据集中提取潜在表征的有效性。例如cnn可以利用局部连通性、图像数据合成性和时移不变性,提取出有意义的特征用于图像任务。尽管深度学习可以高效的捕捉欧几里得数据中的隐藏特征,但是在非欧几里得数据方面表现同样得到了广泛的应用。
网络中的情景是复杂多样且动态变化的,可以将sdn网络情景描述为网络环境、资源及用户业务的变化。其中网络的qos情景包含了时延、抖动、丢包率等。
网络运行qos状态的基本属性既是对网络情景的高级表征,也是网络服务策略抉择的一个重要参考值。sdn网络所具有的控制与转发分离特性使得网络控制器具有全网络的静态拓扑、动态转发表信息、资源利用率、故障状态等视图。在sdn的数据转发层,通过包括时延等网络情景感知可以实现对底层的流量情况的监控,并且可以通过网络中各节点的负载信息来获取链路时延、抖动以及丢包率等。据此对网络的全局状态进行分析可以提高网络的转发性能,实现负载均衡等网络功能。用户所处的网络环境对网络服务提供者而言同样不可或缺。例如用户所处网络位置决定其被服务的方式以及用户的服务体验也与据用户位置所部署网络服务相关。
技术实现要素:
本发明克服了典型的深度学习应用会丢失图形数据的结构信息的不足,提出一种基于图神经网络的sdn时延感知方法,该方法充分考虑了节点所处情景,能够充分利用节点所处环境。为感知网络中的关于时延的情景要素,首先对网络进行序列建模,然后提出一种基于图神经网络的时延感知模型。
本发明解决技术问题所采用的技术方案如下:一种基于图神经网络的sdn时延感知方法,包括如下步骤:
步骤1:根据sdn网络用户业务流大小、网络资源(主要是可用带宽资源)、网络拓扑等环境特征信息进行网络序列建模,通过tensorflow框架中的tfrecord格式存储和读取样本数据;
步骤2:构建图神经网络模型,所述图神经网络模型是一种由门控循环单元(gru)、自编码器、多层感知机构(深度神经网络,即mlp)所构成的三级级联神经网络模型;
所述图神经网络模型具体级联结构如下:
第一层即消息传递阶段,通过gru神经网络对sdn网络中链路和路径进行状态感知,即时延感知,此层以sdn网络中环境特征信息特征向量为输入,然后经由隐藏层中的gru神经单元抓取链路、路径以及网络路由拓扑之间的依赖关系,再对网络中的路径和链路的时延信息进行计算与更新。
第二层自编码器对gru神经单元所获得的输出进行重构和提取抽象特征,该层是一种无监督学习过程,无需知道数据的标签即可完成训练,即该层可以在无监督的条件下完成对输入数据的特征提取和重构。
第三层采用多层感知机的隐藏结构读取时延信息,得到最终结果。
步骤3:使用步骤1的样本数据对图神经网络模型进行训练,得到训练好的图神经网络模型;
步骤4:通过sdn控制组件将实时采集的网络数据输入到步骤2训练完成后的图神经网络模型中,输出为链路和路径的网络延迟估计值,在图神经网络模型中对数据进行时延感知的过程具体如下:
所述图神经网络模型包括消息阶段和读出阶段,消息阶段包含转换和输出两个处理过程,经由消息阶段后,读出阶段负责对状态聚合输出预测值,即网络延迟估计值,具体公式如下述:
其中mt为转换函数,
进一步地,所述样本数据采用kdn(knowledgedefinednetworking)网络建模开源数据集。
进一步地,所述网络序列建模具体如下:
(1)对于一个连接关系矩阵为c、路由配置矩阵为rc、可用带宽资源矩阵为b以及负载矩阵t的sdn网络,其链路集合表示为c={ci,j|i≠j;i,j=1,2,3,...,n},其中i,j代表两个节点,链路ci,j的情景信息特征
假设一条由m条路径组成的路由路径pk的情景信息特征为
描述整条路径的情景信息特征的公式如下述:
其中|pk|表示路径pk的长度。
(2)时延信息为情景状态特征之一,为了感知sdn时延,路径pk的时延计算公式如下述:
其中
1)路径的状态属性与路径所包含的所有链路状态属性相关;
2)链路的状态属性与链路所处所有路径相关。
进一步地,所述图神经网络模型以mpnn消息传递机制和routenet架构为基础,并以此来感知网络中的时延信息。
进一步地,所述消息转换函数即消息传递机制更新图状态的数学处理过程。该过程主要涉及一个转换函数,此函数可以将节点的特征和边的特征作为输入并输出新的更新状态。最后再由输出函数处理更新状态和特征,产生输出。
进一步地,所述图神经网络的框架为消息传递神经网络,该框架假设边缘特征非离散,并将gnn处理过程分为消息阶段和读出阶段。
本发明的有益效果是:当前网络中的感知技术随着人工智能的发展逐渐广泛的应用于各种网络环境。针对sdn网络中多种多样的复杂情景,目前还没有具体的感知方法和技术。因此本发明以感知时延为例,建立具体的人工智能时延感知方案并提出了一种图神经网络模型来解决网络时延的感知,对研究普适性的网络多情景要素感知也具有现实意义和实用价值。
附图说明
图1为改进的图神经网络模型图;
图2为改进的模型与routenet模型的mae对比;
图3为改进的模型与routenet模型的rmse对比图;
图4为改进的模型与routenet模型的预测时延结果图。
具体实施方式
下面结合附图详细说明本发明。
针对典型的深度学习应用将图类型数据预处理成实数类型的矢量的过程中丢失图形数据的结构信息的问题,本发明将图神经网络应用到sdn时延感知,在图神经网络的计算过程中,能够充分利用节点所处环境,对网络进行序列建模,将情景状态特征输入基于图神经网络的时延感知模型,来感知网络中的网络延迟。
本发明提出的一种基于图神经网络的sdn时延感知方法,构建了一种基于图神经网络与自编码器的混合模型,模型是由gru、自编码器、多层感知机所构成的三级级联神经网络模型。相较于传统图神经网络模型,大大提高了时延感知的准确度。
本发明提供一种基于图神经网络的sdn时延感知方法,该方法包括如下步骤:
步骤1:根据sdn网络用户业务流大小、网络资源(主要是可用带宽资源)、网络拓扑等环境特征信息进行网络序列建模,通过tensorflow框架中的tfrecord格式存储和读取样本数据。所述样本数据采用kdn(knowledgedefinednetworking)网络建模开源数据集。
所述网络序列建模具体如下:
(1)对于一个连接关系矩阵为c、路由配置矩阵为rc、可用带宽资源矩阵为b以及负载矩阵t的sdn网络,其链路集合表示为c={ci,j|i≠j;i,j=1,2,3,...,n},其中i,j代表两个节点,链路ci,j的情景信息特征
假设一条由m条路径组成的路由路径pk的情景信息特征为
描述整条路径的情景信息特征的公式如下述:
其中|pk|表示路径pk的长度。
(2)时延信息为情景状态特征之一,为了感知sdn时延,路径pk的时延计算公式如下述:
其中
1)路径的状态属性与路径所包含的所有链路状态属性相关;
2)链路的状态属性与链路所处所有路径相关。
步骤2:构建图神经网络模型,如图1所示,所述图神经网络模型是一种由门控循环单元(gru)、自编码器、多层感知机构所构成的三级级联神经网络模型。所述图神经网络模型以mpnn消息传递机制和routenet架构为基础,并以此来感知网络中的时延信息。图神经网络的框架为消息传递神经网络,该框架假设边缘特征非离散,并将gnn处理过程分为消息阶段和读出阶段。
gru层以网络序列化建模后的网络基本情景状态信息,即时延信息作为输入,首先初始化网络状态,根据网络中的链路信息更新每条路径的情景属性,获得情景信息的进一步表达。通过gru神经网络对sdn网络中链路和路径进行时延感知,此层以网络中环境特征向量xi=[xi1,xi2,xi3,…,xij]t为输入,然后经由隐藏层中的gru神经单元抓取链路、路径以及网络路由拓扑之间的依赖关系,再对网络图中的时延信息进行计算与更新。
自编码器作为一种前馈神经网络,其作用在于将输入复制到输出,同时也是对数据的重构,将数据压缩为潜在空间表示。通过自编码器,模型可以获得更加抽象的情景信息。自编码网络由编码器encoder和解码器decoder两部分构成。
encoder=f(we*x be)
decoder=g(wd*encoder bd)
其中,we表示输入层和编码器隐藏层的权重,bd表示隐藏层和解码器层之间的权重向量,x为输入特征向量,be、bd为对应连接的偏置向量,f、g为激活函数。通过第二层自编码器对gru神经单元所获得的输出进行重构和提取抽象特征,该层是一种无监督学习过程,无需知道数据的标签即可完成训练,即该层可以在无监督的条件下完成对输入数据的特征提取和重构,
采用第三层类似多层感知机的隐藏结构读取时延信息,得到最终结果。
步骤3:使用步骤1的样本数据对图神经网络模型进行训练,得到训练好的图神经网络模型;
在对模型进行训练的实验过程中,每一次训练均使用75%的数据集作为训练数据集,剩余25%作为测试数据集,即每次训练时先输入75%的数据样本训练深度学习模型,待训练结束后通过余下25%数据样本对模型进行验证。重复上述过程即可提高模型的准确度,收敛后保存最终的模型即可。
选用含有不同层数、神经元数的gru、不同隐藏层数和神经元数的mlp神经网络以及是否使用autoencoder模型进行相关实验。通过平均绝对误差(meanabsoluteerror,mae)、均方根误差(rootmeansquareerror,mse)、皮尔森系数(pearson)评估模型表现,衡量最终训练出的不同模型的精度,从而选择性能较优的模型进行sdn智能时延感知。
步骤4:通过sdn控制组件将实时采集的网络数据输入到步骤2训练完成后的图神经网络模型中,输出为延迟估计值,在图神经网络模型中对数据进行时延感知的过程具体如下:
所述图神经网络模型包括消息阶段和读出阶段,消息阶段包含转换和输出两个处理过程,经由消息阶段后,读出阶段负责对状态聚合输出预测值,即网络延迟估计值,具体公式如下述:
其中mt为转换函数,
下面结合实施例对本发明作进一步说明。
本发明基于tensorflow和keras深度学习框架开发实现所提出的ggae情景感知模型,所使用的训练数据集为开源数据集nsfnet,该数据集包含不同流量强度(ti,trafficintensity)下的链路、路径的流量矩阵以及延迟数据。对于给定的两个节点i和j,其流量负载由如下公式控制,公式中u表示均匀分布,ti为控制流量大小的参数即流量强度。
通过平均绝对误差(meanabsoluteerror,mae)、均方根误差(rootmeansquareerror,rmse)、皮尔森系数(pearson)评估模型表现,基于所使用的网络拓扑的结构特点,实施例中将gru设置为动态rnn结构,可以快速建立图结构且能够处理长度可改变的路径信息。
由ggae模型和routenet在感知时延时所测得pearson系数对比图可以发现两模型的pearson系数都能达到0.995以上,但基于ggae的情景感知模型在最终收敛效果上要优于基于routenet的情景感知模型。
为验证ggae模型情景感知上面的能力,如图2和3,通过测量其与routenet模型的时延预测值和真实值的平均绝对误差mae和均方根误差rmse可知,在相同训练时长上ggae模型的平均绝对误差普遍小于routenet模型的结果。随着训练的次数增加,ggae模型逐渐收敛并且相较于routenet而言其mae收敛的值波动范围小,ggae收敛的值也较小。如图4可知,ggae模型的rmse误差值相较于routenet模型大约降低了70%,并由图3计算绝对平均距离(mad,meanabsolutedistance)可知,在预测的实际效果上提高了25.93%。为此可知所提出的sdn时延感知模型能够更精准地预测时延信息,在时延感知方面的能力更强。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
1.一种基于图神经网络的sdn时延感知方法,其特征在于,包括如下步骤:
步骤1:根据sdn网络用户业务流大小、网络资源(主要是可用带宽资源)、网络拓扑等环境特征信息进行网络序列建模,通过tensorflow框架中的tfrecord格式存储和读取样本数据;
步骤2:构建图神经网络模型,所述图神经网络模型是一种由门控循环单元(gru)、自编码器、多层感知机构所构成的三级级联神经网络模型;
所述图神经网络模型具体级联结构如下:
第一层即消息传递阶段,通过gru神经网络对sdn网络中链路和路径进行状态感知,即时延感知,此层以sdn网络中环境特征信息特征向量为输入,然后经由隐藏层中的gru神经单元抓取链路、路径以及网络路由拓扑之间的依赖关系,再对网络中的路径和链路的时延信息进行计算与更新。
第二层自编码器对gru神经单元所获得的输出进行重构和提取抽象特征,该层是一种无监督学习过程,无需知道数据的标签即可完成训练,即该层可以在无监督的条件下完成对输入数据的特征提取和重构。
第三层采用多层感知机的隐藏结构读取时延信息,得到最终结果。
步骤3:使用步骤1的样本数据对图神经网络模型进行训练,得到训练好的图神经网络模型;
步骤4:通过sdn控制组件将实时采集的网络数据输入到步骤2训练完成后的图神经网络模型中,输出为链路和路径的网络延迟估计值,在图神经网络模型中对数据进行时延感知的过程具体如下:
所述图神经网络模型包括消息阶段和读出阶段,消息阶段包含转换和输出两个处理过程,经由消息阶段后,读出阶段负责对状态聚合输出预测值,即网络延迟估计值,具体公式如下述:
其中mt为转换函数,
2.根据权利要求1所述的一种基于图神经网络的sdn时延感知方法,其特征在于,所述样本数据采用kdn(knowledgedefinednetworking)网络建模开源数据集。
3.根据权利要求1所述的一种基于图神经网络的sdn时延感知方法,其特征在于,所述网络序列建模具体如下:
(1)对于一个连接关系矩阵为c、路由配置矩阵为rc、可用带宽资源矩阵为b以及负载矩阵t的sdn网络,其链路集合表示为c={ci,j|i≠j;i,j=1,2,3,...,n},其中i,j代表两个节点,链路ci,j的情景信息特征
假设一条由m条路径组成的路由路径pk的情景信息特征为
描述整条路径的情景信息特征的公式如下述:
其中|pk|表示路径pk的长度。
(2)时延信息为情景状态特征之一,为了感知sdn时延,路径pk的时延计算公式如下述:
其中
1)路径的状态属性与路径所包含的所有链路状态属性相关;
2)链路的状态属性与链路所处所有路径相关。
4.根据权利要求1所述的一种基于图神经网络的sdn时延感知方法,其特征在于,所述图神经网络模型以mpnn消息传递机制和routenet架构为基础,并以此来感知网络中的时延信息。
5.根据权利要求1所述的一种基于图神经网络的sdn时延感知方法,其特征在于,所述消息转换函数即消息传递机制更新图状态的数学处理过程。该过程主要涉及一个转换函数,此函数可以将节点的特征和边的特征作为输入并输出新的更新状态。最后再由输出函数处理更新状态和特征,产生输出。
6.根据权利要求1所述的一种基于图神经网络的sdn时延感知方法,其特征在于,所述图神经网络的框架为消息传递神经网络,该框架假设边缘特征非离散,并将gnn处理过程分为消息阶段和读出阶段。
技术总结