CN112149757B - 一种异常检测方法、装置、电子设备及存储介质 - Google Patents
一种异常检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112149757B CN112149757B CN202011149579.XA CN202011149579A CN112149757B CN 112149757 B CN112149757 B CN 112149757B CN 202011149579 A CN202011149579 A CN 202011149579A CN 112149757 B CN112149757 B CN 112149757B
- Authority
- CN
- China
- Prior art keywords
- reconstruction error
- sample data
- preset
- data
- abnormal
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 100
- 238000012549 training Methods 0.000 claims abstract description 133
- 230000002159 abnormal effect Effects 0.000 claims abstract description 131
- 238000009826 distribution Methods 0.000 claims abstract description 90
- 230000005856 abnormality Effects 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims description 76
- 230000006870 function Effects 0.000 claims description 65
- 238000004891 communication Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012423 maintenance Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 9
- 241000282326 Felis catus Species 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000005315 distribution function Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种异常检测方法、装置、电子设备及存储介质。方案如下:利用预设训练集包括的多个样本数据,训练VAE模型;将多个样本数据分别输入训练好的VAE模型,得到每个样本数据对应的第一输出数据;根据每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,确定重构误差概率密度分布曲线;确定重构误差概率密度分布曲线中目标拐点所对应的第一重构误差为异常重构误差阈值;根据异常重构误差阈值和训练好的VAE模型,对待检测数据进行异常检测。通过本申请实施例提供的技术方案,提高了确定出的异常重构误差阈值的准确性,从而提高了异常检测的准确性。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种异常检测方法、装置、电子设备及存储介质。
背景技术
在异常检测过程中,由于异常样本数据的缺失,使得有监督的异常检测方法的使用受到限制。因此,相关技术中多采用无监督的异常检测方法进行异常检测。例如,在智能运维领域中,通过无监督的异常检测方法对各类运维指标进行检测,从而确定异常数据。
目前,变分自编码(Variational Auto-Encoder,VAE)异常检测方法是目前最具前景的无监督异常检测方法之一。具体的,将待检测数据输入至训练好的VAE模型中,VAE模型中的编码器提取输入的待检测数据的分布特征,得到隐变量;VAE模型中的解码器对该隐变量进行重构,得到重构数据,并输出该重构数据。将该重构数据与待检测数据之间的重构误差与异常重构误差阈值进行比较,将重构误差大于异常重构误差阈值的待检测数据确定为异常数据。
但是,由于上述异常重构误差阈值是根据人为设定的预设分位数确定的,而人为无法准确的确定出不同数据所对应的预设分位数,导致根据该预设分位数所确定的异常重构误差阈值的准确性较差,从而影响异常检测的准确性。
发明内容
本申请实施例的目的在于提供一种异常检测方法、装置、电子设备及存储介质,以提高确定出的异常重构误差阈值的准确性,从而提高异常检测的准确性。具体技术方案如下:
本申请实施例提供了一种异常检测方法,所述方法包括:
利用预设训练集包括的多个样本数据,训练VAE模型,所述多个样本数据包括正常样本数据和异常样本数据;
将所述多个样本数据分别输入训练好的VAE模型,得到每个样本数据对应的第一输出数据;
根据每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,确定重构误差概率密度分布曲线;
确定所述重构误差概率密度分布曲线中目标拐点所对应的第一重构误差为异常重构误差阈值,所述目标拐点为所述重构误差概率密度分布曲线中一阶差分大于等于0且二阶差分小于等于0的点中的最左侧点;
根据所述异常重构误差阈值和所述训练好的VAE模型,对待检测数据进行异常检测。
可选的,所述根据每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,确定重构误差概率密度分布曲线的步骤,包括:
针对每一样本数据,计算该样本数据与该样本数据对应的第一输出数据之间的均方误差,得到该样本数据与该样本数据对应的第一输出数据之间的第一重构误差;
基于每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,利用核概率密度估计(Kernel Density Estimation,KDE)算法,确定重构误差概率密度分布曲线;所述KDE算法包括预设核函数和预设带宽。
可选的,所述预设核函数为均匀核函数、高斯核函数、Epanechikov核函数或四次方(Quartic)核函数;
所述预设带宽是基于scott带宽法或silverman带宽法确定的。
可选的,所述利用预设训练集包括的多个样本数据,训练VAE模型的步骤,包括:
获取所述预设训练集;
将所述预设训练集中包括的多个样本数据输入预设VAE模型,得到每个样本数据对应的第二输出数据;
计算每个样本数据与每个样本数据对应的第二输出数据之间的第二重构误差;
当本轮训练的第二重构误差与上一轮训练的第二重构误差间的差值大于预设差值阈值时,调整所述预设VAE模型的参数,并返回执行所述将所述预设训练集中包括的多个样本数据输入预设VAE模型,得到每个样本数据对应的第二输出数据的步骤;
当本轮训练的第二重构误差与上一轮训练的第二重构误差间的差值不大于所述预设差值阈值时,将当前的预设VAE模型确定为训练好的VAE模型。
可选的,所述根据所述异常重构误差阈值和所述训练好的VAE模型,对待检测数据进行异常检测的步骤,包括:
将待检测数据输入所述训练好的VAE模型,得到所述待检测数据的第三输出数据;
计算所述待检测数据与所述待检测数据的第三输出数据之间的第三重构误差;
当所述第三重构误差大于所述异常重构误差阈值时,确定所述待检测数据为异常数据。
本申请实施例还提供了一种异常检测装置,所述装置包括:
训练模块,用于利用预设训练集包括的多个样本数据,训练VAE模型,所述多个样本数据包括正常样本数据和异常样本数据;
第一输出模块,用于将所述多个样本数据分别输入训练好的VAE模型,得到每个样本数据对应的第一输出数据;
第一确定模块,用于根据每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,确定重构误差概率密度分布曲线;
第二确定模块,用于确定所述重构误差概率密度分布曲线中目标拐点所对应的第一重构误差为异常重构误差阈值,所述目标拐点为所述重构误差概率密度分布曲线中一阶差分大于等于0且二阶差分小于等于0的点中的最左侧点;
检测模块,用于根据所述异常重构误差阈值和所述训练好的VAE模型,对待检测数据进行异常检测。
可选的,所述第一确定模块,具体用于针对每一样本数据,计算该样本数据与该样本数据对应的第一输出数据之间的均方误差,得到该样本数据与该样本数据对应的第一输出数据之间的第一重构误差;
基于每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,利用KDE算法,确定重构误差概率密度分布曲线;所述KDE算法包括预设核函数和预设带宽。
可选的,所述预设核函数为均匀核函数、高斯核函数、Epanechikov核函数或Quartic核函数;
所述预设带宽是基于scott带宽法或silverman带宽法确定的。
可选的,所述训练模块,具体用于获取所述预设训练集;
将所述预设训练集中包括的多个样本数据输入预设VAE模型,得到每个样本数据对应的第二输出数据;
计算每个样本数据与每个样本数据对应的第二输出数据之间的第二重构误差;
当本轮训练的第二重构误差与上一轮训练的第二重构误差间的差值大于预设差值阈值时,调整所述预设VAE模型的参数,并返回执行所述将所述预设训练集中包括的多个样本数据输入预设VAE模型,得到每个样本数据对应的第二输出数据的步骤;
当本轮训练的第二重构误差与上一轮训练的第二重构误差间的差值不大于所述预设差值阈值时,将当前的预设VAE模型确定为训练好的VAE模型。
可选的,所述检测模块,具体用于将待检测数据输入所述训练好的VAE模型,得到所述待检测数据的第三输出数据;
计算所述待检测数据与所述待检测数据的第三输出数据之间的第三重构误差;
当所述第三重构误差大于所述异常重构误差阈值时,确定所述待检测数据为异常数据。
本申请实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的异常检测方法步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的异常检测方法步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的异常检测方法。
本申请实施例有益效果:
本申请实施例提供的一种异常检测方法、装置、电子设备及存储介质,可以根据预设训练集包括的每一样本数据,与训练好的VAE模型输出的每一样本数据对应的输出数据之间的重构误差,确定重构误差概率密度分布曲线,从而将该重构误差概率密度分布曲线中目标拐点所对应的重构误差确定为异常重构误差阈值,进而根据该异常重构误差阈值与训练好的VAE模型,对待检测数据进行异常检测。相比于相关技术中人为确定的预设分位数所对应的异常重构误差阈值,利用每一样本数据和训练好的VAE模型输出的每一样本数据对应的输出数据间的重构误差,可以很好的消除根据人为设定的预设分位数所确定的异常重构误差阈值的偏差,这有效提高了确定出的异常重构误差阈值的准确性,从而提高了异常检测的准确性。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1-a为现有VAE模型的第一种结构示意图;
图1-b为现有训练好的VAE模型输入数据和输出数据的一种示意图;
图1-c为现有VAE模型的第二种结构示意图;
图2为本申请实施例提供的异常检测方法的第一种流程示意图;
图3为本申请实施例提供的异常检测方法的第二种流程示意图;
图4为本申请实施例提供的异常检测方法的第三种流程示意图;
图5为本申请实施例提供的长尾分布的一种示意图;
图6为本申请实施例提供的VAE模型训练方法的一种流程示意图;
图7为本申请实施例提供的样本数据获取的一种示意图;
图8为本申请实施例提供的异常检测方法的第四种流程示意图;
图9为本申请实施例提供的概率密度分布曲线的一种示意图;
图10为本申请实施例提供的异常检测装置的一种结构示意图;
图11为本申请实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中在利用VAE异常检测方法进行异常检测时,存在异常重构误差阈值的准确性较差,从而影响异常检测的准确性的问题。为便于理解,下面结合图1-a、图1-b和图1-c对相关技术中VAE异常检测过程进行说明。其中,图1-a为现有VAE模型的第一种结构示意图,图1-b为现有训练好的VAE模型输入数据和输出数据的一种示意图,图1-c为现有VAE模型的第二种结构示意图。
在图1-a中,以训练数据为1000张猫的图像,1张狗的图像(即异常数据为狗的图像)为例,将每一训练数据输入至训练好的VAE模型中,由训练好的VAE模型中的编码器对输入的训练数据进行分布特征的提取,得到隐变量,再由训练好的VAE模型中的解码器根据该隐变量进行重构得到重构数据。
关于训练好的VAE模型所输出的重构数据可能与训练数据相同,也可能与训练数据存在一定的差异,如包含一定的衍生数据,如图1-b所示,将包含手写的数字0-9的训练数据输入至训练好的VAE模型,得到的输出数据。输入的训练数据中的数字0-9的样式与VAE模型输出的输出数据中的数字0-9的样式并不完全相同,甚至输出数据中出现输入的训练数据中未包括的样式,即衍生数据。
在图1-a所示的实施例上,结合图1-c进行具体说明,其中,图1-a中的编码器即为图1-c中的均值方差计算模块,图1-a中的解码器即为图1-c中的生成器。假设训练数据的分布特征满足正态分布,上述重构数据生成具体表示为:根据每一训练数据生成训练好的VAE模型的输入数据,如训练数据为猫的图像时,可以将表示该图像的像素值矩阵作为输入数据(即图1-c中的X1、X2和X3)输入至均值方差计算模块,从而得到对应的均值和方差,如X1对应的均值1和方差1。根据确定出的均值和方差得到对应的正态分布,如均值1和方差1所对应的正态分布1,基于确定的正态分布,进行分布特征的采样,从而得到采样变量,如图1-c所示的Z1、Z2和Z3,即上述隐变量。利用生成器对该隐变量进行重构,得到重构数据,即图1-c所示的Y1、Y2和Y3。
在得到上述重构数据,也就是训练好的VAE模型的输出数据后,可以计算每一输入数据和该输入数据对应的输出数据之间的重构误差,从而将该重构误差按照该从小到大的顺序排列,确定预设分位数所对应的异常重构误差阈值。以计算得到的每一输入数据和其对应的输出数据间的重构误差按照从小到大的顺序依次为重构误差1-重构误差5为例,若预设分位数为80%,此时可以确定该预设分位数对应的异常重构误差阈值为重构误差5。在进行异常检测时,可以根据上述方法,确定待检测数据与训练好的VAE模型输出的该待检测数据对应的输出数据之间的重构误差,当该重构误差大于等于重构误差5时,确定该待检测数据为异常数据。
由于上述预设分位数是人为确定的,这使得根据该预设分位数所确定的异常重构误差阈值的准确性较差,从而影响了异常检测的准确性。
为了解决相关技术中异常重构误差阈值的准确性较差,影响异常检测的准确性的问题,本申请实施例提供了一种异常检测方法。该方法可以应用于任一电子设备。在该方法中,利用预设训练集包括的多个样本数据,训练VAE模型,多个样本数据包括正常样本数据和异常样本数据;将多个样本数据分别输入训练好的VAE模型,得到每个样本数据对应的第一输出数据;根据每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,确定重构误差概率密度分布曲线;确定重构误差概率密度分布曲线中目标拐点所对应的第一重构误差为异常重构误差阈值,目标拐点为重构误差概率密度分布曲线中一阶差分大于等于0且二阶差分小于等于0的点中的最左侧点;根据异常重构误差阈值和训练好的VAE模型,对待检测数据进行异常检测。
通过本申请实施例提供的方法,可以根据预设训练集包括的每一样本数据,与训练好的VAE模型输出的每一样本数据对应的输出数据之间的重构误差,确定重构误差概率密度分布曲线,从而将该重构误差概率密度分布曲线中目标拐点所对应的重构误差确定为异常重构误差阈值,进而根据该异常重构误差阈值与训练好的VAE模型,对待检测数据进行异常检测。相比于相关技术中人为确定的预设分位数所对应的异常重构误差阈值,利用每一样本数据和训练好的VAE模型输出的每一样本数据对应的输出数据间的重构误差,可以很好的消除根据人为设定的预设分位数所确定的异常重构误差阈值的偏差,这有效提高了确定出的异常重构误差阈值的准确性,从而提高了异常检测的准确性。
下面通过具体的实施例,对本申请实施例进行说明。为便于描述,下文以电子设备为执行主体进行说明,并不起任何限定作用。
如图2所示,图2为本申请实施例提供的异常检测方法的第一种流程示意图。该方法包括以下步骤。
步骤S201,利用预设训练集包括的多个样本数据,训练VAE模型,多个样本数据包括正常样本数据和异常样本数据。
上述正常样本数据的数量远大于异常样本数据的数量。另外,根据上述VAE异常检测方法所应用的场景的不同,上述预设训练集中包括的样本数据也有所不同。例如,当上述VAE异常检测方法应用于图像检测时,如识别上述猫的图像中所包括的狗的图像时,上述样本数据可以是根据图像中各像素点对应像素值生成的数据矩阵。再例如,当上述VAE异常检测方法应用于上述智能运维中的异常检测时,上述样本数据可以为多个时间点所对应的运维指标所构成的时间序列。其中,该运维指标包括但不限于CPU使用率、内存使用率、CPU温度、流量、带宽使用率、会话数、时延、响应时间、重传率。
在本申请实施例中,为便于上述样本数据中正常样本数据和异常样本数据的区分,电子设备可以对上述异常样本数据进行标识。
关于上述预设训练集的获取,以及VAE模型的训练参见下文描述,在此不作赘述。
步骤S202,将多个样本数据分别输入训练好的VAE模型,得到每个样本数据对应的第一输出数据。
一个可选的实施例中,电子设备可以直接获取上述训练好的VAE模型训练过程中最后一轮输入的每一样本数据所对应输出的重构数据,得到每一样本数据对应的第一输出数据。
另一个可选的实施例中,由于上述VAE模型训练过程所采用的输入数据可能并不包括预设训练集中的所有样本数据,因此,为了提高确定出的异常重构误差阈值的准确性,电子设备可以在训练得到训练好的VAE模型后,将预设训练集中的每一样本数据输入到训练好的VAE模型中,并将该训练好的VAE模型输出的每一重构数据作为每一样本数据对应的第一输出数据。
步骤S203,根据每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,确定重构误差概率密度分布曲线。
在本申请实施例中,上述重构误差概率密度分布曲线的水平方向表示重构误差值,即上述第一重构误差,竖直方向表示概率密度。
关于上述第一重构误差的计算和重构误差概率密度分布曲线的确定具体可参见下文描述,在此不作赘述。
步骤S204,确定重构误差概率密度分布曲线中目标拐点所对应的第一重构误差为异常重构误差阈值,目标拐点为重构误差概率密度分布曲线中一阶差分大于等于0且二阶差分小于等于0的点中的最左侧点。
在本步骤中,电子设备可以确定上述重构误差概率密度分布曲线上目标拐点所在的位置,从而将该目标拐点在水平方向上对应的第一重构误差,确定为异常重构误差阈值。
关于目标拐点的确定具体可参见下文描述,在此不作赘述。
步骤S205,根据异常重构误差阈值和训练好的VAE模型,对待检测数据进行异常检测。
在本步骤中,电子设备可以利用上述训练好的VAE模型确定待检测数据对应的第三输出数据,从而将该根据该待检测数据和其对应的第三输出数据间的重构误差,以及上述异常重构误差阈值,确定该待检测数据是否为异常数据。
关于待检测数据的异常检测方式具体可参见下文描述,在此不作赘述。
采用图1所示的方法,可以根据预设训练集包括的每一样本数据,与训练好的VAE模型输出的每一样本数据对应的输出数据之间的重构误差,确定重构误差概率密度分布曲线,从而将该重构误差概率密度分布曲线中目标拐点所对应的重构误差确定为异常重构误差阈值,进而根据该异常重构误差阈值与训练好的VAE模型,对待检测数据进行异常检测。相比于相关技术中人为确定的预设分位数所对应的异常重构误差阈值,利用每一样本数据和训练好的VAE模型输出的每一样本数据对应的输出数据间的重构误差,可以很好的消除根据人为设定的预设分位数所确定的异常重构误差阈值的偏差,这有效提高了确定出的异常重构误差阈值的准确性,从而提高了异常检测的准确性。
一个可选的实施例中,根据图2所示的方法,本申请实施例还提供了一种异常检测方法。如图3所示,图3为本申请实施例提供的异常检测方法的第二种流程示意图。在该方法中,将上述步骤S203细化为以下步骤S2031-步骤S2032。
步骤S2031,针对每一样本数据,计算该样本数据与该样本数据对应的第一输出数据之间的均方误差,得到该样本数据与该样本数据对应的第一输出数据之间的第一重构误差。
一个可选的实施例中,电子设备可以利用以下公式,计算上述每一样本数据与每一样本数据对应的第一输出数据间的均方误差,即上述第一重构误差Error可以表示为:
其中,m为样本个数,‖‖为取范数操作,Xout为样本数据对应的第一输出数据,Xin为样本数据。
另一个可选的实施例中,电子设备可以计算上述每一样本数据和每一样本数据对应的第一输出数据间的相对重构误差,作为上述第一重构误差。在此,对该相对重构误差的计算方式不作具体说明。
在本申请实施例中,上述第一重构误差可以采用多种重构误差计算方式计算得到,在此,对上述第一重构误差的计算方式不作具体限定。
步骤S2032,基于每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,利用KDE算法,确定重构误差概率密度分布曲线;KDE算法包括预设核函数和预设带宽。
在本步骤中,电子设备可以将上述每一第一重构误差作为一个数据点,根据该数据点,利用预设核函数和预设带宽,生成多个核函数,从而对多个核函数进行线性叠加,得到核密度的估计函数。电子设备对该核密度的估计函数进行归一化处理,得到对应的核密度概率密度函数。该核密度概率密度函数所对应的曲线即为重构误差概率密度分布曲线。
一个可选的实施例中,电子设备可以利用以下公式,确定重构误差概率密度分布曲线:
一个可选的实施例中,上述预设核函数可以为均匀核函数、高斯核函数、Epanechikov核函数或Quartic核函数。其中,Epanechikov核函数又可以称为依潘捏契科夫核函数。
在本申请实施例中,根据上述VAE异常检测方法具体应用场景的不同,上述第一重构误差可能与不同的数据分布特征匹配,如高斯分布、均匀分布等。因此,在已知第一重构误差所匹配的数据分布特征的情况下,电子设备可以将与第一重构误差匹配的数据分布特征所对应的函数确定为上述预设核函数。在未知第一重构误差所匹配的数据分布特征的情况下,考虑到高斯内核方便的数学性质,上述预设核函数可以选择高斯核函数,或者选取其他分布特征所对应的函数,如上述Epanechikov核函数或Quartic核函数等。
在本申请实施例中,上述预设核函数满足关于原点对称且其积分为1的特征。关于上述预设核函数的选取,在此不作具体限定。
一个可选的实施例中,上述预设带宽可以是基于scott带宽法或silverman带宽法确定的。其中,scott带宽法也可称为斯考特带宽法,silverman带宽法也可称为西尔弗曼带宽法。
在本申请实施例中,上述预设带宽的选择对上述概率密度函数的影响很大。当预设带宽较小时,密度估计偏向于把概率密度分配的太局限于上述数据点附近,从而导致估计得到的概率密度分布函数有很多错误的峰值;然而当预设带宽较大时,密度估计就把概率密度分布散得太开,这样会使得概率密度分布函数中的部分重要特征丢失。因此,通过采用上述scott带宽法或silverman带宽法可以准确的确定出合适的预设带宽,从而保证确定出的预设带宽的准确性。
一个可选的实施例中,电子设备可以调用python软件的scipy工具包中的gaussion_kde方法,生成上述重构误差概率密度分布曲线。在gaussion_kde方法中使用的核函数为上述高斯核函数,预设带宽默认选择scott带宽法方法确定的带宽。
在本申请实施例中,对上述重构误差概率密度分布曲线的确定过程不作具体说明。
一个可选的实施例中,根据图2所示的方法,本申请实施例还提供了一种异常检测方法。如图4所示,图4为本申请实施例提供的异常检测方法的第三种流程示意图。该方法将上述步骤S204细化为以下步骤S2041-步骤S2044。
步骤S2041,计算重构误差概率密度分布曲线中每相邻两个第一重构误差间的一阶差分。
步骤S2042,计算每相邻两个一阶差分间的二阶差分。
关于上述一阶差分和二阶差分的具体计算过程,在此不作具体说明。
步骤S2043,将重构误差概率密度分布曲线中一阶差分大于等于0,且二阶差分小于等于0的点中的最左侧点确定为目标拐点。
在本申请实施例中,在上述重构误差概率密度分布曲线中,满足一阶差分大于等于0,且二阶差分小于等于0的点的数量可能为一个,也可能为多个。当满足一阶差分大于等于0,且二阶差分小于等于0的点的数量为多个时,电子设备可以将多个点中最左侧点确定为目标拐点。
步骤S2044,将目标拐点对应的第一重构误差确定为异常重构误差阈值。
在本申请实施例中,由于上述预设训练集包括的样本数据中正常样本数据占大多数,这使得训练好的VAE模型对正常样本数据拟合较好,即正常样本数据的第一重构误差较小且数量相对较多。而预设训练集包括的样本数据中异常样本数据占比较少,这使得训练好的VAE模型对异常样本数据拟合较差,即异常样本数据的第一重构误差较大且数量相对较少。因此,上述预设训练集包括的样本数据所对应的第一重构误差基本上呈长尾分布。具体如图5所示,图5为本申请实施例提供的长尾分布的一种示意图。
在图5所示的长尾分布中,样本数据中的正常样本数据的第一重构误差较小,占比重较大且集中,分布在曲线501的头部,即曲线501上a点的左侧部分。样本数据中的异常样本数据的第一重构误差较大,占比较小且比较分散,分布在曲线的尾部,即曲线501上a点的右侧部分。因此,电子设备可以将上述重构误差概率密度分布曲线上与长尾分布匹配的曲线上逐渐趋于平稳的分界点(即上述目标拐点)作为正常样本数据的第一重构误差与异常样本数据的第一重构误差间的分界点,即该分界点对应的重构误差值即为上述异常重构误差阈值。
在本申请实施例中,上述第一重构误差满足长尾分布,也就是第一重构误差的分布特征呈现在刚开始时急速下降,后下降趋势变的较为平缓,甚至略有上升,从而存在一个拐点。因此,当一阶差分大于等于0时,表示长尾分布的概率密度分布已经不在大幅下降的区域,但是,由于长尾分布并不是完全的平滑下降,在拐点处会出现略有震荡的情况。为降低拐点处略有震荡的情况下仅根据一阶差分确定出的目标拐点的重构误差,电子设备在一阶差分大于等于0的情况下,可以进一步确定二阶差分,并将二阶差分小于等于0的点确定为目标拐点,从而使得确定出的目标拐点落在下降趋势已经平稳的区域,这有效提高了目标拐点确定的准确性。
一个可选的实施例中,针对上述步骤201,利用预设训练集包括的多个样本数据,训练VAE模型,本申请实施例提供了一种VAE模型训练方法。如图6所示,图6为本申请实施例提供的VAE模型训练方法的一种流程示意图。该方法包括以下步骤。
步骤S601,获取预设训练集。
上述预设训练集包括多个样本数据,该多个样本数据中包括正常样本数据和异常样本数据。
为便于理解,以VAE异常检测方法应用于智能运维场景中的异常检测为例,对预设训练集的获取进行说明。电子设备可以获取预设时间段内多个时间段的运维指标,得到时间序列。电子设备利用预设滑动窗口,对该时间序列进行划分,得到多个时间子序列,并对每一时间子序列进行标准化处理,得到预设训练集中的样本数据。其中,预设时间段内的时间序列中包括异常样本数据和正常样本数据,且正常样本数据的数量远大于异常样本数据的数量。
为便于理解,以运维指标为CPU使用率,结合图7对上述预设训练集的获取进行说明,图7为本申请实施例提供的样本数据获取的一种示意图。
现假设从预设时间段内获取到t1、t2、t3、t4和t5这5个时间点的CPU使用率,得到如图7中序列A所示的序列,其中,t3时间点所对应的CPU使用率为异常样本数据。电子设备可以利用宽度为3的预设滑动窗口,按照滑动步长1,将序列A划分为如图7所示的序列1、序列2和序列3。电子设备可以分别对序列1、序列2和序列3进行标准化处理,得到预设训练集中的样本数据。在预设训练集中可以将包括异常样板数据,即t3时间点所对应的CPU使用率的时间子序列标识为异常序列。
一个可选的实施例中,上述对多个时间子序列的标准化处理可以采用Z-score(也称Z分数)算法进行处理。也就是针对每一时间子序列,计算该时间子序列的指标数值和平均数的差值与标准差的商,得到标准化后的样本数据。
在本申请实施例中,根据VAE异常检测方法的应用场景的不同,上述预设训练集的数量也可以不同。仍以上述智能运维场景中的异常检测为例,由于运维指标可以包括多个,如CPU使用率、内存使用率等数据,电子设备在获取预设训练集是可以针对每一运维指标分别获取一个预设训练集,即CPU使用率所对应的预设训练集和内存使用率所对应的预设训练集等。此时,训练得到的VAE模型的数量有多个,采用上述图2所示的方法确定的异常重构误差阈值也有多个。
一个可选的实施例中,电子设备在获取上述预设训练集的同时,还可以获取预设测试集。预设测试集可以用于测试训练好的VAE模型的异常检测效果。
以上述时间序列为例,电子设备在对上述多个时间子序列进行标准化处理后,可以按照预设比例,将标准化处理后的数据划分为预设训练集中的样本数据和预设测试集中的测试数据,该测试数据包括正常测试数据和异常测试数据。
步骤S602,将预设训练集中包括的多个样本数据输入预设VAE模型,得到每个样本数据对应的第二输出数据。
步骤S603,计算每个样本数据与每个样本数据对应的第二输出数据之间的第二重构误差。
上述第二重构误差的计算方式可参照上述第一重构误差的计算方式,在此不作赘述。
步骤S604,当本轮训练的第二重构误差与上一轮训练的第二重构误差间的差值大于预设差值阈值时,调整预设VAE模型的参数,并返回执行步骤S602。
在本步骤中,对上述预设VAE模型的训练至少包括两轮训练过程。电子设备可以将本轮训练得到的第二重构误差与上一轮训练得到的第二重构误差间的差值与预设差值进行比较。当本轮训练的第二重构误差与上一轮训练的第二重构误差间的差值大于预设差值,电子设备可以确定仍需对预设VAE模型进行训练。此时,电子设备可以调整预设VAE模型的参数,并返回执行上述步骤S602,也就是返回执行上述将预设训练集中包括的多个样本数据输入预设VAE模型,得到每个样本数据对应的第二输出数据的步骤。关于预设VAE模型的参数调整方法,在此不作具体限定。
步骤S605,当本轮训练的第二重构误差与上一轮训练的第二重构误差间的差值不大于预设差值阈值时,将当前的预设VAE模型确定为训练好的VAE模型。
在本步骤中,当本轮训练的第二重构误差与上一轮训练的第二重构误差间的差值不大于预设差值时,电子设备可以确定训练完成。此时,电子设备可以将当前的预设VAE模型确定为训练好的VAE模型,即上述步骤S202中训练好的VAE模型。
在本申请实施例中,上述对预设VAE模型的每一轮训练所采用的训练数据可以为上述预设训练集中的所有样本数据,也可以是对预设训练集中的部分样本数据。例如,电子设备可以对上述预设训练集中的样本数据进行分组得到的多个训练子集,按照每一训练子集的预设顺序,每一轮训练将一个训练子集中的样本数据输入至预设VAE模型,对预设VAE模型进行训练直至训练完成。
一个可选的实施例中,根据图2所示的方法,本申请实施例还提供了一种异常检测方法。如图8所示,图8为本申请实施例提供的异常检测方法的第四种流程示意图。具体见上述步骤S205细化为以下步骤S2051-步骤S2053。
步骤S2051,将待检测数据输入训练好的VAE模型,得到待检测数据的第三输出数据。
步骤S2052,计算待检测数据与待检测数据的第三输出数据之间的第三重构误差。
上述第三重构误差的计算方式可参照上述第一重构误差的计算方式,在此不作赘述。
步骤S2053,当第三重构误差大于异常重构误差阈值时,确定待检测数据为异常数据。
在本申请实施例中,在确定异常重构误差阈值后,通过将每一待检测数据和其对应的第三输出数据间的第三重构误差与该异常重构误差阈值的比较,电子设备可以准确的确定出待检测数据中的异常数据,有效提高了异常检测的准确性。
为便于理解,下面结合图9对不同方法确定的异常重构误差阈值进行比较。图9为本申请实施例提供的概率密度分布曲线的一种示意图。
在图9中,水平方向为重构误差值,即上述第一重构误差,竖直方向为概率密度。其中,曲线901为上述步骤S203确定的重构误差概率密度分布曲线。由于预设训练集中包括异常样本数据相对较少,因此,上述训练好的VAE所输出的输出数据与输入数据间的重构误差多集中在0至0.01之间,曲线901的波峰点右侧与长尾分布匹配。
直线902表示利用预设分位数所确定的异常重构误差阈值,直线903表示采用图2所示的方法所确定的异常重构误差阈值。由图9可以看出,在直线902之后重构误差概率密度分布曲线仍存在一定的波动,而直线903后的预设概率密度分布曲线则相对较为平稳。因此,本申请实施例提供的方法所确定的异常重构误差阈值的准确度明显高于相关技术中利用预设分位数所确定的异常重构误差阈值的准确度。
进一步的,利用F1-Score(也称F1分数)指标,对本申请实施例提供的异常检测方法,与相关技术中基于异常重构误差阈值的异常检测方法进行比较。其中,F1-Score一种综合衡量模型效果的指标,具体如下:
以二分类为例,在实际异常检测过程中,可以用P表示预测的正类,N表示预测的负类,T表示实际的正类,F表示实际的负类,因此,可以将样本数据的实际类别和预测类别分为真正例(True Positive,TP),假正例(False Positive,FP),真负例(True Negative,TN)和假负例(False Negative,FN),如表1所示。
表1
根据异常检测识别出的异常数据和正常数据,以及上述预设测试集包括的正常测试数据和异常测试数据,可以确定采用本申请实施例提供的方法进行异常检测和相关技术中采用预设分位数所确定的异常重构误差阈值进行异常检测所得到的TP、FP、FN和TN。
利用以下公式,分别计算异常检测的精确率Precision和召回率Recall,其中,精确率表示为被判断为异常的数据中确实为异常的比例。召回率表示为实际为异常数据被判断为异常的比例。
基于上述精确率和召回率可以利用以下公式计算得到F1-Score值:
具体的,以预设测试集为9种运维指标所对应的测试数据为例,分别采用本申请实施例确定出的异常重构误差阈值和相关技术确定的预设分位数为95%所对应的异常重构误差阈值,对预设测试集中的测试数据进行异常测试,得到如表2所示的F1-Score值。
表2
在表2中,方案1为利用相关技术中预设分位数确定的异常重构误差阈值进行异常检测所对应的F1-Score,方案2为利用本申请实施例提供的方法确定的异常重构误差阈值进行异常检测所对应的F1-Score值。
对比可知,方案1所对应的F1-Score值整体上小于方案2所对应的F1-Score值,也就是采用方案1所确定的异常检测结果的精确率和/或召回率要低于采用方案2所确定的异常检测结果的精确率和/或召回率。因此,采用本申请实施例确定出异常重构误差阈值进行异常检测的准确性,要明显高于相关技术中利用预设分位数所确定的异常重构误差阈值进行异常检测的准确性。
基于同一种构思,根据上述本申请实施例提供的异常检测方法,本申请实施例还提供了一种异常检测装置。如图10所示,图10为本申请实施例提供的异常检测装置的一种结构示意图。该装置包括以下模块。
训练模块1001,用于利用预设训练集包括的多个样本数据,训练VAE模型,多个样本数据包括正常样本数据和异常样本数据;
第一输出模块1002,用于将多个样本数据分别输入训练好的VAE模型,得到每个样本数据对应的第一输出数据;
第一确定模块1003,用于根据每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,确定重构误差概率密度分布曲线;
第二确定模块1004,用于确定重构误差概率密度分布曲线中目标拐点所对应的第一重构误差为异常重构误差阈值,目标拐点为重构误差概率密度分布曲线中一阶差分大于等于0且二阶差分小于等于0的点中的最左侧点;
检测模块1005,用于根据异常重构误差阈值和训练好的VAE模型,对待检测数据进行异常检测。
可选的,上述第一确定模块1003,具体可以用于针对每一样本数据,计算该样本数据与该样本数据对应的第一输出数据之间的均方误差,得到该样本数据与该样本数据对应的第一输出数据之间的第一重构误差;
基于每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,利用KDE算法,确定重构误差概率密度分布曲线;KDE算法包括预设核函数和预设带宽。
可选的,上述预设核函数为均匀核函数、高斯核函数、Epanechikov核函数或Quartic核函数;
上述预设带宽是基于scott带宽法或silverman带宽法确定的。
可选的,上述训练模块1001,具体可以用于获取预设训练集;
将预设训练集中包括的多个样本数据输入预设VAE模型,得到每个样本数据对应的第二输出数据;
计算每个样本数据与每个样本数据对应的第二输出数据之间的第二重构误差;
当本轮训练的第二重构误差与上一轮训练的第二重构误差间的差值大于预设差值阈值时,调整预设VAE模型的参数,并返回执行将预设训练集中包括的多个样本数据输入预设VAE模型,得到每个样本数据对应的第二输出数据的步骤;
当本轮训练的第二重构误差与上一轮训练的第二重构误差间的差值不大于预设差值阈值时,将当前的预设VAE模型确定为训练好的VAE模型。
可选的,上述检测模块1005,具体可以用于将待检测数据输入训练好的VAE模型,得到待检测数据的第三输出数据;
计算待检测数据与待检测数据的第三输出数据之间的第三重构误差;
当第三重构误差大于异常重构误差阈值时,确定待检测数据为异常数据。
通过本申请实施例提供的装置,可以根据预设训练集包括的每一样本数据,与训练好的VAE模型输出的每一样本数据对应的输出数据之间的重构误差,确定重构误差概率密度分布曲线,从而将该重构误差概率密度分布曲线中目标拐点所对应的重构误差确定为异常重构误差阈值,进而根据该异常重构误差阈值与训练好的VAE模型,对待检测数据进行异常检测。相比于相关技术中人为确定的预设分位数所对应的异常重构误差阈值,利用每一样本数据和训练好的VAE模型输出的每一样本数据对应的输出数据间的重构误差,可以很好的消除根据人为设定的预设分位数所确定的异常重构误差阈值的偏差,这有效提高了确定出的异常重构误差阈值的准确性,从而提高了异常检测的准确性。
基于同一种构思,根据上述本申请实施例提供的异常检测方法,本申请实施例还提供了一种电子设备,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信;
存储器1103,用于存放计算机程序;
处理器1101,用于执行存储器1103上所存放的程序时,实现如下步骤:
利用预设训练集包括的多个样本数据,训练VAE模型,多个样本数据包括正常样本数据和异常样本数据;
将多个样本数据分别输入训练好的VAE模型,得到每个样本数据对应的第一输出数据;
根据每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,确定重构误差概率密度分布曲线;
确定重构误差概率密度分布曲线中目标拐点所对应的第一重构误差为异常重构误差阈值,目标拐点为重构误差概率密度分布曲线中一阶差分大于等于0且二阶差分小于等于0的点中的最左侧点;
根据异常重构误差阈值和训练好的VAE模型,对待检测数据进行异常检测。
通过本申请实施例提供的电子设备,可以根据预设训练集包括的每一样本数据,与训练好的VAE模型输出的每一样本数据对应的输出数据之间的重构误差,确定重构误差概率密度分布曲线,从而将该重构误差概率密度分布曲线中目标拐点所对应的重构误差确定为异常重构误差阈值,进而根据该异常重构误差阈值与训练好的VAE模型,对待检测数据进行异常检测。相比于相关技术中人为确定的预设分位数所对应的异常重构误差阈值,利用每一样本数据和训练好的VAE模型输出的每一样本数据对应的输出数据间的重构误差,可以很好的消除根据人为设定的预设分位数所确定的异常重构误差阈值的偏差,这有效提高了确定出的异常重构误差阈值的准确性,从而提高了异常检测的准确性。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU),还可以是专用处理器,包括网络处理器(Network Processor,NP),数字信号处理器(Digital Signal Processor,DSP)等。
基于同一种构思,根据上述本申请实施例提供的异常检测方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一异常检测方法的步骤。
基于同一种构思,根据上述本申请实施例提供的异常检测方法,本申请实施例还提供了一种包含指令的计算机程序,当其在计算机上运行时,使得计算机执行上述实施例中任一异常检测方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序的形式实现。所述计算机程序包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质和计算机程序等实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (12)
1.一种异常检测方法,其特征在于,所述方法包括:
利用预设训练集包括的多个样本数据,训练变分自编码VAE模型,所述样本数据的确定方法为:获取预设时间段内多个时间段的运维指标,得到时间序列;利用预设滑动窗口,对该时间序列进行划分,得到多个时间子序列;对每一时间子序列进行标准化处理,得到预设训练集中的样本数据;
所述多个样本数据包括正常样本数据和异常样本数据;
将所述多个样本数据分别输入训练好的VAE模型,得到每个样本数据对应的第一输出数据;
根据每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,确定重构误差概率密度分布曲线,其中,所述重构误差概率密度分布曲线为基于预设核函数确定出的,所述预设核函数为基于不同应用场景对应的第一重构误差匹配的数据分布特征所对应的函数;
确定所述重构误差概率密度分布曲线中目标拐点所对应的第一重构误差为异常重构误差阈值,所述目标拐点为所述重构误差概率密度分布曲线中一阶差分大于等于0且二阶差分小于等于0的点中的最左侧点;
根据所述异常重构误差阈值和所述训练好的VAE模型,对待检测数据进行异常检测。
2.根据权利要求1所述的方法,其特征在于,所述根据每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,确定重构误差概率密度分布曲线的步骤,包括:
针对每一样本数据,计算该样本数据与该样本数据对应的第一输出数据之间的均方误差,得到该样本数据与该样本数据对应的第一输出数据之间的第一重构误差;
基于每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,利用核概率密度估计KDE算法,确定重构误差概率密度分布曲线;所述KDE算法包括所述预设核函数和预设带宽。
3.根据权利要求2所述的方法,其特征在于,所述预设核函数为均匀核函数、高斯核函数、Epanechikov核函数或四次方Quartic核函数;
所述预设带宽是基于斯考特scott带宽法或西尔弗曼silverman带宽法确定的。
4.根据权利要求1所述方法,其特征在于,所述利用预设训练集包括的多个样本数据,训练VAE模型的步骤,包括:
获取所述预设训练集;
将所述预设训练集中包括的多个样本数据输入预设VAE模型,得到每个样本数据对应的第二输出数据;
计算每个样本数据与每个样本数据对应的第二输出数据之间的第二重构误差;
当本轮训练的第二重构误差与上一轮训练的第二重构误差间的差值大于预设差值阈值时,调整所述预设VAE模型的参数,并返回执行所述将所述预设训练集中包括的多个样本数据输入预设VAE模型,得到每个样本数据对应的第二输出数据的步骤;
当本轮训练的第二重构误差与上一轮训练的第二重构误差间的差值不大于所述预设差值阈值时,将当前的预设VAE模型确定为训练好的VAE模型。
5.根据权利要求1所述的方法,其特征在于,所述根据所述异常重构误差阈值和所述训练好的VAE模型,对待检测数据进行异常检测的步骤,包括:
将待检测数据输入所述训练好的VAE模型,得到所述待检测数据的第三输出数据;
计算所述待检测数据与所述待检测数据的第三输出数据之间的第三重构误差;
当所述第三重构误差大于所述异常重构误差阈值时,确定所述待检测数据为异常数据。
6.一种异常检测装置,其特征在于,所述装置包括:
训练模块,用于利用预设训练集包括的多个样本数据,训练变分自编码VAE模型,所述多个样本数据包括正常样本数据和异常样本数据,所述样本数据的确定方法为:获取预设时间段内多个时间段的运维指标,得到时间序列;利用预设滑动窗口,对该时间序列进行划分,得到多个时间子序列;对每一时间子序列进行标准化处理,得到预设训练集中的样本数据;
第一输出模块,用于将所述多个样本数据分别输入训练好的VAE模型,得到每个样本数据对应的第一输出数据;
第一确定模块,用于根据每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,确定重构误差概率密度分布曲线,其中,所述重构误差概率密度分布曲线为基于预设核函数确定出的,所述预设核函数为基于不同应用场景对应的第一重构误差匹配的数据分布特征所对应的函数;
第二确定模块,用于确定所述重构误差概率密度分布曲线中目标拐点所对应的第一重构误差为异常重构误差阈值,所述目标拐点为所述重构误差概率密度分布曲线中一阶差分大于等于0且二阶差分小于等于0的点中的最左侧点;
检测模块,用于根据所述异常重构误差阈值和所述训练好的VAE模型,对待检测数据进行异常检测。
7.根据权利要求6所述的装置,其特征在于,所述第一确定模块,具体用于针对每一样本数据,计算该样本数据与该样本数据对应的第一输出数据之间的均方误差,得到该样本数据与该样本数据对应的第一输出数据之间的第一重构误差;
基于每个样本数据与每个样本数据对应的第一输出数据之间的第一重构误差,利用核概率密度估计KDE算法,确定重构误差概率密度分布曲线;所述KDE算法包括所述预设核函数和预设带宽。
8.根据权利要求7所述的装置,其特征在于,所述预设核函数为均匀核函数、高斯核函数、Epanechikov核函数或四次方Quartic核函数;
所述预设带宽是基于斯考特scott带宽法或西尔弗曼silverman带宽法确定的。
9.根据权利要求6所述装置,其特征在于,所述训练模块,具体用于获取所述预设训练集;
将所述预设训练集中包括的多个样本数据输入预设VAE模型,得到每个样本数据对应的第二输出数据;
计算每个样本数据与每个样本数据对应的第二输出数据之间的第二重构误差;
当本轮训练的第二重构误差与上一轮训练的第二重构误差间的差值大于预设差值阈值时,调整所述预设VAE模型的参数,并返回执行所述将所述预设训练集中包括的多个样本数据输入预设VAE模型,得到每个样本数据对应的第二输出数据的步骤;
当本轮训练的第二重构误差与上一轮训练的第二重构误差间的差值不大于所述预设差值阈值时,将当前的预设VAE模型确定为训练好的VAE模型。
10.根据权利要求6所述的装置,其特征在于,所述检测模块,具体用于将待检测数据输入所述训练好的VAE模型,得到所述待检测数据的第三输出数据;
计算所述待检测数据与所述待检测数据的第三输出数据之间的第三重构误差;
当所述第三重构误差大于所述异常重构误差阈值时,确定所述待检测数据为异常数据。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011149579.XA CN112149757B (zh) | 2020-10-23 | 2020-10-23 | 一种异常检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011149579.XA CN112149757B (zh) | 2020-10-23 | 2020-10-23 | 一种异常检测方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112149757A CN112149757A (zh) | 2020-12-29 |
CN112149757B true CN112149757B (zh) | 2022-08-19 |
Family
ID=73954904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011149579.XA Active CN112149757B (zh) | 2020-10-23 | 2020-10-23 | 一种异常检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112149757B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861906A (zh) * | 2020-12-31 | 2021-05-28 | 深圳前海微众银行股份有限公司 | 一种图片异常检测的方法及装置 |
CN112816195A (zh) * | 2021-01-04 | 2021-05-18 | 安徽容知日新科技股份有限公司 | 往复式机械设备故障诊断方法及装置 |
CN112801497B (zh) * | 2021-01-26 | 2024-04-30 | 上海华力微电子有限公司 | 一种异常检测方法及装置 |
CN113033601B (zh) * | 2021-02-02 | 2023-11-10 | 湖南科技大学 | 用于双转子不对中故障识别的dbn参数选取方法 |
US11843623B2 (en) * | 2021-03-16 | 2023-12-12 | Mitsubishi Electric Research Laboratories, Inc. | Apparatus and method for anomaly detection |
CN113221104B (zh) * | 2021-05-12 | 2023-07-28 | 北京百度网讯科技有限公司 | 用户异常行为的检测方法及用户行为重构模型的训练方法 |
CN113486302A (zh) * | 2021-07-12 | 2021-10-08 | 浙江网商银行股份有限公司 | 数据处理方法及装置 |
CN113535452A (zh) * | 2021-07-12 | 2021-10-22 | 浙江讯飞智能科技有限公司 | 数据检测方法、装置、电子设备和存储介质 |
CN113657516A (zh) * | 2021-08-20 | 2021-11-16 | 泰康保险集团股份有限公司 | 医疗交易数据处理的方法、装置、电子设备和存储介质 |
CN113723338B (zh) * | 2021-09-08 | 2024-03-15 | 深圳市汉德网络科技有限公司 | 传感器异常检测方法、装置及计算机可读存储介质 |
CN113779886A (zh) * | 2021-09-18 | 2021-12-10 | 天津商科数控技术股份有限公司 | 基于深度学习的焊点质量异常检测方法、装置、系统 |
CN113884705B (zh) * | 2021-09-28 | 2024-10-01 | 上海电气风电集团股份有限公司 | 簇群风机风速计的监测方法及其系统及计算机可读存储介质 |
CN114037478A (zh) * | 2021-11-18 | 2022-02-11 | 北京明略软件系统有限公司 | 广告异常流量检测方法、系统、电子设备及可读存储介质 |
CN114297036B (zh) * | 2022-01-05 | 2023-06-09 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
WO2023185358A1 (zh) * | 2022-03-28 | 2023-10-05 | 同方威视技术股份有限公司 | 基于核密度估计的虚拟机运行状态检测方法和装置 |
CN114722061B (zh) * | 2022-04-08 | 2023-11-14 | 中国电信股份有限公司 | 数据处理方法及装置、设备、计算机可读存储介质 |
CN115647933B (zh) * | 2022-11-02 | 2023-10-27 | 富联裕展科技(深圳)有限公司 | 主轴偏摆异常检测方法、装置以及存储介质 |
CN115514620B (zh) * | 2022-11-15 | 2023-03-10 | 阿里云计算有限公司 | 一种异常检测的方法和云网络平台 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107852513A (zh) * | 2015-06-05 | 2018-03-27 | 瑞典爱立信有限公司 | 对输入视频序列的像素进行编码 |
CN109034127A (zh) * | 2018-08-31 | 2018-12-18 | 中国电子科技集团公司第三十六研究所 | 一种频谱异常检测方法、装置和电子设备 |
CN109948117A (zh) * | 2019-03-13 | 2019-06-28 | 南京航空航天大学 | 一种对抗网络自编码器的卫星异常检测方法 |
CN111144644A (zh) * | 2019-12-24 | 2020-05-12 | 淮阴工学院 | 基于变分异方差高斯过程回归的短期风速预测方法 |
CN111178523A (zh) * | 2019-08-02 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种行为检测方法、装置、电子设备及存储介质 |
CN111325794A (zh) * | 2020-02-23 | 2020-06-23 | 哈尔滨工业大学 | 一种基于深度卷积自编码器的视觉同时定位与地图构建方法 |
CN111598881A (zh) * | 2020-05-19 | 2020-08-28 | 西安电子科技大学 | 基于变分自编码器的图像异常检测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002290243A (ja) * | 2001-03-28 | 2002-10-04 | Mitsubishi Electric Corp | 符号化方法、符号化装置、復号方法、及び復号装置 |
CN108416695B (zh) * | 2018-02-24 | 2020-07-07 | 合肥工业大学 | 基于深度学习的电力负荷概率密度预测方法和系统、介质 |
-
2020
- 2020-10-23 CN CN202011149579.XA patent/CN112149757B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107852513A (zh) * | 2015-06-05 | 2018-03-27 | 瑞典爱立信有限公司 | 对输入视频序列的像素进行编码 |
CN109034127A (zh) * | 2018-08-31 | 2018-12-18 | 中国电子科技集团公司第三十六研究所 | 一种频谱异常检测方法、装置和电子设备 |
CN109948117A (zh) * | 2019-03-13 | 2019-06-28 | 南京航空航天大学 | 一种对抗网络自编码器的卫星异常检测方法 |
CN111178523A (zh) * | 2019-08-02 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种行为检测方法、装置、电子设备及存储介质 |
CN111144644A (zh) * | 2019-12-24 | 2020-05-12 | 淮阴工学院 | 基于变分异方差高斯过程回归的短期风速预测方法 |
CN111325794A (zh) * | 2020-02-23 | 2020-06-23 | 哈尔滨工业大学 | 一种基于深度卷积自编码器的视觉同时定位与地图构建方法 |
CN111598881A (zh) * | 2020-05-19 | 2020-08-28 | 西安电子科技大学 | 基于变分自编码器的图像异常检测方法 |
Non-Patent Citations (3)
Title |
---|
Recognizing Fall Actions from Videos Using Reconstruction Error of Variational Autoencoder;Jiaxin Zhou等;《IEEE》;20190826;第3372-3376页 * |
基于自编码器和隐马尔可夫模型的时间序列异常检测方法;霍纬纲等;《计算机应用》;20191028(第05期);第93-98页 * |
面向卫星电源系统的一种新颖异常检测方法;张怀峰等;《宇航学报》;20191230(第12期);第90-99页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112149757A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112149757B (zh) | 一种异常检测方法、装置、电子设备及存储介质 | |
CN108921206B (zh) | 一种图像分类方法、装置、电子设备及存储介质 | |
CN112131322B (zh) | 时间序列分类方法及装置 | |
CN111340233B (zh) | 机器学习模型的训练方法及装置、样本处理方法及装置 | |
CN112685324B (zh) | 一种生成测试方案的方法及系统 | |
CN112000808B (zh) | 一种数据处理方法及装置、可读存储介质 | |
CN111125658A (zh) | 识别欺诈用户的方法、装置、服务器和存储介质 | |
Wen et al. | Probabilistic wind power forecasting via Bayesian deep learning based prediction intervals | |
CN110796164A (zh) | 数据聚类的簇数确定方法、系统、电子设备及存储介质 | |
KR102192461B1 (ko) | 불확정성을 모델링할 수 있는 뉴럴네트워크 학습 장치 및 방법 | |
CN111309706A (zh) | 模型训练方法、装置、可读存储介质及电子设备 | |
CN112463964B (zh) | 文本分类及模型训练方法、装置、设备及存储介质 | |
CN116956171A (zh) | 基于ai模型的分类方法、装置、设备及存储介质 | |
CN112149833B (zh) | 基于机器学习的预测方法、装置、设备和存储介质 | |
CN115034580A (zh) | 融合数据集的质量评估方法和装置 | |
CN109408531B (zh) | 缓慢下跌型数据的检测方法及装置、电子设备、存储介质 | |
CN112613755A (zh) | 利用置信度评估企业风险的方法、装置及电子设备 | |
CN118196567B (zh) | 基于大语言模型的数据评价方法、装置、设备及存储介质 | |
CN118211681B (zh) | 标注样本判断方法、装置及电子设备 | |
CN111177132B (zh) | 关系型数据的标签清洗方法、装置、设备及存储介质 | |
CN110728615B (zh) | 基于序贯假设检验的隐写分析方法、终端设备及存储介质 | |
CN114333022B (zh) | 角色特征提取模型的训练方法、角色识别方法及相关设备 | |
CN118248169B (zh) | 一种基于音频数据的燃气泄漏识别方法以及相关装置 | |
CN112906386B (zh) | 一种确定文本特征的方法及装置 | |
CN108735295B (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 |