CN116340039A - 基于预训练BERT句向量与Informer-encoder的日志异常检测方法 - Google Patents

基于预训练BERT句向量与Informer-encoder的日志异常检测方法 Download PDF

Info

Publication number
CN116340039A
CN116340039A CN202310208131.8A CN202310208131A CN116340039A CN 116340039 A CN116340039 A CN 116340039A CN 202310208131 A CN202310208131 A CN 202310208131A CN 116340039 A CN116340039 A CN 116340039A
Authority
CN
China
Prior art keywords
log
template
session
training
matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310208131.8A
Other languages
English (en)
Inventor
杜庆峰
赵亮
韩永琦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tongji University
Original Assignee
Tongji University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tongji University filed Critical Tongji University
Priority to CN202310208131.8A priority Critical patent/CN116340039A/zh
Publication of CN116340039A publication Critical patent/CN116340039A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2433Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明涉及一种基于预训练BERT句向量与Informer‑encoder的日志异常检测方法,该方法包括以下步骤:步骤S1、获取原始日志数据并进行预处理,得到划分会话后的日志模板;步骤S2、对日志模板进行基于预训练BERT句向量的语义向量化;步骤S3、构建基于Informer‑encoder的异常检测模型,并采用经过S1~S2处理的正常日志数据对异常检测模型进行训练;步骤S4、将待检测的日志数据按照步骤S1~S2处理后,采用训练后的异常检测模型进行日志异常检测。与现有技术相比,本发明的方法降低模型训练的时空复杂度,减少模型的训练成本,同时,提升异常检测方法的准确度。

Description

基于预训练BERT句向量与Informer-encoder的日志异常检测 方法
技术领域
本发明涉及日志异常检测技术领域,尤其是涉及一种于预训练BERT句向量与Informer-encoder的日志异常检测方法。
背景技术
异常检测是软件系统运维的重要组成部分,是保持软件系统高可用性和高可靠性的关键。在异常检测过程中,日志是重要的数据源之一。日志数据通过程序中内嵌的代码产生,能够提供多维度、细粒度的系统运行信息。与此同时,日志隐含着丰富的语义特征信息,能够为异常检测提供精确且具有可解释性的数据源。综上,基于日志的异常检测方法为发现系统异常进而定位系统问题提供了良好的视角。
现有的日志异常检测方法主要通过提取日志模板来构建有限数量的关键语义信息,然后构建模板向量,将模板向量输入神经网络模型以学习模板间的逻辑依赖关系,并根据学习到的逻辑依赖关系判别日志中是否存在异常,包括:半监督的日志异常检测方法LogAnomaly,该方法会对目标日志重新训练具有近反义词特征的词向量,并通过加权求和得到日志模板的向量,然后通过LSTM来学习正常日志中的特征并以此来检测异常;有监督的日志异常检测方法LogRobust,通过FastText预训练词向量和TF-IDF得到日志模板向量,然后通过Bi-LSTM自动地学习日志序列向量与异常标签之间的关系;此外,Transformer-encoder及注意力机制也在日志异常检测的工作中得到了应用。
虽然上述主流的日志异常检测方法能够在一定程度上建模日志中的关键语义信息并学习日志模板间的逻辑依赖关系,但仍然存在如下不足:
1)日志模板向量通常以离散的词向量为基础,对整个模板和模板与模板间的语义信息表征不足;
2)LSTM模型在处理长距离的特征依赖时存在能力瓶颈;
3)Transformer-encoder虽然能够捕获长距离的特征依赖,但存在时空复杂度过高的问题。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供了一种基于预训练BERT句向量与Informer-encoder的日志异常检测方法,该方法降低模型训练的时空复杂度,减少模型的训练成本,同时,提升异常检测方法的准确度。
本发明的目的可以通过以下技术方案来实现:
本发明给出了一种基于预训练BERT句向量与Informer-encoder的日志异常检测方法,该方法包括以下步骤:
步骤S1、获取原始日志数据并进行预处理,得到划分会话后的日志模板;
步骤S2、对日志模板进行基于预训练BERT句向量的语义向量化;
步骤S3、构建基于Informer-encoder的异常检测模型,并采用经过S1~S2处理的正常日志数据对异常检测模型进行训练;
步骤S4、将待检测的日志数据按照步骤S1~S2处理后,采用训练后的异常检测模型进行日志异常检测。
优选地,所述步骤S1中的预处理包括对原始日志数据进行日志解析和会话划分,得到日志模板序列。
优选地,所述日志解析具体为:
将原始日志数据划分为常量部分和变量部分,常量部分为描述有系统运行事件的模板信息,变量部分为携带有系统动态运行的其余标记信息;
构建设定深度的解析树,不断将原始日志与解析树中的节点逐层匹配,动态更新解析树并生成日志对应的解析结果,得到日志模板信息。
优选地,所述会话划分具体为:将日志解析提取出的多个日志模板信息按照会话划分成多个日志模板序列,其中,所述会话划分包括按日志中内在的关联标识符划分和按照时间窗口划分。
优选地,所述步骤S2具体为:将步骤S1得到的划分会话后的日志模版输入至BERT语言模型预训练,得到日志模板对应的句向量;其中,一个会话内的日志模板序列对应的句向量构建为一个会话矩阵,行代表列向量的维度,列代表模板序列的长度。
优选地,所述步骤S3中的基于Informer-encoder的异常检测模型包括依次连接的Embedding层、注意力层、残差连接与层归一化模块、前馈层、残差连接与层归一化模块和线性层;所述异常检测模型的输入为步骤S2中BERT预训练得到的会话矩阵,输出为下一个日志模版的概率。
优选地,所述步骤S3包括以下子步骤:
步骤S31、将步骤S2中BERT预训练得到的会话矩阵输入至输入Embedding层;
步骤S32、设定固定长度的滑动窗口,在会话矩阵上滑动,将每个窗口内的向量构建为输入矩阵X,窗口外下一个日志模板的类别为该窗口的训练标签;
步骤S33、通过参数矩阵将输入矩阵X转化为查询queryQ、键queryK和值queryV,计算点积注意力,表达式为:
Figure BDA0004111649160000031
式中,Q=XWq、K=XWk、V=XWv
Figure BDA0004111649160000032
dx为向量的特征维度、d为预先设定的隐层特征超参数;
步骤S34、设定s个头并进行拼接,每个头对应于一组查询查询queryQ、键queryK和值queryV;s个头通过concat操作和线性变换转化为与输入矩阵维度相同的注意力矩阵,表达式为:
Figure BDA0004111649160000033
式中,head为头,Watt为线性变换的参数矩阵;
步骤S35、采用残差结构优化多头注意力,优化后的多头注意力表达式为:
[X]att=LN(X+Dropout(Xatt))
式中,LN为层归一化运算(layer normalization),Dropout为失活运算,以随机指定某些神经网络中的神经元停止工作,提升网络的泛化能力;
步骤S36、对优化后的多头注意力进行蒸馏,然后采用残差结构进行优化,经过n层后,得到最后的输出Xf;其中,蒸馏过程表达式为:
Xj+1=MaxPooling(Relu(Conv1d([Xj]att)))
式中,[Xj]att为第j层的多头注意力,Conv1d代表一维卷积操作,Relu代表激活函数,MaxPooling表示最大池化过程;
步骤S37、由于Xf中最后一个元素对应于最后一个会话的位置,用于预测下一个会话,选定最后一个元素,并通过线性层和sigmoid函数计算下一个模板类别的概率,表达式为:
Figure BDA0004111649160000041
式中,
Figure BDA0004111649160000042
为Xf中最后一个元素,W为线性层的参数矩阵,b为线性层的偏置;
通过不断训练降低损失函数学习到正常日志会话中模板的序列模式。
优选地,所述步骤S33还包括采用采样策略选取出最关键部分的查询query,具体为:通过计算每个查询query的关键性度量
Figure BDA0004111649160000043
进行选取,表达式为:
Figure BDA0004111649160000044
式中,qi是Q中的第i个查询query,kj是K中的第j个值key;t为窗口长度,即一个窗口中包含的日志模板数量;
给定固定的采样因子c,选取前c·ln t个查询query作为最关键部分的查询query;t为;
根据采样后的query组成的矩阵
Figure BDA0004111649160000045
点积注意力的表达式为:
Figure BDA0004111649160000046
优选地,所述损失函数为交叉熵损失函数。
优选地,所述步骤S4具体为:采用步骤S3构建的基于正常假设的异常检测模型,学习正常日志会话中模板的序列模式;当异常发生时,日志会话中模板的序列模式发生偏离,产生了在正常模式中不存在的新模式,采用以下方法检测新模式的出现以进行异常检测:
1)采用步骤S1的方法得到划分会话后的日志模板;
2)采用步骤S2的反方法,对日志模板序列进行基于BERT预训练句向量的语义向量化;
3)构建与训练过程中长度相同的滑动窗口,在模板序列上滑动,滑动窗口内的模板序列对应的语义向量矩阵作为模型检测输入的数据,滑动窗口外下一个模板的类别为真实值;
4)根据语义向量矩阵通过异常检测模型预测下一个模板的类别,当任意窗口的预测值与真实值不符时,认为当前日志会话中出现了异常;当所有窗口的预测值与真实值均相符,认为当前日志会话是正常的
与现有技术相比,本发明具有以下优点:
1)本发明通过BERT预训练模型得到日志模板对应的含有语义属性的句向量,提升日志模板向量的表达能力与精确程度;
2)针对日志模板向量对整个模板和模板与模板间语义信息表征的不足,本发明首先通过日志解析算法对日志进行解析,提取日志中的核心信息(即模板)来缩减输入的值域,然后,通过BERT预训练模型得到日志模板对应的含有语义属性的句向量,提升日志模板向量的表达能力与精确程度;
3)本发明构建的基于Informer-encoder的异常检测模型,使用注意力机制替换LSTM消除了在处理长距离的特征依赖能力不足的问题;
4)本发明多头注意力通过残差结构进行优化,防止网络结构过深导致的网络退化问题;
5)本发明提高采样策略选取出最关键部分的查询query,忽略掉影响相对较小的query以减少计算量,降低了点积注意力的计算复杂度;
6)针对现有的LSTM模型存在处理长距离的特征依赖能力的不足及Transformer-encoder存在的时空复杂度过高的问题,本发明以包含概率稀疏自注意力机制的Informer-encoder为基础构建异常检测模型,在使用注意力机制替换LSTM以消除在处理长距离的特征依赖能力不足的同时,降低模型训练的时空复杂度,提升异常检测方法的准确度,减少模型的训练成本。
附图说明
图1为本发明的方法流程图;
图2为基于Informer-encoder的异常检测模型的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
实施例
本实施例给出了一种基于预训练BERT句向量与Informer-encoder的日志异常检测方法,该方法主要关键点在于:
1)通过BERT预训练模型得到解析后日志模板对应的含有语义属性的句向量,能够更好地建模日志中的语义信息,为异常检测模型提供更好的输入信息源。
2)基于Informer-encoder构建异常检测模型,能够在捕捉长距离依赖的同时,大幅降低训练的时间复杂度和空间复杂度,减少训练成本,能够更精确地检测到日志中的异常。
接下来,对本发明的方法进行详细介绍。
步骤S1、获取原始日志数据并进行数据预处理,包括以下子步骤:
步骤S11、日志解析:利用现有的日志解析算法对原始日志进行解析,提取日志中的核心信息以缩减输入的值域。以一种典型的日志解析方法为例,解析方法将原始日志信息划分为常量部分和变量部分,常量部分即为描述系统运行事件的模板信息,而变量部分携带了系统动态运行的其余标记信息,然后通过构建固定深度的解析树,通过不断将原始日志与解析树中的节点逐层匹配,动态更新解析树并生成日志对应的解析结果(模板),提取出日志中的核心信息。
步骤S12、会话划分:日志数据通常不是孤立的个体,一个典型的系统事件可能产生多条具有关联关系的日志。在日志解析后,提取出的多个日志模板信息需要按照会话划分成多个日志模板序列,以聚焦于日志局部具有的关联关系并输入模型。会话的设定通常有两种方式:
1)按日志中内在的关联标识符划分:日志中可能会存在标识日志之间关联的标识符,如HDFS日志数据集中,会通过block_id这一字段标识在一个块内的相关日志,通过关联标识符即可把相关日志对应的日志模板划分到同一会话下;
2)按时间窗口划分:日志中通常会记录事件发生的时间信息,通过设定时间窗的方式也可将时间上存在关联的日志对应的模板划分到同一会话下。例如,可将时间窗设定为1分钟,那么从开始记录的时间开始,每次截取1分钟内的日志信息并提取模板作为一个会话内的模板序列,随着时间窗口不断向后滑动,最终将日志数据转化为多个具有时间关联的日志模板序列。
步骤S2、基于BERT预训练句向量的日志模板语义向量化:
BERT是一种基于Transformer encoder架构的预训练语言模型,通过两种无监督学习方法进行预训练:
Masked Language Model(MLM):通过随机去掉句子中的部分token(mask操作),然后预测被去掉的token是什么;
Next Sentence Prediction(NSP):给定两个句子,预测其中一个句子是否是另外一个句子的下一句话。
通过在大量语料上对两个任务进行预训练,即可得到能够表征丰富语义含义的语言模型。以预训练好的语言模型为基础,输入第一步中构建好的日志模板,即可得到日志模板对应的句向量,一个会话内的模板序列对应的句向量可构建为一个矩阵,行代表列向量的维度,列代表模板序列的长度,此矩阵可作为下一阶段异常检测模型的输入基础。
步骤S3、构建基于Informer-encoder的异常检测模型:
由于日志中的异常数量相对较少,且有监督的方法需要对日志做大量的标注工作,因此本发明构建的异常检测模型基于正常假设,即,学习正常日志会话中模板的序列模式,当检测结果出现偏离时,认为发生异常。基于Informer-encoder的异常检测模型的构建思想如下图2所示,包括依次连接的Embedding层、注意力层、残差连接与层归一化模块、前馈层、残差连接与层归一化模块和线性层;所述异常检测模型的输入为步骤S2中BERT预训练得到的会话矩阵,输出为下一个日志模版的概率。
具体包括以下步骤:
构建输入Embedding通过上一阶段中基于BERT预训练的会话矩阵。设定固定长度为x的滑动窗口,在每个会话矩阵上按照列方向由上到下进行滑动,每一个窗口内的向量可构建为输入矩阵X,窗口外下一个模板的类别为这个窗口的训练标签。X通过参数矩阵转化为查询queryQ=XWq,键keyK=XWk和值valueV=XWv,其中,
Figure BDA0004111649160000071
dx为向量的特征维度、d为预先设定的隐层特征超参数;点积注意力计算的公式为:
Figure BDA0004111649160000072
为了减少点积注意力的计算复杂度,需要通过采样策略选取出最关键部分的query,忽略掉影响相对较小的query以减少计算量。采样策略通过计算每个query的关键性度量
Figure BDA0004111649160000073
实现如下所示,其中qi是Q中的第i个查询query,kj是K中的第j个键key,给定固定的采样因子c,前c·lnt个查询query将被选取出来进入下一步的注意力计算,t为窗口长度,即一个窗口中包含的日志模板数量。
Figure BDA0004111649160000081
根据采样后的query组成的矩阵
Figure BDA0004111649160000082
点积注意力计算的公式如下所示:
Figure BDA0004111649160000083
为了从多个维度更好地学习窗口中模板之间的关系,可设定s个head并进行拼接,每个head对应于一组query、key、value,并通过计算上述点积注意力得到对应的矩阵。s个head通过concat操作和线性变换转化为与输入矩阵维度相同的注意力矩阵:
Figure BDA0004111649160000084
式中,head为头,Watt为线性变换的参数矩阵;
为防止网络结构过深导致的网络退化问题,得到的多头注意力通过残差结构进行优化:
[X]att=LN(X+Dropout(Xatt))
式中,LN为层归一化运算(layer normalization),Dropout为失活运算,以随机指定某些神经网络中的神经元停止工作,提升网络的泛化能力;
在此基础上,可通过蒸馏过程取代通常使用的线性结构,对于第j层的X,蒸馏过程如下所示,其中Conv1d代表一维卷积操作(卷积核尺寸为3),Relu代表激活函数,MaxPooling表示最大池化过程(步长为2):
Xj+1=MaxPooling(Relu(Conv1d([Xj]att)))
对这一层的输出同样构建与上文相同的残差结构,即可获取蒸馏层的输出。经过n层后,能够得到最后的输出Xf,由于Xf中的每个元素都包含了其他元素的信息,且最后一个元素对应于最后一个会话的位置,适合用于预测下一个会话,选定最后一个元素并通过线性层和sigmoid函数计算下一个模板类别的概率:
Figure BDA0004111649160000085
始终,
Figure BDA0004111649160000086
为Xf中最后一个元素,W为线性层的参数矩阵,b为线性层的偏置。
损失函数采用分类任务常用的交叉熵损失函数,通过不断训练降低loss学习到正常日志会话中模板的序列模式,为下一步基于正常假设的日志异常检测提供基础。
步骤S4、将待检测的日志数据按照步骤S1~S2处理后,采用训练后的异常检测模型进行日志异常检测:
上一步中构建的异常检测模型基于正常假设,学习正常日志会话中模板的序列模式。当异常发生时,日志会话中模板的序列模式通常会发生偏离,如产生新的模板或模板顺序进行了调换等,即产生了在正常模式中不存在的新模式。本发明采用如下方法检测新模式的出现以进行异常检测:
1)在实时的异常检测过程中,按照与前两步同样的方式划分会话并提取会话中的模板序列;
2)对会话中模板序列进行基于BERT预训练句向量的语义向量化;
3)构建与训练过程中长度相同的滑动窗口,在模板序列上滑动,滑动窗口内的模板序列对应的语义向量矩阵作为模型检测输入的数据,滑动窗口外下一个模板的类别为真实值;
4)根据语义向量矩阵通过异常检测模型预测下一个模板的类别,当任意窗口的预测值与真实值不符时,认为当前日志会话中出现了异常;当所有窗口的预测值与真实值均相符,认为当前日志会话是正常的。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于预训练BERT句向量与Informer-encoder的日志异常检测方法,其特征在于,该方法包括以下步骤:
步骤S1、获取原始日志数据并进行预处理,得到划分会话后的日志模板;
步骤S2、对日志模板进行基于预训练BERT句向量的语义向量化;
步骤S3、构建基于Informer-encoder的异常检测模型,并采用经过S1~S2处理的正常日志数据对异常检测模型进行训练;
步骤S4、将待检测的日志数据按照步骤S1~S2处理后,采用训练后的异常检测模型进行日志异常检测。
2.根据权利要求1所述的一种基于预训练BERT句向量与Informer-encoder的日志异常检测方法,其特征在于,所述步骤S1中的预处理包括对原始日志数据进行日志解析和会话划分,得到日志模板序列。
3.根据权利要求2所述的一种基于预训练BERT句向量与Informer-encoder的日志异常检测方法,其特征在于,所述日志解析具体为:
将原始日志数据划分为常量部分和变量部分,常量部分为描述有系统运行事件的模板信息,变量部分为携带有系统动态运行的其余标记信息;
构建设定深度的解析树,不断将原始日志与解析树中的节点逐层匹配,动态更新解析树并生成日志对应的解析结果,得到日志模板信息。
4.根据权利要求2所述的一种基于预训练BERT句向量与Informer-encoder的日志异常检测方法,其特征在于,所述会话划分具体为:将日志解析提取出的多个日志模板信息按照会话划分成多个日志模板序列,其中,所述会话划分包括按日志中内在的关联标识符划分和按照时间窗口划分。
5.根据权利要求4所述的一种基于预训练BERT句向量与Informer-encoder的日志异常检测方法,其特征在于,所述步骤S2具体为:将步骤S1得到的划分会话后的日志模版输入至BERT语言模型预训练,得到日志模板对应的句向量;其中,一个会话内的日志模板序列对应的句向量构建为一个会话矩阵,行代表列向量的维度,列代表模板序列的长度。
6.根据权利要求4所述的一种基于预训练BERT句向量与Informer-encoder的日志异常检测方法,其特征在于,所述步骤S3中的基于Informer-encoder的异常检测模型包括依次连接的Embedding层、注意力层、残差连接与层归一化模块、前馈层、残差连接与层归一化模块和线性层;所述异常检测模型的输入为步骤S2中BERT预训练得到的会话矩阵,输出为下一个日志模版的概率。
7.根据权利要求6所述的一种基于预训练BERT句向量与Informer-encoder的日志异常检测方法,其特征在于,所述步骤S3包括以下子步骤:
步骤S31、将步骤S2中BERT预训练得到的会话矩阵输入至输入Embedding层;
步骤S32、设定固定长度的滑动窗口,在会话矩阵上滑动,将每个窗口内的向量构建为输入矩阵X,窗口外下一个日志模板的类别为该窗口的训练标签;
步骤S33、通过参数矩阵将输入矩阵X转化为查询query Q、键query K和值query V,计算点积注意力,表达式为:
Figure FDA0004111649150000021
式中,Q=XWq、K=XWk、V=XWv,Wq、Wk
Figure FDA0004111649150000022
dx为向量的特征维度、d为预先设定的隐层特征超参数;
步骤S34、设定s个头并进行拼接,每个头对应于一组查询查询query Q、键query K和值query V;s个头通过concat操作和线性变换转化为与输入矩阵维度相同的注意力矩阵,表达式为:
Figure FDA0004111649150000023
式中,head为头,Watt为线性变换的参数矩阵;
步骤S35、采用残差结构优化多头注意力,优化后的多头注意力表达式为:
[X]att=LN(X+Dropout(Xatt))
式中,LN为层归一化运算,Dropout为失活运算;
步骤S36、对优化后的多头注意力进行蒸馏,然后采用残差结构进行优化,经过n层后,得到最后的输出Xf;其中,蒸馏过程表达式为:
Xj+1=MaxPooling(Relu(Convld([Xj]att)))
式中,[Xj]att为第j层的多头注意力,Convld代表一维卷积操作,Relu代表激活函数,MaxPooling表示最大池化过程;
步骤S37、由于Xf中最后一个元素对应于最后一个会话的位置,用于预测下一个会话,选定最后一个元素,并通过线性层和sigmoid函数计算下一个模板类别的概率,表达式为:
Figure FDA0004111649150000031
式中,Xf中最后一个元素,W为线性层的参数矩阵,b为线性层的偏置;
通过不断训练降低损失函数学习到正常日志会话中模板的序列模式。
8.根据权利要求7所述的一种基于预训练BERT句向量与Informer-encoder的日志异常检测方法,其特征在于,所述步骤S33还包括采用采样策略选取出最关键部分的查询query,具体为:通过计算每个查询query的关键性度量
Figure FDA0004111649150000032
进行选取,表达式为:
Figure FDA0004111649150000033
式中,qi是Q中的第i个查询query,kj是K中的第j个值key;t为窗口长度,即一个窗口中包含的日志模板数量;
给定固定的采样因子c,选取前c·lnt个查询query作为最关键部分的查询query;t为;
根据采样后的query组成的矩阵
Figure FDA0004111649150000034
点积注意力的表达式为:
Figure FDA0004111649150000035
9.根据权利要求7所述的一种基于预训练BERT句向量与Informer-encoder的日志异常检测方法,其特征在于,所述损失函数为交叉熵损失函数。
10.根据权利要求6所述的一种基于预训练BERT句向量与Informer-encoder的日志异常检测方法,其特征在于,所述步骤S4具体为:采用步骤S3构建的基于正常假设的异常检测模型,学习正常日志会话中模板的序列模式;当异常发生时,日志会话中模板的序列模式发生偏离,产生了在正常模式中不存在的新模式,采用以下方法检测新模式的出现以进行异常检测:
1)采用步骤S1的方法得到划分会话后的日志模板;
2)采用步骤S2的反方法,对日志模板序列进行基于BERT预训练句向量的语义向量化;
3)构建与训练过程中长度相同的滑动窗口,在模板序列上滑动,滑动窗口内的模板序列对应的语义向量矩阵作为模型检测输入的数据,滑动窗口外下一个模板的类别为真实值;
4)根据语义向量矩阵通过异常检测模型预测下一个模板的类别,当任意窗口的预测值与真实值不符时,认为当前日志会话中出现了异常;当所有窗口的预测值与真实值均相符,认为当前日志会话是正常的。
CN202310208131.8A 2023-03-03 2023-03-03 基于预训练BERT句向量与Informer-encoder的日志异常检测方法 Pending CN116340039A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310208131.8A CN116340039A (zh) 2023-03-03 2023-03-03 基于预训练BERT句向量与Informer-encoder的日志异常检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310208131.8A CN116340039A (zh) 2023-03-03 2023-03-03 基于预训练BERT句向量与Informer-encoder的日志异常检测方法

Publications (1)

Publication Number Publication Date
CN116340039A true CN116340039A (zh) 2023-06-27

Family

ID=86885018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310208131.8A Pending CN116340039A (zh) 2023-03-03 2023-03-03 基于预训练BERT句向量与Informer-encoder的日志异常检测方法

Country Status (1)

Country Link
CN (1) CN116340039A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117332411A (zh) * 2023-12-01 2024-01-02 国家电网有限公司客户服务中心 一种基于Transformer模型的异常登录检测方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117332411A (zh) * 2023-12-01 2024-01-02 国家电网有限公司客户服务中心 一种基于Transformer模型的异常登录检测方法
CN117332411B (zh) * 2023-12-01 2024-03-19 国家电网有限公司客户服务中心 一种基于Transformer模型的异常登录检测方法

Similar Documents

Publication Publication Date Title
CN114169330B (zh) 融合时序卷积与Transformer编码器的中文命名实体识别方法
CN111814844B (zh) 一种基于位置编码融合的密集型视频描述方法
JP2005523533A (ja) 混合型数字及び/又は非数字データの処理
CN113094578B (zh) 基于深度学习的内容推荐方法、装置、设备及存储介质
CN109408578B (zh) 一种针对异构环境监测数据融合方法
Guh* et al. On-line identification of control chart patterns using self-organizing approaches
CN111259987A (zh) 一种基于bert的多模型融合提取事件主体的方法
CN113761893B (zh) 一种基于模式预训练的关系抽取方法
CN114168938B (zh) 一种基于少量异常标签的半监督sql注入攻击检测方法
CN113806554B (zh) 面向海量会议文本的知识图谱构建方法
CN114756686A (zh) 一种基于知识图谱的知识推理和故障诊断方法
CN116610778A (zh) 基于跨模态全局与局部注意力机制的双向图文匹配方法
CN116340039A (zh) 基于预训练BERT句向量与Informer-encoder的日志异常检测方法
CN110851654A (zh) 基于张量化数据降维的工业设备故障检测分类方法
US20230014904A1 (en) Searchable data structure for electronic documents
CN113434418A (zh) 知识驱动的软件缺陷检测与分析方法及系统
CN115292490A (zh) 一种用于政策解读语义的分析算法
Mittal et al. A COMPARATIVE STUDY OF ASSOCIATION RULE MINING TECHNIQUES AND PREDICTIVE MINING APPROACHES FOR ASSOCIATION CLASSIFICATION.
CN112785015B (zh) 基于案例推理的装备故障诊断方法
CN116775423A (zh) 用于集群故障预测的方法
US20230244987A1 (en) Accelerated data labeling with automated data profiling for training machine learning predictive models
CN113254468B (zh) 一种装备的故障查询及推理方法
Sun et al. DSMN: A personalized information retrieval algorithm based on improved DSSM
CN114329181A (zh) 一种题目推荐方法、装置及电子设备
Goud et al. Feature Engineering Framework to detect Phishing Websites using URL Analysis

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination