CN115098563B - 基于gcn和注意力vae的时序异常检测方法及系统 - Google Patents

基于gcn和注意力vae的时序异常检测方法及系统 Download PDF

Info

Publication number
CN115098563B
CN115098563B CN202210824024.3A CN202210824024A CN115098563B CN 115098563 B CN115098563 B CN 115098563B CN 202210824024 A CN202210824024 A CN 202210824024A CN 115098563 B CN115098563 B CN 115098563B
Authority
CN
China
Prior art keywords
variables
variable
data
module
time
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
Application number
CN202210824024.3A
Other languages
English (en)
Other versions
CN115098563A (zh
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.)
Ocean University of China
Original Assignee
Ocean University of China
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 Ocean University of China filed Critical Ocean University of China
Priority to CN202210824024.3A priority Critical patent/CN115098563B/zh
Publication of CN115098563A publication Critical patent/CN115098563A/zh
Application granted granted Critical
Publication of CN115098563B publication Critical patent/CN115098563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Databases & Information Systems (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种基于GCN和注意力VAE的时序异常检测方法及系统,属于深度学习与数据处理技术领域。本发明同时考虑了变量之间的联系以及不同变量的不同重要性两方面的影响因素;以变量为节点,用皮尔森相关系数衡量两个变量之间的关系,并在相似的变量之间建边,从而得到变量的关系图;然后利用GCN通过聚合邻居节点的信息来获得本节点的表征向量的特点,获取变量之间的相互关联;还设计了基于注意力VAE的重构模块,提出了基于LSTM的注意力机制;再在此基础上对表征向量进行重构,并根据重构的误差判断异常。本发明提高了检测的准确性;为不同的变量赋予不同的权重,减少了无关变量的干扰。

Description

基于GCN和注意力VAE的时序异常检测方法及系统
技术领域
本发明具体涉及一种基于时序GCN和注意力VAE的多元时间序列异常检测的方法及系统,属于深度学习和数据处理技术领域。
背景技术
异常检测的目的是要找到同一数据集中明显不同于大多数数据的实例,我们之所以关注这些“不正常”的数据,是因为在现实生活中正是“不正常”数据的存在,才会带来问题与损失。而我们要做的就是及时的发现问题,把损失降到最低。异常检测有非常广泛的应用领域,比如在交通领域中检测违反交通规则的车辆;在医疗领域中检测视网膜的损伤程度;在物联网领域中检测大数据中的异常数据。而我们主要研究是在数据挖掘领域中备受关注的多元时间序列(Multivariate Time Series)的异常检测问题。多元时间序列大多数是由工业设备(如服务器、航天器、机器人辅助系统)中的传感器产生,在制造业和IT行业中,多元时间序列异常检测被广泛用于监测设备的状态。
在异常检测领域中,传统的异常检测方法包括基于统计方法的、基于距离的、基于密度的等。但是这些方法无法捕获数据在时间上的依赖性,因此并不适用于时间序列的异常检测。而且随着大数据时代的到来,传统的方法也无法在有效的时间内处理庞大的数据。深度学习的发展为时间序列的异常检测带来了新的可能性,比如将RNN嵌入到VAE框架中,用RNN捕获时间上的依赖性,用VAE对数据进行重构,根据重构的结果判断异常;或者将对抗训练的思想与AE相结合,进一步拉大正常数据与异常数据之间的差距。这些方法在多元时间序列的异常检测中取得了显著的成果,但是仍然有提升的空间。
通过对现有的多元时间序列异常检测方法进行分析总结,已有的方法在以下几个方面存在不足:1)没有考虑多元时间序列变量之间的联系。多元时间序列并不是由单元时间序列堆叠而成的,多元时间序列的变量之间是存在联系的,就比如网速与下载速度。2)没有考虑不同变量的重要性是不同的。尽管在多元时间序列中有几十个甚至上百个变量,但是这些变量的作用地位是不同的。有些变量非常的重要,但是也有些变量是无关紧要的。
发明内容
为解决高效检测多元时间序列中的异常问题,本发明的目的是提出一种基于GCN和注意力VAE的时序异常检测方法及系统。
为实现上述发明目的,本发明的技术方案如下:
一种基于GCN和注意力VAE的时序异常检测方法,该检测方法包括如下步骤:
S1:获取一段时间内的待测数据,将时间序列划分成时间窗口,定义了在t时刻,长度为
Figure 2267DEST_PATH_IMAGE001
的时间窗口
Figure 622604DEST_PATH_IMAGE002
;多元时间序列定义为
Figure 24242DEST_PATH_IMAGE003
,其中nX的长度,每个实例
Figure 312004DEST_PATH_IMAGE004
是在时间
Figure 511036DEST_PATH_IMAGE005
m维向量,其中m是变量的个数;对于时间序列来说,历史数据会对当前的数据产生影响。因此,定义了在t时刻,长度为
Figure 353090DEST_PATH_IMAGE001
的时间窗口
Figure 561348DEST_PATH_IMAGE002
,用时间窗口
Figure 438037DEST_PATH_IMAGE006
来计算t时刻的异常得分,而不是仅使用
Figure 73549DEST_PATH_IMAGE007
S2:为时间窗口
Figure 402899DEST_PATH_IMAGE006
构建特征图
Figure 406060DEST_PATH_IMAGE008
:用k-NN为每个时间窗口
Figure 809359DEST_PATH_IMAGE006
构建特征图
Figure 865040DEST_PATH_IMAGE008
S3:为了获得变量之间的潜在联系,使用图卷积神经网络GCN(GraphConvolutional Network);使用GCN对每个特征图进行卷积运算,以聚合相邻变量的信息,获取变量之间的潜在联系,GCN 的最终输出是每个时间窗口中所有变量随时间变化的表征向量,表示为
Figure 166839DEST_PATH_IMAGE009
S4:为表征向量赋予权重,以体现不同变量的作用。为了捕获多元时间序列的时间依赖性,获得时间窗口中不同变量的重要性,提出一种基于 LSTM 的注意力机制来实现这一目标。把时间窗口内变量的表征向量作为LSTM的输入,并通过线性层和softmax层获得当前时间窗口中变量的权重;然后,使用获得权重的表征向量作为 LSTM 的输入,以更新LSTM,获得下一时间窗口中表征变量的权重;
S5:把获得权重后的表征向量输入到VAE中进行重构;VAE通过降维把高维的数据
Figure 231747DEST_PATH_IMAGE010
压缩成低维的隐藏层表征
Figure 568182DEST_PATH_IMAGE011
,然后通过重构获得
Figure 591502DEST_PATH_IMAGE012
S6:所述GCN模型与LSTM和VAE构成了MUTANT 模型,利用训练数据集对MUTANT 模型进行训练;且设计了一个联合学习的目标函数实现了端到端的训练;
S7:基于训练好的MUTANT模型检测异常:检测t时刻的数据是否是异常,则需要把
Figure 646176DEST_PATH_IMAGE006
输入到训练好的MUTANT模型中,并获得一个重构结果;然后根据重构的误差,即异常分数来判断是否是异常;这里定义异常分数为
Figure 249196DEST_PATH_IMAGE013
Figure 437207DEST_PATH_IMAGE014
;如果
Figure 303532DEST_PATH_IMAGE013
高于阈值,那么
Figure 579924DEST_PATH_IMAGE007
就被认为是异常。
进一步的,所述S2中,特征图
Figure 986634DEST_PATH_IMAGE015
以所有的变量为节点,让每个变量与它最相似的k个变量建边;具体而言,把当前时间窗口中每个变量
Figure 297661DEST_PATH_IMAGE016
的值视为其特征,例如
Figure 131625DEST_PATH_IMAGE017
;然后计算特征空间中m个变量之间的相关性矩阵
Figure 895313DEST_PATH_IMAGE018
,使用Pearson 相关系数(公式(1))来计算这个矩阵;
Figure 840135DEST_PATH_IMAGE019
(1)
其中,
Figure 8598DEST_PATH_IMAGE020
Figure 92092DEST_PATH_IMAGE021
Figure 264447DEST_PATH_IMAGE022
的协方差,
Figure 12960DEST_PATH_IMAGE023
Figure 33000DEST_PATH_IMAGE024
的方差,
Figure 208766DEST_PATH_IMAGE025
Figure 947046DEST_PATH_IMAGE026
的方差。使用邻接矩阵
Figure 233671DEST_PATH_IMAGE027
来表示图
Figure 370867DEST_PATH_IMAGE028
,若节点
Figure 451955DEST_PATH_IMAGE029
Figure 677532DEST_PATH_IMAGE030
之间存在边,那么
Figure 502268DEST_PATH_IMAGE031
进一步的,所述S3中,在多层卷积神经网络按照公式(2)进行传播:
Figure 293638DEST_PATH_IMAGE032
(2)
其中,
Figure 545627DEST_PATH_IMAGE033
是第l层可训练的权重矩阵,
Figure 992920DEST_PATH_IMAGE034
Figure 621348DEST_PATH_IMAGE035
Figure 750714DEST_PATH_IMAGE036
Figure 111288DEST_PATH_IMAGE037
是时间窗口在第l层的输出,d是表征的维度。
进一步的,所述S4中,具体来说,首先把LSTM的隐藏层的变量
Figure 373773DEST_PATH_IMAGE038
Figure 477996DEST_PATH_IMAGE039
Figure 696487DEST_PATH_IMAGE040
拼接起来,然后它们输入到线性层中获得
Figure 306591DEST_PATH_IMAGE041
,最后经过softmax层的归一化处理得到最终的权重
Figure 712165DEST_PATH_IMAGE042
。这一过程的公式表示是:
Figure 433127DEST_PATH_IMAGE043
(3)
Figure 506126DEST_PATH_IMAGE044
(4)
Figure 80939DEST_PATH_IMAGE045
(5)
其中,
Figure 973809DEST_PATH_IMAGE046
是第i个变量在时间窗口
Figure 764041DEST_PATH_IMAGE006
上的表征向量,
Figure 425967DEST_PATH_IMAGE047
是变量表征乘以相应权重之后的结果。然后,
Figure 377873DEST_PATH_IMAGE048
Figure 23618DEST_PATH_IMAGE049
Figure 351963DEST_PATH_IMAGE050
将会输入到LSTM中,以获得
Figure 806078DEST_PATH_IMAGE051
Figure 178153DEST_PATH_IMAGE052
,为获得下一个时间窗口内的权重做准备。
进一步的,所述S5中,重构的损失函数是:
Figure 64856DEST_PATH_IMAGE053
(6)
其中,θФ分别是推理网络与生成网络的参数;第一项通过从
Figure 915001DEST_PATH_IMAGE054
抽样,最大化
Figure 567830DEST_PATH_IMAGE055
,从而实现对
Figure 110807DEST_PATH_IMAGE050
的重构;第二项通过最小化潜在变量的近似后验值和先验值之间的KL(Kullback-Leibler)散度来正则化潜在变量
Figure 278614DEST_PATH_IMAGE056
。值得注意的是,通过最小化
Figure 932449DEST_PATH_IMAGE057
Figure 174206DEST_PATH_IMAGE058
的差距来训练VAE模型,而不是最小化
Figure 153663DEST_PATH_IMAGE050
Figure 743520DEST_PATH_IMAGE058
的误差;这是因为不仅需要训练重构网络,还希望此损失函数能指导基于LSTM的注意力机制中的权重学习,在此基础上达到减少重构误差的目的。
进一步的,所述S6中,对于MUTANT的学习,采用负采样的方法,使用以下二进制交叉熵损失函数来优化时序MUTANT模型:
Figure 873150DEST_PATH_IMAGE059
(7)
其中,
Figure 828468DEST_PATH_IMAGE060
是第i个变量在时间窗口
Figure 385351DEST_PATH_IMAGE006
上的表征变量,T表示矩阵转置,
Figure 714701DEST_PATH_IMAGE061
是任意的向量相似性度量函数(比如内积)。Ω是从
Figure 726651DEST_PATH_IMAGE062
中随机选取的正样本集合,
Figure 536475DEST_PATH_IMAGE063
是从
Figure 857735DEST_PATH_IMAGE062
中随机选取的负样本集合;也就是说,如果
Figure 150745DEST_PATH_IMAGE064
,那么
Figure 215653DEST_PATH_IMAGE065
;如果
Figure 286509DEST_PATH_IMAGE066
,那么
Figure 778670DEST_PATH_IMAGE067
然后,用以下损失函数来训练重构模块:
Figure 754716DEST_PATH_IMAGE068
(8)
其中,
Figure 170785DEST_PATH_IMAGE069
表示
Figure 548677DEST_PATH_IMAGE057
Figure 24788DEST_PATH_IMAGE058
的交叉熵,J
Figure 488131DEST_PATH_IMAGE056
的维度。
最后,通过结合这两部分的损失函数来端到端的训练模型,并用超参数
Figure 704961DEST_PATH_IMAGE070
来平衡表征学习与重构模型的重要性,模型的最终损失函数是:
Figure 937359DEST_PATH_IMAGE071
(9)
使用准确率(precision)、召回率(recall)和F1分数(F1-socre)来衡量检测的效果,并通过调整参数,使得F1分数达到最高。
基于上述多元时序异常检测方法的检测系统,包括:数据预处理模块、时间窗口划分模块、构建变量关系图模块、获取变量表征模块、为变量赋予权重模块、数据重构模块、获得异常得分模块以及判断异常模块组成。
进一步的,所述数据预处理模块:收集原始的数据集,由多个变量随时间生成的数据组成,并对原始的时间序列进行归一化处理;
所述时间窗口划分模块:将把时间序列划分成长度为
Figure 849952DEST_PATH_IMAGE001
的时间窗口
Figure 535011DEST_PATH_IMAGE006
所述构建变量关系图模块:根据变量之间的相似性程度,获得变量之间的关系图;
所述获取变量表征模块:利用GCN在获取节点表征时会考虑邻居节点信息的特点,获得包含变量关系的变量表征;输入时间变量之间的关系图,输出时每个变量的表征向量;
所述为变量赋予权重模块:首先把t时刻的变量表征以及t-1时刻LSTM的隐藏层变量输入到线性层中,然后经过softmax层的归一化处理获得不同的权重,再把权重与相应的变量表征乘起来,就得到了获得了权重的变量,并输入到LSTM中,为下一时刻学习权重做准备;
所述数据重构模块:利用VAE网络对获得权重之后的变量数据进行降维、重构;
所述获得异常得分模块:训练好模型后,把VAE重构的数据与原始的表征数据的误差作为数据
Figure 558462DEST_PATH_IMAGE007
的异常得分;
所述判断异常模块:把每个数据的异常得分与异常阈值进行比较,如果大于阈值,就被认为是异常数据,否则就是正常数据。
本发明的优点和技术效果:
本发明在进行多元时间序列异常检测时同时考虑了变量之间的联系以及不同变量的不同重要性两方面的影响因素。本发明以变量为节点,用皮尔森相关系数衡量两个变量之间的关系,并在相似的变量之间建边,从而得到变量的关系图;然后利用GCN通过聚合邻居节点的信息来获得本节点的表征向量的特点,获取变量之间的相互关联;还设计了基于注意力VAE的重构模块,提出了基于LSTM的注意力机制,在获得变量在时间上的联系的同时,为不同的变量赋予不同的权重,从而体现了不同变量的重要性;再在此基础上对表征向量进行重构,并根据重构的误差判断异常。
本发明相比于传统的异常检测方法,能够获得数据在时间上依赖关系;与大多数的深度学习的方法相比,获得了变量之间的联系,进一步提高了检测的准确性;为不同的变量赋予不同的权重,减少了无关变量的干扰。
本发明综合利用了变量之间的关系以及变量的重要性对时间序列进行更完善的建模,从而提高检测的准确性,为多元时间序列的异常检测问题提供方法与技术上的支持。
附图说明
图1是本发明的整体流程图。
图2是本发明的系统框架图。
图3是本发明中获得的变量之间的关系图。
图4是本发明基于LSTM的注意力机制图。
图5是实施例的实验结果图。
具体实施方式
下面将结合附图1-5及与实施例对本发明做进一步说明。
实施例1:
一种基于GCN和注意力VAE的多元时序异常检测方法,如图1所示,该检测方法包括如下步骤:
S1:将多元时间序列X的原始数据进行归一化处理等预处理,然后划分成时间窗口
Figure 645366DEST_PATH_IMAGE006
,用
Figure 728860DEST_PATH_IMAGE006
中的信息来衡量
Figure 901215DEST_PATH_IMAGE007
是否为异常;具体为获取一段时间内的待测数据,将时间序列划分成时间窗口,定义了在t时刻,长度为
Figure 465708DEST_PATH_IMAGE001
的时间窗口
Figure 672698DEST_PATH_IMAGE002
;多元时间序列定义为
Figure 927093DEST_PATH_IMAGE003
,其中nX的长度,每个实例
Figure 586744DEST_PATH_IMAGE072
是在时间
Figure 951998DEST_PATH_IMAGE005
m维向量,其中m是变量的个数;对于时间序列来说,历史数据会对当前的数据产生影响。因此,定义了在t时刻,长度为
Figure 747915DEST_PATH_IMAGE001
的时间窗口
Figure 845316DEST_PATH_IMAGE002
,用时间窗口
Figure 320159DEST_PATH_IMAGE006
来计算t时刻的异常得分,而不是仅使用
Figure 158278DEST_PATH_IMAGE007
S2:为时间窗口
Figure 136598DEST_PATH_IMAGE006
构建特征图
Figure 139320DEST_PATH_IMAGE008
:用k-NN为每个时间窗口
Figure 101460DEST_PATH_IMAGE006
构建特征图
Figure 480620DEST_PATH_IMAGE008
;为时间窗口
Figure 844605DEST_PATH_IMAGE006
构建特征图
Figure 814966DEST_PATH_IMAGE008
:用k-NN为每个时间窗口
Figure 264402DEST_PATH_IMAGE006
构建特征图
Figure 461901DEST_PATH_IMAGE008
S3:为了获得变量之间的潜在联系,使用图卷积神经网络GCN(GraphConvolutional Network);使用GCN对每个特征图进行卷积运算,以聚合相邻变量的信息,获取变量之间的潜在联系,GCN 的最终输出是每个时间窗口中所有变量随时间变化的表征向量,表示为
Figure 149235DEST_PATH_IMAGE009
S4:为表征向量赋予权重,以体现不同变量的作用。为了捕获多元时间序列的时间依赖性,获得时间窗口中不同变量的重要性,提出一种基于 LSTM 的注意力机制来实现这一目标。把时间窗口内变量的表征向量作为LSTM的输入,并通过线性层和softmax层获得当前时间窗口中变量的权重;然后,使用获得权重的表征向量作为 LSTM 的输入,以更新LSTM,获得下一时间窗口中表征变量的权重;
S5:把获得权重后的表征向量输入到VAE中进行重构;VAE通过降维把高维的数据
Figure 680710DEST_PATH_IMAGE010
压缩成低维的隐藏层表征
Figure 102595DEST_PATH_IMAGE011
,然后通过重构获得
Figure 338405DEST_PATH_IMAGE012
;进一步获得时间序列中的隐藏的信息;并将重构数据与原始的
Figure 896556DEST_PATH_IMAGE006
的表征向量的误差作为异常得分;
S6:所述GCN模型与LSTM和VAE构成了MUTANT 模型,利用训练数据集对MUTANT 模型进行训练;且设计了一个联合学习的目标函数实现了端到端的训练;训练所述MUTANT模型;为了获得最佳的检测性能,为模型设计一个联合学习的目标函数实现了端到端的训练;在获得最终的多元时间序列的异常检测模型之前,需要对模型进行调参,确定最优的参数。以公式(9)作为模型的目标函数,目的是要使得目标函数的值尽可能的小。在此基础上,对模型参数进行调整。具体的实现方法是,每次选择一个参数并固定其余参数进行调整,利用验证集进行10次检测,当平均F1-score的值取得最大值的时候,认为该参数被调整到最优。接着再取下一个未被调整的参数,重复上述步骤,直到所有参数都被调整为最优。
S7:基于训练好的MUTANT模型检测异常:检测t时刻的数据是否是异常,则需要把
Figure 926829DEST_PATH_IMAGE006
输入到训练好的MUTANT模型中,并获得一个重构结果;然后根据重构的误差,即异常分数来判断是否是异常;这里定义异常分数为
Figure 836010DEST_PATH_IMAGE013
Figure 406669DEST_PATH_IMAGE014
;如果
Figure 285239DEST_PATH_IMAGE013
高于阈值,那么
Figure 283151DEST_PATH_IMAGE007
就被认为是异常。
进一步的,所述S2中,特征图
Figure 882890DEST_PATH_IMAGE015
以所有的变量为节点,让每个变量与它最相似的k个变量建边;具体而言,把当前时间窗口中每个变量
Figure 991661DEST_PATH_IMAGE016
的值视为其特征,例如
Figure 993246DEST_PATH_IMAGE017
;然后计算特征空间中m个变量之间的相关性矩阵
Figure 365321DEST_PATH_IMAGE018
,使用Pearson 相关系数(公式(1))来计算这个矩阵;
Figure 514674DEST_PATH_IMAGE019
(1)
其中,
Figure 364818DEST_PATH_IMAGE020
Figure 286157DEST_PATH_IMAGE021
Figure 563554DEST_PATH_IMAGE022
的协方差,
Figure 669045DEST_PATH_IMAGE023
Figure 588459DEST_PATH_IMAGE024
的方差,
Figure 361374DEST_PATH_IMAGE025
Figure 809673DEST_PATH_IMAGE026
的方差。使用邻接矩阵
Figure 668039DEST_PATH_IMAGE027
来表示图
Figure 922302DEST_PATH_IMAGE028
,若节点
Figure 484477DEST_PATH_IMAGE029
Figure 431574DEST_PATH_IMAGE030
之间存在边,那么
Figure 714919DEST_PATH_IMAGE031
进一步的,所述S3中,在多层卷积神经网络按照公式(2)进行传播:
Figure 772873DEST_PATH_IMAGE032
(2)
其中,
Figure 192485DEST_PATH_IMAGE033
是第l层可训练的权重矩阵,
Figure 513744DEST_PATH_IMAGE034
Figure 346702DEST_PATH_IMAGE035
Figure 880452DEST_PATH_IMAGE036
Figure 208097DEST_PATH_IMAGE037
是时间窗口在第l层的输出,d是表征的维度。
进一步的,所述S4中,具体来说,首先把LSTM的隐藏层的变量
Figure 496996DEST_PATH_IMAGE038
Figure 489354DEST_PATH_IMAGE039
Figure 92374DEST_PATH_IMAGE040
拼接起来,然后它们输入到线性层中获得
Figure 548894DEST_PATH_IMAGE041
,最后经过softmax层的归一化处理得到最终的权重
Figure 743115DEST_PATH_IMAGE042
。这一过程的公式表示是:
Figure 488348DEST_PATH_IMAGE043
(3)
Figure 426217DEST_PATH_IMAGE044
(4)
Figure 734314DEST_PATH_IMAGE045
(5)
其中,
Figure 302699DEST_PATH_IMAGE046
是第i个变量在时间窗口
Figure 66387DEST_PATH_IMAGE006
上的表征向量,
Figure 11209DEST_PATH_IMAGE047
是变量表征乘以相应权重之后的结果。然后,
Figure 176742DEST_PATH_IMAGE048
Figure 181607DEST_PATH_IMAGE049
Figure 432591DEST_PATH_IMAGE050
将会输入到LSTM中,以获得
Figure 915525DEST_PATH_IMAGE051
Figure 122516DEST_PATH_IMAGE052
,为获得下一个时间窗口内的权重做准备。
进一步的,所述S5中,重构的损失函数是:
Figure 786365DEST_PATH_IMAGE053
(6)
其中,θФ分别是推理网络与生成网络的参数;第一项通过从
Figure 773912DEST_PATH_IMAGE054
抽样,最大化
Figure 545691DEST_PATH_IMAGE055
,从而实现对
Figure 935084DEST_PATH_IMAGE050
的重构;第二项通过最小化潜在变量的近似后验值和先验值之间的KL(Kullback-Leibler)散度来正则化潜在变量
Figure 32484DEST_PATH_IMAGE056
。值得注意的是,通过最小化
Figure 507327DEST_PATH_IMAGE057
Figure 879534DEST_PATH_IMAGE058
的差距来训练VAE模型,而不是最小化
Figure 123434DEST_PATH_IMAGE050
Figure 123226DEST_PATH_IMAGE058
的误差;这是因为不仅需要训练重构网络,还希望此损失函数能指导基于LSTM的注意力机制中的权重学习,在此基础上达到减少重构误差的目的。
进一步的,所述S6中,对于MUTANT的学习,采用负采样的方法,使用以下二进制交叉熵损失函数来优化时序MUTANT模型:
Figure 85366DEST_PATH_IMAGE073
(7)
其中,
Figure 464526DEST_PATH_IMAGE060
是第i个变量在时间窗口
Figure 562932DEST_PATH_IMAGE006
上的表征变量,T表示矩阵转置,
Figure 2134DEST_PATH_IMAGE061
是任意的向量相似性度量函数(比如内积)。Ω是从
Figure 123674DEST_PATH_IMAGE062
中随机选取的正样本集合,
Figure 368842DEST_PATH_IMAGE063
是从
Figure 259438DEST_PATH_IMAGE062
中随机选取的负样本集合;也就是说,如果
Figure 853230DEST_PATH_IMAGE064
,那么
Figure 289764DEST_PATH_IMAGE065
;如果
Figure 525573DEST_PATH_IMAGE066
,那么
Figure 146041DEST_PATH_IMAGE067
然后,用以下损失函数来训练重构模块:
Figure 910735DEST_PATH_IMAGE074
(8)
其中,
Figure 819916DEST_PATH_IMAGE069
表示
Figure 362DEST_PATH_IMAGE057
Figure 193446DEST_PATH_IMAGE058
的交叉熵,J
Figure 145352DEST_PATH_IMAGE056
的维度。
最后,通过结合这两部分的损失函数来端到端的训练模型,并用超参数
Figure 525518DEST_PATH_IMAGE070
来平衡表征学习与重构模型的重要性,模型的最终损失函数是:
Figure 585353DEST_PATH_IMAGE071
(9)
使用准确率(precision)、召回率(recall)和F1分数(F1-socre)来衡量检测的效果,并通过调整参数,使得F1分数达到最高。
实施例2:
基于实施例1多元时序异常检测方法的检测系统,包括:
数据预处理模块、时间窗口划分模块、构建变量关系图模块、获取变量表征模块、为变量赋予权重模块、数据重构模块、获得异常得分模块以及判断异常模块组成,如图2所示,以下对各部分进行详细说明:
所述数据预处理模块:收集原始的数据集,由多个变量随时间生成的数据组成,并对原始的时间序列进行归一化处理;
所述时间窗口划分模块:将把时间序列划分成长度为
Figure 429681DEST_PATH_IMAGE075
的时间窗口
Figure 552489DEST_PATH_IMAGE076
所述构建变量关系图模块:根据变量之间的相似性程度,获得变量之间的关系图,如图3所示;
所述获取变量表征模块:利用GCN在获取节点表征时会考虑邻居节点信息的特点,获得包含变量关系的变量表征;输入时间变量之间的关系图,输出时每个变量的表征向量;
所述为变量赋予权重模块:如图4所示,首先把t时刻的变量表征以及t-1时刻LSTM的隐藏层变量输入到线性层中,然后经过softmax层的归一化处理获得不同的权重,再把权重与相应的变量表征乘起来,就得到了获得了权重的变量,并输入到LSTM中,为下一时刻学习权重做准备;
所述数据重构模块:利用VAE网络对获得权重之后的变量数据进行降维、重构;
所述获得异常得分模块:训练好模型后,把VAE重构的数据与原始的表征数据的误差作为数据
Figure 419951DEST_PATH_IMAGE077
的异常得分;
所述判断异常模块:把每个数据的异常得分与异常阈值进行比较,如果大于阈值,就被认为是异常数据,否则就是正常数据。
实施例3:基于上述模型和方法进行实际实验验证。
为了验证本发明提出模型的检测异常的准确性,在四个工业数据集(MSL、SMAP、SWaT和WADI)上进行了实验,为了综合考虑准确率和召回率的两方面的效果,选取了F1分数(F1-score)作为评价指标,并与六个已有的模型进行了比较。
最终的实验结果如图5所示,其中MUTANT是本发明所提供的方法。可以看到在四个真实的数据集上,本发明提供的检测方法的F1-score都要高于其他的方法,这也就说明,本发明构建的模型优于其他现有模型,数据异常检测判断的准确度较高。
以上计划方案,仅为本发明中的实施方法,但本发明的保护范围不限于此,所有熟悉该技术的人员在本发明所披露的技术范围以内,可理解想到的替换或者变换,都应该包含在本发明的保护范围之内,所以,本发明的保护范围应以权利要求书的保护范围为准。

Claims (8)

1.一种基于GCN和注意力VAE的多元时序异常检测方法,其特征在于,该检测方法包括如下步骤:
S1:获取一段时间内的待测数据,将时间序列划分成时间窗口,定义了在t时刻,长度为
Figure DEST_PATH_IMAGE001
的时间窗口
Figure DEST_PATH_IMAGE002
;多元时间序列定义为
Figure DEST_PATH_IMAGE003
,其中nX的长度,每个实例
Figure DEST_PATH_IMAGE004
是在时间
Figure DEST_PATH_IMAGE005
m维向量,其中m是变量的个数;
S2:为时间窗口
Figure DEST_PATH_IMAGE006
构建特征图
Figure DEST_PATH_IMAGE007
:用k-NN为每个时间窗口
Figure 416943DEST_PATH_IMAGE006
构建特征图
Figure 927559DEST_PATH_IMAGE007
S3:使用GCN对每个特征图进行卷积运算,以聚合相邻变量的信息,获取变量之间的潜在联系,GCN的最终输出是每个时间窗口中所有变量随时间变化的表征向量,表示为
Figure DEST_PATH_IMAGE008
S4:把时间窗口内变量的表征向量作为LSTM的输入,并通过线性层和softmax层获得当前时间窗口中变量的权重;然后,使用获得权重的表征向量作为 LSTM 的输入,以更新LSTM,获得下一时间窗口中表征变量的权重;
S5:把获得权重后的表征向量输入到VAE中进行重构;VAE通过降维把高维的数据
Figure DEST_PATH_IMAGE009
压缩成低维的隐藏层表征
Figure DEST_PATH_IMAGE010
,然后通过重构获得
Figure DEST_PATH_IMAGE011
S6:所述GCN与LSTM和VAE构成了MUTANT模型,利用训练数据集对MUTANT 模型进行训练;且设计了一个联合学习的目标函数实现了端到端的训练;
S7:基于训练好的MUTANT模型检测异常:检测t时刻的数据是否是异常,则需要把
Figure 245580DEST_PATH_IMAGE006
输入到训练好的MUTANT模型中,并获得一个重构结果;然后根据重构的误差,即异常分数来判断是否是异常;这里定义异常分数为
Figure DEST_PATH_IMAGE012
Figure DEST_PATH_IMAGE013
;如果
Figure 811428DEST_PATH_IMAGE012
高于阈值,那么
Figure DEST_PATH_IMAGE014
就被认为是异常。
2.如权利要求1所述的多元时序异常检测方法,其特征在于,所述S2中,特征图
Figure DEST_PATH_IMAGE015
以所有的变量为节点,让每个变量与它最相似的k个变量建边;具体而言,把当前时间窗口中每个变量
Figure DEST_PATH_IMAGE016
的值视为其特征,
Figure DEST_PATH_IMAGE017
;然后计算特征空间中m个变量之间的相关性矩阵
Figure DEST_PATH_IMAGE018
,使用Pearson 相关系数,公式(1)来计算这个矩阵;
Figure DEST_PATH_IMAGE019
(1)
其中,
Figure DEST_PATH_IMAGE020
Figure DEST_PATH_IMAGE021
Figure DEST_PATH_IMAGE022
的协方差,
Figure DEST_PATH_IMAGE023
Figure DEST_PATH_IMAGE024
的方差,
Figure DEST_PATH_IMAGE025
Figure DEST_PATH_IMAGE026
的方差;使用邻接矩阵
Figure DEST_PATH_IMAGE027
来表示图
Figure DEST_PATH_IMAGE028
,若节点
Figure DEST_PATH_IMAGE029
Figure DEST_PATH_IMAGE030
之间存在边,那么
Figure DEST_PATH_IMAGE031
3.如权利要求1所述的多元时序异常检测方法,其特征在于,所述S3中,按照公式(2)进行传播:
Figure DEST_PATH_IMAGE032
(2)
其中,
Figure DEST_PATH_IMAGE033
是第l层可训练的权重矩阵,
Figure DEST_PATH_IMAGE034
Figure DEST_PATH_IMAGE035
Figure DEST_PATH_IMAGE036
Figure DEST_PATH_IMAGE037
是时间窗口在第l层的输出,d是表征的维度。
4.如权利要求1所述的多元时序异常检测方法,其特征在于,所述S4中,首先把LSTM的隐藏层的变量
Figure DEST_PATH_IMAGE038
Figure DEST_PATH_IMAGE039
Figure DEST_PATH_IMAGE040
拼接起来,然后输入到线性层中获得
Figure DEST_PATH_IMAGE041
,最后经过softmax层的归一化处理得到最终的权重
Figure DEST_PATH_IMAGE042
;这一过程的公式表示是:
Figure DEST_PATH_IMAGE043
(3)
Figure DEST_PATH_IMAGE044
(4)
Figure DEST_PATH_IMAGE045
(5)
其中,
Figure DEST_PATH_IMAGE046
是第i个变量在时间窗口
Figure 103431DEST_PATH_IMAGE006
上的表征向量,
Figure DEST_PATH_IMAGE047
是变量表征乘以相应权重之后的结果;然后,
Figure DEST_PATH_IMAGE048
Figure DEST_PATH_IMAGE049
Figure DEST_PATH_IMAGE050
将会输入到LSTM中,以获得
Figure DEST_PATH_IMAGE051
Figure DEST_PATH_IMAGE052
,为获得下一个时间窗口内的权重做准备。
5.如权利要求1所述的多元时序异常检测方法,其特征在于, 所述S5中,重构的损失函数是:
Figure DEST_PATH_IMAGE053
(6)
其中,θФ分别是推理网络与生成网络的参数;第一项通过从
Figure DEST_PATH_IMAGE054
抽样,最大化
Figure DEST_PATH_IMAGE055
,从而实现对
Figure 952658DEST_PATH_IMAGE050
的重构;第二项通过最小化潜在变量的近似后验值和先验值之间的KL散度来正则化潜在变量
Figure DEST_PATH_IMAGE056
6.如权利要求1所述的多元时序异常检测方法,其特征在于,所述S6中,对于MUTANT的学习,采用负采样的方法,使用以下二进制交叉熵损失函数来优化时序MUTANT模型:
Figure DEST_PATH_IMAGE057
(7)
其中,
Figure DEST_PATH_IMAGE058
是第i个变量在时间窗口
Figure 593592DEST_PATH_IMAGE006
上的表征变量,T表示矩阵转置,
Figure DEST_PATH_IMAGE059
是任意的向量相似性度量函数;Ω是从
Figure DEST_PATH_IMAGE060
中随机选取的正样本集合,
Figure DEST_PATH_IMAGE061
是从
Figure 63183DEST_PATH_IMAGE060
中随机选取的负样本集合;也就是说,如果
Figure DEST_PATH_IMAGE062
,那么
Figure DEST_PATH_IMAGE063
;如果
Figure DEST_PATH_IMAGE064
,那么
Figure DEST_PATH_IMAGE065
;然后,用以下损失函数来训练重构模块:
Figure DEST_PATH_IMAGE066
(8)
其中,
Figure DEST_PATH_IMAGE067
表示
Figure DEST_PATH_IMAGE068
Figure DEST_PATH_IMAGE069
的交叉熵,J
Figure 932395DEST_PATH_IMAGE056
的维度;
最后,通过结合这两部分的损失函数来端到端的训练模型,并用超参数
Figure DEST_PATH_IMAGE070
来平衡表征学习与重构模型的重要性,模型的最终损失函数是:
Figure DEST_PATH_IMAGE071
(9)。
7.基于权利要求1所述多元时序异常检测方法的检测系统,其特征在于,该检测系统包括:数据预处理模块、时间窗口划分模块、构建变量关系图模块、获取变量表征模块、为变量赋予权重模块、数据重构模块、获得异常得分模块以及判断异常模块。
8.如权利要求7所述的检测系统,其特征在于,所述数据预处理模块:收集原始的数据集,由多个变量随时间生成的数据组成,并对原始的时间序列进行归一化处理;
所述时间窗口划分模块:将把时间序列划分成长度为
Figure 565239DEST_PATH_IMAGE001
的时间窗口
Figure 850727DEST_PATH_IMAGE006
所述构建变量关系图模块:根据变量之间的相似性程度,获得变量之间的关系图;
所述获取变量表征模块:利用GCN在获取节点表征时会考虑邻居节点信息的特点,获得包含变量关系的变量表征;输入时间变量之间的关系图,输出时每个变量的表征向量;
所述为变量赋予权重模块:首先把t时刻的变量表征以及t-1时刻LSTM的隐藏层变量输入到线性层中,然后经过softmax层的归一化处理获得不同的权重,再把权重与相应的变量表征乘起来,就得到了获得了权重的变量,并输入到LSTM中,为下一时刻学习权重做准备;
所述数据重构模块:利用VAE网络对获得权重之后的变量数据进行降维、重构;
所述获得异常得分模块:训练好模型后,把VAE重构的数据与原始的表征数据的误差作为数据
Figure 509110DEST_PATH_IMAGE014
的异常得分;
所述判断异常模块:把每个数据的异常得分与异常阈值进行比较,如果大于阈值,就被认为是异常数据,否则就是正常数据。
CN202210824024.3A 2022-07-14 2022-07-14 基于gcn和注意力vae的时序异常检测方法及系统 Active CN115098563B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210824024.3A CN115098563B (zh) 2022-07-14 2022-07-14 基于gcn和注意力vae的时序异常检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210824024.3A CN115098563B (zh) 2022-07-14 2022-07-14 基于gcn和注意力vae的时序异常检测方法及系统

Publications (2)

Publication Number Publication Date
CN115098563A CN115098563A (zh) 2022-09-23
CN115098563B true CN115098563B (zh) 2022-11-11

Family

ID=83297415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210824024.3A Active CN115098563B (zh) 2022-07-14 2022-07-14 基于gcn和注意力vae的时序异常检测方法及系统

Country Status (1)

Country Link
CN (1) CN115098563B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117349770B (zh) * 2023-09-19 2024-05-14 武汉理工大学 一种结构健康监测多应变传感器数据异常检测与修复方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114239712A (zh) * 2021-12-06 2022-03-25 中国人民解放军国防科技大学 基于异构信息网络元学习架构的异常检测方法
CN114676778A (zh) * 2022-03-28 2022-06-28 北京科技大学 用于盾构装备数据协同互馈的异常数据检测方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11399037B2 (en) * 2019-09-06 2022-07-26 Paypal, Inc. Anomaly behavior detection in interactive networks
US11537852B2 (en) * 2020-02-13 2022-12-27 International Business Machines Corporation Evolving graph convolutional networks for dynamic graphs
CN111861272B (zh) * 2020-07-31 2022-12-09 西安交通大学 一种基于多源数据的复杂机电系统异常状态检测方法
CN112685272B (zh) * 2020-12-29 2022-10-14 中国科学院信息工程研究所 一种具备可解释性的用户行为异常检测方法
CN113051822A (zh) * 2021-03-25 2021-06-29 浙江工业大学 基于图注意力网络与lstm自动编码模型的工业系统异常检测方法
CN113159071B (zh) * 2021-04-20 2022-06-21 复旦大学 一种跨模态图像-文本关联异常检测方法
CN113516226A (zh) * 2021-05-18 2021-10-19 长沙理工大学 一种基于图神经网络的混合模型多元时序异常检测方法
CN113553245B (zh) * 2021-05-20 2022-04-19 中国海洋大学 结合双向切片gru与门控注意力机制日志异常检测方法
CN113936117B (zh) * 2021-12-14 2022-03-08 中国海洋大学 基于深度学习的高频区域增强的光度立体三维重建方法
CN114090396B (zh) * 2022-01-24 2022-06-14 华南理工大学 一种云环境多指标无监督异常检测和根因分析方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114239712A (zh) * 2021-12-06 2022-03-25 中国人民解放军国防科技大学 基于异构信息网络元学习架构的异常检测方法
CN114676778A (zh) * 2022-03-28 2022-06-28 北京科技大学 用于盾构装备数据协同互馈的异常数据检测方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
单时序特征图卷积网络融合预测方法;李昊天等;《计算机与现代化》;20200915(第09期);全文 *

Also Published As

Publication number Publication date
CN115098563A (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
CN110427654B (zh) 一种基于敏感状态的滑坡预测模型构建方法及系统
CN111798051A (zh) 基于长短期记忆神经网络的空气质量时空预测方法
CN112949828B (zh) 一种基于图学习的图卷积神经网络交通预测方法及系统
CN109635763B (zh) 一种人群密度估计方法
CN113159163A (zh) 一种基于多元时序数据分析的轻量级无监督异常检测方法
CN111260124A (zh) 一种基于注意力机制深度学习的混沌时间序列预测方法
US11954115B2 (en) Methods and systems for wavelet based representation
CN107832789B (zh) 基于平均影响值数据变换的特征加权k近邻故障诊断方法
CN115098563B (zh) 基于gcn和注意力vae的时序异常检测方法及系统
CN112905894B (zh) 一种基于增强图学习的协同过滤推荐方法
Zhang et al. Variational Bayesian inference for robust streaming tensor factorization and completion
CN111046961A (zh) 基于双向长短时记忆单元和胶囊网络的故障分类方法
CN115510975A (zh) 基于并行Transofmer-GRU的多变量时序异常检测方法及系统
CN115051929B (zh) 基于自监督目标感知神经网络的网络故障预测方法及装置
CN114611384A (zh) 基于图神经网络的医学知识图谱节点重要性评估方法
Chen et al. Discovering state variables hidden in experimental data
CN114638291A (zh) 一种基于多层前馈神经网络算法的食源性致病菌分类方法
CN111814403B (zh) 一种配电主设备分布式状态传感器可靠性评估方法
CN110839253A (zh) 一种确定无线网格网络流量的方法
CN115664970A (zh) 基于双曲空间的网络异常点检测方法
CN111046740B (zh) 针对人类动作视频基于全张量化循环神经网络的分类方法
CN111045861B (zh) 一种基于深度神经网络的传感器数据恢复方法
Payne et al. Bayesian big data classification: A review with complements
Buchnik et al. GSP-KalmanNet: Tracking Graph Signals via Neural-Aided Kalman Filtering
CN113010774A (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