一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多元时间序列异常检测方法及装置与流程

2022-08-17 10:45:53 来源:中国专利 TAG:


1.本发明涉及人工智能技术领域,特别涉及一种多元时间序列异常检测方法及装置。


背景技术:

2.多元时间序列的异常检测是信息技术(information technology,it)操作的基本场景之一,因为它对于行业设备或互联网基础设施的服务质量管理至关重要,例如大型数据中心的服务器机器、cdn系统等。虽然传统的基于统计的方法在时间序列数据的一些异常检测场景中是有效的,例如单变量时间序列,他们在更复杂和大规模的多元时间序列场景中可能仍然缺乏有效性。为此,学术界和工业界已经关注基于机器学习的异常值或异常检测方法,而该类方法可以进一步分为监督或无监督异常检测。其中,由于现实世界系统中缺乏意外实例,而劳动密集型的数据标记带来人力的损失,这使得有监督的异常检测通常会遭受正常和异常样本不平衡的问题。因此,近年来,无监督的异常检测引起了研究人员的更多关注。无监督异常检测任务的关键挑战是如何学习多元时间序列的正常模式,如sdfvae等的概率动态模型,在考虑时间序列内的时间依赖性和可变性方面取得了优异的检测性能。然而,以前用于异常检测的概率动态模型仍然都是浅层模型,这使得它们在建模复杂动态模式方面的拟合能力有限,并且在捕捉远程时间依赖性方面存在缺陷。为了克服这些缺陷,需要深层的概率动态模型。


技术实现要素:

3.本发明提供一种多元时间序列异常检测方法及装置,以提高异常检测的精准度。
4.本发明实施例提供了一种多元时间序列异常检测方法,包括:接收多元时间序列,并对所述多元时间序列进行预处理,得到训练数据集;将所述训练数据集输入堆叠变分循环神经网络进行训练,得到基于训练好的堆叠变分循环神经网络的多元时间序列异常检测模型;所述堆叠变分循环神经网络 (stacked variational recurrent neural network,svrnn)包括堆叠rnn以及变分自动编码器,用于利用所述变分自动编码器的分层先验信息和所述堆叠 rnn的堆叠递归结构描述所述多元时间序列的多层次和时间依赖性;将待检测的多元时间序列输入至多元时间序列异常检测,得到所述待检测的多元时间序列的异常检测结果。
5.进一步地,所述堆叠rnn使用公式(1)更新其隐藏状态:
[0006][0007]
其中是确定性非线性转换函数,通过参数为θ
l
的长短期记忆实现,隐状态
更新为和
[0008]
进一步地,所述堆叠变分循环神经网络基于变分自动编码器定义变分分布q(z
t,n
|x
t,n
)以近似真实后验分布q(z
t,n
|-),并且用自下而上的结构将其分解为
[0009][0010]
进一步地,所述堆叠变分循环神经网络用于将获得的隐特征与来自随机向下路径的先验相结合,构建从l=l到l=1的概率隐状态的变分后验信息,
[0011][0012][0013][0014]
进一步地,所述堆叠变分循环神经网络的变分分布表示为:
[0015][0016][0017]
进一步地,所述堆叠变分循环神经网络还包括:
[0018]
编码层,用于通过普通卷积网络对所述多元时间序列进行编码,并将编码结果输入至所述堆叠rnn的第一层;
[0019]
反卷积解码器,用于接收并解码所述堆叠rnn的输出;
[0020]
所述反卷积解码器的输出作为所述堆叠变分循环神经网络的输出;
[0021]
所述变分自动编码器用于在所述堆叠rnn的全连接层实现隐变量之间的非线性转换。
[0022]
进一步地,所述多元时间序列定义为xn={x
1,n
,x
2,n
,
……
,x
t,n
},其中n= 1,...n和n是收集的多元时间的数量系列。
[0023]
本发明实施例还提供了一种多元时间序列异常检测装置,包括:预处理模块,用于接收多元时间序列,并对所述多元时间序列进行预处理,得到训练数据集;检测建模模块,用于将所述训练数据集输入堆叠变分循环神经网络进行训练,得到基于训练好的堆叠变分循环神经网络的多元时间序列异常检测模型;所述堆叠变分循环神经网络包括堆叠rnn以及变分自动编码器,用于利用所述变分自动编码器的分层先验信息和所述堆叠rnn的堆叠递归结构描述所述多元时间序列的多层次和时间依赖性;异常检测模块,用于将待检测的多元时间序列输入至多元时间序列异常检测,得到所述待检测的多元时间序列的异常检测结果。
[0024]
本发明实施例还提供了一种计算机设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现所述的多元时间序列异常检测方法的步骤。
[0025]
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述多元时间序列异常检测方法的步骤。
[0026]
本发明的多元时间序列异常检测方法及装置提供了一种堆叠变分循环神经网络,即一个分层概率动力学模型表征多元时间序列的复杂时间依赖性和随机性并实现其无监督异常检测,svrnn通过将分层先验和堆叠循环结构合并到统一的贝叶斯框架中。此模型的核心思想是由分层概率生成操作,通过考虑具有堆叠循环结构和多层形状特征的多级和长时间依赖性来捕获输入时间序列的正常模式,然后应用重建概率来确定异常,提高异常检测的精准度。
附图说明
[0027]
图1为本技术实施例一提供的一种多元时间序列异常检测方法的流程图。
[0028]
图2为本技术实施例二提供的一种多元时间序列异常检测方法中 svrnn模型框架图。
[0029]
图3为本技术实施例三提供的一种多元时间序列异常检测方法中 svrnn的功能原理示意图。
[0030]
图4为本技术实施例四提供的一种多元时间序列异常检测方法的流程图。
[0031]
图5为本技术实施例五提供的一种多元时间序列异常检测方法的异常检测效果示意图。
[0032]
图6为本技术实施例六提供的一种多元时间序列异常检测装置的结构框图。图7为本技术实施例七提供的一种计算机设备的结构框图。
具体实施方式
[0033]
下面结合附图对本发明实施例进行详细描述。
[0034]
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0035]
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
[0036]
如图1所示,本发明实施例提供了一种多元时间序列异常检测方法,该方法可以包括以下步骤:
[0037]
步骤101:接收多元时间序列,并对所述多元时间序列进行预处理,得到训练数据集;
[0038]
步骤102:将所述训练数据集输入堆叠变分循环神经网络进行训练,得到基于训练好的堆叠变分循环神经网络的多元时间序列异常检测模型;所述堆叠变分循环神经网络包括堆叠rnn以及变分自动编码器,用于利用所述变分自动编码器的分层先验信息和所述堆叠rnn的堆叠递归结构描述所述多元时间序列的多层次和时间依赖性;
[0039]
步骤103:将待检测的多元时间序列输入至多元时间序列异常检测,得到所述待检测的多元时间序列的异常检测结果。
[0040]
本实施例通过提出了一种深度概率动力学模型,称为堆叠变分循环神经网络,svrnn借助堆叠rnn以捕获多级和长时间依赖性,并引入层次化变分自动编码器,通过分层先验增强拟合能力,成为一个明确定义的变分生成模型,将其应用于表征多元时间序列中复杂的结构特征和多变的时序相关性特征,并为它们实现在线异常检测,克服了之前无监督异常检测方法多为浅层模型带来的建模复杂动态模式方面的拟合能力的不足以及无法捕捉远程时间依赖性的问题,进而提高异常检测精准度。
[0041]
如图2-图4所示的实施例提供了一种多元时间序列异常检测方法的优选实施方式,具体而言,本发明提出了一个用于多元时间序列的svrnn,首先将的异常检测问题进行定义:
[0042]
将第n个多元时间序列定义为xn={x
1,n
,x
2,n
,
……
,x
t,n
},其中n=1,...n 和n是收集的多元时间的数量系列。t是xn的持续时间和时间t的观测值, x
t,n
∈rv,其中v表示某个时间步长的向量维数,因此x
t,n
∈r
t
×v。多元时间序列上的异常检测被定义为确定某个时间x
t,n
的某个收集的观测值是否异常的问题。为了以无监督的方式有效地解决这个问题,需要一种方法来学习输入数据的鲁棒表示。无监督异常检测的整个框架如图2所示。在框架的开头和结尾使用了卷积和去卷积网络,从而捕捉结构特征并将特征定义为
[0043]
svrnn利用分层先验和堆叠递归结构来有效地增强拟合能力并描述多层次和复杂的长期时间依赖性。具体结构层次化概率生成模块,堆叠式循环模块和推理模块。具体如下:
[0044]
分层生成:如图3所示,svrnn的生成过程,从上到下,可以表示为:
[0045][0046]
表示高斯分布的概率隐藏变量,其均值和协方差参数为和输入 x
t,n
在第l层。是指第l层的确定性循环隐藏状态。全连接网络用于实现隐变量之间的非线性转换,f(
·
)是一个确定性非线性函数。是l 《l层的因子加载矩阵,是第l层的转换矩阵,将时间信息转换为随机变量可以看
到,svrnn将在l《l时的均值和协方差参数分解为两部分。一个是在第l 1层加载矩阵和潜在变量的乘积,捕获当前时间的层次依赖性,而另一个是转换权重和循环潜在状态,捕获当前层的时间依赖性。在顶层,仅取决于同一层的隐藏状态。总而言之,svrnn集成了堆叠rnn以捕获多级和远程时间依赖性,以及阶梯变分自动编码器,它通过分层先验增强拟合能力,成为一个明确定义的混合贝叶斯框架。类似地,生成分布被指定为具有均值和协方差参数和的高斯分布,它们不仅以潜在随机变量为条件,还以隐状态和是生成 x
t,n
的生成模型的可学习参数。整个生成过程的图形说明在图3中(a)和(b) 中列出。注意当l=1时,svrnn减少到vrnn。
[0047]
堆叠循环:模型中的堆叠rnn使用以下等式更新其隐藏状态
[0048][0049][0050]
其中是确定性非线性转换函数,可以通过参数为θ
l
的长短期记忆(long short-term memory,lstm)实现。隐状态更新为和
[0051]
向上-向下变分推理:基于vae的模型,定义了一个灵活的变分分布 q(z
t,n
|x
t,n
)来近似真实后验分布q(z
t,n
|-),并且用自下而上的结构将其分解为
[0052][0053]
为了避免由层次结构引起的深层随机隐变量崩塌到它们的先验中,不仅构建了一条确定性的向上路径,将循环潜在状态链接到从l=1到l=l的多层隐状表示中,而且也参数化从输入x
t,n
到它们之间的映射
[0054][0055][0056]
其中和都是推理模型的可学习参数。然后, svrnn将获得的隐特征与来自随机向下路径的先验相结合,构建从l=l到l =1的概率隐状态的变分后验:
[0057][0058][0059]
[0060]
基于推理网络的结构,通过组合来自于生成分布的自下而上的似然信息和自上而下的先验信息来近似svrnn的随机隐变量的后验。推理网络构造的变分分布可以表示为如下:
[0061][0062][0063]
svrnn使深层的随机隐变量依赖于输入x
t,n
,从而确保它们可以接收有效的信息并且不太可能崩塌,另一方面,通过传输来自当前层的循环隐状态和更深层的隐变量的动态信息,推理模型能够为svrnn学习丰富的隐在表示。
[0064]
多元时间序列上的异常检测被定义为确定某个时间x
t,n
的某个收集的观测值是否异常的问题。为了以无监督的方式有效地解决这个问题,需要一种有效的方法来学习输入数据的鲁棒表示。无监督异常检测的整个框架如图2所示。在框架的开头和结尾使用了卷积和反卷积网络。具体地,
[0065]
1.通过普通卷积网络进行编码,输入第一层;
[0066]
2.经过阶梯变分自编码到在全连接层实现隐变量之间的非线性转换,通过分层先验有效增强网络拟合能力;
[0067]
3.依次向第l层递进,利用堆叠递归结构描述多层次和复杂的长期时间依赖性,直到反卷积解码器输出。
[0068]
多元时间序列上的异常检测的全流程详见图4。基于上述优选实施例的方案进行了大量实验,包括定量比较和定性分析,以验证svrnn的有效性。实验内容如下:
[0069]
基准方法:将svrnn与用于多元时间序列的最先进的在线异常检测方法进行比较:1)非动态方法,包括:变分自编码器(variational autoencoder,vae),一种基本的概率生成模型;ladder vae,一种深度vae结构化模型;2)动态方法:lstm-ntd,一种确定性循环自动编码模型;vrnn,一种用于高维序列建模的概率动态模型,这是svrnn的特殊版本,只具有一层;omnianomaly,一种基于随机rnn的模型;sdfvae,一个基于vae框架的静态和动态分解模型。
[0070]
设置:对于所有基准方法,使用其官方默认参数和最佳报告设置。
[0071]
数据集:的实验是在三个广泛使用的用于实际任务的多元时间序列数据上进行的,包括cdn多元kpi数据集、smd、msl和smap。
[0072]
评估指标:采用precision、recall和f1-score作为评估指标来表明不同方法的性能。特别是f1,其被认为是一个综合指标,因为它平衡了精度和召回率。
[0073]
对比不同方法的实验结果详见表1.
[0074]
表1.方法检测性能比较
[0075][0076]
为了直观地显示不同模型在捕捉正常模式的时间序列方面的效率,将研究的异常分数可视化。首先,比较了不同层的vrnn和一些基准方法之间的在线异常分数,包括lstm-rnn(即vae)、omnianomaly和sdfvae。结果如图5所示。可以看到,作为一种确定性方法,lstm-rnn获得了更加激荡的异常分数,表明考虑到动态和非动态特性,sdfvae优于所有其他单层模型。然而,通过分层结构,svrnn可以捕获输入的长期和多级特征,从而产生与浅层模型相比更稳定的异常分数,同时在异常区域表现出相当大的尖峰。它进一步证明了svrnn学习复杂多元时间序列正常模式的能力,这与表1中列出的数值结果相呼应。图5主要是展示cdn网站1-11数据集上异常分数研究(红色突出显示的区域代表真实异常段)。
[0077]
图6为本技术实施例六提供的一种多元时间序列异常检测装置的结构框图。如图6所示,一种多元时间序列异常检测装置包括:
[0078]
预处理模块601,用于接收多元时间序列,并对所述多元时间序列进行预处理,得到训练数据集;
[0079]
检测建模模块602,用于将所述训练数据集输入堆叠变分循环神经网络进行训练,得到基于训练好的堆叠变分循环神经网络的多元时间序列异常检测模型;所述堆叠变分循环神经网络包括堆叠rnn以及变分自动编码器,用于利用所述变分自动编码器的分层先验信息和所述堆叠rnn的堆叠递归结构描述所述多元时间序列的多层次和时间依赖性;
[0080]
异常检测模块603,用于将待检测的多元时间序列输入至多元时间序列异常检测,得到所述待检测的多元时间序列的异常检测结果。
[0081]
如图7所示,本发明实施例提供了一种计算机设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图7所示,为本发明实施例计算机设备的一种硬件结构图,除了图6所示的cpu(处理器)、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。
[0082]
本发明还提供一种计算机可读存储介质(图中未示出),所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述多元时间序列异常检测方法的步骤。
[0083]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献