CN114297936A - 一种数据异常检测方法及装置 - Google Patents

一种数据异常检测方法及装置 Download PDF

Info

Publication number
CN114297936A
CN114297936A CN202111660188.9A CN202111660188A CN114297936A CN 114297936 A CN114297936 A CN 114297936A CN 202111660188 A CN202111660188 A CN 202111660188A CN 114297936 A CN114297936 A CN 114297936A
Authority
CN
China
Prior art keywords
data
maintenance
maintenance data
original operation
vae
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
CN202111660188.9A
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.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202111660188.9A priority Critical patent/CN114297936A/zh
Publication of CN114297936A publication Critical patent/CN114297936A/zh
Priority to PCT/CN2022/102033 priority patent/WO2023123941A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/02Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明实施例提供了一种数据异常检测方法及装置,该方法包括获取当前时刻的原始运维数据;原始运维数据包括多个运维指标的数据,将原始运维数据输入至异常检测模型,得到原始运维数据对应的重构数据;异常检测模型是根据历史的正常运维数据对VAE‑GAN模型进行训练得到的,然后,计算原始运维数据对应的重构数据与原始运维数据之间的重构误差;根据重构误差,确定原始运维数据中的异常指标。如此,可以实现采用一个模型对多维运维指标进行检测,实时地识别出原始运维数据中的异常指标,从而可以避免仅根据某一维度指标异常而判断为应用实例异常的问题,进而可以提高对应用实例的原始运维数据异常检测的准确性。

Description

一种数据异常检测方法及装置
技术领域
本发明实施例涉及金融科技(Finteh)领域,尤其涉及一种数据异常检测方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,然而,由于金融行业具有安全性和实时性的要求,从而也对技术提出了更高的要求。
随着微服务应用的兴起和分布式架构的发展,子系统规模及系统调用复杂度不断提高。目前IT运维领域的应用实例维护成本越来越高,而应用实例运维的核心问题之一就是关注应用实例的运维数据的各项指标是否异常。应用实例运维指标监控数据主要可分为主机性能指标(例如中央处理器(central processing unit,CPU)、存储器(memory,MEM)、磁盘(DISK)、Java虚拟机(Java Virtual Machine,JVM)、输入输出(Input Output,IO)等)和关键业务指标(例如业务接口交易量、耗时及成功率),这些指标是典型的时序数据,可表征该应用实例本身以及应用实例上承载应用是否运行良好。
现有的应用实例级别异常检测是将多维运维时序指标进行横向分隔,转换为多个单维时间序列,利用单维时间序列领域的算法检测异常。对于多维序列中各个维度视为一个独立单元时,异常分析主要是在这个单元上进行,而系统运行及健康状态往往是由一系列指标共同决定的,指标之间并非相互独立的关系,仅因某个维度指标异常而将整个应用实例判断为异常是不合理的。同时,针对不同类型的时间序列需运维人员结合长期经验配置使用不同模型,维护成本比较高,不适用于大规模的时间序列异常检测场景。随着系统逐渐庞大,监控指标数量呈指数式增长。虽然运维指标序列可视化成本低、单一维度含义明确且数值变化规则明显,但运维人员手工设置告警规则检测维度低且人为判定异常准确度低,已无法满足产品应用快速迭代,提供可靠、高效服务的要求。
因此,亟需一种数据异常检测方法,用以解决现有技术中存在应用实例的原始运维数据异常检测准确性低的问题。
发明内容
本发明实施例提供了一种数据异常检测方法及装置,用以解决现有技术中存在的应用实例的原始运维数据异常检测准确性低的问题。
第一方面,本发明实施例提供了一种数据异常检测方法,包括:
获取当前时刻的原始运维数据;原始运维数据包括多个运维指标的数据;
将所述原始运维数据输入至异常检测模型,得到所述原始运维数据对应的重构数据;所述异常检测模型是根据历史的正常运维数据对VAE-GAN模型进行训练得到的;
计算所述原始运维数据对应的重构数据与所述原始运维数据之间的重构误差;
根据所述重构误差,确定所述原始运维数据中的异常指标。
上述技术方案中,通过将当前时刻的多个运维指标的原始运维数据输入到预设的异常检测模型,得到所述原始运维数据对应的重构数据,然后根据计算的重构数据与所述原始运维数据之间的重构误差,确定原始运维数据中的异常指标,可以实现对多维运维指标采用一个模型进行检测,实时地自动识别出原始运维数据中的异常指标,而不是针对不同的运维指标采用不同的模型进行异常检测,从而可以避免仅根据某一维度指标异常而判断为应用实例异常的问题,进而可以提高对应用实例的原始运维数据异常检测的准确性。
可选地,所述根据所述重构误差,确定所述原始运维数据中的异常指标,包括:若所述重构误差大于或等于误差阈值,则确定所述原始运维数据异常;根据所述原始运维数据中每个运维指标的数据与所述原始运维数据对应的重构数据中对应所述运维指标的数据之间的重构误差,确定所述原始运维数据中的异常指标。
上述技术方案中,根据原始运维数据与重构数据之间的重构误差与误差阈值的大小判断,可以快速确定原始运维数据是否异常,在确定原始运维数据存在异常时,再继续进行根因分析,可以避免在原始运维数据无异常时浪费的计算资源。
可选地,所述根据所述原始运维数据中每个运维指标的数据与所述原始运维数据对应的重构数据中对应所述运维指标的数据之间的重构误差,确定所述原始运维数据中的异常指标,包括:计算所述原始运维数据中每个运维指标的数据与所述原始运维数据对应的重构数据中对应所述运维指标的数据之间的重构误差,得到所述多个运维指标对应的多个重构误差;将所述多个运维指标对应的多个重构误差中的M个最大值所对应的运维指标确定为异常指标,所述M为正整数。
上述技术方案中,在根因分析时,从多维度指标分别对应的重构误差中找出M个最大值对应的维度指标,定位为故障根因,而不是采用重构误差作为指标异常判断标准,使得根因分析结果更具有客观性。
可选地,所述计算所述原始运维数据对应的重构数据与所述原始运维数据之间的重构误差,包括:将所述多个运维指标对应的多个重构误差之和,确定为所述重构数据与所述原始运维数据之间的重构误差。
可选地,所述将所述原始运维数据输入至异常检测模型之前,所述方法还包括:
获取离线的历史运维数据;
将所述历史运维数据作为输入构建VAE-GAN模型,以VAE-GAN模型的损失函数最小值为优化目标对所述VAE-GAN模型进行无监督训练,得到所述异常检测模型;
其中,所述VAE-GAN模型包括VAE网络和GAN网络,所述VAE网络包括编码器和解码器,所述编码器用于输出变分分布
Figure BDA0003449319430000041
所述解码器用于输出后验概率分布pθ(z);所述GAN网络用于约束所述编码器输出的变分分布
Figure BDA0003449319430000042
与后验概率分布pθ(z)之间的KL散度最小,以及用于约束所述解码器输出的重构数据与历史运维数据之间的重构误差最小。
上述技术方案中,通过离线的历史运维数据对VAE-GAN模型进行训练,以从而为预设的分类策略模型的实时识别提供支持,在VAE中引入GAN,关注VAE判别模块隐藏层输出分布q(z)及生成模块重构输出W′xt的重要特征,使用判别器DE约束变分自编码器中间输出(即分布输出),提高重构的鲁棒性,减少重构的过拟合效应,提高预测引擎的运行效率和准确度;使用判别器DD约束变分自编码器的重构输出W′xt更接近于输入以学习输入数据的分布。
可选的,所述将所述历史运维数据作为输入构建VAE-GAN模型,包括:
根据历史运维数据的似然函数,采用最大化对数似然函数的方式估计后验概率分布pθ(z|x)的参数θ;
根据以下公式(1)以及公式(2)将计算变分分布
Figure BDA0003449319430000043
与后验概率分布pθ(z|x)之间的KL散度最小值,转换为寻找参数
Figure BDA0003449319430000044
使得变分证据下界的值最大:
Figure BDA0003449319430000045
Figure BDA0003449319430000046
其中,
Figure BDA0003449319430000047
为变分分布
Figure BDA0003449319430000048
与后验概率分布pθ(z|x)之间的KL散度,
Figure BDA0003449319430000049
为变分证据下界;
根据所述参数θ构建VAN网络的解码器,根据参数
Figure BDA00034493194300000410
构建VAN网络的编码器;
在所述VAN网络的编码器的输出端增加分布约束的GAN判别器,并在所述VAN的编码器的输出端增加输出约束的GAN判别器,得到VAE-GAN模型;其中,所述分布约束的GAN判别器用于判别所述变分分布
Figure BDA00034493194300000411
与后验概率分布pθ(z|x)是否接近;所述输出约束的GAN判别器用于判别所述解码器输出的重构数据与所述历史运维数据是否接近。
可选的,以VAE-GAN模型的损失函数最小值为优化目标对所述VAE-GAN模型进行无监督训练,得到所述异常检测模型,包括:
确定VAE-GAN模型中基于分布约束的GAN判别器的损失函数:
Figure BDA0003449319430000051
其中,y为随机噪声,p(y)为低维的噪声分布,x为真实样本,p(x)为真实样本分布,DE(z)表示输入的样本是真实样本的概率,DE(GE(x))表示以编码器的输出结果作为输入的样本是真实样本的概率;
确定VAE-GAN模型中与所述编码器等效的生成器的损失函数:
Figure BDA0003449319430000052
其中,x为真实样本,p(x)为真实样本分布,DE(GE(x))表示以编码器的输出结果作为输入的样本是真实样本的概率;
根据所述分布约束的GAN判别器的损失函数和所述解码器等效的生成器的损失函数的最小值为目标,约束编码器输出的变分分布
Figure BDA0003449319430000053
与后验概率分布pθ(z)之间的KL散度最小,不断优化所述VAE-GAN模型;
确定VAE-GAN模型中基于输出约束的GAN判别器的损失函数:
Figure BDA0003449319430000054
其中,x为真实样本,p(x)为真实样本分布,
Figure BDA0003449319430000055
表示以输入的样本是真实样本的概率,
Figure BDA0003449319430000056
表示以解码器的输出结果作为输入的样本是真实样本的概率;
确定与所述解码器等效的生成器的损失函数:
Figure BDA0003449319430000057
其中,x为真实样本,p(x)为真实样本分布,
Figure BDA0003449319430000058
表示以解码器的输出结果作为输入的样本是真实样本的概率;
根据所述基于输出约束的GAN判别器的损失函数和所述编码器等效的生成器的损失函数的最小值为目标,约束解码器输出的重构数据与历史运维数据之间的重构误差最小。
第二方面,本发明实施例还提供了一种异常数据检测装置,包括:
获取单元,用于获取当前时刻的原始运维数据;原始运维数据包括多个运维指标的数据;
处理单元,用于将所述原始运维数据输入至异常检测模型,得到所述原始运维数据对应的重构数据;计算所述原始运维数据对应的重构数据与所述原始运维数据之间的重构误差;根据所述重构误差,确定所述原始运维数据中的异常指标;所述异常检测模型是根据历史的正常运维数据对VAE-GAN模型进行训练得到的。
可选地,所述处理单元具体用于:若所述重构误差大于或等于误差阈值,则确定所述原始运维数据异常;根据所述原始运维数据中每个运维指标的数据与所述原始运维数据对应的重构数据中对应所述运维指标的数据之间的重构误差,确定所述原始运维数据中的异常指标。
可选地,所述处理单元具体用于:计算所述原始运维数据中每个运维指标的数据与所述原始运维数据对应的重构数据中对应所述运维指标的数据之间的重构误差,得到所述多个运维指标对应的多个重构误差;将所述多个运维指标对应的多个重构误差中的M个最大值所对应的运维指标确定为异常指标,所述M为正整数。
可选地,所述处理单元还用于:将所述多个运维指标对应的多个重构误差之和,确定为所述重构数据与所述原始运维数据之间的重构误差。
可选地,所述获取单元还用于:获取离线的历史运维数据;所述处理单元还用于:将所述历史运维数据作为输入构建VAE-GAN模型,以VAE-GAN模型的损失函数最小值为优化目标对所述VAE-GAN模型进行无监督训练,得到所述异常检测模型;
其中,所述VAE-GAN模型包括VAE网络和GAN网络,所述VAE网络包括编码器和解码器,所述编码器用于输出变分分布
Figure BDA0003449319430000071
所述解码器用于输出后验概率分布pθ(z|x);所述GAN网络用于约束所述编码器输出的变分分布
Figure BDA0003449319430000072
与后验概率分布pθ(z|x)之间的KL散度最小,以及用于约束所述解码器输出的重构数据与历史运维数据之间的重构误差最小。
可选地,所述处理单元具体用于:
根据历史运维数据的似然函数,采用最大化对数似然函数的方式估计后验概率分布pθ(z)的参数θ;
根据以下公式(1)以及公式(2)将计算变分分布
Figure BDA0003449319430000073
与后验概率分布pθ(z|x)之间的KL散度最小值,转换为寻找参数
Figure BDA0003449319430000074
使得变分证据下界的值最大:
Figure BDA0003449319430000075
Figure BDA0003449319430000076
其中,
Figure BDA0003449319430000077
为变分分布
Figure BDA0003449319430000078
与后验概率分布pθ(z|x)之间的KL散度,
Figure BDA0003449319430000079
为变分证据下界;
根据所述参数θ构建VAN网络的解码器,根据参数
Figure BDA00034493194300000710
构建VAN网络的编码器;
在所述VAN网络的编码器的输出端增加分布约束的GAN判别器,并在所述VAN的编码器的输出端增加输出约束的GAN判别器,得到VAE-GAN模型;其中,所述分布约束的GAN判别器用于判别所述变分分布
Figure BDA00034493194300000711
与后验概率分布pθ(z|x)是否接近;所述输出约束的GAN判别器用于判别所述解码器输出的重构数据与所述历史运维数据是否接近。
可选地,所述处理单元具体用于:
确定VAE-GAN模型中基于分布约束的GAN判别器的损失函数:
Figure BDA00034493194300000712
其中,y为随机噪声,p(y)为低维的噪声分布,x为真实样本,p(x)为真实样本分布,DE(z)表示输入的样本是真实样本的概率,DE(GE(x))表示以编码器的输出结果作为输入的样本是真实样本的概率;
确定VAE-GAN模型中与所述编码器等效的生成器的损失函数:
Figure BDA0003449319430000081
其中,x为真实样本,p(x)为真实样本分布,DE(GE(x))表示以编码器的输出结果作为输入的样本是真实样本的概率;
根据所述分布约束的GAN判别器的损失函数和所述解码器等效的生成器的损失函数的最小值为目标,约束编码器输出的变分分布
Figure BDA0003449319430000082
与后验概率分布pθ(z)之间的KL散度最小,不断优化所述VAE-GAN模型;
确定VAE-GAN模型中基于输出约束的GAN判别器的损失函数:
Figure BDA0003449319430000083
其中,x为真实样本,p(x)为真实样本分布,
Figure BDA0003449319430000084
表示以输入的样本是真实样本的概率,
Figure BDA0003449319430000085
表示以解码器的输出结果作为输入的样本是真实样本的概率;
确定与所述解码器等效的生成器的损失函数:
Figure BDA0003449319430000086
其中,x为真实样本,p(x)为真实样本分布,
Figure BDA0003449319430000087
表示以解码器的输出结果作为输入的样本是真实样本的概率;
根据所述基于输出约束的GAN判别器的损失函数和所述编码器等效的生成器的损失函数的最小值为目标,约束解码器输出的重构数据与历史运维数据之间的重构误差最小。
第三方面,本发明实施例提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行数据异常检测方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行数据异常检测方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构的示意图;
图2为本发明实施例提供的一种数据异常检测方法的流程示意图;
图3为本发明实施例提供的一种数据异常检测方法的流程示意图;
图4为本发明实施例提供的VAE基本框架示意图;
图5为本发明实施例提供的VAE具体网络结构示意图;
图6为本发明实施例提供的VAE使用重参数构建示意图;
图7为本发明实施例提供的GAN模型结构示意图;
图8为本发明实施例提供的多维异常检测模型结构示意图;
图9为本发明实施例提供的一种异常数据检测装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种系统架构。如图1所示,该系统架构可以为服务器100,包括处理器110、通信接口120和存储器130。
其中,通信接口120用于与终端设备进行通信,收发该终端设备传输的信息,实现通信。
处理器110是服务器100的控制中心,利用各种接口和线路连接整个服务器100的各个部分,通过运行或执行存储在存储器130内的软件程序/或模块,以及调用存储在存储器130内的数据,执行服务器100的各种功能和处理数据。可选地,处理器110可以包括一个或多个处理单元。
存储器130可用于存储软件程序以及模块,处理器110通过运行存储在存储器130的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器130可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储应用实例的运维数据等。此外,存储器130可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
下面对本发明涉及到的术语进行说明。
变分自动编码器(Variational Auto-encoder,VAE),是概率统计及机器学习领域的一类重要深度生成模型,其思想是利用神经网络来分别建模两个复杂的条件概率密度函数。变分自编码器是基于自编码器的改进,分为编码器(Encoder)和解码器(Decoder)两部分模型。编码器将输入样本映射为不同维度之间相互独立的低维多元高斯分布,学习输入数据的隐含特征,生成隐空间层。解码器将编码器学习得到的隐含特征重构出原始输入数据。将原始输入矢量和重建矢量之间的差异被称为重构误差,VAE将不断学习最小化该重构误差。
生成对抗式网络(Generative Adversarial Networks,GAN),是复杂分布上无监督学习的隐式密度生成模型。通过生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习生成输出轮流训练判别器(Discriminator)和生成器(Generator),令其相互对抗,从复杂概率分布中采样,使得生成网络产生的样本服从真实数据的分布。判别网络,其目标是尽量准确地判断一个样本是来自真实数据还是由生成网络产生;生成网络,其目标是尽量生成让判别网络无法准确区分来源的样本。通过这两个目标相反的网络不断交替训练,得到判别网络无法判断样本来源的生成网络,即可认定该生成网络可生成符合真实样本分布的样本。
基于上述描述,图2示例性的示出了本发明实施例提供的一种数据异常检测方法的流程,该流程可以由一种异常数据检测装置执行,该装置可以位于如图1所示服务器100内,也可以是该服务器100。
如图2所示,该流程具体包括:
步骤201,获取当前时刻的原始运维数据。
本发明实施例中,该原始运维数据包括多个运维指标的数据,以原始运维数据包括N维指标为例,当前时刻t的原始运维数据例如为W={xt 1,xt 2,xt 3……xt N},其中,xt N表示维度指标N对应的原始数据,N为正整数。
其中,运维指标可以为主机性能指标和/或关键业务指标,主机性能指标例如为CPU、MEM、DISK、JVM、IO等,关键业务指标例如为业务接口交易量、耗时及成功率等。在步骤201中的多个运维指标可以包括主机性能指标和关键业务指标这两类指标中的至少两个指标,例如多个运维指标包括CPU和业务接口交易量,又例如,多个运维指标包括CPU、JVM和IO。
步骤202,将原始运维数据输入至异常检测模型,得到原始运维数据对应的重构数据。
本发明实施例中,异常检测模型是根据历史的正常运维数据对VAE-GAN模型进行训练得到的。
示例性的,原始运维数据W={xt 1,xt 2,xt 3……xt N},W对应的重构数据表示为W′={xt 1′,xt 2′,xt 3′……xt N′},其中,xt 1′为xt 1对应的重构数据,xt 2′为xt 2对应的重构数据,xt N′为xt N对应的重构数据。xt N′表示维度指标N对应的重构数据,也就是说,xt N′与xt N对应同一维度指标。
步骤203,计算原始运维数据对应的重构数据与原始运维数据之间的重构误差。
步骤204,根据原始运维数据对应的重构数据与原始运维数据之间的重构误差,确定原始运维数据中的异常指标。
本申请实施例中,通过将当前时刻的多个运维指标的原始运维数据输入到预设的异常检测模型,得到所述原始运维数据对应的重构数据,然后根据计算的重构数据与所述原始运维数据之间的重构误差,确定原始运维数据中的异常指标,可以实现对多维运维指标采用一个模型进行检测,实时地识别出原始运维数据中的异常指标,而不是针对不同的运维指标采用不同的模型进行异常检测,从而可以避免仅根据某一维度指标异常而判断为应用实例异常的问题,进而可以提高对应用实例的原始运维数据异常检测的准确性。
在一种可实施的方式中,上述步骤203中的重构误差可以通过以下方式得到:根据原始运维数据与原始运维数据对应的重构数据中多个运维指标分别对应的重构误差,将多个运维指标分别对应的重构误差之和,确定为重构数据与原始运维数据之间的重构误差。
在一个示例中,原始运维数据Wt={xt 1,xt 2,xt 3……xt N},W对应的重构数据表示为Wt′={xt 1′,xt 2′,xt 3′……xt N′},xN′与xN对应同一维度指标,针对维度指标j来说,W′与W之间的重构误差可以通过以下公式计算得到:
Figure BDA0003449319430000121
在公式(1)中,
Figure BDA0003449319430000122
为t时刻的维度指标j对应的原始运维数据,
Figure BDA0003449319430000123
为t时刻的维度指标j对应的重构数据,
Figure BDA0003449319430000124
为t时刻的维度指标j对应的重构误差,
Figure BDA0003449319430000125
表示对t时刻的维度指标1~j分别对应的重构误差进行求和。
若重构数据与原始运维数据之间的重构误差小于误差阈值,则确定原始运维数据正常;若重构数据与原始运维数据之间的重构误差大于或等于误差阈值,则确定原始运维数据异常,然后,可以根据所述原始运维数据中每个运维指标的数据与所述原始运维数据对应的重构数据中对应所述运维指标的数据之间的重构误差,确定原始运维数据中的异常指标。如此,可以快速确定原始运维数据是否异常,在确定原始运维数据存在异常时,再继续进行根因分析,可以避免在原始运维数据无异常时浪费的计算资源。
在一种可实施的方式中,根据所述原始运维数据中每个运维指标的数据与所述原始运维数据对应的重构数据中对应所述运维指标的数据之间的重构误差,确定所述原始运维数据中的异常指标,包括:计算所述原始运维数据中每个运维指标的数据与所述原始运维数据对应的重构数据中对应所述运维指标的数据之间的重构误差,得到所述多个运维指标对应的多个重构误差;将所述多个运维指标对应的多个重构误差中的M个最大值所对应的运维指标确定为异常指标,M为正整数。其中,M的取值可以根据实际需要进行设置,此处不进行限制。
以为误差阈值为0.05,M为5为例,若根据上述公式(1),计算得到t时刻的原始运维数据与原始运维数据对应的重构数据之间的重构误差
Figure BDA0003449319430000131
的值大于或等于0.05,则从
Figure BDA0003449319430000132
中确定出5个最大值,这5个最大值对应的运维指标即为异常指标。
通过上述方式,从多维度指标对应的多个重构误差中找出M个最大值对应的维度指标,定位为故障根因,而不是采用重构误差作为指标异常判断标准,使得根因分析结果更具有客观性。
本申请实例中,可以在离线模块中,先对VAE-GAN模型进行训练得到异常检测模型,然后在实时模块使用训练好的异常检测模型,以实现异常检测流程。
如图3所示,在离线模块中的具体处理过程如下:
S301,获取离线的历史运维数据。
该历史运维数据为应用实例在历史时间内的正常数据。
然后,可以在离线模块中,根据历史运维数据对VAE-GAN模型进行训练得到异常检测模型。在一种可实施的方式中,将历史运维数据作为输入构建VAE-GAN模型,以VAE-GAN模型的损失函数最小值为优化目标对VAE-GAN模型进行无监督训练,得到异常检测模型。
其中,VAE-GAN模型包括VAE网络和GAN网络,VAE网络包括编码器和解码器,编码器用于输出变分分布
Figure BDA0003449319430000141
解码器用于输出后验概率分布pθ(z);GAN网络用于约束编码器输出的变分分布
Figure BDA0003449319430000142
与后验概率分布pθ(z)之间的KL散度最小,以及用于约束解码器输出的重构数据与历史运维数据之间的重构误差最小。需要说明的是,本申请实施例中涉及的后验概率分布pθ(z)也可以用pθ(z|x)表示。
S302,对原始运维数据进行预处理。
应理解,该S302为可选的步骤,在对VAE-GAN模型进行训练之前,由于历史运维数据中最大值和最小值未知且量钢尺度不一,为提高模型的训练收敛速度,对原始运维数据进行预处理之后输入至异常检测模型中,示例的,具体预处理方式可以采用最大化最小化(MAXMIN)归一化方法,将原始运维数据的数据值映射到[0,1]之间。去量钢加速模型构建,具体处理方式如下公式:
Figure BDA0003449319430000143
其中,x′为标准化随机变量,x为原始序列数值,max为原始运维数据中的最大值,min为原始运维数据中的最小值。
S303,基于VAE的重构模块构建。
VAE作为基于概率统计结合深度学习的深度生成模型,可用于随机生成一系列可观测数据,其本质为定向概率图形模型。如图4所示,VAE基本框架是随机采样的概率模型,模拟了样本输入变量x及隐变量z之间的关系。假设x可由服从某种分布的隐变量z生成,其中x→z为判别模块
Figure BDA0003449319430000144
的变分近似,类似自编码器的编码器;z→x为生成模块pθ(x|z),类似于自编码器的解码器。
VAE利用神经网络分别建模两个复杂的条件概率密度函数,其网络结构自编码器类似,但输出内部不同。VAE输出为分布,而自编码器输出固定编码,图5为VAE具体网络结构。
如图5所示,编码模块输入为x,输出为变分分布
Figure BDA0003449319430000151
VAE使用神经网络估计变分分布
Figure BDA0003449319430000152
因本方法中的隐变量z为连续变量,其真实后验概率分布pθ(z|x)难以统计推断,涉及积分计算,传统的EM算法无法解决θ的参数统计。因此VAE基于变分推断,使用
Figure BDA0003449319430000153
近似逼近后验概率分布pθ(z|x)。
解码模块输入为z,输出为概率分布pθ(x|z)。VAE使用神经网络估计概率分布pθ(x|z),利用神经网络的拟合功能对pθ(x|z)的分布参数进行拟合。
S303a,VAE目标函数-对数最大似然函数。
VAE目标为解码模块重构的数据接近原始数据,即对pθ(x|z)做参数估计,利用对数最大似然法,就是要最大化对数似然函数。假定输入样本集(即历史运维数据)为D,D={x1,x2,x3……xN},其中所有数据均独立分布,两个观察间不会相互影响。最大似然估计则利用已知样本结果,估算概率密度函数的参数向量θ,以联合概率密度函数pθ(D)=P(x1,x2,x3……xN|θ)为相当于{x1,x2,x3……xN}的似然函数l(θ)),其计算方式如下:
Figure BDA0003449319430000154
根据如公式(2)所示的似然函数,θ′为参数空间中使似然函数l(θ)值最大的θ值,可以表示为如下公式(3):
Figure BDA0003449319430000155
为便于计算使用对数最大似然函数,如公式(4):
Figure BDA0003449319430000156
Figure BDA0003449319430000157
当且仅当
Figure BDA0003449319430000158
时,θ′最大。
S303b,对VAE编码模块构建过程进行介绍。
VAE编码模块使用变分近似
Figure BDA0003449319430000159
逼近原始后验概率布pθ(z|x),即要学习生成参数向量
Figure BDA00034493194300001510
使两者分布近似。在概率统计中使用KL散度衡量两个分布间的相似程度,KL散度即Kullback-Leibler散度,又称为相对熵,是两个概率分布P和Q之间差异的非对称度量。在信息理论中,相对熵等价于两个概率分布的信息熵的差值,其计算公式如下:
Figure BDA0003449319430000161
S303b-1,编码网络的分布假设。
VAE推断模块为简化计算假设
Figure BDA0003449319430000162
为服从均值为μI,方差为
Figure BDA0003449319430000163
的正态分布,即
Figure BDA0003449319430000164
Figure BDA0003449319430000165
由μI
Figure BDA0003449319430000166
两个参数向量决定,可通过编码网络进行预测,即
Figure BDA0003449319430000167
其中
Figure BDA0003449319430000168
一般为全连接网络或卷积网络,在本方法中为使历史训练样本的特征训练更为完整,将使用全连接网络,其计算方法如下:
h=σ(w(1)x+b(1)) (7);
μI=W(2)h+b(2) (8);
Figure BDA0003449319430000169
其中W(i)和b(i)是神经网络的权重和偏差,σ是非线性变换函数。由于方差恒为非负值,所以使用激活函数:
softplus=log(1+ex) (10);
h为经编码模块处理后输入样本X隐藏到隐藏层的表示。
S303b-2,编码网络的变分近似。
VAE编码网络的目标为
Figure BDA00034493194300001610
尽可能逼近真实后验概率分布pθ(z|x),即找到一组网络参数
Figure BDA00034493194300001611
最小化两个分布的KL散度,可表示为如下公式(11):
Figure BDA00034493194300001612
其计算过程如下:
(1)根据KL散度定义得:
Figure BDA00034493194300001613
(2),根据吉布森不等式知,KL散度恒大于等于0。当且仅当两分布相同时,KL散度为0,即上述公式(12)可变换为公式(13):
Figure BDA0003449319430000171
上述公式(13)进一步变换为公式(14):
Figure BDA0003449319430000172
Figure BDA0003449319430000173
(3)根据条件概率
Figure BDA0003449319430000174
上述公式(14)可变换为公式(16):
Figure BDA0003449319430000175
由上述公式(16)可知等号右边第二项为编码模块的目标最大化对数似然函数,令
Figure BDA0003449319430000176
Figure BDA0003449319430000177
为对数似然性的变分证据下界,得到如下公式(17):
Figure BDA0003449319430000178
因KL散度恒大于等于0,编码网络的目标函数可进行如下转换:编码网络的目标函数优化转化为寻找一组参数向量
Figure BDA0003449319430000179
使得z变分证据下界
Figure BDA00034493194300001710
最大,其中,
Figure BDA00034493194300001711
可用如下公式(18)表示:
Figure BDA00034493194300001712
S303c,VAE解码模块构建。
因KL散度非负,由公式(18)可知
Figure BDA00034493194300001713
一般情况下优化logpθ(x)是不可行的,因此一般转而优化它的变分证据下界
Figure BDA00034493194300001714
即优化对数似然函数转化为优化
Figure BDA00034493194300001715
变分证据下界可进行如下转换:
Figure BDA0003449319430000181
Figure BDA0003449319430000182
Figure BDA0003449319430000183
公式(21)中的第一项用L1表示,第二项用L2表示,即公式(21)可以表示为如下公式(22):
Figure BDA0003449319430000184
S303c-1,解码网络目标函数转换。
VAE将生成模块的目标函数最大化似然函数logpθ(x),转换为最大化
Figure BDA0003449319430000185
提高变分证据下界。对于VAE的目标函数
Figure BDA0003449319430000186
等价于L1(近似后验概率
Figure BDA0003449319430000187
与先验分布pθ(z)的KL散度)+L2(对数似然估计)。L1可作为正则化项来防止过拟合,在本方法中使用GAN进行分布约束。L2相当于自编码器的重构误差,用于重构原始样本数据。
S303c-2,L1项的神经网络近似拟合,如下公式(23):
Figure BDA0003449319430000188
VAE设定隐变量z为简单的先验分布,以便对目标函数进行优化求解。一般设定pθ(z)为标准正态分布,近似后验分布
Figure BDA0003449319430000189
服从均值为μI,方差为
Figure BDA00034493194300001810
的正态分布,并使用神经网络拟合,其具体形式如下:
pθ(z)=N(0,I) (24);
Figure BDA00034493194300001811
S303c-3,L2项的蒙特卡洛方法估计。
Figure BDA00034493194300001812
因L2梯度方差很大,不适于用于数值计算。在机器学习领域,对于复杂积分的期望问题,可以采用蒙特卡洛方法,利用蒙特卡洛采样
Figure BDA00034493194300001813
即L2等价于如下公式(27):
Figure BDA0003449319430000191
S303d,VAE重参数化构建。
在生成网络中,VAE需从分布
Figure BDA0003449319430000192
中采样足够多的样本zk近似原函数的分布,尽管已假定pθ(z|x)为正态分布,因均值和方差均需模型计算得出,此过程需通过反向传播优化均值方差模型。反向传播过程中的采样操作为随机采样不可微,因此VAE使用重参数构建方法,如图6所示,假定从N(μ,σ2)中采样出Z相当于从N(0,I)中采样一个ε,令Z=μ+ε*σ。通过重参数化,使得采样操作无需参与梯度下降,使得模型训练可微。
在构建VAN网络的编码器和解码器之后,在VAN网络的编码器的输出端增加分布约束的GAN判别器,并在VAN的编码器的输出端增加输出约束的GAN判别器,得到VAE-GAN模型。其中,分布约束的GAN判别器用于判别变分分布
Figure BDA0003449319430000193
与后验概率分布pθ(z|x)是否接近;输出约束的GAN判别器用于判别解码器输出的重构数据与历史运维数据是否接近。
S304,基于GAN对VAE分布约束和VAE输出约束,以训练得到异常检测模型。
下面先对GAN进行详细介绍。
GAN与VAE均为基于神经网络的生成模型,主要思想是生成内容原始样本尽量相似,两者区别主要在于训练的损失函数不同,其中,VAE其目标函数在于最大似然估计,即最小化KL散度,KL散度为模型
Figure BDA0003449319430000194
和pθ(z|x)之间的距离,其优化目标和过程都是显式的,而GAN其目标在于优化生成网络与判别网络的博弈过程,即生成网络G的目标就是尽量生成真实的图片去欺骗判别网络D,最终实现判别网络无法识别样本是真实样本还是生成样本。GAN属于隐式生成模型,其目标函数及训练过程并未显式计算最大似然函数,其模型结构如图7所示。
下面对GAN的基本原理进行介绍,如图7所示,生成器G是一个生成样本的神经网络,它接收一个随机的噪声y,通过这个噪声生成样本(如正态分布)记做G(z)。鉴别器D是一个判别样本的神经网络,判别样本是不是真实,即判定输入样本来自于生成器还是原始样本取样。其输入参数是样本x,输出D(x)代表x为真实样本的概率,若D(x)=1,则判定样本来自原始数据。
(1)GAN的目标损失函数如下公式(28):
V(D,G)=minGmaxDEx~p(x)[logD(x)]+Ey~pnoise(y)[log1-D(G(Z))] (28);
其中,p(x)为真实样本分布,pnoise(y)为定义低维的噪声分布。GAN的损失计算均在鉴别器D输出处产生,整体上使用二进制的交叉熵函数进行True/Fake的判定。
第一部分为maxD部分为鉴别器训练部分,在模型保持生成器G不变的基础上训练鉴别器D。鉴别器的训练目标为正确区分True/Fake并以1/0表示。因Ex~p(x)输入采样自真实数据,模型期望D(x)趋近于1,即最大化第一项整体值Ex~p(x)[logD(x)]。同理第二项Ey~pnoise(z)输入采样自G的生成数据,模型期望D(G(z))趋近于0,即同步最大化第二项Ey~pnoise(z)[log1-D(G(Z))]整体值。即鉴别器的损失定义如下:
Figure BDA0003449319430000201
第二部分为minG部分为生成器训练部分,在模型保持判别D不变,训练生成器G。生成器训练目标为训练迷惑鉴别器,需期望D(G(z))输出接近于1,即最小化第二项整体值。因与鉴别器训练过程博弈,鉴别器会产生较大误差,通过误差会更新优化G。即生成器的损失定义如下:
Figure BDA0003449319430000202
(2)基于GAN的VAE分布约束。
在日常系统运维中,监控系统以分钟级别采集维度为N的数据xt∈RN。如图8所示,基于VAE-GAN构建多维异常检测模型,以检测时刻xt的历史序列窗口Δt的运维数据
Figure BDA0003449319430000205
为输入,VAE的中间输出服从分布
Figure BDA0003449319430000203
基于对抗式差分自编码器,约束该分布与先验分布pθ(z)近似,通过判别器DE比较
Figure BDA0003449319430000204
和pθ(z),从而提高VAE重构的鲁棒性和减少重构的过拟合效应。
Figure BDA0003449319430000211
为原始数据,由GAN的标准损失函数,可得基于分布约束的判别器的损失函数为:
Figure BDA0003449319430000212
其中,y为随机噪声,p(y)为低维的噪声分布,x为真实样本,p(x)为真实样本分布,DE(z)表示输入的样本是真实样本的概率;DE(GE(x))表示以编码器的输出结果作为输入的样本是真实样本的概率;
与编码器等效的生成器的损失函数分别为:
Figure BDA0003449319430000213
其中,x为真实样本,p(x)为真实样本分布,DE(GE(x))表示以编码器的输出结果作为输入的样本是真实样本的概率;
以生成器和判别器的损失函数最小值为目标,约束编码器输出的变分分布
Figure BDA0003449319430000214
与后验概率分布pθ(z|x)之间的KL散度最小,不断优化VAE-GAN模型。
(3)基于GAN的VAE输出约束。
如图8所示,基于VAE-GAN构建多维异常检测模型,以检测时刻xt的历史序列窗口Δt的历史运维数据
Figure BDA0003449319430000215
为输入,利用VAE重构序列得到
Figure BDA0003449319430000216
VAE损失函数为输入和输出的距离,令重构输出
Figure BDA0003449319430000217
逼近输入数据的分布,但单独用范数距离无法准确衡量输入和输出分布的相似性。因此,本方法利用GAN的判别器进一步来辨认输出和重构的相似性。
输出约束GAN生成器对应VAE的解码模块GD,判别器为DD判断重构输出与原始输入间的距离,从而进一步约束自编码器的输出以让自编码器学习原始时序数据的正常分布。由GAN的标准损失函数,可得基于输出约束的判别器的损失函数分别为:
Figure BDA0003449319430000218
其中,x为真实样本,p(x)为真实样本分布,
Figure BDA0003449319430000219
表示以输入的样本
Figure BDA0003449319430000221
是真实样本的概率,
Figure BDA0003449319430000222
表示以解码器的输出结果
Figure BDA0003449319430000223
作为输入的样本是真实样本的概率;
与解码器等效的生成器的损失函数分别为:
Figure BDA0003449319430000224
其中,x为真实样本,p(x)为真实样本分布,
Figure BDA0003449319430000225
表示以解码器的输出结果作为输入的样本是真实样本的概率;
以生成器和判别器的损失函数最小值为目标,约束解码器输出的重构数据与历史运维数据之间的重构误差最小,不断优化VAE-GAN模型。
上述方案中,在VAE中引入GAN,关注VAE判别模块隐藏层输出分布q(z)及生成模块重构输出W′xt的重要特征,使用判别器DE约束变分自编码器中间输出(即分布输出),提高重构的鲁棒性,减少重构的过拟合效应,提高预测引擎的运行效率和准确度;使用判别器DD约束变分自编码器的重构输出W′xt更接近于输入以学习输入数据的分布,通过以上分布约束和输出约束,不断训练VAE-GAN模型,从而可以得到最终的异常检测模型的模型参数。
在S304训练得到异常检测模型之后,可以在实时模块中使用异常检测模型进行数据异常检测。如图3所示,实时模块中的具体处理过程包括:
S305,获取实时的原始运维数据。
S306,加载异常检测模型,将原始运维数据输入至异常检测模型,输出重构数据。
S307,计算原始运维数据与重构数据之间的重构误差,并根据重构误差进行数据异常判断。
此处,S307的具体实现可以参见上述针对S202-203具体实现的相关描述,此处不再赘述。
S308,在确定出数据异常时,进行异常根因定位,确定出异常指标。
此处,S308的具体实现可以参见上述针对S204具体实现的相关描述,此处不再赘述。
S309,运维人员核实告警准确性。
基于相同的技术构思,图9示例性的示出了本发明实施例提供的一种异常数据检测装置,该装置可以执行数据异常检测方法的流程。
如图9所示,该装置包括:
获取单元901,用于获取当前时刻的原始运维数据;原始运维数据包括多个运维指标的数据;原始运维数据包括多个运维指标的数据;
处理单元902,用于将所述原始运维数据输入至异常检测模型,得到所述原始运维数据对应的重构数据;计算所述原始运维数据对应的重构数据与所述原始运维数据之间的重构误差;根据所述重构误差,确定所述原始运维数据中的异常指标;所述异常检测模型是根据历史的正常运维数据对VAE-GAN模型进行训练得到的。
可选地,所述处理单元902具体用于:若所述重构误差大于或等于误差阈值,则确定所述原始运维数据异常;根据所述原始运维数据与所述原始运维数据对应的重构数据中多个运维指标分别对应的重构误差,确定所述原始运维数据中的异常指标。
可选地,所述处理单元902具体用于:将所述多个运维指标对应的多个重构误差中的M个最大值所对应的运维指标确定为异常指标,所述M为正整数。
可选地,所述处理单元902还用于:根据所述原始运维数据与所述原始运维数据对应的重构数据中多个运维指标分别对应的重构误差;将所述多个运维指标分别对应的重构误差之和,确定为所述重构数据与所述原始运维数据之间的重构误差。
可选地,获取单元901还用于:获取离线的历史运维数据;
所述处理单元902还用于:将所述历史运维数据作为输入构建VAE-GAN模型,以VAE-GAN模型的损失函数最小值为优化目标对所述VAE-GAN模型进行无监督训练,得到所述异常检测模型;
其中,所述VAE-GAN模型包括VAE网络和GAN网络,所述VAE网络包括编码器和解码器,所述编码器用于输出变分分布
Figure BDA0003449319430000241
所述解码器用于输出后验概率分布pθ(z);所述GAN网络用于约束所述编码器输出的变分分布
Figure BDA0003449319430000242
与后验概率分布pθ(z)之间的KL散度最小,以及用于约束所述解码器输出的重构数据与历史运维数据之间的重构误差最小。
可选地,处理单元902具体用于:
根据历史运维数据的似然函数,采用最大化对数似然函数的方式估计后验概率分布pθ(z)的参数θ;
根据以下公式(1)以及公式(2)将计算变分分布
Figure BDA0003449319430000243
与后验概率分布pθ(z|x)之间的KL散度最小值,转换为寻找参数
Figure BDA0003449319430000244
使得变分证据下界的值最大:
Figure BDA0003449319430000245
Figure BDA0003449319430000246
其中,
Figure BDA0003449319430000247
为变分分布
Figure BDA0003449319430000248
与后验概率分布pθ(z|x)之间的KL散度,
Figure BDA0003449319430000249
为变分证据下界;
根据所述参数θ构建VAN网络的解码器,根据参数
Figure BDA00034493194300002410
构建VAN网络的编码器;
在所述VAN网络的编码器的输出端增加分布约束的GAN判别器,并在所述VAN的编码器的输出端增加输出约束的GAN判别器,得到VAE-GAN模型;其中,所述分布约束的GAN判别器用于判别所述变分分布
Figure BDA00034493194300002411
与后验概率分布pθ(z|x)是否接近;所述输出约束的GAN判别器用于判别所述解码器输出的重构数据与所述历史运维数据是否接近。
可选地,处理单元902具体用于:
确定VAE-GAN模型中基于分布约束的GAN判别器的损失函数:
Figure BDA00034493194300002412
以及,与所述编码器等效的生成器的损失函数:
Figure BDA0003449319430000251
根据所述分布约束的GAN判别器的损失函数和所述解码器等效的生成器的损失函数的最小值为目标,约束编码器输出的变分分布
Figure BDA0003449319430000252
与后验概率分布pθ(z|x)之间的KL散度最小,不断优化所述VAE-GAN模型;
确定VAE-GAN模型中基于输出约束的GAN判别器的损失函数:
Figure BDA0003449319430000253
以及,确定VAE-GAN模型中与所述解码器等效的生成器的损失函数:
Figure BDA0003449319430000254
根据所述基于输出约束的GAN判别器的损失函数和所述编码器等效的生成器的损失函数的最小值为目标,约束解码器输出的重构数据与历史运维数据之间的重构误差最小。
基于相同的技术构思,本发明实施例提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行数据异常检测方法。
基于相同的技术构思,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行数据异常检测方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种数据异常检测方法,其特征在于,包括:
获取当前时刻的原始运维数据;所述原始运维数据包括多个运维指标的数据;
将所述原始运维数据输入至异常检测模型,得到所述原始运维数据对应的重构数据;所述异常检测模型是根据历史的正常运维数据对VAE-GAN模型进行训练得到的;
计算所述原始运维数据对应的重构数据与所述原始运维数据之间的重构误差;
根据所述重构误差,确定所述原始运维数据中的异常指标。
2.如权利要求1所述的方法,其特征在于,所述根据所述重构误差,确定所述原始运维数据中的异常指标,包括:
若所述重构误差大于或等于误差阈值,则确定所述原始运维数据异常;
根据所述原始运维数据中每个运维指标的数据与所述原始运维数据对应的重构数据中对应所述运维指标的数据之间的重构误差,确定所述原始运维数据中的异常指标。
3.如权利要求2所述的方法,其特征在于,所述根据所述原始运维数据中每个运维指标的数据与所述原始运维数据对应的重构数据中对应所述运维指标的数据之间的重构误差,确定所述原始运维数据中的异常指标,包括:
计算所述原始运维数据中每个运维指标的数据与所述原始运维数据对应的重构数据中对应所述运维指标的数据之间的重构误差,得到所述多个运维指标对应的多个重构误差;
将所述多个运维指标对应的多个重构误差中的M个最大值所对应的运维指标确定为异常指标,所述M为正整数。
4.如权利要求3所述的方法,其特征在于,所述计算所述原始运维数据对应的重构数据与所述原始运维数据之间的重构误差,包括:
将所述多个运维指标对应的多个重构误差之和,确定为所述重构数据与所述原始运维数据之间的重构误差。
5.如权利要求1-4任一项所述的方法,其特征在于,所述将所述原始运维数据输入至异常检测模型之前,所述方法还包括:
获取离线的历史运维数据;
将所述历史运维数据作为输入构建VAE-GAN模型,以VAE-GAN模型的损失函数最小值为优化目标对所述VAE-GAN模型进行无监督训练,得到所述异常检测模型;
其中,所述VAE-GAN模型包括VAE网络和GAN网络,所述VAE网络包括编码器和解码器,所述编码器用于输出变分分布
Figure FDA0003449319420000021
所述解码器用于输出后验概率分布pθ(z|x);所述GAN网络用于约束所述编码器输出的变分分布
Figure FDA0003449319420000022
与后验概率分布pθ(z|x)之间的KL散度最小,以及用于约束所述解码器输出的重构数据与历史运维数据之间的重构误差最小。
6.如权利要求5所述的方法,其特征在于,所述将所述历史运维数据作为输入构建VAE-GAN模型,包括:
根据历史运维数据的似然函数,采用最大化对数似然函数的方式估计后验概率分布pθ(z|x)的参数θ;
根据以下公式(1)以及公式(2)将计算变分分布
Figure FDA0003449319420000023
与后验概率分布pθ(z|x)之间的KL散度最小值,转换为寻找参数
Figure FDA0003449319420000024
使得变分证据下界的值最大:
Figure FDA0003449319420000025
Figure FDA0003449319420000026
其中,
Figure FDA0003449319420000027
为变分分布
Figure FDA0003449319420000028
与后验概率分布pθ(z|x)之间的KL散度,
Figure FDA0003449319420000029
为变分证据下界;
根据所述参数θ构建VAN网络的解码器,根据参数
Figure FDA00034493194200000210
构建VAN网络的编码器;
在所述VAN网络的编码器的输出端增加分布约束的GAN判别器,并在所述VAN的编码器的输出端增加输出约束的GAN判别器,得到VAE-GAN模型;其中,所述分布约束的GAN判别器用于判别所述变分分布
Figure FDA0003449319420000031
与后验概率分布pθ(z|x)是否接近;所述输出约束的GAN判别器用于判别所述解码器输出的重构数据与所述历史运维数据是否接近。
7.如权利要求6所述的方法,其特征在于,以VAE-GAN模型的损失函数最小值为优化目标对所述VAE-GAN模型进行无监督训练,得到所述异常检测模型,包括:
确定VAE-GAN模型中分布约束的GAN判别器的损失函数:
Figure FDA0003449319420000032
其中,y为随机噪声,p(y)为低维的噪声分布,x为真实样本,p(x)为真实样本分布,DE(z)表示输入的样本是真实样本的概率,DE(GE(x))表示以编码器的输出结果作为输入的样本是真实样本的概率;
确定VAE-GAN模型中与所述编码器等效的生成器的损失函数:
Figure FDA0003449319420000033
其中,x为真实样本,p(x)为真实样本分布,DE(GE(x))表示以编码器的输出结果作为输入的样本是真实样本的概率;
根据所述分布约束的GAN判别器的损失函数和所述解码器等效的生成器的损失函数的最小值为目标,约束编码器输出的变分分布
Figure FDA0003449319420000034
与后验概率分布pθ(z)之间的KL散度最小,不断优化所述VAE-GAN模型;
确定VAE-GAN模型中基于输出约束的GAN判别器的损失函数:
Figure FDA0003449319420000035
其中,x为真实样本,p(x)为真实样本分布,
Figure FDA0003449319420000036
表示以输入的样本是真实样本的概率,
Figure FDA0003449319420000037
表示以解码器的输出结果作为输入的样本是真实样本的概率;
确定与所述解码器等效的生成器的损失函数:
Figure FDA0003449319420000041
其中,x为真实样本,p(x)为真实样本分布,
Figure FDA0003449319420000042
表示以解码器的输出结果作为输入的样本是真实样本的概率;
根据所述基于输出约束的GAN判别器的损失函数和所述编码器等效的生成器的损失函数的最小值为目标,约束解码器输出的重构数据与历史运维数据之间的重构误差最小。
8.一种异常数据检测装置,其特征在于,包括:
获取单元,用于获取当前时刻的原始运维数据;所述原始运维数据包括多个运维指标的数据;
处理单元,用于将所述原始运维数据输入至异常检测模型,得到所述原始运维数据对应的重构数据;计算所述原始运维数据对应的重构数据与所述原始运维数据之间的重构误差;根据所述重构误差,确定所述原始运维数据中的异常指标;所述异常检测模型是根据历史的正常运维数据对VAE-GAN模型进行训练得到的。
9.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1至7任一项所述的方法。
CN202111660188.9A 2021-12-31 2021-12-31 一种数据异常检测方法及装置 Pending CN114297936A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111660188.9A CN114297936A (zh) 2021-12-31 2021-12-31 一种数据异常检测方法及装置
PCT/CN2022/102033 WO2023123941A1 (zh) 2021-12-31 2022-06-28 一种数据异常检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111660188.9A CN114297936A (zh) 2021-12-31 2021-12-31 一种数据异常检测方法及装置

Publications (1)

Publication Number Publication Date
CN114297936A true CN114297936A (zh) 2022-04-08

Family

ID=80974039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111660188.9A Pending CN114297936A (zh) 2021-12-31 2021-12-31 一种数据异常检测方法及装置

Country Status (2)

Country Link
CN (1) CN114297936A (zh)
WO (1) WO2023123941A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114513374A (zh) * 2022-04-21 2022-05-17 浙江御安信息技术有限公司 一种基于人工智能的网络安全威胁识别方法及系统
CN115187266A (zh) * 2022-06-29 2022-10-14 山东大学 基于记忆力变分自编码模型的信用卡欺诈检测方法及系统
CN115291108A (zh) * 2022-06-27 2022-11-04 东莞新能安科技有限公司 数据生成方法、装置、设备及计算机程序产品
CN115717590A (zh) * 2022-11-22 2023-02-28 西安交通大学 一种压缩机智能异常检测方法及相关装置
WO2023123941A1 (zh) * 2021-12-31 2023-07-06 深圳前海微众银行股份有限公司 一种数据异常检测方法及装置
CN116541790A (zh) * 2023-04-12 2023-08-04 元始智能科技(南通)有限公司 基于多特征融合的新能源车辆健康评估方法和装置
CN116738170A (zh) * 2023-06-13 2023-09-12 无锡物联网创新中心有限公司 一种工业设备的异常分析方法及相关装置
CN116933023A (zh) * 2023-09-14 2023-10-24 德电北斗电动汽车有限公司 一种对置活塞磁力线性发电机的监测方法
CN117077029A (zh) * 2023-10-13 2023-11-17 中国汽车技术研究中心有限公司 一种车辆碰撞识别方法、电子设备及存储介质
CN117354058A (zh) * 2023-12-04 2024-01-05 武汉安域信息安全技术有限公司 基于时间序列预测的工控网络apt攻击检测系统及方法
WO2024036709A1 (zh) * 2022-08-18 2024-02-22 深圳前海微众银行股份有限公司 一种异常数据检测方法及装置
WO2024104406A1 (zh) * 2022-11-15 2024-05-23 杭州阿里云飞天信息技术有限公司 异常检测的方法和云网络平台

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116993319B (zh) * 2023-07-14 2024-01-26 南京先维信息技术有限公司 一种基于物联网的远程设备健康监测方法及装置
CN116595463B (zh) * 2023-07-18 2023-09-19 国网山东省电力公司武城县供电公司 窃电识别模型的构建方法、窃电行为识别方法及装置
CN116977667B (zh) * 2023-08-01 2024-01-26 中交第二公路勘察设计研究院有限公司 一种基于改进gain的隧道变形数据填补方法
CN117193088B (zh) * 2023-09-22 2024-04-26 珠海臻图信息技术有限公司 一种工业设备监控方法、装置以及服务器
CN117116350B (zh) * 2023-10-25 2024-02-27 中国农业科学院深圳农业基因组研究所(岭南现代农业科学与技术广东省实验室深圳分中心) Rna测序数据的校正方法、装置、电子设备及存储介质
CN117556365B (zh) * 2024-01-12 2024-04-09 山东建筑大学 一种流程数据漂移检测模型训练、漂移检测方法及装置
CN117591983B (zh) * 2024-01-17 2024-04-19 成方金融科技有限公司 一种多指标异常检测方法、装置、电子设备和存储介质
CN118054972A (zh) * 2024-04-11 2024-05-17 石家庄学院 基于异常流量样本增强的检测方法、系统、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107358195B (zh) * 2017-07-11 2020-10-09 成都考拉悠然科技有限公司 基于重建误差的非特定异常事件检测及定位方法、计算机
EP3862927A1 (en) * 2020-02-05 2021-08-11 Another Brain Anomaly detector, method of anomaly detection and method of training an anomaly detector
CN114297936A (zh) * 2021-12-31 2022-04-08 深圳前海微众银行股份有限公司 一种数据异常检测方法及装置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023123941A1 (zh) * 2021-12-31 2023-07-06 深圳前海微众银行股份有限公司 一种数据异常检测方法及装置
CN114513374B (zh) * 2022-04-21 2022-07-12 浙江御安信息技术有限公司 一种基于人工智能的网络安全威胁识别方法及系统
CN114513374A (zh) * 2022-04-21 2022-05-17 浙江御安信息技术有限公司 一种基于人工智能的网络安全威胁识别方法及系统
CN115291108A (zh) * 2022-06-27 2022-11-04 东莞新能安科技有限公司 数据生成方法、装置、设备及计算机程序产品
CN115187266A (zh) * 2022-06-29 2022-10-14 山东大学 基于记忆力变分自编码模型的信用卡欺诈检测方法及系统
CN115187266B (zh) * 2022-06-29 2023-08-25 山东大学 基于记忆力变分自编码模型的信用卡欺诈检测方法及系统
WO2024036709A1 (zh) * 2022-08-18 2024-02-22 深圳前海微众银行股份有限公司 一种异常数据检测方法及装置
WO2024104406A1 (zh) * 2022-11-15 2024-05-23 杭州阿里云飞天信息技术有限公司 异常检测的方法和云网络平台
CN115717590A (zh) * 2022-11-22 2023-02-28 西安交通大学 一种压缩机智能异常检测方法及相关装置
CN115717590B (zh) * 2022-11-22 2024-03-29 西安交通大学 一种压缩机智能异常检测方法及相关装置
CN116541790A (zh) * 2023-04-12 2023-08-04 元始智能科技(南通)有限公司 基于多特征融合的新能源车辆健康评估方法和装置
CN116541790B (zh) * 2023-04-12 2024-03-12 元始智能科技(南通)有限公司 基于多特征融合的新能源车辆健康评估方法和装置
CN116738170A (zh) * 2023-06-13 2023-09-12 无锡物联网创新中心有限公司 一种工业设备的异常分析方法及相关装置
CN116933023B (zh) * 2023-09-14 2023-12-01 德电北斗电动汽车有限公司 一种对置活塞磁力线性发电机的监测方法
CN116933023A (zh) * 2023-09-14 2023-10-24 德电北斗电动汽车有限公司 一种对置活塞磁力线性发电机的监测方法
CN117077029B (zh) * 2023-10-13 2024-02-23 中国汽车技术研究中心有限公司 一种车辆碰撞识别方法、电子设备及存储介质
CN117077029A (zh) * 2023-10-13 2023-11-17 中国汽车技术研究中心有限公司 一种车辆碰撞识别方法、电子设备及存储介质
CN117354058A (zh) * 2023-12-04 2024-01-05 武汉安域信息安全技术有限公司 基于时间序列预测的工控网络apt攻击检测系统及方法

Also Published As

Publication number Publication date
WO2023123941A1 (zh) 2023-07-06

Similar Documents

Publication Publication Date Title
CN114297936A (zh) 一种数据异常检测方法及装置
WO2022160902A1 (zh) 面向云环境下大规模多元时间序列数据异常检测方法
CN111797122B (zh) 高维重现概念漂移流数据的变化趋势预测方法及装置
CN111967571B (zh) 一种基于mhma的异常检测方法和设备
CN111914873A (zh) 一种两阶段云服务器无监督异常预测方法
CN107730040A (zh) 基于rbm的电力信息系统日志信息综合特征提取方法和装置
CN114297036A (zh) 数据处理方法、装置、电子设备及可读存储介质
CN112784920B (zh) 云边端协同的旋转部件对抗域自适应故障诊断方法
CN113918367A (zh) 一种基于注意力机制的大规模系统日志异常检测方法
CN115903741A (zh) 一种工业控制系统数据异常检测方法
CN113409166A (zh) 基于XGBoost模型的用户异常用电行为检测方法及装置
Zhao et al. Evaluating the reliability of sources of evidence with a two-perspective approach in classification problems based on evidence theory
CN115168443A (zh) 一种基于gcn-lstm和注意力机制的异常检测方法及系统
CN117131022B (zh) 一种电力信息系统的异构数据迁移方法
CN116910573B (zh) 异常诊断模型的训练方法及装置、电子设备和存储介质
CN113553577A (zh) 基于超球面变分自动编码器的未知用户恶意行为检测方法及系统
CN117076993A (zh) 基于云原生的多智能体博弈决策系统及方法
CN113762967A (zh) 风险信息确定方法、模型训练方法、设备、程序产品
WO2023231374A1 (zh) 机械设备半监督故障检测分析方法、装置、终端及介质
CN116739100A (zh) 量子神经网络的漏洞检测方法及自动驾驶漏洞检测方法
CN116757533A (zh) 一种工业设备异常检测方法及相关装置
CN114925808B (zh) 一种基于云网端资源中不完整时间序列的异常检测方法
CN113821401A (zh) 基于wt-ga-gru模型的云服务器故障诊断方法
CN115831339B (zh) 基于深度学习的医疗系统风险管控事前预测方法、系统
CN112927248B (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