一种基于轻量级时空深度学习模型的网络流量预测方法与流程

文档序号:20030683发布日期:2020-02-28 10:21阅读:252来源:国知局
一种基于轻量级时空深度学习模型的网络流量预测方法与流程

本发明涉及人工智能计算机网络领域,具体涉及一种基于轻量级时空深度学习模型的网络流量预测方法。



背景技术:

随着internet网络的快速发展,网络的规模越来越大,控制和管理网络的难度随之增大。为更好地进行网络管理、网络监控、网络规划等,需迫切掌握有关网络数据的流动情况。随着网络业务变得复杂化、多样化,网络流量不断增大,当网络过载或拥塞时,完善的预测机制能保障重要或高优先级业务的质量,通过对流量进行分析和控制,可提高网络服务的质量。传统的深度学习预测模型在大规模网络数据的训练上,模型参数复杂,训练时间长久,需要耗费的计算机资源巨大,导致在大规模数据上的实时预测性能不是很理想,同时,在实际应用中,网络节点之间是有相关性的,单单只从数据驱动方向对网络流量进行预测仍然存在一定的局限性,在考虑网络节点之间的相关性时,根据历史测量数据精确预测网络流量成为了网络流量预测的主要挑战之一。

网络流量预测是网络领域的经典问题,基于历史测量数据预测网络流量的方法已经有很多,先前的研究已提出了许多网络流量预测的方法,这些预测方法可以分为两类,即线性预测方法和非线性预测方法。传统的线性预测方法主要包括自回归滑动平均(autoregressivemovingsverage,arma)模型、自动回归积分滑动平均(autoregressiveintegratedmovingaverage,arima)模型及差分自回归求和滑动平均模型。随着现今网络模型的动态化和复杂化,网络流量特性已经偏离了相关学者所认为的线性模型如泊松分布,高斯分布等,因此,线性模型无法反映网络流量特性。而非线性预测模型的典型代表主要包括支持向量回归(supportvectorregression,svr),灰色模型和神经网络等,其中svr能处理流量中非线性问题和解的稀疏性。但是由于缺乏结构化的方法确定模型中的一些关键参数,对模型的确定会产生一定影响。相对于线性模型,非线性模型的预测精度有了一定程度的提高,azzouni等人的预测性能远远比上述线性模型表现优异。近几年来,神经网络模型在流量预测领域得到了广泛的关注和应用,其中常见的神经网络模型主要包括堆叠式自编码器(stackedatuoencoder,sae),bp神经网络,深度置信网络以及循环神经网络等。其中sae用来提取交通流量中的特征,然后采用深度学习的结构对未来交通流量进行预测。基于bp神经网络的网络流量预测模型可通过增加网络的学习速率对模型预测性能进行优化,但是存在不能解决局部极小值的问题。azzouni等人将lstm模型应用到了网络流量预测中,但是,lstm模型被应用到大规模网络中时,lstm网络的计算成本相当大,参数量也很大,存在梯度爆炸的问题。在实际应用中,网络节点之间是有相关性的,单单只从数据驱动方向对网络流量进行预测仍然存在一定的局限性,因此,在考虑网络节点之间的时空相关性时,根据历史测量数据精确预测各个节点之间的网络流量仍然存在一定的困难。

解决大规模时空相关网络流量预测问题是计算机网络智能控制的一个研究热点。同时考虑网络流量时间和空间维度的相关性对网络流量预测是有效的,不仅提取了网络节点间空间相关特征,还考虑到网络流量时间特性,通过使用精简了门结构的循环神经网络mgu单元,减少了模型参数,降低计算机资源消耗,同时还提高了预测精度。



技术实现要素:

发明目的:本发明的目的是提供一种基于轻量级时空深度学习模型的网络流量预测方法,使网络流量预测模型更实用,也提升了网络流量预测模型的精度,同时也增强了模型的泛化性能。

发明内容:本发明所述的一种基于轻量级时空深度学习模型的网络流量预测方法,包括以下步骤:

(1)根据网络状态,基于相同的时间间隙获取不同采样时刻网络流量矩阵,形成数据集,并对该数据集做归一化处理;

(2)构建基于卷积神经网络和循环神经网络的神经网络模型,提取网络流量中的时空特征;

(3)把数据集分割为两部分,一部分为训练集,另外一部分为测试集,使用训练数据集对建立的神经网络模型进行训练,获得轻量级时空深度学习网络流量预测模型;

(4)根据已获得的历史流量矩阵,通过该网络预测模型,预测未来时刻的网络流量矩阵的值。

进一步地,所述步骤(1)包括以下步骤:

(11)在网络各节点中布置具有网络流量监测功能的路由器或者交换机,把网络中节点个数设置为m,采样各源节点到目标节点的相同时间间隔内的网络流量值,将m个网络节点作为流量监测节点,编号为1,2,…,m;

(12)以δt为采样时间间隔,连续采样一段时间,用xt表示第t个采样间隙的流量矩阵,xt可以表示为如下矩阵:

其中网络中节点个数为m个,则任何一个采样间隙内形成的源节点到各个目标节点的流量矩阵的维度是m×m;

(13)对采样得到的原始数据集,做归一化处理;

进一步地,所述步骤(2)包括以下步骤:

(21)构建卷积神经网络,模型输入的一个矩阵对应一个相应的卷积神经网络,输入p个历史时刻的网络流量矩阵,则对应的p个卷积神经网络,所述卷积神经网络由若干层卷积模块和全连接层组成,使用时随机初始化网络参数,其中每一层卷积模块由一层卷积层以及零层或一层池化层组成,每个独立的卷积神经网络通过flattenlayer输出空间特征向量;

(22)构建循环神经网络,该网络由若干层神经元组成,且每层神经元个数为p个,为缓解循环神经网络梯度爆炸和参数复杂的问题,该循环神经网络采用基于mgu单元构建的循环神经网络;

(23)在mgu循环神经网络构建完成之后,在该网络中添加展平层(flattenlayer);

(24)展平层神经元的输出,通过全连接层连接,最后通过回归预测层输出未来时刻流量矩阵值。

进一步地,所述步骤(3)包括以下步骤:

(31)把经过预处理的数据集按照7:3的比例划分为训练集和测试集;

(32)使用训练集对构建好的模型进行训练,以时间宽度为p的滑动窗口从训练集上获取模型输入的数据,用矩阵可以表示为如下:

xinput=[xt-p,xt-p+1,…,xt]

其中模型的输入为t时刻以前p个历史时隙的网络流量矩阵,目标是要预测未来第t+1个时隙的网络流量矩阵的值。

(33)将使用滑动窗口获得的连续训练历史流量数据输入流量预测模型中,对轻量网络流量时空相关深度学习模型进行前向传播;

(34)其中将步骤(21)所述的p个卷积神经网络的输出输入到所述的循环神经网络中,结合网络流量的时间依赖性,输出预测的流量向量特征值,则第p个mgu单元输出的向量可表示为ht,其中mgu单元的门控单元计算按照如下公式:

ft=σ(wf[ht-1,yt]+bf)(1)

第p个mgu单元的输出即为对应采样时刻的隐藏门控单元的输出ht,ht向量经过展平层压平,作为全连接层的输入。

(35)通过计算模型的预测值与真实值的损失,对时空相关深度学习模型进行后向传播,调整模型中对应的参数;

(36)使用adam优化方法对整体网络的损失l进行优化,其公式如下:

其中,pij表示相应采样时隙模型目标矩阵对应的预测值,xij表示相应采样时隙的真实流量值;

(37)循环步骤(32),步骤(33),步骤(34),(35),当迭代次数达到预设次数时,停止模型训练;

(38)继续使用adam对步骤(36)所述的损失函数进行优化,调整参数,得到最终的网络流量时空相关特征预测模型。

进一步地,所述步骤(4)包括以下步骤:

(41)已获取第t个时隙以前历史网络流量数据,把连续的p个历史时刻流量矩阵输入到训练好的流量预测模型中;

(42)通过已训练得到模型的计算,可知最终要预测的t+1时刻目标流量矩阵。

有益效果:与现有技术相比,本发明的有益效果:1、本发明使用卷积神经网络提取了网络流量空间相关的信息,同时结合循环神经网络在处理具有时间依赖性数据上的优势,组合两种类型的网络提取网络流量的时空特征,然后使用全连接层组成完整的实时流量预测模型,从而解决网络流量在实际运用中时间周期特性的方面问题,也考虑节点间空间特性的问题,使网络流量预测模型更实用,也提升了网络流量预测模型的精度;2、本发明进一步通过使用精简了门结构的循环神经网络mgu单元,使深度学习网络的结构得到了简化,从而减少了对计算机资源的消耗,同时也增强了模型的泛化性能。

附图说明

图1为本发明流程图;

图2为一种轻量的深度学习模型时空相关特征的整体框架示意图;

图3为根据本发明实施例的卷积神经网络模块具体实验示意图;

图4为根据本发明实施例的循环神经网络的具体实验示意图;

图5为根据本发明实施例的全连接预测层的具体实验示意图。

具体实施方式

下面结合说明书附图对发明的技术方案进行详细说明:

如图1所述,本发明具体包括以下步骤:

步骤1:根据网络状态,基于相同的时间间隙获取不同采样时刻网络流量矩阵,并对数据集,做归一化处理。

(1)在网络各节点中布置具有网络流量监测功能的路由器或者交换机,网络中节点个数设置为23,通过诸如cisconetflow流量监测等工具采样各源节点到目标节点的相同时间间隔内的网络流量值,这23个网络节点作为流量监测节点,其编号为1,2,…,23;

(2)以δt=5min为采样时间间隔,连续采样一段时间,用xt表示第t个采样间隙的流量矩阵,xt可以表示为如下矩阵:

其中网络中节点个数为23个,则任何一个采样间隙内形成的源节点到各个目标节点的流量矩阵的维度是23×23;

(3)对采样得到的原始数据集,做归一化处理;

步骤2:构建基于卷积神经网络和循环神经网络的神经网络模型,提取网络流量中的时空特征。

(1)构建所述卷积神经网络,模型输入的一个矩阵对应一个相应的卷积神经网络,如图3所示,其中该模型每次都输入32个历史时刻的网络流量矩阵,因此需有对应的32个卷积神经网络,卷积神经网络模块由若干层卷积层和全连接层组成,使用时随机初始化网络参数,其中每一层卷积模块由一层卷积层以及零层或一层池化层组成,其中在该实施过程中,卷积模块选取3个,如图3所示;其中每个卷积模块包含1层卷积层和1层池化层,池化层选用的是最大值池化,每个独立的卷积神经网络通过flattenlayer输出空间特征向量,空间特征向量可表示为yt-i∈r23×1(i=1,2,…,32)。

(2)构建循环神经网络,该网络由2层神经元组成,且每层神经元个数为32个,为缓解循环神经网络梯度爆炸和参数复杂的问题,该循环神经网络采用基于mgu单元构建的循环神经网络。

(3)在mgu循环神经网络构建完成之后,在该网络中添加1层展平层(flattenlayer)。

(4)展平层神经元的输出,通过全连接层连接,最后通过回归预测层输出未来时刻流量矩阵值。

步骤3:把数据集分割为两部分,一部分为训练集,另外一部分为测试集,使用训练数据集对建立的神经网络模型进行训练,获得轻量级时空深度学习网络流量预测模型。

(1)把经过预处理的数据集按照7:3的比例划分为训练集和测试集,输入所述32个历史时刻的流量矩阵至所述神经网络预测模型中,进行时空特征的提取,所述的网络流量矩阵使用的是geant数据集,该数据集包括23个节点。

(2)使用训练集对构建好的模型进行训练,以时间宽度为32的滑动窗口从训练集上获取模型输入的数据,用矩阵可以表示为如下:

xinput=[xt-32,xt-31,…,x32]

其中模型的输入为t时刻以前32个历史时隙的网络流量矩阵,目标是要预测未来第t+1个时隙的网络流量矩阵的值。

(3)将使用滑动窗口获得的连续训练历史流量数据输入流量预测模型中,对轻量网络流量时空相关深度学习模型进行前向传播。

(4)其中将步骤(21)所述的32个卷积神经网络的输出输入到所述的循环神经网络中,结合网络流量的时间依赖性,输出预测的流量向量特征值,则第32个mgu单元输出的向量可表示为ht,其中mgu单元的门控单元计算按照如下公式:

ft=σ(wf[ht-1,yt]+bf)(1)

第32个mgu单元的输出即为对应采样时刻的隐藏门控单元的输出ht,ht向量经过flattenlayer层压平,作为全连接层的输入。

(5)通过计算模型的预测值与真实值的损失,对时空相关深度学习模型进行后向传播,调整模型中对应的参数。

(6)使用adam优化方法对整体网络的损失l进行优化,其公式如下:

其中,pij表示相应采样时隙模型目标矩阵对应的预测值,xij表示相应采样时隙的真实流量值。

(7)循环步骤(2),步骤(3),步骤(4),(5),当迭代次数达到预设次数时,停止模型训练。

(8)继续使用adam对步骤(6)所述的损失函数进行优化,调整参数,得到最终的网络流量时空相关特征预测模型。

步骤4:根据已获得的历史流量矩阵,通过该网络预测模型,预测未来时刻的网络流量矩阵的值。

(1)已经获得第t个时隙之前的历史流量矩阵,使用连续的t-1,t-2,…,t-p个时隙的流量矩阵作为已训练好模型的输入;

(2)经过训练好的模型的各个模块的计算,就可以获得第t+1个时隙网络流量矩阵。

最后说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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