一种基于GRU的网络态势预测方法

文档序号:37932506发布日期:2024-05-11 00:11阅读:8来源:国知局
一种基于GRU的网络态势预测方法

本公开实施例涉及网络安全,尤其涉及一种基于gru的网络态势预测方法。


背景技术:

1、随着互联网的技术的不断发展,计算机网络的应用范围在不断扩大,而且各种网络攻击技术也层出不穷,为现有网络的安全运行带来了很大的挑战。为保证大规模网络的稳定运行,学者们将各种安全技术应用在网络中以保证其正常工作,其中包括防火墙、入侵检测、安全扫描等。然而上述技术只能从单一层面应对大规模网络中的网络安全问题,无法更好的分析引起网络变化的因素,也难以实现对网络快速且精准的评估和预测。因此,网络中亟需一种新的防御技术来实时反映整体安全状况,以便网络管理人员能及时采取有效的措施来处理网络中的异常,保证网络的稳定运行。

2、网络安全态势感知(network security situation awareness,nssa)技术可以对网络中提供的各种要素信息进行提取、融合和分析,从而将这些数据处理为网络管理人员能够理解的更为全面的网络态势知识。网络态势预测通过已知的历史数据和当前网络态势数据,利用智能预测模型进行推导预测,发现态势数据中的关联性,从而预测未来一段时间内网络态势的变化趋势。特别是大规模网络中来自于流量监控设备、防火墙等设备的数据信息在不断增多,现有的网络数据中心难以进行实时的处理分析。软件定义网络对网络设备的转发功能和控制逻辑进行解耦,软件定义网络(software defined network,sdn)控制器充当“大脑”,负责全网的控制逻辑,维护并更新全局的网络拓扑和状态信息,这种集中管理的特性提高了对全网的感知能力,可以高效利用网络态势数据,也为网络态势感知提供了基础支撑。然而网络设备的增多,使得单个sdn控制器性能受限,难以满足复杂的网络管理,且单控制器因为负担过重可能引起单点故障问题,从而导致网络故障。


技术实现思路

1、为了避免现有技术的不足之处,本发明提供一种基于gru的网络态势预测方法,用以解决现有技术中存在单个sdn控制器性能受限,难以满足复杂的网络管理,且单控制器因为负担过重可能引起单点故障问题,从而导致网络故障的问题。

2、根据本公开实施例,提供一种基于gru的网络态势预测方法,该方法包括:

3、根据态势指标体系对网络态势数据进行采集,对网络态势数据进行预处理,并将预处理后的网络态势数据按照预设比例划分为训练集数据和测试集数据;

4、构建gru模型,输入训练集数据对gru模型进行训练,利用issa算法对gru模型的学习率和迭代次数进行优化,初始化麻雀算法中发现者和跟随者位置,并将均方根误差作为适应度函数,以获得当前轮的麻雀个体的最优位置;

5、基于每轮迭代后得到麻雀个体的最优位置,利用萤火虫算法的扰动策略进行位置更新,以得到全局最优解;

6、将全局最优解作为gru模型的最优学习率和迭代次数,以完成对gru模型的训练;

7、将测试集数据输入至训练后的gru模型中进行验证,得到最终的态势预测结果。

8、进一步的,态势指标体系包括:

9、可用性态势、威胁性态势和稳定性态势;

10、其中,可用性态势包括cpu负载、内存负载、packet_in速率、packet_out速率和控制器负载,威胁性态势包括告警类型分布、告警频率、告警频率变化率和攻击利用的服务类型,稳定性态势包括子网流量变化率、数据包分布、链路带宽、时延、服务故障率和请求服务分布。

11、进一步的,gru模型的运算过程包括:

12、更新门通过sigmoid函数将数据变为0~1之间的数字,以通过当前时刻更新记忆信息,其计算公式为:

13、zt=σ(wz·[ht-1,xt])   (1)

14、式中,zt为更新门,xt表示t时刻神经单元的数据输入,ht-1为上一时刻的神经单元的数据输出,wz为由更新门的权重组成的第一权重矩阵,σ表示sigmoid函数;

15、重置门将上一时刻的神经单元的数据输出ht-1和t时刻神经单元的数据输入xt与第二权重矩阵wr相乘,再将两者计算的结果相加之后用sigmoid函数处理之后得到一个0~1之间的值,以将新输入的态势数据与前面记忆相结合;其计算公式如下:

16、rt=σ(wr·[ht-1,xt])   (2)

17、式中,wr为由重置门的权重组成的第二权重矩阵;

18、通过更新门和重置门将输入的信息进行舍弃和记忆之后,计算得到候选状态值其计算公式如下:

19、

20、式中,tanh()表示tanh激活函数,表示第三权重矩阵;

21、更新门筛选前一时刻的隐含层ht-1中忘记的信息,再加入当前时刻的隐含层信息最终得到隐含层信息ht,其计算公式如下:

22、

23、式中,ht为隐含层信息;

24、通过更新门和重置门存储并过滤信息,通过门函数保留重要特征,并捕获依赖项,进而得到最佳的输出值yt:

25、yt=σ(w0·ht)   (5)

26、式中,yt为最佳的输出值,w0为第四权重矩阵。

27、进一步的,issa算法包括:

28、基于麻雀算法,初始化麻雀算法的种群,设置种群大小n,最大迭代次数iteration,初始化发现者、加入者和预警者的比例以及安全阈值;

29、计算种群中麻雀个体的适应度值,并进行排序;

30、麻雀个体更新发现者位置和追随者位置;

31、按照预设比例随机选择警戒者并更新警戒者位置;

32、计算新的适应度值并更新麻雀位置;

33、利用萤火虫扰动策略,将种群中的麻雀个体映射为萤火虫个体,将适应度值作为萤火虫个体的最大荧光亮度i0,并计算萤火虫的萤光亮度i和吸引度β,且对种群位置进行更新;

34、计算适应度值,保留最优个体的位置;

35、当满足结束条件时,输出最优结果。

36、进一步的,issa算法还包括:

37、当不满足结束条件时,则重新计算种群中麻雀个体的适应度值,并进行排序。

38、进一步的,麻雀个体更新发现者位置的计算公式为:

39、

40、式中,q为服从正态分布的随机数,n为算法的迭代次数,l为1×k维的矩阵;itermax为算法的最大迭代次数,α∈(0,1],取任意值,r2为预警值,r2∈[0,1],st为安全值,st∈[0.5,1];

41、麻雀个体更新追随者位置的计算公式为:

42、

43、式中,为发现者个体的全局最差位置,为发现者个体的局部最优位置,a为1×k维矩阵,该矩阵中每个元素随机赋值为1或者-1,且a+=at(aat)-1,at为a的转置,(aat)-1为表示矩阵aat的逆矩阵;

44、更新警戒者位置的计算公式为:

45、

46、式中,为全局最优位置,k∈[-1,1],为控制麻雀的运动方向,μ是步长控制参数,服从正态分布,ε为常数,防止公式中分母为0,fi为麻雀个体i的适应度值,fg是当前麻雀种群的最优适度值,fw为当前麻雀种群的最差适度值;

47、更新种群位置的计算公式为:

48、xi=xi+β·(xj-xi)+α·(rand-1/2)   (9)

49、计算吸引度β的计算公式为:

50、

51、计算萤火虫的萤光亮度i的计算公式为:

52、

53、式中,α为控制扰动的步长因子,rand为服从均匀分布的随机扰动因子,用来增大寻优区域,其取值范围为[0,1],β0为萤火虫个体的最大吸引度,其值一般为1,e为自然常数,γij为两只麻雀xi和xj之间的空间距离。

54、进一步的,利用issa算法对gru模型的学习率和迭代次数进行优化的步骤中,包括:

55、将gru模型的网络参数个数作为麻雀个体位置的维数分量,对gru模型的网络结构参数进行优化;

56、设定gru神经网络的结构参数pop=(pop1,pop2,pop3,pop4),并编码为麻雀个体的初始位置向量xij=(xi1,xi2,xi3,xi4);其中,pop1为gru模型的第一个隐含层中神经元的个数,pop2为gru模型的第二个隐含层中神经元的个数,pop3为的是迭代次数,pop4为的是学习率,xij为第i只麻雀在四维空间中的第j位置;

57、通过issa算法的不断迭代,将最终得到最优解的位置进行解码,经转换之后得到的gru模型的最优参数。

58、本公开的实施例提供的技术方案可以包括以下有益效果:

59、本公开的实施例中,通过上述基于gru的网络态势预测方法,基于构建的态势指标体系的基础上提取网络特征向量,以构成时间序列输入到门控循环单元,然后通过门控循环单元进一步提取特征并得到态势值。另外,构建gru模型并通过issa算法来对gru模型中的超参数进行迭代寻优,提升了gru模型在长时间序列预测过程中的性能。该gru模型预测精度高,不容易陷入局部最优且搜索能力强。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1