基于蚁群算法优化BP神经网络的政务云网络态势预测研究
2020-12-07王岩雪孙大跃
王岩雪 孙大跃
摘 要: 针对常规BP神经网络预测模型存在的预测精度低、收敛速度慢等问题,给出一种蚁群优化BP神经网络预测模型,用于政务云的网络安全态势预测。同时,对蚁群算法的信息素更新规则进行改进,并将改进后的蚁群算法应用于BP神经网络权值和阈值的优化,得到BP神经网络预测模型的最优权值和阈值,并将最优权值和阈值用于BP神经网络训练和预测。实验仿真结果表明,与传统BP神经网络安全预测模型相比,采用优化后的模型进行网络安全态势预测时,其收敛速度和预测精度都得到了明显的提高。
关键词: 政务云; 主动防御; BP神经网络; 蚁群算法; 态势预测; 预测精度
中图分类号: TN711?34 文献标识码: A 文章编号: 1004?373X(2020)21?0072?04
Research on government cloud network situation prediction
based on ant colony algorithm optimized BP neural network
WANG Yanxue, SUN Dayue
(School of Information Engineering, Changan University, Xian 710064, China)
Abstract: In view of the low prediction accuracy and slow convergence speed of the conventional BP (back propagation) neural network prediction model, an ant colony algorithm optimized BP neural network prediction model is proposed for the network security situation prediction of government cloud. Meanwhile, the pheromone update rule of ant colony algorithm is improved, and the improved ant colony algorithm is used to optimize the weight and threshold value of BP neural network to get the optimal weight and threshold value of BP neural network prediction model, and the optimal weight and threshold value are used for the BP neural network training and prediction. The results of simulation experiment show that, in comparison with the traditional BP neural network security prediction model, the convergence speed and prediction accuracy of the network security situation prediction of the optimized model are improved significantly.
Keywords: government cloud; active defense; BP neural network; ant colony optimization; situation prediction; prediction accuracy
0 引 言
政务云本质是电子政务与云计算技术结合的产物,它通过云计算技术整合政府的资源数据,构建一个底层基础架构平台,在该平台上进行政府部门各种业务办理和服务,实现了各个政府部门之间的数据共享,有效地促进政府部门服务水平和效率的提高。通过制定政务云统一标准,避免了政府机构基础化设施的重复建设,解决了传统电子政务存在的“信息孤岛”问题[1]。由于政务云平台是将各个政府的信息资源数据进行集中存储,这种大规模的数据资源更容易成为攻击目标,而且由于政务云平台存储的信息数据多是机密信息这一特殊性,一旦政务云平台被黑客入侵,所造成的后果和影響是远远不可想象的,因此对政务云的安全防护显得尤为重要。而传统的网络安全防护技术,如防火墙、杀毒软件等是一种被动的防御措施,只能描述过去和当前的网络安全状态,不能对未来的网络安全态势进行预警,因此,建立有效的网络态势预测模型,并对未来的网络状态进行预测,使得政务云平台在面对网络攻击时,可以提前做出防御措施,降低网络安全隐患给人们带来不必要的损失,对政务云平台的安全防护有着重要意义。
网络安全态势感知是Time Bass于1999年首次提出的,它主要通过采集影响网络安全的威胁因素并进行分析,然后将这些数据通过某种评估模型进行一系列的数学方法处理,得到网络安全态势评估值,利用态势评估值对未来网络安全状态进行预测[2]。而对网络安全态势进行预测是网络安全态势感知的重要环节,通过对网络安全态势预测,可以及时预测到网络中即将发生的安全事件,以便于管理者提前做出防御措施,进行主动防御。当前网络安全预测模型主要包括时间序列预测、灰度预测、神经网络预测、支持向量机预测[3]。
文献[4]提出了一种基于改进的粒子群算法优化SVM参数网络安全态势预测模型,模型预测精度高,能够很好地实现对网络攻击的主动防御。文献[5]利用威胁性、脆弱性、风险性、基础运行4个网络运行安全指标建立一个网络安全态势评估体系,然后通过层次分析法对该评估体系进行计算,得出网络安全运行状态的综合安全指数,并利用BP神经网络预测模型进行网络安全态势预测。
本文中针对常规BP神经网络预测模型存在的易陷入局部最优、学习效率较慢、预测精度较低等问题[6],利用蚁群算法具有全局寻优强、搜索速度快、精度高等优点,对BP神经网络参数进行优化,得到蚁群算法优化BP神经网络的预测模型。仿真结果显示,优化后的模型收敛速度和预测精度都得到了提高,可以更好地对政务云的网络安全态势进行预测,有效促进了对政务云系统的网络安全防护。
1 BP神经网络
BP神经网络(Back Propagation Neural Network,BPNN)是典型的前馈神经网络,通常由输入层、隐含层、输出层构成,如图1所示。
由于BP神经网络具有结构简单、泛化能力强、非线性映射等优点,经常被用在图像处理、预测方面。由图1可知,BP神经网络的学习训练过程包括输入信号的前向传递和输出误差反向传播。当输入信号前向传递时,样本数据[xi]由输入层输入,经由隐含层中的神经单元处理后,传递到输出层,得到输出层的输出结果[y],若输出结果[y]与最初设定的期望值之间存在误差,而且误差较大,则BP神经网络学习训练过程从信号前向传递变为误差反向传播,将存在的误差以一定的方式由输出层向前反向逐层传递,通过不断地调整输入层和隐含层的连接权值[wij],输出层和隐含层的连接权值[wj1],使得输出误差不断减小,当满足误差要求时,得到模型各个层权值的确定值,将输入数据集输入训练好的BP神经网络进行正向传播,得到输出结果。
2 蚁群优化的BP神经网络预测模型
2.1 蚁群算法
蚁群算法是一种在全局寻找最优路径的概率型算法,它是一种基于种群的启发式仿生进化系统。在蚁群寻找食物源时,各个蚂蚁是通过一定范围内其他蚂蚁在路径上释放的信息素浓度来选择行走路径,并释放信息素,提升该路径上的信息素量。当某条路径上的信息素浓度越来越高时,它被选择的概率也越来越大,经过一段时间后,最终整个蚁群就会沿着信息素浓度最高的路径,即最优路径找到食物源[7]。
2.2 模型建立
蚁群优化BP神经网络预测模型算法主要由以下两部分组成:
1) 通过蚁群算法寻找BP神经网络最优参数组合,即全局搜索BP神经网络的输入层和隐含层的连接权值[wij],输出层和隐含层的连接权值[wj1],隐含层阈值[bj],输出层阈值[b]。输入训练数据集,将搜索到的权值和阈值用于BP神经网络,并计算出每一组搜索到的参数组合所对应的BP神经网络实际输出值和期望输出值的误差,找到最小误差,更新信息素。如果误差满足蚁群算法要求或迭代次数达到设定要求,此时,所对应BP神经网络的权值和阈值即为最优权值和阈值。
2) 将最优权值和阈值作为BP神经网络的初始权值和阈值,不断修正BP神经网络的权值和阈值,直到误差满足设定误差或迭代次数达到最大迭代次数,输入网络安全态势值测试数据集,利用训练好的BP神经网络模型做网络安全态势预测[8]。
蚁群优化BP神经网络预测模型的具体步骤如下所示:
步骤1:初始化。设置BP神经网络的参数,即确定BP神经网络结构,训练误差[ε],学习效率[η],最大迭代次数[Nmax]。设定蚁群算法时间为[t],迭代次数为[Nt=0],信息素初始值为[τ0],每条路径的信息素初始浓度应为相同的值,信息素挥发系数为[ρ],最大迭代次数为[Nmax]等[9]。
步骤 2:将要被优化的BP神经网络的参数即所有权值和阈值总个数确定为[m]个,将这些参数设为[pi1≤i≤m],每一个参数都有[N]个随机非零值,形成集合[Spi]。
步骤3:有[k]只蚂蚁位于蚁穴初始位置,启动全部蚂蚁,其中,蚂蚁[a]随机从集合[Spi]选择某一集合中的一组权值和阈值,然后按照下面的概率公式选择下一个集合,随机在下一个集合中选择一组权值和阈值,直到每只蚂蚁都在[m]个集合中各选择了一组权值和阈值组合。其中,[τjSpi]为集合[Spi]中某[j]组权值和阈值组合的信息素值。
[PaτjSpi=τjSpij=1NτjSpi] (1)
步骤4:将每只蚂蚁选择的权值和阈值作为BP神网络的权值和阈值,输入训练样本,计算BP神经网络实际输出和期望输出的误差[ea],其中,[ea=e-eq],[e]为实际输出,[eq]为期望输出,对误差[ea]进行排序,找到最小误差,它所对应的蚂蚁即为最优解。若最优解满足蚁群算法结束条件,则最优解对应BP神经网络的最佳权值和阈值组合,跳转到步骤7,否则,进行步骤5。
步骤5:为了使信息素的分配更加合理,对信息素的更新规则进行改进,改进公式为式(2)。当所有蚂蚁完成全部集合的一次循环后,按照式(2),式(3)对信息素进行更新。
[τjSpjt+1=1-ρτjSpjt+ρΔτjSpj] (2)
[ΔτjSpj=a=1kΔτajSpj+ΔτbestjSpj] (3)
式中:[ΔτajSpj=Qea],[Q]为常数,通常取1;[ΔτbestjSpj=1eabest],[eabest]为最优解对应的最小误差。
步骤6:重复步骤3~步骤5,直到蚁群算法的迭代次数[Na]满足最大迭代次数,结束循环。
步骤7:将得到的权值和阈值组合,作为BP神经网络的初始权值和阈值,不断调整BP神经网络连接权值和阈值,直到达到所设定的误差要求或者最大迭代次數,得到最佳BP神经网络模型。