基于生成对抗网络的大规模软件系统的异常检测方法技术方案

技术编号:36527014 阅读:17 留言:0更新日期:2023-02-01 16:06
本发明专利技术公开了基于生成对抗网络的大规模软件系统的异常检测方法,包括使用聚类的方法去提取日志模板,使用Bert方法建立日志的词向量库,构建并训练检测模型,把训练好的模型对大规模软件系统进行异常检测,将异常检测任务转化为基于特征的序列预测;提出了一种基于LSTM的生成性对抗网络(GAN),该网络使用组合事件作为输入,缓解了LSTM网络对时序的强依赖型和系统自身的失序问题,同时GAN中的生成器和鉴别器相互博弈,直到生成器生成的虚假样例能欺骗鉴别器,这样生成器就能作为检测模型,根据时序系统日志,去分辨即将到来的异常事件,最后我们还将添加注意力机制,识别一些关键词义,进一步提高识别的准确性。进一步提高识别的准确性。进一步提高识别的准确性。

【技术实现步骤摘要】
基于生成对抗网络的大规模软件系统的异常检测方法


[0001]本专利技术涉及信息识别检测
,具体为基于生成对抗网络的大规模软件系统的异常检测方法。

技术介绍

[0002]近年来,随着人工智能领域的高速发展以及软件系统规模、复杂性的进一步提高,智能运维(AiOps)方面的研究也越来越受到国内外学者的广泛关注。其中系统异常日志检测无疑是目前最贴近企业实际需求的方向,因为系统日志中涵盖着各类有价值的信息(比如告警等)。但是其数量和复杂性的日益增长已经逐渐无法通过人工去进行检测和排查。所以采用机器学习的方法训练出异常日志的检测模型已成必然趋势。
[0003]但是采用机器学习方法存在以下问题:一段时间内包含大量的日志,如果存在异常,那么这段时间的所有日志都需要被检测,但是异常日志却无法及时定位;因此管理员需要诊断一段时间内的工作日志,这是一个艰难的任务,且在一段时间内的所有日志生成后,异常才会告警;换句话说,当异常日志到达时,无法有效地检测和响应异常;第三,一般来说,系统日志都具有时序行,由于系统延迟等未知原因,使得日志顺序混乱。
[0004]为此,提出基于生成对抗网络的大规模软件系统的异常检测方法,该方法利用了深度学习的相关理论。

技术实现思路

[0005]本专利技术的目的在于提供基于生成对抗网络的大规模软件系统的异常检测方法,以解决上述
技术介绍
中提出的管理员需要诊断一段时间内的工作日志,并一段时间内的所有日志生成后,异常才会告警的问题。
[0006]为实现上述目的,本专利技术提供如下技术方案:基于生成对抗网络的大规模软件系统的异常检测方法,包括以下步骤;
[0007]步骤一:提取日志模板;
[0008]步骤二:构建日志模板的词向量库;
[0009]步骤三:构建基于GAN的异常检测模型;
[0010]步骤四:将训练好的模型对大规模软件系统进行异常检测。
[0011]优选的,步骤一中采用聚类算法的方法提取日志模板。
[0012]优选的,步骤二中采用Bert模型的方法求解词向量,Bert模型由输入层、编码层和输出层构成,编码层由多个Transformer组成,具体包括:通过Bert模型提取源系统日志和目标系统日志中特征词之间的依赖关系,具体提取算法如公式(1)所示:
[0013][0014]其中,Q、K和V分别表示Query向量、Key向量和Value向量,对应编码器的输入字向量矩阵,dk为输入向量的维度。
[0015]优选的,步骤三中GAN系统包括生成器和鉴别器,生成器试图捕获真实训练数据集的分布,由正常和异常日志组成的假训练集并合成可信的样例,鉴别器则旨在通过判断模型区分使用真实和合成数据构建的数据集中的假实例,同时在生成器中添加键值对注意力机制。
[0016]优选的,步骤三中构建基于GAN的异常检测模型,具体包括以下步骤:
[0017]步骤3.1:在噪声数据分布中随机采样,输入生成模型,得到一组假数据,记为D(z);
[0018]步骤3.2:在真实数据分布中随机采样,作为真实数据,记作x;
[0019]步骤3.3:将步骤4.1中产生的假数据和步骤4.2中产生的真实数据输入至鉴别器中,通过鉴别器中的判别模型对的输入为真实数据和假数据进行鉴别,鉴别后判别网络的输出值为该输入属于真实数据的概率;
[0020]步骤3.4:根据得到的概率值计算损失函数;
[0021]步骤3.5:根据判别模型和生成模型的损失函数,可以利用反向传播算法,更新模型的参数,所述反向传播算法为先更新判别模型的参数,然后通过再采样得到的噪声数据更新生成器的参数,通过循环k次更新判别器之后,使用较小的学习率来更新一次生成器的参数。
[0022]优选的,所述生成器(G)和判别器(D)均使用LSTM网络。
[0023]优选的,所述键值对注意力机制是指只选择输入序列某一个位置上的信息,用(K,V)=[(K1,V1),

,(KN,VN)]来表示N组输入信息,其注意力函数用公式(2)表示:
[0024][0025]与现有技术相比,本专利技术的有益效果是:
[0026]1、本专利技术通过聚类算法是为了方便提取日志模板的,该算法不需要人工贴标签,进而提高该系统的工作效率,节省人力,在异常日志未生成之前就可以发出告警并,可以有效地检测和响应异常。
[0027]2、本专利技术通过采用GAN系统来缓解正常和异常实例之间的不平衡问题,而不是使用基于案例的模式,可以有效提取文本中的潜在信息,同时创新的置换事件组合模型也符合大规模软件系统日志信息的独特性,及时地对日志中的异常进行处理,通过添加注意力机制,识别一些关键词义,进一步提高识别的准确。
附图说明
[0028]图1为本专利技术的检测模型的构图;
[0029]图2为本专利技术聚类算法构建图;
[0030]图3为本专利技术Bert模型架构图;
[0031]图4为本专利技术的置换事件组合模型示意图。
具体实施方式
[0032]本专利技术对不同类型的日志进行相似性分析,并基于生成式对抗网络的方法进行异常检测,研究方法如下。
[0033]一般说来,日志都是由常量部分和变量部分组成,日志模板的提取实际上就是提
取常量部分,同一类的日志,其常量部分是一致的,只是变量部分不同,而不同种类的日志(例如不同的日志集群),其常量部分和变量部分都是不一样的。
[0034]本专利技术包括日志模板提取、词向量库建立、算法模型构建和置换事件组合模型几个部分;整体的研究路线图1如图4所示;
[0035](1)日志模板的提取
[0036]一般说来,日志都是由常量部分和变量部分组成,日志模板的提取实际上就是提取常量部分,同一类的日志,其常量部分是一致的,只是变量部分不同,而不同种类的日志(例如不同的日志集群),其常量部分和变量部分都是不一样的,所以我们可以采用聚类的方法进行日志模板的提取,聚类算法主要以样本数据之间和不同簇之间的距离为基本度量准则,并设定阈值为终止条件,让各个簇之间的距离都不小于阈值,最终构造树形的聚类结构;
[0037]聚类算法是一种将原始数据集分类的算法,原始数据不需要带标签,所以聚类算法是一种无监督的机器学习算法,聚类算法通过衡量数据间的相似度来进行分类;相同组的数据之间有很高的相似度,不同组的数据之间相似度很低,聚类算法的目的是聚集相似的数据;
[0038](2)建立日志模板的词向量库
[0039]Bert是一种预训练语义表征模型,该模型源自Transformer模型。整个模型由输入层、编码层和输出层构成,其中输入层是{e1,e2,...,en}向量,编码层由多个Transformer组成,最终输出向量为{T1,T2,...,Tn}。在自然语言处理任务中,为了更好地理解文档中的句子和特征词,更好地将他们转换成词向量,提升模型的泛化能力,因此利用Bert模型来完成语言表征,该方法优于传统的Wo本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于生成对抗网络的大规模软件系统的异常检测方法,其特征在于:包括以下步骤;步骤一:提取日志模板;步骤二:构建日志模板的词向量库;步骤三:构建基于GAN的异常检测模型;步骤四:将训练好的模型对大规模软件系统进行异常检测。2.根据权利要求1所述的基于生成对抗网络的大规模软件系统的异常检测方法,其特征在于:步骤一中采用聚类算法的方法提取日志模板。3.根据权利要求1所述的基于生成对抗网络的大规模软件系统的异常检测方法,其特征在于:步骤二中采用Bert模型的方法求解词向量,Bert模型由输入层、编码层和输出层构成,编码层由多个Transformer组成,具体包括:通过Bert模型提取源系统日志和目标系统日志中特征词之间的依赖关系,具体提取算法如公式(1)所示:其中,Q、K和V分别表示Query向量、Key向量和Value向量,对应编码器的输入字向量矩阵,dk为输入向量的维度。4.根据权利要求1所述的基于生成对抗网络的大规模软件系统的异常检测方法,其特征在于:步骤三中GAN系统包括生成器和鉴别器,生成器试图捕获真实训练数据集的分布,由正常和异常日志组成的假训练集并合成可信的样例,鉴别器则旨在通过判断模型区分使用真实和合成数据构建的数据集中的假实例,同时在生成器中添加键值对注意力机制。5.根据权利要求4所述的基于生成对抗网络的大规模软件系...

【专利技术属性】
技术研发人员:胡海晨
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1