CN116910657A - 一种基于无监督学习的故障诊断方法和设备 - Google Patents
一种基于无监督学习的故障诊断方法和设备 Download PDFInfo
- Publication number
- CN116910657A CN116910657A CN202310054333.1A CN202310054333A CN116910657A CN 116910657 A CN116910657 A CN 116910657A CN 202310054333 A CN202310054333 A CN 202310054333A CN 116910657 A CN116910657 A CN 116910657A
- Authority
- CN
- China
- Prior art keywords
- log
- vector
- current
- vectors
- category
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000003745 diagnosis Methods 0.000 title claims abstract description 23
- 239000013598 vector Substances 0.000 claims abstract description 152
- 238000012423 maintenance Methods 0.000 claims abstract description 31
- 238000003058 natural language processing Methods 0.000 claims abstract description 5
- 239000011159 matrix material Substances 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 21
- 238000012549 training Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 230000000873 masking effect Effects 0.000 claims description 2
- 238000012847 principal component analysis method Methods 0.000 claims description 2
- 238000001514 detection method Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于无监督学习的故障诊断方法和设备,方法用于对运维工具的运维对象进行故障诊断,包括步骤:获取运维工具的历史日志数据,采用自然语言处理方法表示为日志向量,并嵌入时间和位置信息;对所有历史日志向量聚类;使用同类别下的i个历史日志向量学习对应类别日志的内在模式;获取运维工具的当前日志数据,表示为入有位置和时间的当前日志向量;用当前日志向量所属类别的内在模式,根据当前日志向量及其所属类别下近似的i‑1个历史日志向量,获得参照日志向量;将当前日志向量与参照日志向量对比,判断运维对象是否故障以及故障所在的模块。本发明能快速对运维对象故障进行诊断定位,提高运维对象的故障检测效率和准确率。
Description
技术领域
本发明属于智能运维技术领域,具体涉及一种基于无监督学习的故障诊断方法和设备。
背景技术
随着人工智能的发展,智能运维的概念于2016年被Gartner首次提出,即通过机器学习等算法分析来自于多种运维工具和设备的大规模数据,自动发现并实时相应系统出现的问题,进而提升信息技术运维能力和自动化程度,在AIOps趋势下,以多源运维数据为驱动,以机器学习等算法为核心的智能化故障发现与根因诊断技术,引起广泛关注。其中,基于日志数据的故障诊断通过智能化手段分析系统运行时产生的日志数据以自动化地发现系统异常、诊断系统故障、故障根因定位以及故障自愈,正成为数学界和工业界的研究热点。
发明内容
本发明提供一种基于无监督学习的故障诊断方法,通过对运维工具的日志数据分析,快速对运维对象故障进行诊断定位,提高运维对象的故障检测效率和准确率。
为实现上述技术目的,本发明采用如下技术方案:
一种基于无监督学习的故障诊断方法,用于对运维工具的运维对象进行故障诊断,包括以下步骤:
获取运维工具的大量历史日志数据,采用自然语言处理方法将每条日志数据表示为日志向量,并向其中嵌入日志数据的时间和对应的模块位置;
对得到的历史日志向量进行聚类,且类别数与运维对象的模块数量相同;然后使用同类别下的i个历史日志向量学习对应类别日志的内在模式;
获取运维工具的当前日志数据,按历史日志数据相同的处理方式获得嵌入有位置和时间的当前日志向量;
通过距离判断当前日志向量所属类别,然后用所属类别的内在模式,根据当前日志向量及其所属类别下近似的i-1个历史日志向量,获得参照日志向量;
将当前日志向量与参照日志向量对比,判断运维对象是否故障以及故障所在的模块。
进一步地,采用自编码器学习各类别日志的内在模式,具体为:
首先将同类别下的i个历史日志向量拼接成矩阵;
然后对日志矩阵中的部分日志向量进行掩码处理,输入至编码器进行编码得到编码矩阵;
再将编码矩阵中掩码位置处的编码向量,输入至解码器进行解码;记解码输出为预测日志向量;
最后根据所有的预测日志向量和对应掩码处理前的日志向量,使用损失函数对解码器网络进行训练,训练所得解码器可表示该类别下的日志内在模式。
进一步地,所述用所属类别的内在模式,根据当前日志向量及其所属类别下近似的i-1个历史日志向量,获得参照日志向量,具体为:
首先将当前日志向量及其所属类别下近似的i-1个历史日志向量拼接成矩阵;
然后对拼接的日志矩阵中的当前日志向量进行掩码处理,再输入至编码器进行编码,得到编码矩阵;
最后将编码矩阵中当前日志向量对应的编码向量,输入至训练好的解码器,输出得参照日志向量。
进一步地,损失函数的表达式为:
式中,τ为权重因子,Dj为解码器输出的第j条预测日志向量,Vj表示Dj对应的掩码处理前的日志向量
进一步地,在学习内在模式的过程中,采用随机掩码的方式,对日志矩阵中一半的日志向量进行掩码处理。
进一步地,采用K-means方法对历史日志向量进行无监督聚类。
进一步地,采用Word2Vec算法将日志数据表示成日志向量。
进一步地,在向日志向量嵌入位置和时间之前,先采用主成分分析法对日志向量进行降维处理。
进一步地,根据当前日志向量中嵌入的位置信息确定故障位置,即故障所在的模块。
一种电子设备,包括存储器及处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现上述任一项技术方案所述的基于无监督学习的故障诊断方法。
有益效果
本发明能够自动化地根据运维工具海量的日志数据,可以快速地对系统故障进行定位与诊断,大大减少人工处理的成本,同时提高了系统故障检测效率和准确率。另外在对日志数据进行向量表示时,通过降维处理提高算法效率;使用无监督的方法自动化地对日志进行分类,分类对日志数据输出参考向量进行对比,提高故障诊断的准确率。
具体实施方式
下面对本发明的实施例作详细说明,本实施例以本发明的技术方案为依据开展,给出了详细的实施方式和具体的操作过程,对本发明的技术方案作进一步解释说明。
实施例1
本实施例提供一种基于无监督学习的故障诊断方法,包括以下步骤:
第一阶段:无监督日志分类器
步骤1,获取运维工具的大量历史日志数据,采用自然语言处理方法将每条日志数据表示为日志向量,并向其中嵌入日志数据的时间和对应的模块位置。
1.1,日志信息嵌入
首先要做的就是提取运维工具日志数据中的潜在信息,并表示成计算机能够处理的信号。本实施例采用基于自然语言处理的方法,通过Word2Vec将日志数据表示成日志向量V(v1,v2...,vn)。
考虑到日志数据的规模较大,为了能更加高效地处理日志向量,在更优的实施例中可以当前的日志向量进行降维,具体方法是通过主成分分析的方法对日志向量进行降维,即:
V(v1,v2...,vn)→V(v1,v2,...,vm),其中m<n
在本实施中对运维工具做出两点假设:①来自同一模块的日志数据具有更大的相似度;②同一时间窗口内产生的日志数据同样具有更大的相似度。因此对于上述日志向量,可进一步向其中嵌入位置信息和时间信息,以供后续对解码器网络进行学习。
1.2位置信息嵌入
对上述降维得到的日志向量V(v1,v2,...,vm),向其中嵌入位置信息P0,包括系统位置、模块号等:
1.3时间信息嵌入
对上述嵌入位置后的日志向量V(v1,v2,...,vm,p0),再向其中嵌入时间信息t0:
步骤2,对得到的历史日志向量进行聚类,且类别数与运维对象的模块数量相同。
基于步骤1得到的日志向量V(v1,v2,...,vm,p0,t0),通过K-means的方法对所有日志向量进行无监督聚类,通过聚类操作,将海量的日志向量进行分类,实现对不同模块以及不同时间窗口的日志向量进行无监督的区分。本实施例通过添加权重因子监督聚类过程,以达到区分不同模块日志的目的。对于两个日志向量Vi,Vj,对其相似度得分进行了定义,函数为:
score(Vi,Vj)=∑Bias·(Vi-Vj)2
其中,Bias=(b1,b2,...,bm,w0,w1)表示由m个日志特征量和位置、时间的权重因子构成的权重矩阵。
第二阶段:无监督训练
步骤3,使用同类别下的i个历史日志向量学习对应类别日志的内在模式。
在步骤2中,通过日志分类器将所有日志向量分成k个类:C1,C2,...,Ck。然后通过本步骤3的采用无监督的方式,学习每个类别的内在模式。
本实施例中,采用自编码器学习各类别的内在模式,每个类别的内在模式学习方法包括:
首先,取来自同一个类别的i个日志向量V1,V2,...,Vi拼接成一个矩阵Zinput:
然后,对日志矩阵Zinput中的部分日志向量进行掩码处理,输入至编码器进行编码得到编码矩阵;
其中掩码可表示为:
Zmask=(x1,x2,...,xi)T·Zinput
xj=random(0,1),j=1,2,3,...,i
本实施例中,采用随机掩码的方式将日志矩阵中的一半日志向量进行遮蔽,然后将得到的掩码序列Zmask输入至Transformer编码器。其中Transformer编码器通过上游任务迁移得到,在网络训练过程中不需要更新,而且能够利用Transfomer编码器中的自注意力机制关注日志矩阵的全局信息的特性,以实现日志向量编码。
另外可将编码表示为:
ZCode=EnCoder(Zmaske)=(E1,E2,...,Ei)
式中,ZCode为编码器得到的编码矩阵,包括原始i个日志向量对应的i个编码向量。
再将编码矩阵中掩码位置处的编码向量,输入至解码器进行解码;记解码输出为预测日志向量;解码器对掩码位置处的编码向量进行解码可表示为:
Dj=DeCoder(Ej)while xj=0,j=1,2,3,...i;
式中,Dj为解码输出的预测日志向量。
最后根据所有的预测日志向量和对应掩码处理前的日志向量,使用损失函数对解码器网络进行训练,训练所得解码器可表示该类别下的日志内在模式。损失函数表示为:
式中,τ为权重因子,Dj为解码器输出的第j条预测日志向量,Vj表示Dj对应的掩码处理前的日志向量。
第三阶段:异常日志检测
步骤4,获取运维工具的当前日志数据,按历史日志数据相同的处理方式获得嵌入有位置和时间的当前日志向量。
步骤5,通过距离判断当前日志向量所属类别,然后用所属类别的内在模式,根据当前日志向量及其所属类别下近似的i-1个历史日志向量,获得参照日志向量。
当前日志向量所属类别的判断,具体通过将当前日志向量与各聚类中心的距离进行对比,选择其中距离最小的类别,确定为当前日志向量所属类别。
本实施例如前所述,采用自编码器学习各类别的内在模式,训练所得解码器可表示该类别下的日志内在模式,因此,本实施例相应地使用解码器来获得参照日志向量,具体包括:
首先将当前日志向量及其所属类别下近似的i-1个历史日志向量拼接成矩阵;其中所述近似的i-1个历史日志向量,是指当前日志向量所属类别下的所有历史日志向量中,与当前日志向量之间距离最接近的i-1个历史日志向量。具体的矩阵拼接方法与步骤3中所述相同。
然后对拼接的日志矩阵中的当前日志向量进行掩码处理,再输入至编码器进行编码,得到编码矩阵。
最后将编码矩阵中当前日志向量对应的编码向量,输入至训练好的解码器,输出得参照日志向量。
步骤6,将当前日志向量与参照日志向量对比,判断运维对象是否故障以及故障所在的模块,实现故障快速诊断。
实施例2
本实施例提供一种电子设备,包括存储器及处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现实施例1所述的基于无监督学习的故障诊断方法
以上实施例为本申请的优选实施例,本领域的普通技术人员还可以在此基础上进行各种变换或改进,在不脱离本申请总的构思的前提下,这些变换或改进都应当属于本申请要求保护的范围之内。
Claims (10)
1.一种基于无监督学习的故障诊断方法,其特征在于,用于对运维工具的运维对象进行故障诊断,包括以下步骤:
获取运维工具的大量历史日志数据,采用自然语言处理方法将每条日志数据表示为日志向量,并向其中嵌入日志数据的时间和对应的模块位置;
对得到的历史日志向量进行聚类,且类别数与运维对象的模块数量相同;
使用同类别下的i个历史日志向量学习对应类别日志的内在模式;
获取运维工具的当前日志数据,按历史日志数据相同的处理方式获得嵌入有位置和时间的当前日志向量;
通过距离判断当前日志向量所属类别,然后用所属类别的内在模式,根据当前日志向量及其所属类别下近似的i-1个历史日志向量,获得参照日志向量;
将当前日志向量与参照日志向量对比,判断运维对象是否故障以及故障所在的模块。
2.根据权利要求1所述的基于无监督学习的故障诊断方法,其特征在于,采用自编码器学习各类别日志的内在模式,具体为:
首先将同类别下的i个历史日志向量拼接成矩阵;
然后对日志矩阵中的部分日志向量进行掩码处理,输入至编码器进行编码得到编码矩阵;
再将编码矩阵中掩码位置处的编码向量,输入至解码器进行解码;记解码输出为预测日志向量;
最后根据所有的预测日志向量和对应掩码处理前的日志向量,使用损失函数对解码器网络进行训练,训练所得解码器可表示该类别下的日志内在模式。
3.根据权利要求2所述的基于无监督学习的故障诊断方法,其特征在于,所述用所属类别的内在模式,根据当前日志向量及其所属类别下近似的i-1个历史日志向量,获得参照日志向量,具体为:
首先将当前日志向量及其所属类别下近似的i-1个历史日志向量拼接成矩阵;
然后对拼接的日志矩阵中的当前日志向量进行掩码处理,再输入至编码器进行编码,得到编码矩阵;
最后将编码矩阵中当前日志向量对应的编码向量,输入至训练好的解码器,输出得参照日志向量。
4.根据权利要求2所述的基于无监督学习的故障诊断方法,其特征在于,损失函数的表达式为:
式中,τ为权重因子,Dj为解码器输出的第j条预测日志向量,Vj表示Dj对应的掩码处理前的日志向量。
5.根据权利要求2所述的基于无监督学习的故障诊断方法,其特征在于,在学习内在模式的过程中,采用随机掩码的方式,对日志矩阵中一半的日志向量进行掩码处理。
6.根据权利要求1所述的基于无监督学习的故障诊断方法,其特征在于,采用K-means方法对历史日志向量进行无监督聚类。
7.根据权利要求1所述的基于无监督学习的故障诊断方法,其特征在于,采用Word2Vec算法将日志数据表示成日志向量。
8.根据权利要求1所述的基于无监督学习的故障诊断方法,其特征在于,在向日志向量嵌入位置和时间之前,先采用主成分分析法对日志向量进行降维处理。
9.根据权利要求1所述的基于无监督学习的故障诊断方法,其特征在于,根据当前日志向量中嵌入的位置信息确定故障位置,即故障所在的模块。
10.一种电子设备,包括存储器及处理器,所述存储器中存储有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器实现如权利要求1~9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310054333.1A CN116910657A (zh) | 2023-02-03 | 2023-02-03 | 一种基于无监督学习的故障诊断方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310054333.1A CN116910657A (zh) | 2023-02-03 | 2023-02-03 | 一种基于无监督学习的故障诊断方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116910657A true CN116910657A (zh) | 2023-10-20 |
Family
ID=88361540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310054333.1A Pending CN116910657A (zh) | 2023-02-03 | 2023-02-03 | 一种基于无监督学习的故障诊断方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116910657A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117435441A (zh) * | 2023-12-21 | 2024-01-23 | 国网山东省电力公司信息通信公司 | 一种基于日志数据的故障诊断方法及装置 |
-
2023
- 2023-02-03 CN CN202310054333.1A patent/CN116910657A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117435441A (zh) * | 2023-12-21 | 2024-01-23 | 国网山东省电力公司信息通信公司 | 一种基于日志数据的故障诊断方法及装置 |
CN117435441B (zh) * | 2023-12-21 | 2024-04-26 | 国网山东省电力公司信息通信公司 | 一种基于日志数据的故障诊断方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210209410A1 (en) | Method and apparatus for classification of wafer defect patterns as well as storage medium and electronic device | |
CN111914873A (zh) | 一种两阶段云服务器无监督异常预测方法 | |
CN111428789A (zh) | 一种基于深度学习的网络流量异常检测方法 | |
CN113312447B (zh) | 基于概率标签估计的半监督日志异常检测方法 | |
CN112381788B (zh) | 一种基于双分支匹配网络的零部件表面缺陷增量检测方法 | |
CN115293280A (zh) | 基于时空特征分割重构的动力装备系统异常检测方法 | |
CN116245513B (zh) | 基于规则库的自动化运维系统及其方法 | |
CN112966088B (zh) | 未知意图的识别方法、装置、设备及存储介质 | |
CN114170184A (zh) | 一种基于嵌入特征向量的产品图像异常检测方法及装置 | |
CN116910657A (zh) | 一种基于无监督学习的故障诊断方法和设备 | |
CN114328106A (zh) | 日志数据处理方法、装置、设备及存储介质 | |
CN113947597B (zh) | 一种基于屏蔽重建的工业缺陷检测方法、装置及介质 | |
CN115456107A (zh) | 一种时间序列异常检测系统及方法 | |
CN114861778A (zh) | 一种改进宽度迁移学习的不同负载下滚动轴承状态快速分类方法 | |
CN117676099A (zh) | 基于物联网的安全预警方法及系统 | |
CN117316462A (zh) | 一种医疗数据管理方法 | |
WO2023231374A1 (zh) | 机械设备半监督故障检测分析方法、装置、终端及介质 | |
CN114626426A (zh) | 基于K-means优化算法的工业设备行为检测方法 | |
CN115017015B (zh) | 一种边缘计算环境下程序异常行为检测方法及系统 | |
CN115758086A (zh) | 卷烟烘丝机故障检测的方法、装置、设备及可读存储介质 | |
CN116467930A (zh) | 一种基于Transformer的结构化数据通用建模方法 | |
CN115661543A (zh) | 一种多尺度的基于生成对抗网络的工业零件缺陷检测方法 | |
CN114972871A (zh) | 基于图像配准的少样本图像异常检测方法及系统 | |
CN114004992A (zh) | 多标签分类模型的训练方法、图像的多标签分类方法 | |
CN113505817A (zh) | 不均衡数据下轴承故障诊断模型样本自适应加权训练方法 |
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 |