周任军,王文晶
(山西大学商务学院,山西 太原 030031)
网络流量[1]是判定网络性能和运行状态的重要指标,对网络流量进行预测,进而对流量进行适当调整以及控制,对网络管理具有重要意义。为建立精准、稳定的网络流量预测模型,近年来神经网络成为该研究领域关注的焦点,相关研究人员提出了较多研究成果。
胡竟伟[2]提出基于小波变换和极限学习机的流量预测模型。该方法小波变换处理网络流量的时间序列,对得到的不同频率特征分量进行空间重构。选用极限学习机对网络流量各分量建模预测,并对各分量的预测值进行小波重构,得到初始网络流量预测数值。该方法具有稳定性,但是存在预测精度较低的缺陷。刘科[3]等人提出基于生物地理学优化算法的BBO-ELM预测模型。首先在ELM预测模型的基础上,将BBO优化算法用于ELM的网络输入变量、隐含层节点的配置及参数。在此基础上进行Tikhonov正则化参数的优化选取。该模型的网络流量预测准确度较高,但是抗干扰能力较差。强延飞[4]等人针对网络性能优化中短期流量预测模型选择问题,采用支持向量回归、神经网络和线性时间序列等模型,对MAWILab数据集中骨干网流量进行短期预测。利用一步预测方法,得到不同流量序列样本的预测结果,通过量化预测误差比较不同模型的预测性能。该方法有较好的预测准确度,但是记忆能力较差。
针对以上传统方法存在的不足,提出新的基于深度神经网络的网络流量预测模型。仿真结果表明,深度神经网络具有多隐层结构特征,相比其它流量预测模型,该模型预测精度更高,抗干扰能力更强,可被广泛应用。
深度神经网络[4]由微软公司推出的软件,可以模仿人类的思考方式,具有快速识别网络流量动态性特征能力,准确率较高。深度神经网络具备的多隐层结构,主要用于对网络中的输入向量进行多次训练。其主要结构如图1所示。
图1 深度神经网络结构
深度神经网络由输入层、多隐层以及输入层三部分构成。与传统神经网络相比,深度神经网络(DNN)具有多隐含结构特点。X代表网络输入量,输入量包括m维的列向量值,(W,B)代表各隐含层间的权重和阈值构成的矩阵[5]。深度神经网络利用每个隐含层自上个层次得到的向量值,进行函数激活的非线性转变。再将得到的数值传递至下一神经元,依次反复迭代,最终传递至网络输出y处。相比传统神经网络,DNN所具备的多隐含层深度明显提高,可弥补传统神经网络的不足。
神经元[6]是深度神经网络的基本构成元素。图2为单输入神经元,x代表输入数值,w表示神经元的权值,b表示神经元阈值,f则是激励函数,y为神经元的输出向量。经过计算,得到输入数值、权值和阈值的结果,作为激励函数的输入数值,此时输出值为y=f(wx+b)。得到的激励函数f通常具有连续性的S型函数值,可完成神经网络中输入到输出的任意非线性预测。
图2 单输入神经元
假设输出层包含的神经元为m,深度神经网络的输出数值为y′,期望结果为y,将误差平方和设为E,则可得出
(1)
得到的权值修正方程为
(2)
其中,wij表示在深度神经网络中神经元i至j的连接权值,η为速率,Ij代表第j个隐含层中的激励函数值。
基于深度神经网络构建的网络流量预测模型中,初始数据及阈值的选择对预测性能和精确度起着重要作用。若数据选择不当,则将造成预测模型收敛速度慢、结果不准确等问题。
神经元作为深度神经网络构成的基本要素,为全面刻画流量动态序列规律,需构造具有反馈体系的深度神经网络预测模型。传统流量预测模型未考虑网络流量的动态性特征,因此得到的预测结果存在一定缺陷。深度神经网络预测模型中的单隐层的前馈网络,属于局部逼近网络。其中,隐含层基函数可采用高斯函数表示为
(3)
隐含层中节点输出加权后进入输出层,即输出层为预测模型中隐含层的线型组合,可得知
(4)
在上述式(3)—(4)中,x∈Rn代表输入向量值,φ(·)为高斯函数,‖·‖为欧几里德范数,ci∈Rn表示深度神经网络中第i个隐含节点的场中心,φi∈R表示第i个隐含节点中的场域宽度数值,nc表示隐含层中节点数值,wi表示第i个隐含节点中的基函数值与输出节点的连接权值,w0表示输出偏移量的调整值。
不同的网络输入向量影响预测结果[7-8]。通常深度神经网络的输入类型有:连续时刻的输入、若干周期数据、某周期内的平均数值、相邻时间点数据差值等,图3为数据处理过程。
图3 数据处理过程
若以某个交换机中一个月内的网络流量数据作为参考,可发现流量存在显著“工作日”特性。例如周一至周五网络活动频繁,同时初始数据变化幅动较大(数据间有3个数量级的差距),说明网络流量的动态性较强。
基于深度神经网络构建的网络流量预测模型中,若数据选择不当,可能会造成预测模型收敛速度慢、结果不准确等问题。因此构建预测模型前,对初始数据需进行规则化处理,如下所示:
(5)
深度神经网络预测模型主要是模仿生物处理模型,通过获取到智能信息处理论,运用连接大量的复杂神经元,并通过学习、自组织以及非线性动力学等方式,选择并行分布方式处理信息,如图4所示。
图4 深度神经网络工作流程
模型的输入向量[10]设为X=[x1,x2,…xn],在n个隐含层中,每层节点数量分别用l1,l2,…,ln代表,同时设置输出层节点为1。深度神经网络的第1层隐含层次在时刻t的输出向量可被描述为
R1(t)=f{W1[X(t),z(t)+B1]}
(6)
在上述式(6)中,R1(t)代表第1层隐含层输出向量数值;W1、B1表示输入层与第1层隐含层间的矩阵方程;B1代表在时刻t中,关联层至第1层隐含层间的反馈输入数值[11];f代表流量预测模型中隐含层的非线性激活函数值。
网络流量动态预测模型为
J(k)=R1(t)[(y(k-1),y(k-2),…,y(k-m))]
(7)
其中,m代表预测模型阶数,y(k-1),y(k-2),…,y(k-m)分别表示第k,k-1,k-2,…,k-m时间点上的网络流量数值。f(·)代表复杂的非线性函数值,选用深度神经网络进行建模,将网络动态流量设置为5阶和6阶,分别用m=5和m=6表示,与之对应的网络流量动态预测模型如图5所示。
图5 网络流量预测模型结构图
由于深度神经网络是建立在多层前馈型的神经网络之上的,层次结构较多,每层结构都由众多神经元构成。不同层间神经元均采用全互联方式连接;而同一层间的神经元无连接。因此,每层可选用不同的激励函数进行计算预测模型。
基于深度神经网络的网络流量预测模型计算由两部分构成:输入流量的正向传播、预测误差的方向传播。在模型预测的过程中,首先在深度神经网络中,随机选取一组神经元之间的连接权值和阈值,预测样本从输入层开始逐层计算,直至输出层则计算结束。将得到的输出与期望结果进行对比,若误差值未达到极限误差数值,则进行输出层误差变化值的计算,当误差值已经达到误差上线,则误差信号顺沿原本的通路反传回来,此时调整各层神经元间的权值和阈值,两个方向反复交替计算,使得网络流量预测结果与期望误差平方相加接近设定值,或达到迭代次数位置,使基于深度神经网络的网络流量预测模型预测结果接近实际数值,以此选取合适权值和阈值,实现网络流量的动态预测。
将深度神经网络中各层次结构之间的权值及阈值进行优化,得出适应度函数为
(8)
在利用深度神经网络进行预测的研究中,目前还没有一种通用的可适应各种网络环境的计算方法,反之,在一个环境下性能较高的算法可能在其它环境下预测结果出现偏差较大。因此,需结合所预测的网络流量情况选择适当的神经网络结构和计算方法,如是否需要反馈数据、保留历史记录等。
现阶段,网络流量预测模型计算方式通常使用遗传算法,但使用遗传算法计算由深度神经网络构建的预测模型,由于数据的选取、算子设定等因素,初始数据选择较大则会造成计算速度慢,选择数据较小则会降低深度神经网络多隐含特性,引起误差。
(9)
因此,可设性能指标的求解方程为
(10)
通过上述求解得出使J处于最小值的权值矩阵W。
(11)
为验证研究网络流量预测结果的有效性,设计如下实验。实验的软件环境为Windows10操作系统、Matlab R2012b、Libsvm,硬件环境为Intel Core i54670-3.4GHz,8.OGB内存,500GB硬盘,实验选取不同模型网络流量预测误差和模型稳定性两个指标作为模型有效性评价的标准。图6为实验硬件示意图。
图6 实验环境
本次实验选取流量的一部分数据作为训练网络,剩余部分数据作为预测模型的源数据。通过分析过去时间段内的流量数据,进行预测未来时间段内的数据。两种预测模型进行预测误差对比,如图7和表2所示。
图7 预测误差对比
分析图7给出的预测误差对比信息,可知随网络节点数量的增加,模型1与模型2的预测误差值高,且预测误差率变化幅度较大,预测准确度低。所提方法在测试过程中的预测误差值小,且误差率变化幅度小。
分析表2数据可知所提方法在不同测试阶段的平均绝对百分误差(MAPE)值均小于模型1及模型2的平均绝对百分误差值;且预测误差最大值同样小于模型1及模型2的预测误差最大值。综上所述,所提方法可以预测准确率高。
为进一步验证所提方法的抗干扰性,在不同方法预测网络流量之前,对网络施加干扰,干扰信号的幅值在0~1.2Hz之间,干扰信号如图8所示。将文献[2]方法作为实验对照组,在网络干扰下,将传统方法的应用稳定性与所提方法作比较,可对比出不同方法的抗干扰性能。
图8 干扰信号示意图
由图9、图10、图11实验结果可以看出,当网络存在一定干扰时,文献[2]方法在流量预测时长150~300s之间出现了明显不稳定现象,其波动幅值达最高到了0.15Hz;文献[3]方法在流量预测时长48~60s及150~280s之间分别出现了不稳定现象,其波动幅值最高达到了0.1Hz;而相比之下所提方法受网络干扰的影响较小,仅在流量预测时长150s~300s之间出现了轻微波动。说明所提方法在预测过程中受网络干扰影响小,可以较稳定地对网络流量进行预测。
图9 文献[2]传统方法应用稳定性
图10 文献[3]传统方法应用稳定性
图11 所提方法应用稳定性
由仿真结果可知,基于深度神经网络的网络流量预测模型,相比其它传统方法,预测效果更佳,且具有更优抗干扰性能。该方法具有更好的应用前景。
针对传统方法存在网络流量预测结果精确度低、稳定性差等问题,本文提出基于深度神经网络的网络流量预测模型。利用隐含层与关联层帮助提高神经网络动态记忆力,划分深度神经网络为多个神经元。引入输出向量构建流量动态预测模型,优化模型权值与阈值,完成网络流量的预测。在仿真对比实验中,将所提方法模型与其它预测模型对比,该模型输入信号的平稳程度有所增强,保障预测精度较高的同时,又保障了流量的基本统计特性。仿真结果验证了所提方法的有效性。因此,所提方法可被应用于流量预测的研究中。
因本人学识有限,论文仍存在不足,在今后的研究中将以网络流量的预测效率为方向,进一步完善网络流量预测模型。