基于双向长短期记忆循环神经网络的网络流量预测

2022-02-19 10:23杜秀丽范志宇吕亚娜邱少明
计算机应用与软件 2022年2期
关键词:时间尺度网络流量集上

杜秀丽 范志宇 吕亚娜 邱少明

1(大连大学通信与网络重点实验室 辽宁 大连 116622) 2(大连大学信息工程学院 辽宁 大连 116622)

0 引 言

随着互联网的发展,网络的异构性和复杂性不断增强,而网络的规划、设计和运行都是以分析和预测网络流量的特性为前提的。网络流量预测对增强网络性能、解决网络拥堵、防止网络入侵有着重要的作用。经过大量的研究发现:网络流量表现出自相似特征、非平稳特征、长时间相关特征和突发性特征等[1-2]。

网络流量预测方法主要有两类:平稳预测方法和非平稳预测方法。平稳预测方法中马尔可夫(Markov)模型[3]很容易构建,可以清晰地描述出整个过程,但增加模型的参数时将会存在很大的计算量。自回归(Auto Regressive,AR)模型和自回归滑动平均(Auto Regressive Moving Average,ARMA)模型[4]理论计算方法简单且求解速度快,但无法有效描述网络流量的非平稳特性。自回归积分滑动平均(Auto Regressive Integrated Moving Average,ARIMA)模型[5]只能对流量变化不大或者流量变化存在规律的网络流量进行预测。

网络流量非平稳预测方法中,基于支持向量机(Support Vector Machine,SVM)的网络流量预测方法[6-7]能够解决网络流量预测中小样本、非线性、高维和局部极值等问题,但训练样本和自身网络参数对预测结果的好坏影响很大。由于网络流量在时频域具有稀疏性,研究者将压缩感知技术[8-9]引入网络流量测量和预测中,将网络流量预测问题转变成重新构造网络流量的问题,提高了预测的准确性。但是压缩感知中网络流量的分析和观测矩阵的设计还有待进一步提高。为了能够进一步解决网络流量非线性的问题,专家学者们开始致力于研究基于深度学习的网络流量预测方法[10]。Azzouni等[11]在此基础上,提出了基于长短期记忆循环神经网络(Long Short Term Memory,LSTM)的网络流量预测方法,提高了预测的准确性。但长短期记忆循环神经网络对网络流量学习是按照单一方向进行的,导致越早学习部分特征遗忘得越多,起到的作用越小,忽略了天与天之间上下双向的联系,从而影响最终的预测结果。

针对以上存在的问题,为了能够进一步提高网络流量预测的准确性,本文提出一种基于双向长短期记忆循环神经网络(Bi-directional Long Short Term Memory,BiLSTM)的网络流量预测方法。对网络流量序列进行双向学习,避免单向学习导致较早学习部分,特征提取和记忆效果差的问题。同时双向学习可以充分挖掘网络流量天与天之间双向的联系,完整地学习到网络流量的整体特征,更好地进行网络流量预测。

1 基于LSTM的网络流量预测方法

长短期记忆循环神经网络是由Hochreiter等[12]提出,Graves等[13]进行优化和推广的一种改良后的循环神经网络。LSTM神经网络中拥有时间记忆单元,能够对时间序列中长短期依赖的信息进行学习,从而对时间序列中的间隔和延迟事件进行处理和预测,因此可以利用LSTM神经网络[14]对网络流量进行预测。

1.1 LSTM网络结构

LSTM神经网络具有独特的门限管理机制,一个能够正常工作、操控和保护神经元的LSTM网络具有三个门:输入门(Input gate)、遗忘门(Forget gate)和输出门(Output gate)。输入门从外部获取新的数据,同时对其进行处理。遗忘门决定网络单元细胞状态的遗忘程度,从而保留下来最具有特征的记忆细胞状态。输出门对LSTM单元计算出的结果进行选择性输出。LSTM单元的细胞状态是网络的灵魂,细胞状态信息可以在网络中进行传送,不会影响到神经元的状态。LSTM典型的网络结构如图1所示。

图1 LSTM单元结构

it=σ(Wu[ht-1,xt]+bu)

(1)

ft=σ(Wf[ht-1,xt]+bf)

(2)

Ot=σ(Wo[ht-1,xt]+bo)

(3)

(4)

(5)

ht=Ot×tanh(Ct)

(6)

其中所有的W和b均为参数,σ表示sigmoid激活函数,如式(7)所示。tanh表示双曲正切激活函数,如式(8)所示。

(7)

(8)

1.2 LSTM预测方法

网络流量预测是根据先前已知网络流量数据预测未来网络流量,它广泛用于网络规划、资源管理和网络安全中。Azzouni等[11]提出了一种基于LSTM的RNN框架,该框架可以有效地训练用于大规模流量预测的网络模型。训练和比较各种参数的LSTM模型后发现LSTM模型可以快速收敛,并且可以为相对较小的模型提供更好的预测性能。通过真实网络流量数据进行验证,证明了LSTM模型性能优于传统的线性方法,非常适合于网络流量预测。但LSTM网络本身对时间序列学习时存在早期特征记忆效果差、难以充分挖掘整个网络流量特征等问题,为此进一步研究后,本文提出一种基于双向长短期记忆循环神经网络的网络流量预测方法。

2 BiLSTM的网络流量预测方法

基于LSTM的网络流量预测方法在一定程度上提高了网络流量预测的准确性,但该方法在对网络流量进行学习时存在单一方向性等问题,忽略了网络流量天与天之间双向的联系,难以充分利用整个网络流量序列存在的特征。针对以上问题,为了能够进一步提高网络流量预测的准确性,本文提出一种基于双向长短期记忆循环神经网络的网络流量预测方法。对网络流量序列进行双向的学习,避免单向学习导致较早学习部分特征提取和记忆效果差的问题。双向学习可以充分挖掘网络流量天与天之间双向的联系,完整地学习到网络流量的整体特征。

2.1 BiLSTM网络结构

BiLSTM神经网络[15-16]是在LSTM神经网络的基础上改良而来的,由正向LSTM和反向LSTM神经网络融合而成。BiLSTM同时考虑了序列过去的特征和未来的特征,使用两个LSTM、一个正向输入序列、一个反向输入序列,再将两者的输出按照一定的权重结合起来作为最终的结果。BiLSTM[17-18]的隐藏层由正向LSTM细胞状态和反向LSTM细胞状态两部分组成。流量序列通过输入层进入隐藏层分别参与正向计算和反向计算,最终输出结果由输出层按照一定的权重融合正向LSTM输出结果和反向LSTM输出结果得到。BiLSTM的网络结构如图2所示。其中xt表示网络的输入,yt表示网络的输出。

图2 BiLSTM网络结构

2.2 BiLSTM预测方法

本文提出的基于BiLSTM的网络流量预测方法继承了LSTM预测方法的优点,同时弥补了LSTM预测方法的不足。BiLSTM预测模型如图3所示。

图3 BiLSTM预测模型

基于BiLSTM的网络流量预测算法分为训练和预测两个阶段。

1) 训练阶段。BiLSTM预测模型训练过程如图4所示。

图4 BiLSTM训练流程

具体步骤如下:

步骤1利用滑动窗口技术对采集到的网络流量原始数据进行处理,在数据归一化后,进行数据划分,得到网络流量训练集。

步骤2选定训练样本数,设定训练目标值与最大训练次数。

步骤3对BiLSTM网络流量预测模型的各个参数进行初始化。

步骤4判断训练计数值是否大于设定的最大训练次数,如果大于,执行步骤9,否则继续往下,执行步骤5。

步骤5将训练集的数据输入到BiLSTM模型中,根据式(1)到式(6)进行前向计算。

步骤6BiLSTM的正向和反向LSTM网络的输出加权融合得到预测结果。

步骤7将预测结果与真实值进行比较,计算预测误差值。

步骤8如果预测误差值小于设定的目标误差值,继续执行步骤9。否则执行基于时间的反向传播算法(Back Propagation Trough Time,BPTT)对网络参数值进行更新,同时训练计数值加1,返回步骤4。

步骤9完成对BiLSTM网络的训练。

2) 预测阶段。流量预测过程如图5所示。

图5 BiLSTM预测流程

详细步骤如下:

步骤1利用滑动窗口技术对采集到的网络流量原始数据进行处理,在数据归一化后,进行数据划分,得到网络流量测试集。

步骤2将测试集的数据输入到BiLSTM预测模型中,根据式(1)到式(6)分别进行前向计算。

步骤3BiLSTM网络内部,正向和反向LSTM网络的输出加权融合得到预测结果。

3 仿真实验

3.1 实验数据与环境

网络流量在1天和1星期内表现出较强的周期性和自相似性,利用该特性,选取1星期内的流量数据进行学习,对第8天的网络流量进行预测,从而验证提出方法的有效性。网络流量在1 s和0.1 s不同时间尺度下表现出突发性,由于突发性是具有自相似性的网络流量的一个明显特征[19],是长相关性引发的直接结果。长相关性是指:一个时间依赖的随机过程,在非常大的时间范围内或者在不同时间尺度下都表现出显著的相关性。长相关性反映了自相似过程的持续现象,是自相似性的一个重要特征。所以对网络流量进行分析,可以转为研究网络流量的自相似性。

本文所用的网络流量原始数据集来自WIDE backbone数据库,从该数据库下载了2019年1月1日到1月8日连续8天,每天13时00分00秒到13时15分00秒的网络流量原始数据。通过Wireshark网络封包分析软件,按照时间间隔1 s和0.1 s分别提取和统计每天的网络流量数据,得到不同时间尺度下连续8天的网络流量原始数据。网络流量部分原始数据如图6所示。将原始网络流量数据输入,利用滑动窗口方法进行截取处理。为了消除网络流量指标之间的量纲影响,对网络流量真实数据进行归一化处理,以解决网络流量数据指标之间的可比性。实验所使用的电脑环境为Intel(R) Core(TM) i7-4790 CPU @3.60 GHz,16.00 GB RAM dell,MATLAB 2014a。

图6 网络流量原始数据

3.2 不同时间尺度下预测结果及分析

为测试本文提出的基于BiLSTM的网络流量预测方法的真实有效性,经过大量实验,选定BiLSTM网络的参数为:输入层神经元个数60,隐含层神经元个数100,输出层神经元个数10,训练5 000次,学习率0.001。分别对比BiLSTM和LSTM两种方法在1 s和0.1 s不同时间尺度下,训练集和测试集上的预测结果。两种预测方法在一周连续7天,不同时间尺度数据集下,训练集上的测试结果分别如图7和图8所示。

图7 1 s时间尺度下训练集上测试结果

图8 0.1 s时间尺度下训练集上测试结果

从两图中可以看出,两种预测方法在不同时间尺度的训练集下,通过已知的前60步流量数据预测未知的后10步,BiLSTM预测方法由于在LSTM预测方法的基础上引入了对网络流量序列天与天之间进行双向学习的思想,因此在训练集上的测试结果相比LSTM预测方法的测试结果更加接近真实值。

图9和图10是时间尺度分别为1 s和0.1 s,两种预测方法在测试集下的预测结果。从两图中可以看出,在不同时间尺度下,通过已知的前60步预测未知的后10步,BiLSTM预测方法继承了LSTM预测方法的优点,同时弥补了LSTM预测方法的不足,因此在测试集上的预测结果更加收敛于真实流量数据。通过对两种方法在不同时间尺度下,训练集和测试集上预测结果的对比,验证了本文所改进的网络流量预测方法的有效性。

图9 1 s时间尺度下预测结果

图10 0.1 s时间尺度下预测结果

(9)

(10)

(11)

表1和表2分别表示了两种网络流量预测方法在1 s和0.1 s不同时间尺度下,在训练集上分别进行大量测试实验,将得到的预测结果与真实进行比较,计算后得到的多组实验的平均相对误差、平均绝对误差和最小均方误差的平均值。

表1 1 s时间尺度下网络流量测试结果

表2 0.1 s时间尺度下网络流量测试结果

通过在不同时间尺度下,训练集上测试结果的对比可以看出,BiLSTM预测方法由于在LSTM预测方法的基础上引入了对网络流量序列天与天之间进行双向学习的思想,弥补了原方法存在的不足,最终预测结果的MAPE提高了0.491%,MAE和MSE相比原算法分别提高了22%和30%。

表3和表4分别表示了两种网络流量预测方法在1 s和0.1 s不同时间尺度下,在测试集上,分别进行大量预测实验后,将得到的预测结果与真实值进行比较,计算后得到的多组实验的MAPE、MAE和MSE的平均值。

表3 1 s时间尺度下网络流量预测结果

表4 0.1 s时间尺度下网络流量预测结果

在不同时间尺度下,对比测试集上的预测结果可以看出,BiLSTM预测结果比LSTM预测结果的MAPE提高了1.848%,MAE和MSE相比原算法分别提高了30%和47%。通过两种预测方法分别在1 s和0.1 s不同时间尺度下,训练集和测试集上预测结果MAPE、MAE和MSE的对比,进一步验证了本文提出基于BiLSTM的网络流量预测方法是有效的,且预测效果优于基于LSTM的网络流量预测方法。

4 结 语

本文针对基于LSTM的网络流量预测方法存在学习单一方向性,越早学习部分特征记忆效果越差,难以充分利用整个网络流量特征等问题,提出一种基于BiLSTM的网络流量预测方法,对流量序列进行双向学习,充分挖掘网络流量的整体特征。采用真实网络流量数据库,对1 s和0.1 s不同时间尺度下的网络流量进行预测,分析结果表明:改进后的方法相比原方法具有更好的预测精度,MAPE提高了1.848%。

猜你喜欢
时间尺度网络流量集上
大数据驱动和分析的舰船通信网络流量智能估计
冠状病毒疫情二万多年前就已暴发
海口市雷暴气候特征及其灰色预测模型研究
奉节县干旱评估时间尺度适宜性研究
一种用于敏感图像快速加密的图像注入技术仿真
基于小波神经网络的网络流量预测研究
师如明灯,清凉温润
几道导数题引发的解题思考
基于时间序列分析的网络流量预测模型研究
2008年高考考前模拟试题(二)及略解