基于深度强化学习的实时日志异常检测方法
- 国知局
- 2024-10-09 16:35:13
本发明涉及日志异常检测,具体涉及一种基于深度强化学习的实时日志异常检测方法。
背景技术:
1、随着信息技术的革新和现代计算机系统的广泛应用,各种安全威胁和攻击手段也不断演变和增强,确保系统安全性和可靠性成为至关重要的任务。异常检测是大规模系统事件管理的重要手段,其目的是及时发现系统的异常行为。目前几乎所有现代计算机系统中都具有日志模块,系统日志详细记录了系统运行时信息,支持各种系统管理和诊断任务,例如确保应用程序安全性、识别性能异常、诊断错误和崩溃等。与系统异常行为相关的日志往往存在固定模式,可以用来诊断系统问题的来源,以及预测潜在的系统问题。因此,在许多系统的开发和维护过程中,系统日志被广泛用作异常检测的数据源。
2、现有的日志异常检测方法通常可以分为三种:基于规则的日志异常检测方法、基于机器学习的日志异常检测方法以及基于深度学习的日志异常检测方法。
3、然而,基于规则的方法严重依赖于专家的领域知识,需要手动定义静态规则集,缺乏自适应性和泛化能力。随着系统和日志数据的变化,规则的维护和更新也变得复杂和耗时,难以应对复杂的异常模式,从而容易导致大量的误报情况。
4、基于传统机器学习的方法如pca、决策树和不变量挖掘等,则需要手动设计日志的特征才能进一步进行检测。不同类型的日志数据可能具有不同的特征模式,且这些算法难以捕捉复杂的非线性关系。
5、基于深度学习的日志异常检测方法可分为有监督和无监督方法。有监督方法需要大量的标签数据,无监督的方法通常依赖于设定的异常阈值,且现有的方法在系统更新时,往往需要结合历史数据重新训练整个模型,这是十分耗时的。
技术实现思路
1、为解决上述技术问题,本发明提供了一种基于深度强化学习的实时日志异常检测方法,包括以下步骤:
2、步骤s1:通过正则表达式将日志数据集中每条日志的参数进行替换得到日志文本,并提取数值型参数;
3、步骤s2:将替换后的日志文本转化为语义向量,将所述数值型参数转化为数值参数向量,将所述语义向量和数值型参数向量进行拼接得到状态向量;
4、步骤s3:将每条所述特征向量作为一种状态,所有进行替换后的日志作为动作集合,对深度q网络进行训练;
5、步骤s4:采用训练后的深度q网络进行日志异常检测,得到日志异常检测结果。
6、优选地,所述日志文本中剔除时间戳数据,所述数值型参数中包括时间戳间隔数据。
7、优选地,步骤s2中将替换后的日志文本转化为语义向量的表达式为:
8、;
9、;
10、式中,表示表示去除主成分前的句向量,表示预处理后不同日志的数量,为常数,是单词在日志语句中出现的概率,表示单词的词向量,表示的所有向量拼接得到矩阵的第一奇异向量,表示最后得到的语义向量。
11、优选地,所述深度q网络包括经验池、当前值网络、目标值网络和针对不同状态进行动作的智能体,采用经验回放技术对所述智能体进行更新。
12、优选地,步骤s3中进行训练的方法包括:
13、步骤s31:初始化经验池;
14、步骤s32:从经验池中随机采样n个样本进行训练;
15、步骤s33:将当前状态向量输入当前值网络中生成预测q值,并计算目标q值;
16、步骤s34:计算所述预测q值和目标q值之间的误差损失;
17、步骤s35:重复步骤s32至步骤s33对当前值网络参数进行反向传播,通过优化器进行优化,每一轮结束后将将当前值网络的参数值赋值给目标值网络,以完成训练。
18、优选地,步骤s31包括:
19、步骤s311:将训练集每个会话的日志奖励和设置为0,初始化经验池的结构为一个空列表;
20、步骤s312:遍历每个状态向量,智能体基于ε-greedy策略选择下一步动作,即以贪婪系数ε的概率随机选择一个动作,以1-ε的概率将状态值输入当前值网络中,输出每个动作的分数并选择分数最大的动作;
21、步骤s313:读取下个状态值,并设置动作奖励,若下一状态为该日志序列的最后一条时,设置该动作的奖励为50,并记录下中止状态值,否则设置奖励为1;
22、步骤s314:根据步骤s312和步骤s313得到的信息,向经验池中添加格式为(状态,动作,奖励,下一状态,终止标志)的五元组;
23、步骤s315:重复步骤s312至步骤s314直到遍历完整个训练集,以初始化经验池。
24、优选地,所述目标q值的表达式为:
25、;
26、式中,r、分别为动作奖励、下一状态值和回合中止标志,是针对下一步奖励的折扣因子,,表示已知下一状态值下采取不同动作的累计回报。
27、优选地,所述深度q网络还包括针对新增日志的参数更新步骤:
28、步骤s361:针对固定时间长度相邻窗口内的日志数据进行处理得到状态向量;
29、步骤s362:计算两个窗口数据的标准均值差;
30、步骤s363:连续监控相邻窗口数据的标准均值差,当大于阈值时,收集第二个窗口的的数据放进经验池中;
31、步骤s364:针对经验池中的数据进行参数更新。
32、优选地,步骤s364的表达式为:
33、;
34、式中,为学习率,为更新后的参数,为深度q网络损失函数针对更新数据的梯度,w表示可搜索的参数空间。
35、优选地,步骤s35中优化器选择adam进行优化。
36、本发明的有益效果至少包括:通过自然语言处理的句嵌入技术和日志参数解析,提取准确的日志序列语义特征和数量特征。通过运用深度q网络dqn,其采用用深度神经网络对状态进行函数近似,使得智能体能够处理高维的状态空间,实现更准确的日志异常检测。
技术特征:1.一种基于深度强化学习的实时日志异常检测方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种基于深度强化学习的实时日志异常检测方法,其特征在于:所述日志文本中剔除时间戳数据,所述数值型参数中包括时间戳间隔数据。
3.根据权利要求1所述的一种基于深度强化学习的实时日志异常检测方法,其特征在于:步骤s2中将替换后的日志文本转化为语义向量的表达式为:
4.根据权利要求1所述的一种基于深度强化学习的实时日志异常检测方法,其特征在于:所述深度q网络包括经验池、当前值网络、目标值网络和针对不同状态进行动作的智能体,采用经验回放技术对所述智能体进行更新。
5.根据权利要求4所述的一种基于深度强化学习的实时日志异常检测方法,其特征在于:步骤s3中进行训练的方法包括:
6.根据权利要求5所述的一种基于深度强化学习的实时日志异常检测方法,其特征在于:步骤s31包括:
7.根据权利要求5所述的一种基于深度强化学习的实时日志异常检测方法,其特征在于:所述目标q值的表达式为:
8.根据权利要求5所述的一种基于深度强化学习的实时日志异常检测方法,其特征在于:所述深度q网络还包括针对新增日志的参数更新步骤:
9.根据权利要求8所述的一种基于深度强化学习的实时日志异常检测方法,其特征在于:步骤s364的表达式为:
10.根据权利要求5所述的一种基于深度强化学习的实时日志异常检测方法,其特征在于:步骤s35中优化器选择adam进行优化。
技术总结本发明提供了一种基于深度强化学习的实时日志异常检测方法,包括以下步骤:步骤S1:通过正则表达式将日志数据集中每条日志的参数进行替换得到日志文本,并提取数值型参数;步骤S2:将替换后的日志文本转化为语义向量,将数值型参数转化为数值参数向量,将语义向量和数值型参数向量进行拼接得到状态向量;步骤S3:将每条特征向量作为一种状态,所有进行替换后的日志作为动作集合,对深度Q网络进行训练;步骤S4:采用训练后的深度Q网络进行日志异常监测,得到日志异常监测结果。不仅可以提升日志分析的效果和准确性,而且帮助用户更好地理解和管理系统。技术研发人员:周俊伟,王春龙,喻向天,高钰杨,向剑文,杨焱超受保护的技术使用者:武汉理工大学技术研发日:技术公布日:2024/9/26本文地址:https://www.jishuxx.com/zhuanli/20240929/313459.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。