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

技术编号:33288627 阅读:12 留言:0更新日期:2022-05-01 00:02
本发明专利技术提供一种基于流外正则化的日志序列异常检测方法,该方法对BERT模型进行优化并将其作为语义特征提取模型,优化方法是将MixUp数据增强作为流外正则化的一种形式,在数据流形之外的模型输入空间上施加线性约束,将生成器和鉴别器分别嵌入到BERT模型的不同Encoder层。通过训练鉴别器来检测输入嵌入是否位于流形外,优化生成器来生成流形外嵌入,使其易于被鉴别器识别为流形外嵌入,以便发现对日志序列分类任务有用但通过单词访问不到的嵌入,提高异常检测的准确性。此外,本发明专利技术分别从日志条目与日志序列两个粒度上提取日志语义特征,不仅可以提取日志序列的语义特征,还可以提取到日志条目本身包含的语义信息,从而增强异常检测的鲁棒性。而增强异常检测的鲁棒性。而增强异常检测的鲁棒性。

【技术实现步骤摘要】
一种基于流外正则化的日志序列异常检测方法


[0001]本专利技术涉及日志序列异常检测
,具体而言,尤其涉及一种基于流外正则化的日志序列异常检测方法。

技术介绍

[0002]随着系统规模的增大,其结构日益复杂,系统日志是记录系统状态的关键指标,基于时间戳、日志级别、日志消息等分析可能导致系统异常的信息,是提高系统可靠性的重要举措。
[0003]目前,针对基于日志的异常检测,国内外已经提出了许多种方法,主要分为基于日志事件索引的方法和基于日志模板语义的方法。
[0004]在基于日志事件索引的异常检测方法中,Xu等人使用数据挖掘和机器学习PCA算法通过分析系统日志来无监督地检测异常,将日志表达的事件状态与发生次数进行统计,用状态比例向量与实践计数向量作为模型的输入进行异常检测。该方法虽然从多方面提取日志的复杂特征,但没有充分地对语义信息进行分析,会导致错误警报。Du等人提出DeepLog,使用深度学习中的LSTM神经网络模型来学习正常日志序列之间的关系。虽然异常检测的效果不错,并且通过用户反馈利用检测为假阳性的日志增量更新检测模型,使模型适应新的日志模式。但是采用日志编码索引的方式不能充分提取日志模板的语义信息,不能从语义上对新的日志进行处理,导致缺乏鲁棒性且检测准确率受限。
[0005]在基于日志模板语义的异常检测方法中,Zhang等人提出的LogRobust是一种基于不稳定日志数据的异常检测方法,提取日志事件的语义信息并将它们表示为语义向量,然后使用基于注意力的Bi

LSTM模型检测异常;Meng等人提出LogAnomaly,将日志流建模为自然语言序列,使用template2vec提取日志模板中隐藏的语义信息,并利用基于LSTM预测可能出现的下一条日志,根据预测值检测异常。虽然这些方法都可以提取日志模板的语义信息,且具有一定的鲁棒性,可以适当减弱新出现的日志对检测结果的影响,但是语义特征提取模型的嵌入空间有限,均属于流形内嵌入,没能充分利用对异常检测任务有用的流形外嵌入,导致准确率受限。
[0006]目前,基于日志的异常检测主要存在以下缺点:
[0007](1)大多数基于日志事件索引的方法从日志消息中提取日志模板然后将其用日志索引表示,虽然简化了特征提取模型的输入,但是不能充分利用日志模板中的语义信息,导致大多数无法处理日志更新情况,从而缺乏鲁棒性;
[0008](2)大多数基于日志模板语义的方法将日志消息对应的日志模板建模为自然语言序列,使用预训练语言模型将日志模板转换成句向量,然后将向量输入到特征提取模型中进行特征提取,虽然保留了日志模板的语义信息,但是没有充分利用语义特征提取模型的嵌入空间降低了异常检测的准确性。

技术实现思路

[0009]根据上述提出对日志序列语义特征提取模型的嵌入空间利用受限导致检测方法准确率低的技术问题,考虑到日志条目的语义信息与语义特征提取模型的嵌入空间对异常检测的重要性,本专利技术提出一种基于流外正则化的日志序列异常检测方法OMRLog(Log Anomaly Detection Method Based on out

of

Manifold Regularization)。在提取日志序列的语义表示时,本专利技术对BERT模型进行优化,具体方法是将MixUp数据增强作为流外正则化的一种形式,来发现并充分利用BERT的流形外嵌入,通过训练鉴别器来检测输入嵌入是否位于流形内,同时优化生成器来生成流形外嵌入,使其易于被鉴别器识别为流形外嵌入,提高了日志序列异常检测的准确率。此外,本专利技术从日志条目与序列两个粒度上更丰富地提取日志的语义表示,可以提取到日志条目本身包含的语义信息,增强了异常检测的鲁棒性。
[0010]本专利技术采用的技术手段如下:
[0011]一种基于流外正则化的日志序列异常检测方法,包括:
[0012]S1、对BERT模型进行优化,并将其作为语义特征提取模型;
[0013]S2、给定一个日志集合χ,对所述语义特征提取模型进行训练;
[0014]S3、给定一个日志集合,利用训练完成的语义特征提取模型对日志序列进行异常检测。
[0015]进一步地,所述步骤S1中,对BERT模型进行优化的方法如下:
[0016]S11、将MixUp数据增强作为流外正则化的一种形式,在数据流形之外的模型输入空间上施加线性约束,将生成器和鉴别器分别嵌入到BERT模型的不同生成层;
[0017]S12、训练鉴别器,检测输入嵌入是否位于流形外;
[0018]S13、通过生成层产生的流形外嵌入以及标签优化生成器,生成流形外嵌入。
[0019]进一步地,所述步骤S2的具体实现过程如下:
[0020]S21、日志解析,将每个日志事件转换为与关键参数相关联的特定事件模板,选择提取日志模板性能好的Drain算法,基于日志数据构建一个固定深度的解析树,根据树中蕴含的模板提取规则进行日志解析,从非结构化的日志事件中提取结构化日志键;
[0021]S22、根据日志数据集的特点人工选择日志序列的框定方式,若数据集中有Block_id,则按照会话id划分日志序列;若没有,则以固定大小的滑动窗口框定日志序列;
[0022]S23、将日志序列中的日志条目输入到BERT模型提取句向量;
[0023]S24、判断该日志序列中是否还有未被处理的日志条目,若有,则执行步骤S23,直到所有日志条目均被处理完;
[0024]S25、将该序列中所有句向量进行线性拼接,将得到初始序列向量v
seq
输入到优化BERT模型的Encoder层中;
[0025]S26、基于MixUp对序列向量及其标签进行线性插值;
[0026]S27、基于流形内嵌入和标签计算日志序列的分类损失,通过优化BERT模型的预训练权重系数对日志序列进行二分类,将流形内序列标签作为输出目标,采用KL散度作为损失函数,日志序列分类的目标函数如下所示:
[0027][0028]其中,ω
f
代表优化BERT模型预训练与分类器的可训练参数,表示KL散度,函数f(seq
batch
)是将seq
batch
进行分类的函数;
[0029]S28、基于流形内与流形外嵌入和标签计算分类损失并优化鉴别器,将流形标签(流形内与流形外)作为输出目标,采用二元交叉熵函数作为损失函数来优化鉴别器,目标函数如下所示:
[0030][0031]其中,ω
g

d
分别代表生成器和鉴别器的可训练参数,表示二元交叉熵损失,为经过优化BERT模型的第j层编码输出的向量,为seq
batch
经过优化BERT模型的第j层编码输出的向量;
[0032]S29、将流形外序列标签作为输出目标,采用KL散度作为损失函数优化生成器,目标函数如下所示:
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于流外正则化的日志序列异常检测方法,其特征在于,包括:S1、对BERT模型进行优化,并将其作为语义特征提取模型;S2、给定一个日志集合χ,对所述语义特征提取模型进行训练;S3、给定一个日志集合,利用训练完成的语义特征提取模型对日志序列进行异常检测。2.根据权利要求1所述的基于流外正则化的日志序列异常检测方法,其特征在于,所述步骤S1中,对BERT模型进行优化的方法如下:S11、将MixUp数据增强作为流外正则化的一种形式,在数据流形之外的模型输入空间上施加线性约束,将生成器和鉴别器分别嵌入到BERT模型的不同生成层;S12、训练鉴别器,检测输入嵌入是否位于流形外;S13、通过生成层产生的流形外嵌入以及标签优化生成器,生成流形外嵌入。3.根据权利要求1所述的基于流外正则化的日志序列异常检测方法,其特征在于,所述步骤S2的具体实现过程如下:S21、日志解析,将每个日志事件转换为与关键参数相关联的特定事件模板,选择提取日志模板性能好的Drain算法,基于日志数据构建一个固定深度的解析树,根据树中蕴含的模板提取规则进行日志解析,从非结构化的日志事件中提取结构化日志键;S22、根据日志数据集的特点人工选择日志序列的框定方式,若数据集中有Block_id,则按照会话id划分日志序列;若没有,则以固定大小的滑动窗口框定日志序列;S23、将日志序列中的日志条目输入到BERT模型提取句向量;S24、判断该日志序列中是否还有未被处理的日志条目,若有,则执行步骤S23,直到所有日志条目均被处理完;S25、将该序列中所有句向量进行线性拼接,将得到初始序列向量v
seq
输入到优化BERT模型的Encoder层中;S26、基于MixUp对序列向量及其标签进行线性插值;S27、基于流形内嵌入和标签计算日志序列的分类损失,通过优化BERT模型的预训练权重系数对日志序列进行二分类,将流形内序列标签作为输出目标,采用KL散度作为损失函数,日志序列分类的目标函数如下所示:其中,ω
f
代表优化BERT模型预训练与分类器的可训练参数,表示KL散度,函数f(seq
batch
)是将seq
batch
进行分类的函数;S28、基于流形内与流形外嵌入和标签计算分类损失并优化鉴别器,将流形标签(流形内与流形外)作为输出目标,采用二元交叉熵函数作为损失函数来优化鉴别器,目标函数如下所示:其中,ω
g

d
分别代表生成器和鉴别器的可训练参数,表示二元交叉熵损失,为经过优化BERT模型的第j层编码输出的向量,为seq
batch
经过优化
BERT模型的第j层编码输出的向量;S29、将流形外序列标签作为输出目标,采用KL散度作为损失函数优化生成器,目标函数如下所示:其中,表示生成层及后续Encoder层的可训练参数,ω
g
表示生成器的可训练参...

【专利技术属性】
技术研发人员:曹志英王雪洁王乔正张秀国徐伟刚
申请(专利权)人:大连海事大学
类型:发明
国别省市:

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

1