张志宏, 刘传领
(商丘师范学院 信息技术学院, 河南 商丘 476000)
随着网络技术的不断普及, 网络用户数量越来越多, 使得网络流量急剧增加, 网络阻塞时有发生, 导致网络上信息丢失和延迟严重, 给网络管理带来挑战[1-3]. 网络流量是一个评价网络管理质量的重要参数, 根据历史数据集对网络流量进行建模与预测, 可帮助网络管理员掌握网络流量的变化规律, 改善网络服务质量. 精确、 快速的网络流量预测是降低网络拥塞的重要保障, 因此网络流量预测是网络管理领域的一个重要研究方向[4-5].
目前, 已有许多网络流量预测模型, 这些模型主要划分为两类: 1) 基于传统统计学理论的线性预测模型, 如分数差分自回归滑动平均模型, 由于现代网络是一个复杂的非线性系统, 网络流量变化趋势具有不确定性, 因此线性模型的网络流量预测精度很难得到保证[6]; 2) 基于现代统计学理论的非线性预测模型, 如人工神经网络、 深度学习网络等, 其具有良好的非线性拟合能力, 可对网络流量变化趋势的非线性和不确定性进行建模, 使网络流量预测结果好于线性模型[7]. 在实际应用中, 人工神经网络由于采用经验风险最小化原则的学习原理, 收敛速度慢, 陷入局部极值的概率高, 经常获得过拟合的网络流量预测结果, 降低了网络流量预测精度[8-10]. 深度学习网络基于结构风险最小化准则的学习原理, 不存在收敛速度慢、 陷入局部极值的缺陷, 但其网络流量预测结果受惩罚因子和核函数核宽参数的影响较大. 因此目前主要采用网格搜索方法、 遗传算法、 粒子群优化算法对深度学习网络参数进行优化, 但这些算法易陷入局部最优解, 无法获得最优的惩罚因子和核函数核宽度[11].
灰狼算法(grey wolf optimizer, GWO)是一种模拟狼群捕食行为和层级制度特点的新型群智能算法, 具有调整参数少、 收敛速度快的特点. 本文针对深度学习网络在网络流量预测建模过程中的参数优化难题, 以改善网络流量预测结果为目标, 提出一种基于改进灰狼算法优化深度学习网络的网络流量预测模型, 并与基于其他算法优化深度学习网络的网络流量预测模型进行对比分析.
深度学习网络对训练样本进行学习, 建立描述输入与输出变量之间关系的函数. 设训练样本集合为T={(x1,y1),(x2,y2),…,(xn,yn)}, 则
f(xi)=ωTφ(xi)+b,
(1)
其中n表示训练样本的数量, φ(xi)表示映射函数,ω表示权值向量,b表示阈值向量[12-14].
定义不敏感损失函数为
(2)
基于不敏感损失函数, 式(1)可转化为求解极小化目标函数问题, 即
(3)
其中C表示惩罚因子. 引入松弛变量, 则式(3)变为
(4)
联立式(1)和式(5), 并对ω,b,ξ,ξ*求偏导, 可得
(6)
(7)
从而
引入核函数代替积运算φ(xi)Tφ(xj), 可得深度学习网络的预测决策函数为
(9)
其中k(x,xi)为核函数, 本文选择径向基核函数
k(x,xi)=exp{-‖xi-x‖/(2σ2)}.
(10)
图1 灰狼社会等级划分示意图
灰狼群体具有严格的社会等级关系, 可划分为4个等级α,β,δ,ω, 如图1所示, 其中: 狼α为头狼, 表示最优解; 狼β为协助者, 表示次优解, 狼δ服从狼α,β的命令, 表示第三优解; 狼ω没有自主决策能力, 表示其余候选解.
1) 包围行为. 当灰狼发现猎物时, 狼群就对猎物进行包围, 设其与猎物之间的距离为D, 则
D=|C·Xp(t)-X(t)|,
(11)
X(t+1)=Xp(t)-A·D,
(12)
其中:Xp和X分别表示猎物和位置向量;A和C为系数向量, 计算公式为
(13)
2) 捕猎行为. 灰狼将猎物包围后, 由狼α,β,δ带领狼群不断靠近猎物. 用Xα,Xβ,Xδ分别表示α,β,δ相对于猎物的位置,Ai和Ci表示系数向量, 则α,β,δ位置更新公式为
(14)
(15)
(16)
根据式(15),(16)灰狼不断调整其与猎物的方向和距离, 最后α所在位置为问题的最优解. 在实际应用中, 灰狼算法存在收敛速度较慢、 容易陷入局部最优解、 很难收敛到全局最优解等不足, 因此需对灰狼算法进行改进.
1) 改进自适应收敛因子. 灰狼算法的求解结果与A值相关, 而A值与收敛因子a密切相关. 传统灰狼算法的a采用线性递减方式, 易陷入局部最优解, 本文利用Sigmoid函数的特点, 将其引入到收敛因子更新过程中, 计算公式为
(17)
其中tmax表示最大迭代次数[15]. 由式(17)可知, 随着迭代次数的增加,a值呈非线性减小, 可发现多个潜在最优解.
2) 改进灰狼位置更新公式. 引入惯性权重对灰狼位置进行更新, 使灰狼尽快跳出局部最优值, 计算公式为
X(t+1)=φX(t)-AD,
(18)
式中φ为惯性权重, 其变化方式为
(19)
为测试改进灰狼算法的性能, 选择与传统灰狼算法进行对比实验, 采用如下3个标准测试函数作为测试对象:
改进灰狼算法与传统灰狼算法的性能对比结果如图2所示. 由图2可见, 相对于传统灰狼算法, 改进灰狼算法的收敛精度有很大提高, 收敛速度更快, 验证了对传统灰狼算法改进的有效性.
图2 改进灰狼算法与传统灰狼算法的性能对比
网络流量具有一定的混沌变化特性[16-17], 是一种典型的时间序列数据, 因此需通过引入相空间重构技术得到合适的嵌入维数m和延迟变量τ, 对网络流量时间序列进行重构, 提高网络流量预测精度. 设网络流量时间序列为x1,x2,…,xn, 其中n表示时间序列的长度, 则有
Di={di,di+τ,…,di+(m-1)τ},i=1,2,…,N-(m-1)τ.
(23)
目前确定嵌入维数m和延迟变量τ的方法很多, 本文选择C-C算法确定m和τ, 取m=1,2,…,k,n=1,2,…,j,ri=i×0.5σ, 其中σ表示时间序列的标准差, 则C-C算法的参数计算公式为
(24)
(25)
(26)
在深度学习网络的网络流量建模过程中, 惩罚参数C和核参数至关重要, 直接影响网络流量的预测精度. 为提高网络流量预测精度, 建立深度学习网络的网络流量预测参数优化数学模型[18-19]为
(27)
其中k表示参数组数. 本文引入改进灰狼算法对式(27)进行求解, 找到最优参数C和σ.
1) 收集描述网络流量变化的历史数据, 根据时间前后组成一维时间序列数据;
2) 采用相空间重构技术中的C-C算法确定最佳嵌入维数和延迟变量;
3) 根据最佳嵌入维数和延迟变量得到一组多维的网络流量时间序列数据;
4) 从多维的网络流量时间序列数据中选择部分数据组成训练样本, 其他数据为测试样本;
5) 初始化狼群种群, 确定C和σ的取值范围;
6) 确定灰狼种群的适应度函数, 并将其值作为猎物位置, 根据灰狼算法的工作原理, 寻找最优函数值, 即猎物的最优位置;
7) 根据猎物最优位置得到参数C和σ的最优值;
8) 先根据最优参数C和σ对深度学习网络进行训练, 再根据训练精度建立网络流量预测模型;
9) 输入测试样本, 网络流量预测模型输出测试样本预测值.
灰狼算法优化深度学习网络的网络流量预测流程如图3所示.
图3 灰狼算法优化深度学习网络的网络流量预测流程
图4 原始网络流量的时间序列
为验证基于灰狼算法优化深度学习网络的网络流量预测模型的有效性, 选取某服务器一段时间内的网络流量作为实验对象, 如图4所示. 为验证基于灰狼算法优化深度学习网络的网络流量预测结果的性能, 选择与经典的基于粒子群优化算法和基于遗传算法优化深度学习网络的网络流量预测模型进行对比实验. 所有模型均选择100个样本作为测试样本, 其他样本作为训练样本. 网络流量预测建模的仿真软件为MATLAB R2017.
图的变化曲线
图6 Scor(t)的变化曲线
采用粒子群优化算法、 遗传算法和灰狼算法优化深度学习网络参数C和σ, 每种算法的种群数量均为20, 迭代次数为500, 不同算法找到最优参数的迭代次数列于表1. 由表1可见, 改进灰狼算法少于粒子群优化算法和遗传算法的迭代次数, 加快了深度学习网络参数寻优的速度.
表1 不同算法的深度学习网络优化参数
图7 不同模型的网络流量预测结果对比
将每种模型均进行5次仿真实验, 每次实验随机选择100个测试样本, 3种模型的网络流量预测结果如图7所示. 由图7可见, 基于遗传算法优化深度学习网络的网络模型流量预测偏差较大, 其次为基于粒子群优化算法的优化深度学习网络模型, 网络流量预测效果最优者为基于灰狼算法的优化深度学习网络模型, 可以较准确地描述网络流量的变化趋势, 得到了更高精度的网络流量预测结果. 这主要是由于改进灰狼算法找到了更优的深度学习网络参数, 建立了更理想的网络流量预测模型. 实验结果验证了本文模型的优越性.
在4核Intel 2.75 GHz, 32 GB RAM, Win10操作平台上统计不同模型对网络流量的训练时间和预测时间, 结果列于表2. 由表2可见, 基于改进灰狼算法的模型网络流量预测时间与基于粒子群优化算法、 遗传算法的模型相差很小, 但训练时间明显少于基于粒子群优化算法和遗传算法的模型, 表明基于改进灰狼算法的优化深度学习网络的网络流量预测复杂性未增加, 提高了网络流量预测建模效率.
表2 不同模型的训练时间和预测时间对比
综上所述, 为更准确地对网络流量进行建模和预测, 本文针对深度学习网络在网络流量建模过程中的参数优化问题, 结合灰狼算法收敛速度快、 全局和局部搜索能力强的优点, 提出了一种基于改进灰狼算法的优化深度学习网络的网络流量预测模型, 并通过应用实例得到如下结论:
1) 网络流量的变化是多种因素共同影响的结果, 引入相空间重构可更好地描述原始网络流量数据的变化趋势, 同时更有利于后续深度学习网络的学习, 可有效改善网络流量预测结果;
2) 对标准灰狼算法的缺陷进行改进, 可提高灰狼算法的收敛速度, 减少算法陷入局部极值的概率, 寻优耗时短, 能快速、 有效地找到深度学习网络参数, 在提高网络流量预测精度的同时, 可以满足网络流量预测的实时性要求;
3) 与基于其他算法优化的深度学习网络相比, 基于改进灰狼算法优化深度学习网络模型的网络流量预测误差更小, 网络流量预测误差控制在实际应用的有效区间内, 网络流量预测精度约提高5%, 更适合网络流量的建模与分析.