基于神经网络模型的网络流量预测综述

2020-03-11 04:11徐展琦
无线电通信技术 2020年2期
关键词:网络流量神经网络函数

杜 爽,徐展琦,马 涛,杨 帆

(西安电子科技大学 综合业务网理论及关键技术国家重点实验室,陕西 西安 710071)

0 引言

随着互联网的高速发展,用户对网络资源的需求持续增加,因此精确规划网络资源使用已成为运营商的首要任务[1-2],而网络流量预测技术可以帮助运营商准确预估网络的使用情况,合理分配并高效利用网络资源。

针对网络流量时间序列,许多学者采用线性预测模型,其中广泛使用的有自回归(AR)、滑动平均(MA)及其改进模型,主要包括:以时间点为基础建立的多元线性AR模型[3]、分段自回归滑动平均(ARMA)模型[4]、差分自回归移动平均(ARIMA)模型[5]、差分自回归求和滑动平均(FARIMA)模型[6]等。此外还有学者将非线性理论应用于网络流量预测,提出基于支持向量机(SVM)、灰色模型(GM)、高斯过程(GP)和神经网络(NN)的预测模型。例如,基于支持向量机补偿的灰色模型[7]、高斯过程混合预测模型[8]和基于长短期记忆神经网络的流量预测模型[9]等。

虽然上述模型预测效果较为理想,但仍存在不足。随着网络复杂度的增加,网络流量的分布特性已经超出传统意义上认为的泊松分布或者 Markov分布[10],因此线性模型很难保证预测的准确性。在非线性预测模型方面,SVM 需要的样本数小,但其关键参数很难确定,也无法输出置信区间;灰色模型不适合规律性较差的流量数据预测;高斯过程需要使用完整的样本数据,且在高维空间会失去有效性。有关网络预测的大量研究表明,在大数据和高维度特征的背景下,基于神经网络NN的网络流量预测模型优势明显,其不足只是当训练数据的规模较大时,训练时间比较长。

近年来,很多专家和学者对网络流量预测做了研究,将NN模型与传统的预测技术相结合以提升预测性能。本文简述网络预测的关键因素与误差评判,重点介绍若干可用于网络流量预测的NN模型及其原理,为有关网络流量预测的学术研究和实际应用提供可借鉴的方法和途径。

1 网络预测的关键因素与误差评判

为了使网络流量预测的结果更加接近网络的实际状态,在预测过程中需要考虑以下几种对网络流量预测性能有较强影响的因素。

一般情况下历史数据越多,数据的变化规律就越容易获取,预测结果就越精确,但实际上网络流量序列在不同时间段内的变化规律不同,即存在周期性。因此针对不同的变化规律和预测目标,选择合适的时间尺度来确定历史数据的规模十分重要[11],可以避免冗余信息降低预测性能。

随着网络资费的不断下调,全网的流量快速增长,但是在不同场景下,用户的流量使用习惯不同,导致流量的变化情况也存在较大差异,因此对用户潮汐、突发流动、话务迁徙和刚性满载等难以量化的用户行为特征进行标签区分可以有效提高预测精度。

将网络流量预测的数据集分割为训练和验证两部分的方式对预测结果也有很大影响,目前较为常用的有两种:① 在完整数据集上训练和验证,但验证所用时间跨度比训练所用时间跨度前移一个预测间隔;② 将数据集分割成用于训练和验证的两个独立部分,该方法是机器学习中的经典分割方法。

采用合适的指标来评估不同网络流量预测方法的性能至关重要,这些评价指标必须能够展示预测结果与实际网络流量状况的差异程度或相似程度。在关于流量预测的大量研究中,常用指标如下:

① 百分比平均相对误差(PR)[12]:表示预测值与真实值之差相对于真实值的平均绝对百分比变化情况,其值越小意味着预测精度越高。

(1)

② 均方根误差(RMSE)[10]:表明预测值与真实值之差的均方根,其对细微误差较灵敏。

(2)

③ 均等系数(CE)[12]:表示预测值与真实值的相似程度,其值越大表明预测越准确。

(3)

2 网络流量预测的神经网络模型

在已有研究中用于预测的NN模型主要有以下8种:多层前馈神经网络(MLFNN)、径向基函数神经网络(RBFNN)、小波神经网络(WNN)、时间延时神经网络(TDNN)、循环神经网络(RNN)、卷积神经网络(CNN)、深度置信网络(DBN)和模糊神经网络(FNN)。本节将详细讨论上述每种NN模型。

2.1 多层前馈神经网络(MLFNN)

如图1所示,MLFNN由一个输入层、一个或多个隐含层和一个输出层组成,每层包含若干节点(神经元),各层节点可通过加权链路与其相邻层节点相连。

图1 多层前馈神经网络模型Fig.1 Multilayer feedforward neural network model

MLFNN是最常见的神经网络之一,通过调整非线性激活函数和多层结构中的权重来拟合非线性函数,并且可以结合不同的优化算法来提高性能,例如用蚁群优化算法来缩小连接权重[13],以减小RMSE;用遗传算法来优化预测模型结构[14],以提高学习速度。

MLFNN结构简单,已被广泛应用于预测研究;但当数据间的相关性较为复杂时,该模型不足以利用这些相关性来实现更准确的预测。

2.2 径向基函数神经网络(RBFNN)

RBFNN模型包括3层:输入层、隐含层和输出层,其中隐含层使用径向基函数(RBF)作为激活函数。RBF是实值函数,通常定义为输入样本值与隐含层节点数据之间的欧氏距离。研究者们也将各种智能优化算法用于提高RBFNN的预测性能,例如使用粒子群优化算法优化中心、宽度和权重等参数[15-16],采用人工蜂群算法选择权重和阈值[17]。

由于RBFNN具有较强的泛化性和鲁棒性,且隐含层和输出层之间的连接权重可以在一个步骤中训练得到,通常比MLFNN训练速度更快,预测精度更高。但是RBF参数对RBFNN性能有较大影响,而根据具体的问题来选择RBF参数比较困难。

2.3 小波神经网络(WNN)

WNN模型本质上是一个MLFNN模型,但隐含层用小波函数作为激活函数,该模型综合利用小波变换的多尺度分析能力和NN的自学习能力来逼近复杂模式[18]。

很多研究学者提出将遗传算法、蚁群算法和粒子群算法等智能优化算法与WNN相结合的网络流量预测模型,可有效克服小波神经网络收敛速度慢、易陷入局部最优的缺点[19-21],提高网络流量的预测精度。

WNN的训练复杂程度较低,其参数比RBFNN更容易确定,并且比MLFNN具有更好的泛化能力。由于小波函数具有处理时间和频率维度的能力,因而WNN更适用于解决包括网络流量状态信息在内的非线性时间序列预测问题。

2.4 时间延迟神经网络(TDNN)

TDNN模型通常可以定义为多层NN,通过利用延迟的输入或状态来捕获时间序列的动态信息。延时应用于输入层的TDNN模型由图2给出,隐含层中的神经元在时间t以及t-1~t-n时接收输入值。同理延迟也可以用在模型的其他层中,此时该模型具有反馈连接,可以认为是RNN的一种形式。

TDNN模型在整个训练过程中延时固定,因而训练所需时间更短,但其捕获数据动态信息的能力较差。

2.5 循环神经网络(RNN)

2.5.1 标准循环神经网络

标准的RNN模型存在反馈连接,用于将先前步骤的状态或输出馈送到下一步骤,反馈连接可以存在于隐含层相邻节点之间,也可能存在于隐含层与输出层节点之间。

RNN适合处理动态时间序列,其存储器利用先前时间的状态信息来灵活地捕获时间依赖性,但当RNN与反向传播等传播技术相结合时,误差信号向后传播通过网络,往往会出现梯度消失或梯度爆炸的问题,因而RNN不适合处理具有长期依赖性的问题。后来提出的具有门控机制的新型RNN,例如长短期记忆(LSTM) NN和门控循环单元(GRU) NN,可以有效解决这个问题。

图2 时间延迟神经网络模型Fig.2 Time delay neural network model

2.5.2 长短期记忆神经网络

为了克服传统RNN中梯度消失问题,研究者们提出LSTMNN模型[22],采用门控机制决定何时以及如何更新模型中存储的信息,从而弥补传统RNN在捕获数据长期依赖性方面存在的缺陷。

如图3所示,LSTMNN在隐含层应用LSTM单元,使网络以更加灵活有效的方式捕获流量数据中的时态依赖关系[23]。图4给出LSTM单元的结构,它通常由遗忘门、输入门和输出门组成。遗忘门将先前隐含层的状态信息ht-1和当前输入的信息Xt同时输入到Sigmoid函数(图中用σ表示),决定应丢弃或保留哪些信息。输入门将ht-1和Xt都送到Sigmoid函数和tanh函数,并把两个函数的输出相乘,决定添加当前输入中的哪些重要信息,以此更新单元状态。输出门确定隐含层状态ht应携带的信息,最后把ht作为当前单元的输出,把LSTM单元新状态Ct和新隐含层状态ht传输给下一个时刻的LSTM单元。

图3 长短期记忆神经网络模型Fig.3 LSTM neural network model

图4 长短期记忆单元Fig.4 LSTM unit

2.5.3 门控循环单元神经网络

GRUNN是LSTMNN模型的一种变体,即用GRU替换LSTM单元。如图5所示,GRU结构中只有重置门和更新门两个门结构,且去除单元状态,仅使用隐含层状态来传输信息。重置门将上一时刻的隐含层状态ht-1和当前的输入信息Xt送入Sigmoid函数(σ)得到St,再与ht-1相乘,决定要丢弃哪些信息和需要添加哪些新信息。更新门的作用类似于LSTM单元中的遗忘门和输入门,它将1-St的值与ht-1相乘,用于决定丢弃或保留先前信息的程度。再将重置门的输出与Xt送到tanh函数,并将结果乘以St后与更新门的输出求和,得到新的隐含层状态ht。GRUNN与LSTMNN相比,所需训练参数较少,收敛速度更快[24],但由于二者性能较为相似,一般研究者会将二者在指定场景下都运行,再选择性能较优者作为应用模型。

图5 门控单元模型Fig.5 GRU model

2.6 卷积神经网络(CNN)

CNN是一种特殊的深度前馈NN,包括输入层、隐含层和输出层,隐含层由卷积层、池化层和完全连接层构成。卷积层将输入特征与训练得到的权重集进行卷积,产生输出特征,并在卷积层之后利用池化层对该层输入进行子采样。在传统前馈NN中,相邻两层之间是完全连接的,而CNN中卷积层是通过滑动滤波器局部相连,因此可以获得输入矩阵的局部空间特征。

卷积运算可自动提取数据特征,已有研究利用CNN能够捕获流量状态相关性的优势提高预测精度[25]。由于CNN具有稀疏连接和共享权重的特性,因此当神经元数量相同时,训练所需操作较少,但用于学习不同层次特征的若干卷积层会导致计算成本较高。

2.7 深度置信神经网络(DBN)

图6的DBN是由多层受限玻尔兹曼机(RBM)堆叠而成,通过将一个RBM的输出用作下一个RBM的输入来挖掘输入数据的高阶特性。RBM由相邻两列节点(也称可视层和隐层)组成,层间存在无向连接,层内神经元间无连接,训练后的隐层神经元能捕捉高阶数据在可视层表现出来的相关性。

DBN使用无监督学习算法一次一个地训练玻尔兹曼机堆栈,提取用于预测的特征向量,再采用监督学习法对模型进行训练来微调权重。与具有相同层数的传统深度神经网络相比,DBN训练速度更快,且可以提取有用的输入特征,增强模型的泛化能力并减轻过拟合问题。

图6 深度置信神经网络模型Fig.6 Deep belief neural network model

2.8 模糊神经网络(FNN)

FNN包括输入层、输出层和代表模糊规则的隐含层,层与层之间的连接权重表示模糊集。模糊系统首先使用模糊集的隶属函数将输入映射到0~1之间的实数值,然后将模糊规则应用于映射值,最后生成输出值。

FNN通过NN的自适应近似能力提取模糊参数,即模糊集和模糊规则,并将基于规则的系统与NN结合以提高模型的可解释性。虽然寻找模糊系统的隶属函数和适当的模糊规则比较困难,但是FNN能够通过NN的自适应近似能力来学习模糊参数。

2.9 预测模型属性比较

为了将NN应用于不同的领域和依据需要选择相应的模型,表1给出主要流量预测模型的特性及适用场景。

表1 流量预测模型特性
Tab.1 Characteristics of traffic prediction models

类型方法优点缺点适用场景线性预测模型AR,MA,ARMAARIMA,FARIMA模型简单,计算复杂度低,处理速度快预测精度低,不能反映真实网络业务的突发性和长相关特性适合具有短相关特性的业务预测 非线性预测模型SVM泛化能力强,所需样本数少,不易陷入局部最优解模型的选择需要凭借经验和大范围搜索,可靠性差适合样本数量较小的非线性时间序列的预测GP泛化能力强,具有可解释性需要使用完整的样本数据,且在高维空间会失去有效性适合样本数据完整的多步前向预测GM不需要大量样本,计算量小,具有较强的数据挖掘能力对不规则变化的数据,拟合效果不理想适合变化速度慢且数据集不完备的时间序列预测NNMLFNN结构简单收敛速度慢,当数据间的相关性较复杂时,预测精度较低适合短相关的非线性时间序列预测RBFNN泛化性强,鲁棒性高,训练速度快,可避免陷入局部最优解参数确定比较困难适合非线性时间序列的实时预测WNN具有多尺度特性,所需参数少,预测精度高易陷入局部最优解,实时性较差,小波基的选择也会影响模型的预测精度适合多尺度特性较明显且对时延要求较低的非线性时间序列预测TDNN延时固定,训练速度快捕获数据动态信息的能力较差适合样本具有时间相关性且对实时性要求不高的预测

续表

类型方法优点缺点适用场景非线性预测模型NNRNN可灵活捕获数据的时间依赖性会出现梯度消失或梯度爆炸的问题LSTM能较好地处理大时间尺度数据的影响收敛速度较慢,参数无法直接确定,易陷入局部最优GRU参数较少,训练速度快,所需样本数量少参数更新会影响整个网络状态的有关信息CNN能捕获数据的局部空间特征需要大样本量,计算复杂度较高,冗余性高,无记忆特性DBN训练速度更快,能够提取有用的数据特征,泛化能力强,可避免过拟合问题计算复杂度较高FNN可解释性较强,收敛速度快寻找模糊系统的隶属函数和恰当的模糊规则比较困难适合动态的短相关时间序列预测适合样本数量多且具有长期依赖性的时间序列预测适合样本数量较大,对预测精度要求较高且时延不敏感的非线性时间序列预测适合样本数量较小的非线性时间序列预测适合具有高阶特性的非线性时间序列预测

3 结束语

通过研究现有关于网络流量预测的NN模型,并借鉴与其类似的交通流量预测算法,可知将NN模型用于网络流量预测可有效提高预测精度、缩短预测处理时间。结合现有研究中各种预测算法存在的问题,可以得到以下的研究设想:

现有的大部分研究中用于预测的数据集中的流量尚未达到网络所能承载的流量上限,需要验证各模型的预测性能在网络流量处于负载饱和或者过饱和的情况下与未达饱和值时是否一致,从而找到一种更符合实际场景且精度较高的预测模型。

为了使预测模型达到较好的效果,所采用的历史数据精度需要很高,而这种要求一般难以满足,我们需要检验各模型在历史数据不全或者准确度不高时的预测效果,进而针对不同规模和准确性的历史数据选取合适的预测模型,以实现更为精准的预测。

由于单独的预测模型对于预测结果的提升并不是很突出,因此许多研究者将不同的预测算法与NN模型相结合来提高模型的预测性能。例如,文献[26]利用灰色理论所需训练样本少的特点,结合NN误差可控的优势,可加快收敛速度并提高预测精度。合理地选取不同的模型进行组合,充分发挥各自的优势,值得进一步深入研究。

NN具有较强的自学习能力,可很好地利用历史数据进行预测,将NN用于预测时延、故障情况、拥塞程度、链路质量等其他网络参数,有助于大幅提高网络设备的性能,进而综合提升整个网络性能。

猜你喜欢
网络流量神经网络函数
大数据驱动和分析的舰船通信网络流量智能估计
基于递归模糊神经网络的风电平滑控制策略
基于双向长短期记忆循环神经网络的网络流量预测
二次函数
二次函数
函数备考精讲
神经网络抑制无线通信干扰探究
大数据环境下的网络流量非线性预测建模
基于神经网络的中小学生情感分析
基于Q-Learning算法和神经网络的飞艇控制