一种基于流外正则化的日志序列异常检测方法

文档序号:29851705发布日期:2022-04-30 08:02阅读:129来源:国知局
一种基于流外正则化的日志序列异常检测方法

1.本发明涉及日志序列异常检测技术领域,具体而言,尤其涉及一种基于流外正则化的日志序列异常检测方法。


背景技术:

2.随着系统规模的增大,其结构日益复杂,系统日志是记录系统状态的关键指标,基于时间戳、日志级别、日志消息等分析可能导致系统异常的信息,是提高系统可靠性的重要举措。
3.目前,针对基于日志的异常检测,国内外已经提出了许多种方法,主要分为基于日志事件索引的方法和基于日志模板语义的方法。
4.在基于日志事件索引的异常检测方法中,xu等人使用数据挖掘和机器学习pca算法通过分析系统日志来无监督地检测异常,将日志表达的事件状态与发生次数进行统计,用状态比例向量与实践计数向量作为模型的输入进行异常检测。该方法虽然从多方面提取日志的复杂特征,但没有充分地对语义信息进行分析,会导致错误警报。du等人提出deeplog,使用深度学习中的lstm神经网络模型来学习正常日志序列之间的关系。虽然异常检测的效果不错,并且通过用户反馈利用检测为假阳性的日志增量更新检测模型,使模型适应新的日志模式。但是采用日志编码索引的方式不能充分提取日志模板的语义信息,不能从语义上对新的日志进行处理,导致缺乏鲁棒性且检测准确率受限。
5.在基于日志模板语义的异常检测方法中,zhang等人提出的logrobust是一种基于不稳定日志数据的异常检测方法,提取日志事件的语义信息并将它们表示为语义向量,然后使用基于注意力的bi-lstm模型检测异常;meng等人提出loganomaly,将日志流建模为自然语言序列,使用template2vec提取日志模板中隐藏的语义信息,并利用基于lstm预测可能出现的下一条日志,根据预测值检测异常。虽然这些方法都可以提取日志模板的语义信息,且具有一定的鲁棒性,可以适当减弱新出现的日志对检测结果的影响,但是语义特征提取模型的嵌入空间有限,均属于流形内嵌入,没能充分利用对异常检测任务有用的流形外嵌入,导致准确率受限。
6.目前,基于日志的异常检测主要存在以下缺点:
7.(1)大多数基于日志事件索引的方法从日志消息中提取日志模板然后将其用日志索引表示,虽然简化了特征提取模型的输入,但是不能充分利用日志模板中的语义信息,导致大多数无法处理日志更新情况,从而缺乏鲁棒性;
8.(2)大多数基于日志模板语义的方法将日志消息对应的日志模板建模为自然语言序列,使用预训练语言模型将日志模板转换成句向量,然后将向量输入到特征提取模型中进行特征提取,虽然保留了日志模板的语义信息,但是没有充分利用语义特征提取模型的嵌入空间降低了异常检测的准确性。


技术实现要素:

9.根据上述提出对日志序列语义特征提取模型的嵌入空间利用受限导致检测方法准确率低的技术问题,考虑到日志条目的语义信息与语义特征提取模型的嵌入空间对异常检测的重要性,本发明提出一种基于流外正则化的日志序列异常检测方法omrlog(log anomaly detection method based on out-of-manifold regularization)。在提取日志序列的语义表示时,本发明对bert模型进行优化,具体方法是将mixup数据增强作为流外正则化的一种形式,来发现并充分利用bert的流形外嵌入,通过训练鉴别器来检测输入嵌入是否位于流形内,同时优化生成器来生成流形外嵌入,使其易于被鉴别器识别为流形外嵌入,提高了日志序列异常检测的准确率。此外,本发明从日志条目与序列两个粒度上更丰富地提取日志的语义表示,可以提取到日志条目本身包含的语义信息,增强了异常检测的鲁棒性。
10.本发明采用的技术手段如下:
11.一种基于流外正则化的日志序列异常检测方法,包括:
12.s1、对bert模型进行优化,并将其作为语义特征提取模型;
13.s2、给定一个日志集合χ,对所述语义特征提取模型进行训练;
14.s3、给定一个日志集合,利用训练完成的语义特征提取模型对日志序列进行异常检测。
15.进一步地,所述步骤s1中,对bert模型进行优化的方法如下:
16.s11、将mixup数据增强作为流外正则化的一种形式,在数据流形之外的模型输入空间上施加线性约束,将生成器和鉴别器分别嵌入到bert模型的不同生成层;
17.s12、训练鉴别器,检测输入嵌入是否位于流形外;
18.s13、通过生成层产生的流形外嵌入以及标签优化生成器,生成流形外嵌入。
19.进一步地,所述步骤s2的具体实现过程如下:
20.s21、日志解析,将每个日志事件转换为与关键参数相关联的特定事件模板,选择提取日志模板性能好的drain算法,基于日志数据构建一个固定深度的解析树,根据树中蕴含的模板提取规则进行日志解析,从非结构化的日志事件中提取结构化日志键;
21.s22、根据日志数据集的特点人工选择日志序列的框定方式,若数据集中有block_id,则按照会话id划分日志序列;若没有,则以固定大小的滑动窗口框定日志序列;
22.s23、将日志序列中的日志条目输入到bert模型提取句向量;
23.s24、判断该日志序列中是否还有未被处理的日志条目,若有,则执行步骤s23,直到所有日志条目均被处理完;
24.s25、将该序列中所有句向量进行线性拼接,将得到初始序列向量v
seq
输入到优化bert模型的encoder层中;
25.s26、基于mixup对序列向量及其标签进行线性插值;
26.s27、基于流形内嵌入和标签计算日志序列的分类损失,通过优化bert模型的预训练权重系数对日志序列进行二分类,将流形内序列标签作为输出目标,采用kl散度作为损失函数,日志序列分类的目标函数如下所示:
27.28.其中,ωf代表优化bert模型预训练与分类器的可训练参数,表示kl散度,函数f(seq
batch
)是将seq
batch
进行分类的函数;
29.s28、基于流形内与流形外嵌入和标签计算分类损失并优化鉴别器,将流形标签(流形内与流形外)作为输出目标,采用二元交叉熵函数作为损失函数来优化鉴别器,目标函数如下所示:
[0030][0031]
其中,ωg,ωd分别代表生成器和鉴别器的可训练参数,表示二元交叉熵损失,为经过优化bert模型的第j层编码输出的向量,为seq
batch
经过优化bert模型的第j层编码输出的向量;
[0032]
s29、将流形外序列标签作为输出目标,采用kl散度作为损失函数优化生成器,目标函数如下所示:
[0033][0034]
其中,表示生成层及后续encoder层的可训练参数,ωg表示生成器的可训练参数;通过步骤s28中的目标函数和步骤s29中的目标函数优化生成器,使生成器生成对日志序列分类任务有帮助的流形外嵌入,则最终的分类目标函数被定义为:
[0035][0036]
其中,表示日志序列的分类损失,与分别代表为了辨别流形外嵌入而训练生成器和鉴别器的损失,e负责调节优化生成器的两个目标。
[0037]
进一步地,所述步骤s23的具体实现过程如下:
[0038]
s231、取集合χ中的某条日志x∈χ,将x拆分为一个单词序列w∈{0,...,|v|}m;
[0039]
s232、使用词汇表v的标记器来标记单词,m表示该日志条目的长度;
[0040]
s233、根据嵌入表将每个单词映射为一个d维向量,则该日志条目对应的句向量经l层encoder被转换为
[0041]
进一步地,所述步骤s26的具体实现过程如下:
[0042]
确定用于线性插值的混合系数λ∈[0,1],优化bert模型的第i层encoder上嵌入了生成器,生成器的目标是将两个流形内的上下文嵌入进行线性插值后合成流形外嵌入;
[0043]
生成器基于两个流形内的上下文嵌入,使用具有softmax归一化的两层全连接网络产生下界α和区间δ,从而从均匀分布中对混合系数进行采样,即
[0044]
为了避免两个输入序列串行产生的巨大计算开销,采用孪生架构,在两个不同的输入上共享权重减小了计算开销;
[0045]
优化从均匀分布中采样的混合系数λ,使用重新参数化技巧,引入计算混合系数λ,如下所示:
[0046]
λ=α+γ
×
δ
[0047]
基于混合系数λ进行线性插值,以一个batch的序列向量与其标签为例对线性插值进行说明,如下所示:
[0048][0049][0050]
其中,表示从优化bert的第0层(嵌入层)映射到第i层的序列向量,是从优化bert的第0层映射到第i层的对该batch进行随机扰乱后的序列向量,代表该batch的序列向量标签,表示对该batch进行随机扰乱后的序列向量标签,是线性插值后的序列向量,代表线性插值后的标签。
[0051]
进一步地,所述步骤s3的具体实现过程如下:
[0052]
s31、日志解析,将每个日志事件转换为与关键参数相关联的特定事件模板,选择提取日志模板性能好的drain算法,基于日志数据构建一个固定深度的解析树,根据树中蕴含的模板提取规则进行日志解析,从非结构化的日志事件中提取结构化日志键;
[0053]
s32、以block_id或固定大小的滑动窗口框定日志序列;
[0054]
s33、将日志序列中的日志条目输入到bert提取句向量;
[0055]
s34、判断该日志序列中是否还有未被处理的日志条目,若有,则返回执行步骤s33,直到所有日志条目均被处理完;
[0056]
s35、将由所有句向量线性拼接的初始序列向量输入到训练好的优化bert模型的encoder层中,提取序列向量;
[0057]
s36、基于mlp对序列向量进行异常检测,将序列向量分类为正常或异常;
[0058]
s37、判断日志集合中是否还有未被检测的序列,若有,则返回执行步骤s32,直到所有日志序列均被检测完,否则,结束检测。
[0059]
较现有技术相比,本发明具有以下优点:
[0060]
1、系统日志是记录系统状态的关键指标,基于时间戳、日志级别、日志消息等分析可能导致系统异常的信息,是提高系统可靠性的重要举措。本发明提出了一种新的基于流外正则化的日志序列异常检测方法omrlog,将基于流形内嵌入合成的流形外嵌入应用到日志序列的异常检测中。
[0061]
2、本发明提供的基于流外正则化的日志序列异常检测方法,在提取序列表征时,将mixup数据增强作为流外正则化的一种形式,在数据流形之外的模型输入空间上施加线性约束,通过将生成器与鉴别器嵌入到bert模型的不同encoder层,二者以端到端的方式协同工作,使流形外嵌入作用于基于日志序列的异常检测任务。
[0062]
3、本发明分别从日志条目与日志序列两个角度提取日志的语义表征,可以提取到日志条目本身包含的语义信息,增强了异常检测的鲁棒性。
[0063]
4、对大型系统日志的实验评估表明,与现有方法相比,本发明方法充分利用了语义特征提取模型的嵌入空间,因此具有更好的异常检测效果。在未来的工作中,本发明将进一步探索序列异常检测的特征提取技术,将流形外嵌入融合到其他特征提取模型中,并在更多的日志数据集上测试本方法的效率。
[0064]
基于上述理由本发明可在日志序列异常检测等领域广泛推广。
附图说明
[0065]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0066]
图1为本发明基于流外正则化的日志序列异常检测方法的框架图。
[0067]
图2为本发明基于流外正则化的日志序列异常检测方法的异常检测模型。
[0068]
图3为本发明异常检测模型的训练流程图。
[0069]
图4为本发明基于流外正则化的日志序列异常检测流程图。
[0070]
图5为本发明实施例提供的hdfs数据集中生成器和鉴别器在bert中嵌入位置对检测性能的影响。
[0071]
图6为本发明实施例提供的bgl数据集中生成器和鉴别器在bert中嵌入位置对检测性能的影响。
[0072]
图7为本发明实施例提供的不同方法在hdfs数据集上的性能。
[0073]
图8为本发明实施例提供的不同方法在bgl数据集上的性能。
具体实施方式
[0074]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0075]
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0076]
本发明提供了一种基于流外正则化的日志序列异常检测方法,如图1所示,包括:
[0077]
s1、对bert模型进行优化,并将其作为语义特征提取模型;
[0078]
具体实施时,作为本发明优选的实施方式,所述步骤s1中,对bert模型进行优化的方法如下:
[0079]
s11、将mixup数据增强作为流外正则化的一种形式,在数据流形之外的模型输入空间上施加线性约束,将生成器和鉴别器分别嵌入到bert模型的不同生成层;在本实施例中,本发明充分利用bert的自注意力机制,如图2所示,首先,基于bert提取日志序列中各日志条目的句向量v
sn
,将各句向量v
sn
进行线性拼接后作为初始序列向量v
seq
;然后,基于优化bert的12层encoder对初始序列向量v
seq
进一步提取;最后,基于mlp(multilayer perceptron,多层感知器)与softmax函数对提取的序列向量进行二分类。在提取序列向量的过程中,将生成器与鉴别器分别嵌入到bert的不同encoder层,嵌入了生成器的encoder层(例如第i层)称为生成层。在生成层中,基于序列向量进行mixup,产生流形外嵌入与标签,将流形外嵌入输入到生成层的下一层encoder。
[0080]
s12、训练鉴别器,检测输入嵌入是否位于流形外;对于鉴别器而言,流形内与流形外嵌入均经过鉴别器所在的第j层encoder,所以它既能学习到流形内嵌入,也能学习到流形外嵌入。通过优化鉴别器来识别嵌入是否属于流形外嵌入,基于流形外嵌入对bert模型进行优化,以此提高日志序列异常检测的准确率。
[0081]
s13、通过生成层产生的流形外嵌入以及标签优化生成器,生成流形外嵌入。
[0082]
s2、给定一个日志集合χ,对所述语义特征提取模型进行训练;
[0083]
具体实施时,作为本发明优选的实施方式,所述步骤s2的具体实现过程如下:
[0084]
s21、日志解析,将每个日志事件转换为与关键参数相关联的特定事件模板,选择提取日志模板性能好的drain算法,其核心思想是基于日志数据构建一个固定深度的解析树,根据树中蕴含的模板提取规则进行日志解析,从非结构化的日志事件中提取结构化日志键;
[0085]
s22、根据日志数据集的特点人工选择日志序列的框定方式,若数据集(如hdfs)中有block_id,则按照会话id划分日志序列;若没有(如bgl),则以固定大小的滑动窗口框定日志序列;
[0086]
s23、将日志序列中的日志条目输入到bert模型提取句向量;
[0087]
s231、取集合χ中的某条日志x∈χ,将x拆分为一个单词序列w∈{0,...,|v|}m;
[0088]
s232、使用词汇表v的标记器来标记单词,m表示该日志条目的长度;
[0089]
s233、根据嵌入表将每个单词映射为一个d维向量,则该日志条目对应的句向量经l层encoder被转换为
[0090]
s24、判断该日志序列中是否还有未被处理的日志条目,若有,则执行步骤s23,直到所有日志条目均被处理完;
[0091]
s25、将该序列中所有句向量进行线性拼接,将得到初始序列向量v
seq
输入到优化bert模型的encoder层中;
[0092]
s26、基于mixup对序列向量及其标签进行线性插值;
[0093]
确定用于线性插值的混合系数λ∈[0,1],优化bert模型的第i层encoder上嵌入了生成器,生成器的目标是将两个流形内的上下文嵌入进行线性插值后合成流形外嵌入;
[0094]
生成器基于两个流形内的上下文嵌入,使用具有softmax归一化的两层全连接网络产生下界α和区间δ,从而从均匀分布中对混合系数进行采样,即
[0095]
为了避免两个输入序列串行产生的巨大计算开销,采用孪生架构,在两个不同的输入上共享权重减小了计算开销;
[0096]
优化从均匀分布中采样的混合系数λ,使用重新参数化技巧,引入计算混合系数λ,如下所示:
[0097]
λ=α+γ
×
δ
[0098]
基于混合系数λ进行线性插值,以一个batch的序列向量与其标签为例对线性插值进行说明,如下所示:
[0099][0100][0101]
其中,表示从优化bert的第0层(嵌入层)映射到第i层的序列向量,是从优化bert的第0层映射到第i层的对该batch进行随机扰乱后的序列向量,代表该batch的序列向量标签,表示对该batch进行随机扰乱后的序列向量标签,是线性插值后的序列向量,代表线性插值后的标签。
[0102]
s27、基于流形内嵌入和标签计算日志序列的分类损失,通过优化bert模型的预训练权重系数对日志序列进行二分类(正常或者异常),将流形内序列标签作为输出目标,采用kl散度作为损失函数,日志序列分类的目标函数如下所示:
[0103][0104]
其中,ωf代表优化bert模型预训练与分类器的可训练参数,表示kl散度,函数f(seq
batch
)是将seq
batch
进行分类的函数;
[0105]
s28、基于流形内与流形外嵌入和标签计算分类损失并优化鉴别器;
[0106]
在优化bert模型的第j层encoder上嵌入鉴别器,其任务是学习流形内嵌入与流形外嵌入的区别。由于流形内、外的嵌入均被输入到鉴别器中,且过度参数化的优化bert更倾向于记忆用于训练的数据(流形内嵌入),这种情况下,生成器更有可能模仿流形内嵌入(被优化bert模型记忆)而不是生成新的嵌入,因此,需要鉴别器对生成器进行监控,使其生成对日志序列分类任务有用的流形外嵌入。
[0107]
对于输入到鉴别器的序列向量其属于流形外嵌入的概率分数s∈[0,1],为了使鉴别器的输出能够对应流形标签,本发明将流形标签(流形内与流形外)作为输出目标,采用二元交叉熵函数作为损失函数来优化鉴别器,目标函数如下所示:
[0108][0109]
其中,ωg,ωd分别代表生成器和鉴别器的可训练参数,表示二元交叉熵损失,为经过优化bert模型的第j层编码输出的向量,为seq
batch
经过优化
bert模型的第j层编码输出的向量;
[0110]
s29、将流形外序列标签作为输出目标,采用kl散度作为损失函数优化生成器,目标函数如下所示:
[0111][0112]
其中,表示生成层及后续encoder层的可训练参数,ωg表示生成器的可训练参数;通过步骤s28中的目标函数和步骤s29中的目标函数优化生成器,使生成器生成对日志序列分类任务有帮助的流形外嵌入,则最终的分类目标函数被定义为:
[0113][0114]
其中,表示日志序列的分类损失,与分别代表为了辨别流形外嵌入而训练生成器和鉴别器的损失,e负责调节优化生成器的两个目标。
[0115]
s3、给定一个日志集合,利用训练完成的语义特征提取模型对日志序列进行异常检测。
[0116]
具体实施时,作为本发明优选的实施方式,所述步骤s3的具体实现过程如下:
[0117]
s31、日志解析,将每个日志事件转换为与关键参数相关联的特定事件模板,选择提取日志模板性能好的drain算法,基于日志数据构建一个固定深度的解析树,根据树中蕴含的模板提取规则进行日志解析,从非结构化的日志事件中提取结构化日志键;
[0118]
s32、以block_id或固定大小的滑动窗口框定日志序列;
[0119]
s33、将日志序列中的日志条目输入到bert提取句向量;
[0120]
s34、判断该日志序列中是否还有未被处理的日志条目,若有,则返回执行步骤s33,直到所有日志条目均被处理完;
[0121]
s35、将由所有句向量线性拼接的初始序列向量输入到训练好的优化bert模型的encoder层中,提取序列向量;
[0122]
s36、基于mlp对序列向量进行异常检测,将序列向量分类为正常或异常;
[0123]
s37、判断日志集合中是否还有未被检测的序列,若有,则返回执行步骤s32,直到所有日志序列均被检测完,否则,结束检测。
[0124]
实施例
[0125]
为了验证本发明方法的有效性,进行了对比实验,如下:
[0126]
实验环境:本发明的实验均在nvidia tesla v100 32g gpu的服务器上进行,使用python3.6基于keras来构建模型,使用adam优化器训练优化bert模型,并使用kl散度与交叉熵函数作为训练时的损失函数,在10次迭代后终止训练过程。
[0127]
数据集:本发明选择两个具有代表性的日志数据集hdfs和bgl,数据集的细节如表1所示。hdfs数据集是loghub从amazon ec2平台的203个节点集群上收集的,它是基于日志进行异常检测的常用基准数据,其总共包含11,175,629条原始日志消息,并且对575061个会话都赋予了对应的标签来说明其正常与异常的状态。bgl数据集是loghub从加利福尼亚州利弗莫尔的劳伦斯
·
利弗莫尔国家实验室(llnl)的bluegene/l超级计算机系统收集的,总共包含4,747,963条原始日志消息,并将每条日志都标记为警报或非警报消息。在实验
中,对每一个数据集,根据日志的时间戳信息自上而下选取5000个正常日志序列与5000个异常日志序列,前80%作为训练数据,剩下的20%作为测试数据。其中,hdfs数据集的序列是因为block_id划分的,bgl数据集的序列是以大小为20的滑动窗口框定的。由于hdfs与bgl数据集标签都是手动标记的,因此将这些标记作为评估的事实依据。
[0128]
表1数据集的细节
[0129][0130]
基线方法:本发明选择pca、im、deeplog、loganomaly与基于bert进行异常检测的方法作为对比实验的基线方法。
[0131]
pca通过分析系统日志来无监督地检测异常,将日志表达的事件状态与发生次数进行统计,用状态比例向量与实践计数向量作为模型的输入进行异常检测;im擅长挖掘数据规则,在日志计数向量中挖掘日志事件中的不变性成分,违反不变性的那些日志序列被视为异常;deeplog利用lstm学习正常日志序列的模式,是一种基于日志键的异常检测模型;loganomaly将日志流建模为自然语言序列,使用template2vec提取日志模板中的语义信息,并利用基于lstm预测可能出现的下一条日志,根据预测值检测异常。
[0132]
评估指标:异常检测是一个二分类问题,本发明利用广泛使用的指标,即准确率、召回率和f1-score来评估omrlog与各基准方法在异常检测方面的准确性。
[0133]
准确率是在所有被模型判定为异常的日志序列中真正为异常日志序列的百分比。
[0134]
召回率代表在所有异常的日志序列中被模型正确判别为异常日志序列的百分比。
[0135]
f1分数表示准确率和召回率的调和平均值。其中,tp是模型正确检测到的异常日志序列的数量。fp是模型错误地标识为异常正常日志序列的数量。fn是模型未检测到的异常日志序列的数量。
[0136]
实验参数设置:通过反复试验不同的参数组合,在不同数据集中,生成器与鉴别器在bert中嵌入位置对检测性能的影响见图5、6。对hdfs数据集,从图5中可以看出,将生成器嵌入到bert的第6层以下、鉴别器嵌入到bert的第6层以上时,omrlog的异常检测性能最好,当生成器与鉴别器在同一层时,识别流形内外所损失的梯度不能引导生成器生成流形外嵌入,导致bert不能学习到流形外嵌入,从而影响异常检测的效果,将生成器与鉴别器分别嵌入到bert模型的第3层与第12层效果最好;同理,对bgl数据集,将生成器嵌入到bert的第7层以下、鉴别器嵌入到bert的第7层以上时,omrlog的异常检测性能最好,生成器与鉴别器最好的嵌入层数是第4层与第12层。
[0137]
本发明将omrlog与四种基线方法以及基于bert进行异常检测的方法进行实验对比,来验证omrlog的准确性。图7和图8分别展示了本方法与未优化的bert以及四个基线方法在hdfs与bgl数据集上的比较结果。由图7和图8可知,在hdfs与bgl两个数据集上,omrlog
在六种方法中的准确率最高,在hdgs数据集与bgl数据集上的f1-score均为0.98。虽然pca在hdfs数据集上的准确率较高,但是其召回率低,影响了检测性能,且在bgl数据集上不理想,这是因为它属于基于日志索引的异常检测方法,没有充分地对日志语义进行分析;im和deeplog在两个数据集上都实现了较高召回率,例如,im和deeplog在bgl数据集上的召回率分别为0.99和0.90,但它们的高召回率要以低准确率(0.85和0.78)为代价,较低的准确率意味着无法检测到更多的异常。与本发明提出的omrlog相比,loganomaly在两个数据集上达到了相似的准确率,但是召回率较低,导致更多的误报。基于bert进行异常检测的方法在两个数据集上的准确率均为0.97,利用流形外嵌入优化bert之后,omrlog的准确率分别高达0.99和0.98,与优化前相比,准确率明显提高,omrlog在序列异常检测任务上表现更好,因此,从不同粒度上获得的语义信息以及基于生成器与鉴别器发现的流形外嵌入对提高异常检测性能起到重要作用。
[0138]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0139]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0140]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0141]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1