CN112948155B - 模型训练方法、状态预测方法、装置、设备及存储介质 - Google Patents
模型训练方法、状态预测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112948155B CN112948155B CN201911268312.XA CN201911268312A CN112948155B CN 112948155 B CN112948155 B CN 112948155B CN 201911268312 A CN201911268312 A CN 201911268312A CN 112948155 B CN112948155 B CN 112948155B
- Authority
- CN
- China
- Prior art keywords
- sequence
- prediction model
- log
- energy
- output sequence
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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 the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
- G06F11/0775—Content or structure details of the error report, e.g. specific table structure, specific error fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- 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
-
- 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
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本申请实施例公开了***异常预测模型训练方法、***状态预测方法、装置、设备及存储介质,所述方法包括:获取样本特征;根据设定的权重参数初始化所述***异常预测模型;通过所述***异常预测模型对所述样本特征进行处理,得到预测能量;基于所述预测能量构建目标函数;在反向传播中,通过所述目标函数更新所述***异常预测模型的权重参数。如此,能够对***运行状态的异常情况进行预测。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种***异常预测模型训练方法、***状态预测方法、装置、设备及计算机存储介质。
背景技术
随着大数据技术的发展,当今的分布式计算集群的规模正在变的越来越大,分布式***的复杂性也随之增加。由于分布式集群的节点数很多,虽然每个节点发生故障的概率低,但是整个集群发生故障的概率却不低,例如一个大型的集群很有可能每天都会有硬盘损坏,这些故障对于一个大型复杂***的稳定运行有着极大的影响,甚至可能会造成严重的后果。从而对于大规模***而言,为了能够有效减少故障带来的损失,需要能够尽早的发现并解决问题,因此,如何对***运行状态的异常情况进行预测,已经成为维护***正常运行时需要面对的难题。
发明内容
本申请实施例提供一种***异常预测模型训练方法、***状态预测方法、装置、设备及计算机存储介质,能够对***运行状态的异常情况进行预测。
为达到上述目的,本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种***异常预测模型训练方法,所述方法包括:
获取样本特征;
根据设定的权重参数初始化所述***异常预测模型;
通过所述***异常预测模型对所述样本特征进行处理,得到预测能量;
基于所述预测能量构建目标函数;
在反向传播中,通过所述目标函数更新所述***异常预测模型的权重参数。
在一些实施例中,所述获取样本特征,包括:
获取日志序列,对所述日志序列进行处理得到向量序列;
对所述向量序列进行特征提取,得到样本特征。
在一些实施例中,所述通过所述***异常预测模型对所述样本特征进行处理,得到预测能量,包括:
基于所述样本特征以及所述***异常预测模型的第一子模型的第一解码器,获取第一输出序列;
基于所述样本特征以及所述***异常预测模型的第一子模型的第二解码器,获取第二输出序列;
基于所述第一输出序列、所述第二输出序列以及所述样本特征,获取第三输出序列。
在一些实施例中,所述基于所述第一输出序列、所述第二输出序列以及所述样本特征,获取第三输出序列,包括:
基于所述第一输出序列以及所述样本特征,确定第一重建误差;
基于所述第二输出序列以及所述样本特征,确定第二重建误差;
将所述第一重建误差、所述第二重建误差以及所述第一子模型中的编码器最后一个时间步的隐藏空间向量拼接,得到第三输出序列。
在一些实施例中,所述通过所述***异常预测模型对所述样本特征进行处理,得到预测能量,包括:
利用所述***异常预测模型的第二子模型,对所述第三输出序列进行聚类,得到K个簇,K为正整数;
基于所述第m个簇内的样本,确定所述第m个簇的均值和协方差;
基于所述均值和协方差,确定样本的预测能量。
在一些实施例中,所述基于所述第m个簇内的样本,确定所述第m个簇的均值和协方差,包括:
利用所述***异常预测模型的所述第二子模型,对所述第三输出序列进行估计,确定所述第三输出序列中样本属于每种分布的概率;
基于所述第m个簇内的样本和所述样本属于每种分布的概率,确定所述第m个簇的均值和协方差。
在一些实施例中,所述基于所述预测能量构建目标函数,包括:
根据基于所述第一输出序列、所述第二输出序列以及所述样本特征,确定重建损失;
基于所述重建损失和所述预测能量,构建目标函数。
第二方面,本申请实施例提供一种***状态预测方法,所述方法包括:
获取***的样本特征;
基于***异常预测模型,确定所述样本特征对应的能量;
基于所述能量确定所述***的状态。
在一些实施例中,基于所述能量确定所述***的状态,包括:
在所述预测能量大于预设的能量阈值的情况下,确定所述***异常;
或者,在所述预测能量小于或等于所述能量阈值的情况下,确定所述***正常。
在一些实施例中,在基于***异常预测模型,确定所述样本特征对应的能量前,所述方法还包括:
获取训练样本特征;
根据设定的权重参数初始化所述***异常预测模型;
通过所述***异常预测模型对所述训练样本特征进行处理,得到所述训练样本的预测能量;
基于所述训练样本的所述预测能量构建目标函数;
在反向传播中,通过所述目标函数更新所述***异常预测模型的权重参数。
第三方面,本申请实施例提供***异常预测模型训练装置,所述装置包括第一获取模块、初始化模块、第一处理模块、构建模块和更新模块,其中,
所述第一获取模块,用于获取样本特征;
所述初始化模块,用于根据设定的权重参数初始化所述***异常预测模型;
所述第一处理模块,用于通过所述***异常预测模型对所述样本特征进行处理,得到预测能量;
所述构建模块,用于基于所述预测能量构建目标函数;
所述更新模块,用于在反向传播中,通过所述目标函数更新所述***异常预测模型的权重参数。
第四方面,本申请实施例提供***状态预测装置,所述装置包括第二获取模块、能量确定模块和状态确定模块,其中,
所述第二获取模块,用于获取***的样本特征;
所述能量确定模块,用于基于***异常预测模型,确定所述样本特征对应的能量;
所述状态确定模块,用于基于所述能量确定所述***的状态。
第五方面,本申请实施例提供一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时以实现以本申请任一实施例所提供的***异常预测模型训练方法的步骤,和/或以本申请任一实施例所提供的***状态预测方法的步骤。
第六方面,本申请实施例提供一种计算机存储介质,所述计算机可读存储介质上存储有***异常预测模型训练程序和/或存储有***状态预测程序,所述***异常预测模型训练程序被处理器执行时实现如本申请任一实施例所提供的***异常预测模型训练方法的步骤,所述***状态预测程序被处理器执行时实现如本申请任一实施例所提供的***状态预测方法的步骤。
上述实施例所提供的***异常预测模型训练方法,所述方法包括获取样本特征,根据设定的权重参数初始化所述***异常预测模型,通过所述***异常预测模型对所述样本特征进行处理,得到预测能量,基于所述预测能量构建目标函数,在反向传播中,通过所述目标函数更新所述***异常预测模型的权重参数。如此,建立了端到端的***异常预测模型,并且基于预测能量构建目标函数,从而可以采用无标签样本对所述***异常预测模型进行训练,减少人工标注的过程,并且解决了大量的正样本难以获得,影响模型性能的问题,达到了在获取大量训练样本的同时保证了模型性能的效果。同时,利用目标函数进行反向传播,实现对所述***异常预测模型进行联合优化,使得所述异常预测模型达到最优的性能的目的。
附图说明
图1为本申请一实施例中***异常预测模型训练方法的处理流程示意图;
图2为本申请一实施例中***状态预测方法的处理流程示意图;
图3为本申请一实施例中***异常预测模型的组成结构示意图;
图4为本申请一实施例中日志子序列的组成结构示意图;
图5为本申请一实施例中***异常预测模型训练装置的结构示意图;
图6为本申请一实施例中***状态预测装置的结构示意图;
图7为本申请一实施例中***异常预测模型训练设备的结构示意图;
图8为本申请一实施例中***状态预测设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
在对本申请实施例提供一种***异常预测模型训练方法进行详细描述之前,首先对本申请涉及的技术进行简要介绍。
日志文件是用于记录***操作事件的记录文件或文件集合,它在处理历史数据、诊断问题的追踪以及理解***的活动等方面发挥着重要作用。目前,程序员利用日志文件在开发程序时定位问题,以及运维人员利用日志文件在***发生故障时定位问题,所述日志文件由若干条日志组成。
由于日志文件能及时反映出***的当前状态,因此,基于现有的基于日志数据分析的方法对***运行状态进行异常检测。具体地,按照自然语言处理的技术将日志切分成一个个单独的单词,将每条日志转换成词列表或进一步对词列表进行编码,编码的方法通常由TF-IDF(term frequency–inverse document frequency,词频-逆文本频率指数)、或者BOW(Bag-of-words,词袋)、或者word2vec(word to vector,词向量)实现。基于编码后的日志向量,再进行聚类或者使用时间序列分析的方法来进行异常检测。但是上述异常检测方法仅能检测出***当前运行出现异常,甚至在***处于异常运行状态一段时间后才能检测出异常,因此,上述异常检测方法无法保证***的高稳定性和高可用性。
本申请实施例一方面提供一种***异常预测模型训练方法,请参见图1,所述方法包括:
步骤101,获取样本特征。
这里,***异常预测模型训练装置对用于训练的样本进行编码,获取到可以输入***异常预测模型的样本特征,也就是将样本格式转换成规范化格式,便于***异常预测模型进行训练。
例如,***异常预测模型训练装置对用于训练的样本进行编码,将所述样本编码成定长向量,将所述定长向量作为样本特征,输入所述***异常预测模型。
步骤102,根据设定的权重参数初始化所述***异常预测模型。
这里,***异常预测模型训练装置预先设定所述***异常预测模型的权重参数,根据设定的权重参数对所述***异常预测模型进行初始化,初始化后的所述***异常预测模型的准确性不高。
步骤103,通过所述***异常预测模型对所述样本特征进行处理,得到预测能量。
这里,***异常预测模型训练装置将所述样本特征输入到所述***异常预测模型,经过所述***异常预测模型的处理,获取到所述样本的预测能量。
例如,所述***异常预测模型采用循环神经网络捕获样本特征的先后信息,再利用高斯模型对所述样本进行参数估计,从而得到预测能量。
步骤104,基于所述预测能量构建目标函数。
这里,由于***异常预测模型训练装置是基于所述预测函数构建所述目标函数,因此,用于训练所述***异常预测模型的样本可以是无标签样本。所述***异常预测模型训练属于无监督学习。
步骤105,在反向传播中,通过所述目标函数更新所述***异常预测模型的权重参数。
这里,***异常预测模型训练装置利用目标函数在反向传播中不断修正所述***异常预测模型的权重参数,使得所述***异常预测模型重建损失越来越小,达到收敛。
在上述实施中,将获取到的样本特征输入到所述***异常预测模型中,获取到预测能量,基于预测能量构建目标函数,并且利用所述目标函数在反向传播中更新所述***异常预测模型的权重参数。如此,建立了端到端的***异常预测模型,并且基于预测能量构建目标函数,从而可以采用无标签样本对所述***异常预测模型进行训练,减少人工标注样本的过程,并且解决了大量的正样本难以获得,影响模型性能的问题,达到了在获取大量训练样本的同时保证了模型性能的效果。同时,利用目标函数进行反向传播,实现对所述***异常预测模型进行联合优化,使得所述异常预测模型达到最优的性能的目的。
在一些实施例中,所述步骤101,获取样本特征,包括:
***异常预测模型训练装置获取日志序列,对所述日志序列进行处理得到向量序列。
这里,所述样本为日志序列,所述日志序列通常包含各种类型的变量,***异常预测模型直接使用所述日志序列进行训练,会引入日志序列中变量所带来的噪音干扰,从而使得***异常预测模型准确性降低。因此,需要对日志序列进行处理,将所述日志序列转换成向量序列。
其中,所述对所述日志序列进行处理包括对日志序列进行预处理和对预处理后的日志序列进行编码。具体地,所述对日志序列进行预处理包括对日志序列中变量进行清洗,例如基于日志的特有格式以及人工经验,使用正则表达式匹配的方法对日志序列的变量值进行替换,使得日志序列中每条日志转换成单词列表,并基于自然语言处理的思想,采用整数编码方法对每条日志进行编码,获取到向量序列。
***异常预测模型训练装置对所述向量序列进行特征提取,得到样本特征。
这里,所述***异常预测模型训练装置采用神经网络对所述向量序列进行特征提取,得到样本特征。所述神经网络是预先利用海量数据,通过词嵌入模型训练出来的。
在上述实施例中,当所述样本为日志序列时,需要对日志序列进行处理,得到向量序列,并且对所述向量序列进行特征提取,从而获取到样本特征。如此,先对日志序列进行处理,可以在进行模型训练时,避免引入日志中变量带来的噪音,从而提高所述***异常预测模型的准确性。
在一些实施例中,所述步骤103,所述通过所述***异常预测模型对所述样本特征进行处理,得到预测能量,包括:
基于所述样本特征以及所述***异常预测模型的第一子模型的第一解码器,获取第一输出序列;
基于所述样本特征以及所述***异常预测模型的第一子模型的第二解码器,获取第二输出序列;
基于所述第一输出序列、所述第二输出序列以及所述样本特征,获取第三输出序列。
这里,所述***异常预测模型的第一子模型包括编码器和两个解码器,所述第一子模型的编码器由单向堆叠的GRU(Gated Recurrent Unit,门控循环单元)构成,从而所述第一子模型可以捕获样本的先后信息。其中,所述第一解码器包括普通解码器,所述第二解码器包括加入注意力机制的解码器。
其中,所述第一子模型的编码器可以包括一层编码层或者多层编码层,例如,根据所述步骤101,获取到的样本特征X=(x1,x2,…,xn)输入到第一子模型302的编码器,经过双层单向堆叠的GRU单元后,分别获取到第一编码层的第一隐藏空间向量和第二编码层的第二隐藏空间向量将第一隐藏空间向量h1和第二隐藏空间向量h2进行拼接,获取到隐藏空间向量H=(h1,h2,…hn),其中,concat表示拼接函数,n为GUR的时间步数。
其中,所述步骤101获取到的样本特征X输入到第一子模型,获取到第三输出序列的过程可以表示为:
z=Attentive_GRU(X) (1)
其中,z表示第三输出序列,Attentive_GRU表示第一子模型的非线性变换函数。
这里,所述基于所述样本特征以及所述***异常预测模型的第一子模型的第一解码器,获取第一输出序列,包括:根据所述第一子模型的第一解码器的历史隐藏空间向量和第一解码器的历史输出,确定出第一解码器的当前输出。
例如,以t时刻为例,上一时刻第一解码器的隐藏状态s1 t-1和上一时刻第一解码器的输出y1 t-1输入到第一解码器,可以获取当前时刻的输出y1 t,所述过程可以表示成y1 t=GRU1(s1 t-1,y1 t-1),其中,GRU1为第一解码器非线性变换函数,s0=hn,hn是编码器最后一个时间步的隐藏空间向量。如此将样本特征输入到第一子模型中,通过所述第一解码器获取到第一输出序列Y1=(y1 1,y1 2,…,y1 n)。
其中,y1 t=GRU1(s1 t-1,y1 t-1),y1 t更新过程为:
z1 t=σ(W1 zy1 t-1+Uz 1s1 t-1) (2)
rt 1=σ(Wr 1y1 t-1+Ur 1s1 t-1) (3)
y1 t=σ(W1 o·st 1) (6)
其中,Wz 1、Wr 1、Ws 1、Wo 1、Uz 1、Ur 1、Us 1是相关的权重矩阵,zt 1为更新门,rt 1为重置门,为候选向量,Tanh表示Tanh函数,σ表示Sigmoid函数,表示矩阵元素相乘。
这里,基于所述样本特征以及所述***异常预测模型的第一子模型302的第二解码器,获取第二输出序列,包括:根据所述编码器的隐藏空间向量、第一解码器的历史隐藏空间向量和第二解码器的历史输出,确定出第二解码器的当前输出。
例如,以t时刻为例,所述编码器的隐藏空间向量经过注意力模块后,获取到注意力机制的加权和ct,将所述注意力机制的加权和ct、上一时刻第二解码器的隐藏状态s2 t-1和上一时刻第二解码器的输出y2 t-1输入到第二解码器,可以获取当前时刻的输出y2 t,所述过程可以表示为y2 t=GRU2(s1 t-1,y1 t-1,ct),其中,GRU2为第二解码器非线性变换函数,如此将样本特征输入到第一子模型302中,通过所述第一解码器获取到第一输出序列Y2=(y2 1,y2 2,…,y2 n)。
其中,获取注意力机制的加权和ct的过程如下,
这里,etj表示第二解码器隐藏空间向量s2 t-1与编码器隐藏空间向量hj的相关性。αtj为权重系数,用于表示第二解码器隐藏空间向量st-1的重要性。
其中,y2 t=GRU2(s1 t-1,y1 t-1,ct),y2 t更新过程为:
zt 2=σ(Wz 2y2 t-1+Uz 2s2 t-1+Czct) (9)
rt 2=σ(W2 ry2 t-1+U2 rs2 t-1+Crct) (10)
其中,其中,Wz 2、Wr 2、Ws 2、Wo 2、Uz 2、Ur 2、Us 2、Cz 2、Cr 2和Cs 2是相关的权重矩阵,zt 2为更新门,rt 2为重置门,为候选向量,Tanh表示Tanh函数,σ表示Sigmoid函数,表示矩阵元素相乘
在上述实施例中,所述第一子模型包含普通解码器和加入注意力机制的解码器,通过引入注意力机制,赋予不同的样本以不同的重要性,从而更有效的捕获样本在时序上的关联信息,提高所述***异常预测模型的预测准确性。
在一些实施例中,所述基于所述第一输出序列、所述第二输出序列以及所述样本特征,获取第三输出序列,包括:
基于所述第一输出序列以及所述样本特征,确定第一重建误差;
基于所述第二输出序列以及所述样本特征,确定第二重建误差;
将所述第一重建误差、所述第二重建误差以及所述第一子模型中的编码器最后一个时间步的隐藏空间向量拼接,得到第三输出序列。
这里,第一重建误差e1计算公式为:
其中,Y1是第一解码器输出的第一输出序列,D表示X的维度,X表示输入第一子模型的样本特征。
这里,第二重建误差e2计算公式为:
其中,Y2是第二解码器输出的第二输出序列,D表示X的维度,X表示输入第一子模型的样本特征。
这里,将所述第一重建误差e1、所述第二重建误差e2以及所述第一子模型中的编码器最后一个时间步的隐藏空间向量hn拼接,得到第三输出序列z=[hn,e1,e2]。其中,所述第三输出序列为第一子模型的输出序列,作为第二子模型的输入序列。
在一些实施例中,所述步骤103,通过所述***异常预测模型对所述样本特征进行处理,得到预测能量,包括:
***异常预测模型训练装置利用所述***异常预测模型的第二子模型,对所述第三输出序列进行聚类,得到K个簇,K为正整数;
基于所述第m个簇内的样本,确定所述第m个簇的均值和协方差,0<m≤K;
基于所述均值和协方差,确定样本的预测能量。
这里,利用所述第二子模型对所述样本特征进行参数估计,根据估计参数确定样本的预测能量。
例如,所述第二子模型包括基于K均值与估计网络的高斯混合模型GMM,利用第二子模型确定出第三输出序列对应的高斯分布的参数,进而确定样本的预测能量。
在一些实施例中,所述基于所述第m个簇内的样本,确定所述第m个簇的均值和协方差,包括:
利用所述***异常预测模型的所述第二子模型,对所述第三输出序列进行估计,确定所述第三输出序列中样本属于每种分布的概率;
基于所述第m个簇内的样本和所述样本属于每种分布的概率,确定所述第m个簇的均值和协方差。
这里,利用所述***异常预测模型的所述第二子模型的估计网络,对所述第三输出序列进行估计,确定出第三输出序列在GMM中属于每种分布的概率其中,所述估计网络是一个多层全连接神经网络,神经网络的最后一层为归一化函数层。利用多层全连接神经网络来估计第三输出序列在GMM中属于每种分布的概率时,第三输出序列属于每种分布的概率被建模成一个多分类问题,每一种分布的概率通过多层全连接神经网络得到:
其中,MLP为多层全连接神经网络的非线性函数,全连接神经网络的输入层神经元数同z维度相同,输出层神经元数为K,激活函数为归一化函数,K的值根据日志序列本身的分布特征观测得到。例如,日志序列分为正常日志序列和异常日志序列,则K取2。
需要说明的是,输出层神经元数与聚类后簇的个数相等,聚类后每个簇内的样本对应层全连接神经网络输出的一个分布,即第m簇对应第m种分布。
基于所述第m个簇内的样本和所述样本属于每种分布的概率,确定所述第m个簇的均值和协方差。
例如:
这里,所述基于所述均值和协方差,确定样本的预测能量,包括:基于K分布的概率、均值和协方差,确定样本的预测能量。具体地,根据高斯分布的计算方法,对所有样本属于第m种分布的概率进行平均计算,获第m种分布的概率,所述计算第m种分布的概率的公式为:
其中,W为输入到所述***异常预测模型的第二子模型的样本的个数。
在上述实施例中,利用所述第二子模型中估计网络和聚类模型对样本进行参数估计,使得估计的样本分布更加准确,并且无需标签样本的参与。
在一些实施例中,所述步骤104,基于所述预测能量构建目标函数,包括:
根据基于所述第一输出序列、所述第二输出序列以及所述样本特征,确定重建损失;
基于所述重建损失和所述预测能量,构建目标函数。
这里在第一子模型中,利用第一重建误差和第二重建误差来描述编码器和解码器的性能,取W个样本作为训练***异常预测模型的训练样本,计算重建损失Lrc的公式为:
其中,|| ||2表示范数,y1 i表示第一解码器对xi重建后的结果,y2 i表示第二解码器对xi重建后的结果。
基于所述重建损失和所述预测能量,构建目标函数。
这里,所述目标函数L为:
在上述实施例中,在所述***异常预测模型训练中,在目标函数中引入重建损失和样本能量来进行模型训练,所需训练样本为无标签数据,属于无监督学习,如此,可以解决了大量的正样本难以获得,影响模型性能的问题,达到了在获取大量训练样本的同时保证了模型性能的效果。
本申请实施例再一方面,提供一种***状态预测方法,请参见图2,所述方法包括:
步骤201,***状态预测装置获取***的样本特征;
步骤202,***状态预测装置基于***异常预测模型,确定所述样本特征对应的能量;
步骤203,***状态预测装置基于所述能量确定所述***的状态。
这里,在所述能量大于预设的能量阈值的情况下,***状态预测装置确定所述***异常,或者,在所述能量小于或等于所述能量阈值的情况下,确定所述***正常。
例如,即预设的能量阈值为θ,当所述能量E(z)>θ时,确定样本为异常样本时,***状态预测装置判定出***运行时将会发生异常。
在一些实施例中,在所述步骤202,在所述基于***异常预测模型,确定所述样本特征对应的能量前,所述方法还包括:
所述***异常预测获取训练样本特征;
根据设定的权重参数初始化所述***异常预测模型;
通过所述***异常预测模型对所述训练样本特征进行处理,得到所述训练样本的预测能量;
基于所述训练样本的所述预测能量构建目标函数;
在反向传播中,通过所述目标函数更新所述***异常预测模型的权重参数。
在上述实施例中,***状态预测装置利用训练好的***异常预测模型进行预测时,通过计算样本的能量,将样本的能量与预设的能量阈值进行比较,判断***是否将要出现异常,从而做到无监督的异常预测。
本申请实施例再一方面,提供另一种***异常预测模型训练方法,以进一步理解本申请实施例所提供的信息模型训练方法,以样本来源于hadoop***各组件在一段时间内生成的日志数据为例进行说明,所述日志数据由若干条日志组成,请参见图3,所述***异常预测模型包括第一子模型302和第二子模型303,基于所述第一子模型302和所述第二子模型303对所述样本特征进行处理,得到预测能量,其中,所述第一子模型302包括含双解码器和注意力机制的GRU层,所述第二子模型303为基于K均值与估计网络的高斯混合模型。此外,所述***异常预测模型还可以包括嵌入层301,所述嵌入层301用于获取样本特征。所述应用于***异常预测模型训练装置的***异常预测模型训练方法,包括:
步骤401,利用嵌入层301获取样本特征;
步骤402,根据设定的权重参数初始化所述***异常预测模型;
步骤403,通过第一子模型302和第二子模型303对所述样本特征进行处理,得到预测能量;
步骤404,基于所述预测能量构建目标函数;
步骤405,在反向传播中,通过所述目标函数更新所述***异常预测模型第一子模型302和第二子模型303的权重参数。
这里,将所述目标函数作为损失函数,通过计算损失函数的梯度,使用Adma(adaptive moment estimation,自适应矩估计)优化器更新第一子模型和第二子模型中权重参数。
在上述实施例中,将日志的向量化、特征提取以及异常预测集合到所述***异常预测模型当中,从而在利用所述***异常预测模型进行预测时更加便捷,并且适用于不同的数据。并且基于预测能量构建的目标函数通过反向传播算法对整体进行联合优化,从而能够保证最终结果是最优的。
在一些实施例中,在步骤401,利用嵌入层301获取样本特征前,还包括:步骤405,对所述样本进行预处理。
这里,对所述样本进行预处理是为了将样本格式转换成所述***异常预测模型输入的数据格式。其中,所述预处理包括对样本进行转换和聚类。以样本为日志数据为例进行说明,所述日志转换示例,请参见表1,日志的格式为(时间戳timestamp,级别level,类class,信息message),所述对日志数据进行转换包括:对日志数据中每条日志进行清洗和对清洗后的日志进行分词。
表1 日志预处理示例
具体地,所述对日志数据中每条日志进行清洗包括基于日志的特有格式以及人工经验,使用正则表达式匹配的方法对日志中的变量值进行替换。其中,需要替换的变量包括IP(InternetProtocol,互联网协议)地址、时间戳、日志级别、路径/URL(uniform resourcelocator,统一资源定位***)、10进制数字、16进制数字、HDFS(Hadoop Distributed FileSystem,Hadoop分布式文件***)的块号码标识block_id、分布式计算***MapReduce任务的应用号码标识application_id、工作号码标识job_id、任务号码标识task_id、容器号码标识container_id等。
具体地,所述对清洗后的日志进行分词包括对去除变量后的日志进行分词。其中,不同于自然语言的分词,日志的分词所用的分隔符更多,在本申请实施例中使用了“#”、“,”、“\”、“-”、“=”、“(”、“)”、“.”、“:”、“[”、“]”、“<”、“>”、“|”、“{”、“'”、“"”、“?”、“!”等符号作为单词分隔符,在此需要说明的是所述分隔符不限于上述例举出的符号。
此外,日志数据经过转换后,每条日志logi被转换成一个单词列表tokeni={t1,t2,…,tn},其中,tj表示不定长度的字符串。所有日志的单词列表共同构成列表集合total={tokens1,tokens2,…,tokensn}。由于日志数据本身存在很多噪声干扰的特点,对于每一个tokensi还需要进行过滤。过滤规则可以包括:日志中存在很多随机生成的不定长度的字符串,由小写字母和数字组成,在去除变量的步骤中,将日志数据中的数字用“#”替换掉,例如,随机字符串“1a8fb23e6”在经过去除变量步骤后被处理为“#a#fb#e#”,分词后得到{“a”,“fb”,“e”}。以及对于每个tokensi,去除掉其中预设长度的tj,例如,由于分词后得到很多长度很短由小写字母组成的随机字符串,其中大部分长度为1,因此将预设长度设置为1,即每个tokensi,去除掉其中长度为1的tj。
这里,由于日志往往是不同的,即使是应用程序中同一个日志打印语句输出的日志,也会因日志中的变量不同而不同。为了减少日志分析的复杂度,对转换后的日志数据进行聚类,将所述处理后的日志数据中各个日志分配到对应的簇内,并且在聚类完成后给予每个簇一个标签pi,将每个簇内的日志都给予该簇的标签pi,如此,将来自应用程序中同一个日志打印语句很相似的日志打上相同的标签,在后续分析中将其作为相同的日志对待,从而可以将原本数千万条不同的日志简化为只有数千种不同的标签,进而大大降低了分析的复杂度。例如,采用编辑距离作为聚类的距离度量,即将每个token列表看做一个由若干单词组成的句子,任意两条日志之间的距离即两个token序列的编辑距离。对转换后的日志序列采用OPTICS(Ordering points to identify the clustering structure,点排序识别聚类结构)算法进行聚类。
至此,所有日志数据经过转换和聚类后,转换日志序列,所述日志序列按照时间先后进行排序,日志序列对应的每条日志采用其对应的簇标签表示,而不是具体的日志内容。
在一些实施例中,所述步骤401,利用嵌入层301获取样本特征,包括:
步骤4011,获取日志序列,利用嵌入层301对所述日志序列进行处理得到向量序列。
这里,获取日志序列是指获取用于训练***异常预测模型的日志序列。具体地,将步骤405获取的日志序列,按照滑动的时间窗口划分成若各个子序列,请参见图4,取固定时长的时间窗口TC和TP,以一定步长t在日志序列上移动,获取到日志子序列,例如t为3,时间窗口TC1对应第1-30时刻的日志序列,时间窗口TP1对应第31-40时刻的日志序列,以一定步长3在日志序列上移动,则时间窗口TC2为第4-33时刻的日志序列,时间窗口TP2对应第34-43时刻的日志序列,则第一个日志子序列为时间窗口TC1和TP1对应的日志子序列,第二个日志子序列为时间窗口TC2和TP2对应的日志子序列。其中,时间窗口TC对应的日志子序列是用于预测的日志序列,时间窗口TP对应的日志序列是用于被预测的日志子序列,即***异常预测模型利用时间窗口TC对应的日志序列来预测***在时间窗口TP期间是否发生异常。采用上述方法获取多个时间窗口TC对应的日志子序列,将所述日志子序列作为训练***异常预测模型的日志序列。
在此需要说明的是,由于用于训练的日志序列都是历史数据,因此,每个时间窗口TC的标签可以由对应的TP窗口期间***运行状态决定的,例如,如图4所示,TP窗口期间出现***运行异常,则时间窗口TC标签为1,TP窗口期间***运行正常,则TC标签为0。如此,可以利用带标签的TC对应的日志子序列来验证训练后的***异常预测模型准确性。
这里,所述对所述日志序列进行处理得到向量序列,包括采用整数编码方法对所述日志序列进行编码,将所述日志序列转换成向量序列。例如,一个时间窗口TC含有n条日志,每条日志对应一个标签p,时间窗口TC对应日志子序列可以由每条日志对应的标签表示为P={plog1,plog2,…,plogn},基于自然语言处理的思想,将P看做句子,将plogi看做单词,采用独热编码方法对每个单词plogi进行编码,从而将所述日志序列转换成向量序列。
步骤4012,利用嵌入层301对所述向量序列进行特征提取,得到样本特征。
这里,所述嵌入层301包括神经网络,将步骤4011获取到的向量序列输入到嵌入层301的神经网络,基于词嵌入算法对向量序列中向量进行特征提取,并转换成定长的特征向量xi,如此,得到样本特征。其中,词嵌入算法可以采用Word2Vec(word embeddings,词向量)或者GloVe(Global vectors for word representation,词向量化表示),但不限于上述算法。以一个时间窗口TC对应的向量序列,所述向量序列包含n个向量为例,基于嵌入层301的神经网络将所述向量转换成64维特征向量,所述样本特征表示为X=(x1,x2,…,xn),每个xi都为64维。
在此需要说明的是,嵌入层301中神经网络的模型参数是预先利用海量数据,通过词嵌入模型训练出来的。在进行***异常预测模型时,并不会更新神经网络参数。
在一些实施例中,请参见图3,所述步骤403,通过第一子模型302和第二子模型303对所述样本特征进行处理,得到预测能量,包括:
步骤4031a,基于所述样本特征以及所述***异常预测模型的第一子模型302的第一解码器,获取第一输出序列;
步骤4031b,基于所述样本特征以及所述***异常预测模型的第一子模型302的第二解码器,获取第二输出序列;
步骤4032,基于所述第一输出序列、所述第二输出序列以及所述样本特征,获取第三输出序列。
这里,***异常预测模型训练装置利用第一子模型302来捕获日志序列上的先后信息,所述第一子模型302包括一个编码器和两个解码器,具体地,所述第一子模型包括含双解码器和注意力机制的GRU层,所述编码器由单向的堆叠GRU构成,例如编码器每一层采用64个GRU单元。
其中,所述GRU层编码器可以包括一层编码层或者多层编码层。例如,为了取得更好的实际效果,所述GRU层编码器包括两层编码层,以一个时间窗口TC对应的包含n条日志的日志子序列的样本特征为例进行说明。将所述步骤402获取到的样本特征X=(x1,x2,…,xn)输入到第一子模型302的编码器,经过双层单向堆叠的GRU单元后,分别获取到第一编码层的第一隐藏空间向量和第二编码层的第二隐藏空间向量将第一隐藏空间向量h1和第二隐藏空间向量h2进行拼接,获取到隐藏空间向量H=(h1,h2,…hn),其中,concat表示拼接函数,n为GUR的时间步数。
其中,所述步骤402获取到的样本特征X输入到第一子模型302,获取到第三输出序列的过程可以表示为:
z=Attentive_GRU(X) (23)
其中,z表示第三输出序列,Attentive_GRU表示第一子模型302的非线性变换函数。
在一些实施例中,所述第一解码器包括普通编码器,所述步骤4031a,基于所述样本特征以及所述***异常预测模型的第一子模型302的第一解码器,获取第一输出序列,包括:根据所述第一子模型的第一解码器的历史隐藏空间向量和第一解码器的历史输出,确定出第一解码器的当前输出。
例如,以t时刻为例,上一时刻第一解码器的隐藏状态s1 t-1和上一时刻第一解码器的输出y1 t-1输入到第一解码器,可以获取当前时刻的输出y1 t,所述过程可以表示成y1 t=GRU1(s1 t-1,y1 t-1),其中,GRU1为第一解码器非线性变换函数,s0=hn,hn是编码器最后一个时间步的隐藏空间向量。如此,将样本特征输入到第一子模型302中,通过所述第一解码器获取到第一输出序列Y1=(y1 1,y1 2,…,y1 n)。
其中,y1 t=GRU1(s1 t-1,y1 t-1),y1 t更新过程为:
z1 t=σ(W1 zy1 t-1+Uz 1s1 t-1) (24)
rt 1=σ(Wr 1y1 t-1+Ur 1s1 t-1) (25)
y1 t=σ(W1 o·st 1) (28)
其中,Wz 1、Wr 1、Ws 1、Wo 1、Uz 1、Ur 1、Us 1是相关的权重矩阵,zt 1为更新门,rt 1为重置门,为候选向量,Tanh表示Tanh函数,σ表示Sigmoid函数,表示矩阵元素相乘。
在一些实施例中,所述第二解码器包括加入了注意力机制的解码器,所述基于步骤4031b,基于所述样本特征以及所述***异常预测模型的第一子模型302的第二解码器,获取第二输出序列,包括:根据所述编码器的隐藏空间向量、第一解码器的历史隐藏空间向量和第二解码器的历史输出,确定出第二解码器的当前输出。
例如,以t时刻为例,所述编码器的隐藏空间向量经过注意力模块后,获取到注意力机制的加权和ct,将所述注意力机制的加权和ct、上一时刻第二解码器的隐藏状态s2 t-1和上一时刻第二解码器的输出y2 t-1输入到第二解码器,可以获取当前时刻的输出y2 t,所述过程可以表示为y2 t=GRU2(s1 t-1,y1 t-1,ct),其中,GRU2为第二解码器非线性变换函数,如此将样本特征输入到第一子模型302中,通过所述第一解码器获取到第一输出序列Y2=(y2 1,y2 2,…,y2 n)。
其中,获取注意力机制的加权和ct的过程如下,
这里,etj表示第二解码器隐藏空间向量s2 t-1与编码器隐藏空间向量hj的相关性。αtj为权重系数,用于表示第二解码器隐藏空间向量st-1的重要性。
其中,y2 t=GRU2(s1 t-1,y1 t-1,ct),y2 t更新过程为:
zt 2=σ(Wz 2y2 t-1+Uz 2s2 t-1+Czct) (31)
rt 2=σ(W2 ry2 t-1+U2 rs2 t-1+Crct) (32)
其中,其中,Wz 2、Wr 2、Ws 2、Wo 2、Uz 2、Ur 2、Us 2、Cz 2、Cr 2和Cs 2是相关的权重矩阵,zt 2为更新门,rt 2为重置门,为候选向量,Tanh表示Tanh函数,σ表示Sigmoid函数,表示矩阵元素相乘
在一些实施例中,所述步骤4032,基于所述第一输出序列、所述第二输出序列以及所述样本特征,获取第三输出序列,包括:
基于所述第一输出序列以及所述样本特征,确定第一重建误差;
基于所述第二输出序列以及所述样本特征,确定第二重建误差;
将所述第一重建误差、所述第二重建误差以及所述第一子模型中的编码器最后一个时间步的隐藏空间向量拼接,得到第三输出序列。
这里,所述步骤402获取到的样本特征X=(x1,x2,…,xn),与所述步骤4031a获取到的第一输出序列Y1=(y1 1,y1 2,…,y1 n),确定第一重建误差e1。
其中,第一重建误差e1计算公式为:
这里,所述步骤402获取到的样本特征X=(x1,x2,…,xn),与所述步骤4031b获取到的第二输出序列Y2=(y2 1,y2 2,…,y2 n),确定第二重建误差e2。
其中,第二重建误差e2计算公式为:
这里,将所述第一重建误差e1、所述第二重建误差e2以及所述第一子模型中的编码器最后一个时间步的隐藏空间向量hn拼接,得到第三输出序列z=[hn,e1,e2]。其中,所述第三输出序列为第一子模型302的输出序列,作为第二子模型303的输入序列。
需要说明的是,z为一个时间窗口TC对应的日志子序列的样本特征的第三输出序列。
在一些实施例中,所述步骤402,通过第一子模型302和第二子模型303对所述样本特征进行处理,得到预测能量,包括:
利用所述***异常预测模型的第二子模型,对所述第三输出序列进行聚类,得到K个簇,K为正整数;
基于所述第m个簇内的样本,确定所述第m个簇的均值和协方差,0<m≤K;
基于所述均值和协方差,确定样本的预测能量。
这里,所述第二子模型包括基于K均值与估计网络的高斯混合模型GMM,利用第二子模型确定出第三输出序列对应的高斯分布的参数,进而确定样本的预测能量。
其中,取W个时间窗口TC对应的日志子序列,将所述日志子序列作为训练***异常预测模型的日志序列,将W个第三输出序列(z1,z2,…zW)输入到所述***异常预测模型的第二子模型中,基于聚类算法对W个第三输出序列进行聚类,获取到K个簇,每个簇内样本为例如,取100个第三输出序列输入到第二子模型中,采用K均值聚类算法,以欧式距离作为相似度度量,获取到2个簇,其中,一个簇内样本为(z'1,z'2,…,z'35),这里,z'i对应第三输出序列zr,r小于等于100。
其中,所述基于所述第m个簇内的样本,确定所述第m个簇的均值和协方差,包括:
利用所述***异常预测模型的所述第二子模型,对所述第三输出序列进行估计,确定所述第三输出序列中样本属于每种分布的概率。
这里,利用所述***异常预测模型的所述第二子模型的估计网络,对所述第三输出序列进行估计,确定出第三输出序列在GMM中属于每种分布的概率其中,所述估计网络是一个多层全连接神经网络,估计网络的最后一层为归一化函数层。利用多层全连接神经网络来估计第三输出序列在GMM中属于每种分布的概率时,第三输出序列属于每种分布的概率被建模成一个多分类问题,每一种分布的概率通过多层全连接神经网络得到:
其中,MLP为多层全连接神经网络的非线性函数,多层全连接神经网络的输入层神经元数同z维度相同,输出层神经元数为K,激活函数为归一化函数,K的值根据日志序列本身的分布特征观测得到。例如,日志序列分为正常日志序列和异常日志序列,则K取2。
需要说明的是,输出层神经元数与聚类后簇的个数相等,聚类后每个簇内的样本对应层全连接神经网络输出的一个分布,即第m簇对应第m种分布。
基于所述第m个簇内的样本和所述样本属于每种分布的概率,确定所述第m个簇的均值和协方差。
例如:
这里,所述基于所述均值和协方差,确定样本的预测能量,包括:基于K分布的概率、均值和协方差,确定样本的预测能量。具体地,根据高斯混合模型参数的计算方法,对所有样本属于第m种分布的概率进行平均计算,获第m种分布的概率,所述计算第m种分布的概率的公式为:
其中,W为输入到所述***异常预测模型的第二子模型的样本的个数。
在一些实施例中,所述步骤404,基于所述预测能量构建目标函数,包括:
根据基于所述第一输出序列、所述第二输出序列以及所述样本特征,确定重建损失。
这里,在第一子模型302中,利用第一重建误差和第二重建误差来描述编码器和解码器的性能,取W个日志子序列作为训练***异常预测模型的日志序列,计算重建损失Lrc的公式为:
其中,|| ||2表示范数,y1 i表示第一解码器对xi重建后的结果,y2 i表示第二解码器对xi重建后的结果。
基于所述重建损失和所述预测能量,构建目标函数。
这里,所述目标函数L为:
在一些实施例中,在利用训练后的***异常预测模型进行预测时,所述***状态预测装置将用于预测的日志序列输入到***异常预测模型,获取到得到所述预测样本的能量;
这里,所述***状态预测装置将所述用于预测的日志序列输入到嵌入层,获取到样本特征,再将所述样本特征输入到第一子模型,获取到第三输出序列,再将第三输出序列输入到第二子模型的估计网络中,确定出样本属于每种分布的概率,再结合训练时得到的每种分布的均值和协方差,共同确定出预测的日志序列的能量E(z)。
基于所述能量确定所述***的状态。
这里,所述***状态预测装置在所述能量大于预设的能量阈值的情况下,确定所述***异常;或者,在所述能量小于或等于所述能量阈值的情况下,确定所述***正常。
例如,预设的能量阈值为θ,当时间窗口TC对应的日志序列输入到所述异常预测模型中,确定出能量E(z),判断出所述能量E(z)>θ时,确定预测样本为异常样本时,判定出***在TP期间将会发生异常。
本申请实施例再一方面,还提供一种***异常预测模型训练装置,请参阅图5,所述装置包括第一获取模块401、初始化模块402、第一处理模块403、构建模块404和更新模块405,其中,
所述第一获取模块401,用于获取样本特征;
所述初始化模块402,用于根据设定的权重参数初始化所述***异常预测模型;
所述第一处理模块403,用于通过所述***异常预测模型对所述样本特征进行处理,得到预测能量;
所述构建模块404,用于基于所述预测能量构建目标函数;
所述更新模块405,用于在反向传播中,通过所述目标函数更新所述***异常预测模型的权重参数。
在一些实施例中,所述第一获取模块401包括向量获取单元和特征提取单元,其中,
所述向量获取单元,用于获取日志序列,对所述日志序列进行处理得到向量序列;
所述特征提取单元,用于对所述向量序列进行特征提取,得到样本特征。
在一些实施例中,所述第一处理模块403包括第一序列获取单元、第二序列获取单元、第三序列获取单元,其中,
所述第一序列获取单元,用于基于所述样本特征以及所述***异常预测模型的第一子模型的第一解码器,获取第一输出序列;
所述第二序列获取单元,用于基于所述样本特征以及所述***异常预测模型的第一子模型的第二解码器,获取第二输出序列;
所述第三序列获取单元,用于基于所述第一输出序列、所述第二输出序列以及所述样本特征,获取第三输出序列。
在一些实施例中,所述第三序列获取单元包括第一误差确定单元、第二误差确定单元以及拼接单元,其中,
所述第一误差确定单元,用于基于所述第一输出序列以及所述样本特征,确定第一重建误差;
所述第二误差确定单元,用于基于所述第二输出序列以及所述样本特征,确定第二重建误差;
所述拼接单元,用于将所述第一重建误差、所述第二重建误差以及所述第一子模型中的编码器最后一个时间步的隐藏空间向量拼接,得到第三输出序列。
在一些实施例中,所述第一处理模块403包括聚类单元、确定单元、预测能量确定单元,其中,
所述聚类单元,用于利用所述***异常预测模型的第二子模型,对所述第三输出序列进行聚类,得到K个簇,K为正整数;
所述确定单元,用于基于所述第m个簇内的样本,确定所述第m个簇的均值和协方差,0<m≤K;
所述预测能量确定单元,用于基于所述均值和协方差,确定样本的预测能量。
在一些实施例中,所述确定单元包括概率确定单元和均值协方差确定单元,其中,
所述概率确定单元,用于利用所述***异常预测模型的所述第二子模型,对所述第三输出序列进行估计,确定所述第三输出序列中样本属于每种分布的概率;
所述均值协方差确定单元,用于基于所述第m个簇内的样本和所述样本属于每种分布的概率,确定所述第m个簇的均值和协方差。
在一些实施例中,所述构建模块404包括重建损失确定单元和函数构建单元,其中,
所述重建损失确定单元,用于根据基于所述第一输出序列、所述第二输出序列以及所述样本特征,确定重建损失;
所述函数构建单元,用于基于所述重建损失和所述预测能量,构建目标函数。
本申请实施例再一方面,还提供一种***状态预测装置,请参阅图6,所述装置包括所述第二获取模块501、能量确定模块502和状态确定模块503,其中,
所述第二获取模块501,用于获取***的样本特征;
所述能量确定模块502,用于基于***异常预测模型,确定所述样本特征对应的能量;
所述状态确定模块503,用于基于所述能量确定所述***的状态。
在一些实施例中,所述状态确定模块503,具体用于在所述能量大于预设的能量阈值的情况下,确定所述***异常;或者,在所述能量小于或等于所述能量阈值的情况下,确定所述***正常。
在一些实施例中,所述***状态预测装置还包括训练模块,其中,
所述第二获取模块501,还用于获取训练样本特征;
所述能量确定模块502,还用于通过所述***异常预测模型对所述训练样本特征进行处理,得到所述训练样本的预测能量;
所述训练模块,具体用于根据设定的权重参数初始化所述***异常预测模型;基于所述训练样本的所述预测能量构建目标函数;在反向传播中,通过所述目标函数更新所述***异常预测模型的权重参数。
本申请实施例再一方面,还提供一种设备,请参阅图7,所述计算机设备至少包括至少一个处理器601和至少一个存储器605。其中,所述存储器605包括用于存储能够在处理器601上运行的计算机程序,其中,所述处理器601用于运行所述计算机程序时,执行:一种***异常预测模型训练方法,所述方法包括:
获取样本特征;
根据设定的权重参数初始化所述***异常预测模型;
通过所述***异常预测模型对所述样本特征进行处理,得到预测能量;
基于所述预测能量构建目标函数;
在反向传播中,通过所述目标函数更新所述***异常预测模型的权重参数。
所述处理器601还用于运行所述计算机程序时,执行:所述获取样本特征,包括:
获取日志序列,对所述日志序列进行处理得到向量序列;
对所述向量序列进行特征提取,得到样本特征。
所述处理器601还用于运行所述计算机程序时,执行:所述通过所述***异常预测模型对所述样本特征进行处理,得到预测能量,包括:
基于所述样本特征以及所述***异常预测模型的第一子模型的第一解码器,获取第一输出序列;
基于所述样本特征以及所述***异常预测模型的第一子模型的第二解码器,获取第二输出序列;
基于所述第一输出序列、所述第二输出序列以及所述样本特征,获取第三输出序列。
所述处理器601还用于运行所述计算机程序时,执行:所述基于所述第一输出序列、所述第二输出序列以及所述样本特征,获取第三输出序列,包括:
基于所述第一输出序列以及所述样本特征,确定第一重建误差;
基于所述第二输出序列以及所述样本特征,确定第二重建误差;
将所述第一重建误差、所述第二重建误差以及所述第一子模型中的编码器最后一个时间步的隐藏空间向量拼接,得到第三输出序列。
所述处理器601还用于运行所述计算机程序时,执行:所述通过所述***异常预测模型对所述样本特征进行处理,得到预测能量,包括:
利用所述***异常预测模型的第二子模型,对所述第三输出序列进行聚类,得到K个簇,K为正整数;
基于所述第m个簇内的样本,确定所述第m个簇的均值和协方差;
基于所述均值和协方差,确定样本的预测能量。
所述处理器601还用于运行所述计算机程序时,执行:所述基于所述第m个簇内的样本,确定所述第m个簇的均值和协方差,包括:
利用所述***异常预测模型的所述第二子模型,对所述第三输出序列进行估计,确定所述第三输出序列中样本属于每种分布的概率;
基于所述第m个簇内的样本和所述样本属于每种分布的概率,确定所述第m个簇的均值和协方差。
所述处理器601还用于运行所述计算机程序时,执行:所述基于所述预测能量构建目标函数,包括:
根据基于所述第一输出序列、所述第二输出序列以及所述样本特征,确定重建损失;
基于所述重建损失和所述预测能量,构建目标函数。
在一些实施例中,所述设备还包括***总线602、用户接口603、通信接口604。其中,通信总线602配置为实现这些组件之间的连接通信,用户接口603可以包括显示屏,通信接口604可以包括标准的有线接口和无线接口。
本申请实施例再一方面,还提供一种设备,请参阅图8,所述计算机设备至少包括至少一个处理器701和至少一个存储器705。其中,所述存储器705包括用于存储能够在处理器701上运行的计算机程序,其中,所述处理器701用于运行所述计算机程序时,执行:一种***状态预测方法,所述方法包括:
获取***的样本特征;
基于***异常预测模型,确定所述样本特征对应的能量;
基于所述能量确定所述***的状态。
在一些实施例中,所述处理器701用于运行所述计算机程序时,执行:所述基于所述能量确定所述***的状态,包括:
在所述能量大于预设的能量阈值的情况下,确定所述***异常;
或者,在所述能量小于或等于所述能量阈值的情况下,确定所述***正常。
在一些实施例中,所述处理器701,用于运行所述计算机程序时,执行:
获取训练样本特征;
根据设定的权重参数初始化所述***异常预测模型;
通过所述***异常预测模型对所述训练样本特征进行处理,得到所述训练样本的预测能量;
基于所述训练样本的所述预测能量构建目标函数;
在反向传播中,通过所述目标函数更新所述***异常预测模型的权重参数。
在一些实施例中,所述设备还包括***总线702、用户接口703、通信接口704。其中,通信总线702配置为实现这些组件之间的连接通信,用户接口703可以包括显示屏,通信接口704可以包括标准的有线接口和无线接口。
本申请实施例再一方面,还提供一种存储介质,所述计算机可读存储介质上存储有***异常预测模型训练程序和/或存储有***状态预测程序,所述***异常预测模型训练程序被处理器执行时实现如本申请任一实施例所提供的所述***异常预测模型训练方法的步骤,所述***状态预测程序被处理器执行时实现如本申请任一实施例所提供的所述***状态预测方法的步骤。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围以准。
Claims (8)
1.一种***异常预测模型训练方法,其特征在于,所述方法包括:
获取日志序列,对所述日志序列进行处理得到向量序列;对所述向量序列进行特征提取,得到样本特征;
根据设定的权重参数初始化所述***异常预测模型;
通过所述***异常预测模型对所述样本特征进行处理,得到针对所述日志序列的预测能量;
基于所述预测能量构建目标函数;
在反向传播中,通过所述目标函数更新所述***异常预测模型的权重参数;
通过训练后的所述***异常预测模型,确定待预测的日志序列的能量,其中,所述待预测的日志序列的能量用于预测***的运行状态;
所述通过所述***异常预测模型对所述样本特征进行处理,得到针对所述日志序列的预测能量,包括:
基于所述样本特征以及所述***异常预测模型的第一子模型的第一解码器,获取针对所述日志序列的第一输出序列;基于所述样本特征以及所述***异常预测模型的第一子模型的第二解码器,获取针对所述日志序列的第二输出序列;基于所述第一输出序列、所述第二输出序列以及所述样本特征,获取针对所述日志序列的第三输出序列;
所述通过所述***异常预测模型对所述样本特征进行处理,得到针对所述日志序列的预测能量,还包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一输出序列、所述第二输出序列以及所述样本特征,获取第三输出序列,包括:
基于所述第一输出序列以及所述样本特征,确定第一重建误差;
基于所述第二输出序列以及所述样本特征,确定第二重建误差;
将所述第一重建误差、所述第二重建误差以及所述第一子模型中的编码器最后一个时间步的隐藏空间向量拼接,得到第三输出序列。
3.根据权利要求1所述方法,其特征在于,所述基于所述第m个簇内的样本,确定所述第m个簇的均值和协方差,包括:
利用所述***异常预测模型的所述第二子模型,对所述第三输出序列进行估计,确定所述第三输出序列中样本属于每种分布的概率;
基于所述第m个簇内的样本和所述样本属于每种分布的概率,确定所述第m个簇的均值和协方差。
4.根据权利要求2所述方法,其特征在于,所述基于所述预测能量构建目标函数,包括:
根据基于所述第一输出序列、所述第二输出序列以及所述样本特征,确定重建损失;
基于所述重建损失和所述预测能量,构建目标函数。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述待预测的日志序列的能量大于预设的能量阈值的情况下,确定所述***异常;
或者,在所述待预测的日志序列的能量小于或等于所述能量阈值的情况下,确定所述***正常。
6.一种***异常预测模型训练装置,其特征在于,所述装置包括第一获取模块、初始化模块、第一处理模块、构建模块和更新模块,其中,
所述第一获取模块,用于获取日志序列,对所述日志序列进行处理得到向量序列;对所述向量序列进行特征提取,得到样本特征;
所述初始化模块,用于根据设定的权重参数初始化所述***异常预测模型;
所述第一处理模块,用于通过所述***异常预测模型对所述样本特征进行处理,得到针对所述日志序列的预测能量;
所述构建模块,用于基于所述预测能量构建目标函数;
所述更新模块,用于在反向传播中,通过所述目标函数更新所述***异常预测模型的权重参数;
所述第一处理模块,还用于通过训练后的所述***异常预测模型确定待预测的日志序列的能量,其中,所述待预测的日志序列的能量用于预测***的运行状态;
所述第一处理模块包括第一序列获取单元、第二序列获取单元、第三序列获取单元,其中,
所述第一序列获取单元,用于基于所述样本特征以及所述***异常预测模型的第一子模型的第一解码器,获取针对所述日志序列的第一输出序列;所述第二序列获取单元,用于基于所述样本特征以及所述***异常预测模型的第一子模型的第二解码器,获取针对所述日志序列的第二输出序列;所述第三序列获取单元,用于基于所述第一输出序列、所述第二输出序列以及所述样本特征,获取针对所述日志序列的第三输出序列;
所述第一处理模块包括聚类单元、确定单元、预测能量确定单元,其中,
所述聚类单元,用于利用所述***异常预测模型的第二子模型,对所述第三输出序列进行聚类,得到K个簇,K为正整数;所述确定单元,用于基于第m个簇内的样本,确定所述第m个簇的均值和协方差,0<m≤K;所述预测能量确定单元,用于基于所述均值和协方差,确定针对所述日志序列的预测能量。
7.一种***异常预测模型训练设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时以实现以如权利要求1至5中任一项所述的***异常预测模型训练方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有***异常预测模型训练程序和/或存储有***状态预测程序,所述***异常预测模型训练程序被处理器执行时实现如权利要求1至5中任一所述***异常预测模型训练方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911268312.XA CN112948155B (zh) | 2019-12-11 | 2019-12-11 | 模型训练方法、状态预测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911268312.XA CN112948155B (zh) | 2019-12-11 | 2019-12-11 | 模型训练方法、状态预测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948155A CN112948155A (zh) | 2021-06-11 |
CN112948155B true CN112948155B (zh) | 2022-12-16 |
Family
ID=76234082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911268312.XA Active CN112948155B (zh) | 2019-12-11 | 2019-12-11 | 模型训练方法、状态预测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948155B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360656A (zh) * | 2021-06-29 | 2021-09-07 | 未鲲(上海)科技服务有限公司 | 异常数据检测方法、装置、设备及存储介质 |
CN113254255B (zh) * | 2021-07-15 | 2021-10-29 | 苏州浪潮智能科技有限公司 | 一种云平台日志的分析方法、***、设备及介质 |
CN115410638B (zh) * | 2022-07-28 | 2023-11-07 | 南京航空航天大学 | 一种基于对比聚类的磁盘故障检测*** |
CN117150407A (zh) * | 2023-09-04 | 2023-12-01 | 国网上海市电力公司 | 一种工业碳排放数据的异常检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8554703B1 (en) * | 2011-08-05 | 2013-10-08 | Google Inc. | Anomaly detection |
CN106656637A (zh) * | 2017-02-24 | 2017-05-10 | 国网河南省电力公司电力科学研究院 | 一种异常检测方法及装置 |
-
2019
- 2019-12-11 CN CN201911268312.XA patent/CN112948155B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8554703B1 (en) * | 2011-08-05 | 2013-10-08 | Google Inc. | Anomaly detection |
CN106656637A (zh) * | 2017-02-24 | 2017-05-10 | 国网河南省电力公司电力科学研究院 | 一种异常检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112948155A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112948155B (zh) | 模型训练方法、状态预测方法、装置、设备及存储介质 | |
CN114169330B (zh) | 融合时序卷积与Transformer编码器的中文命名实体识别方法 | |
CN111914644B (zh) | 一种基于双模态协同的弱监督时序动作定位方法及*** | |
Bekker et al. | Training deep neural-networks based on unreliable labels | |
CN112966074B (zh) | 一种情感分析方法、装置、电子设备以及存储介质 | |
CN108737406B (zh) | 一种异常流量数据的检测方法及*** | |
CN111914873A (zh) | 一种两阶段云服务器无监督异常预测方法 | |
JP6235938B2 (ja) | 音響イベント識別モデル学習装置、音響イベント検出装置、音響イベント識別モデル学習方法、音響イベント検出方法及びプログラム | |
Yuan et al. | Iterative cross learning on noisy labels | |
CN111382555B (zh) | 数据处理方法、介质、装置和计算设备 | |
CN110674673A (zh) | 一种关键视频帧抽取方法、装置和存储介质 | |
CN110659742A (zh) | 获取用户行为序列的序列表示向量的方法和装置 | |
JP2022549031A (ja) | 正常なデータへのデータサンプルの変換 | |
CN110766070A (zh) | 一种基于循环自编码器的稀少信号识别方法及装置 | |
CN114090326B (zh) | 一种告警的根因确定方法、装置及设备 | |
KR102179949B1 (ko) | 딥러닝 기반 영상 데이터 생성 기술을 이용한 분류 시스템 및 그 제어 방법 | |
CN114757432A (zh) | 基于流程日志和多任务学习的未来执行活动及时间预测方法及*** | |
CN110781818A (zh) | 视频分类方法、模型训练方法、装置及设备 | |
CN116402352A (zh) | 一种企业风险预测方法、装置、电子设备及介质 | |
Behnaz et al. | DEEPPBM: Deep probabilistic background model estimation from video sequences | |
CN113378178A (zh) | 一种基于深度学习的图自信学习软件漏洞检测方法 | |
CN116628612A (zh) | 一种无监督异常检测方法、装置、介质及设备 | |
CN115035455A (zh) | 一种基于对抗多模态领域自适应的跨类别视频时间定位方法、***和存储介质 | |
CN114741487A (zh) | 基于图文语义嵌入的图文检索方法及*** | |
CN114418111A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |