CN115081555B - 基于生成对抗和双向循环神经网络的异常检测方法及装置 - Google Patents
基于生成对抗和双向循环神经网络的异常检测方法及装置 Download PDFInfo
- Publication number
- CN115081555B CN115081555B CN202210978771.2A CN202210978771A CN115081555B CN 115081555 B CN115081555 B CN 115081555B CN 202210978771 A CN202210978771 A CN 202210978771A CN 115081555 B CN115081555 B CN 115081555B
- Authority
- CN
- China
- Prior art keywords
- data
- reconstruction
- generator
- anomaly
- sliding window
- 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 41
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 17
- 230000002457 bidirectional effect Effects 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 22
- 230000002159 abnormal effect Effects 0.000 claims abstract description 16
- 239000013598 vector Substances 0.000 claims description 44
- 238000012549 training Methods 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000010606 normalization Methods 0.000 claims description 14
- 230000000306 recurrent effect Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000003745 diagnosis Methods 0.000 claims description 2
- 230000002547 anomalous effect Effects 0.000 claims 1
- 230000005856 abnormality Effects 0.000 abstract description 20
- 238000007781 pre-processing Methods 0.000 abstract description 11
- 230000015654 memory Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000002474 experimental method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 101000794020 Homo sapiens Bromodomain-containing protein 8 Proteins 0.000 description 4
- 101001006782 Homo sapiens Kinesin-associated protein 3 Proteins 0.000 description 4
- 101000615355 Homo sapiens Small acidic protein Proteins 0.000 description 4
- WGKGADVPRVLHHZ-ZHRMCQFGSA-N N-[(1R,2R,3S)-2-hydroxy-3-phenoxazin-10-ylcyclohexyl]-4-(trifluoromethoxy)benzenesulfonamide Chemical compound O[C@H]1[C@@H](CCC[C@@H]1N1C2=CC=CC=C2OC2=C1C=CC=C2)NS(=O)(=O)C1=CC=C(OC(F)(F)F)C=C1 WGKGADVPRVLHHZ-ZHRMCQFGSA-N 0.000 description 4
- 102100021255 Small acidic protein Human genes 0.000 description 4
- 238000010187 selection method Methods 0.000 description 4
- 238000002679 ablation Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003042 antagnostic effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008485 antagonism Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 239000008235 industrial water Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于生成对抗和双向循环神经网络的异常检测方法及装置,应用于计算机技术领域,包括对收集到的时间序列数据进行预处理,构建数据集;模型生成器模块完成初始输入数据的重构,得到生成器重构数据,并计算生成器重构误差;模型鉴别器模块完成生成器重构数据的重构,得到鉴别器重构数据,并计算鉴别器重构误差;利用生成器重构误差和鉴别器重构误差计算异常分数,并基于异常分数计算各滑动窗口对应的阈值;将滑动窗口异常分数与对应的阈值来进行异常判别。本发明能有效建模时序数据的时间依赖性,并从特征维度上放大异常,能有效提升时序数据异常检测的性能。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种基于生成对抗和双向循环神经网络的时间序列异常检测装置及方法。
背景技术
时序数据的异常检测是数据挖掘的一个重要研究方向,在很多应用领域中都有研究。工业生产领域从监控系统运行状态的传感器中采集到的时序数据发现系统运行的异常状态,并进行异常诊断,寻找导致异常产生的根源;智能运维系统中使用异常数据检测模型自动发现运维数据中的异常模式,并根据异常类别和等级产生不同的异常告警和异常分析报告;信息安全领域通过异常检测发现系统中的异常网络流量、恶意攻击等异常行为,能够极大的提高系统的安全性。因此,可行且高效的异常检测方法至关重要。
伴随着人工智能技术的发展,时序数据的异常检测方法逐渐被分为两类,一类是传统的普通异常检测方法,包括基于距离、基于密度以及基于聚类的方法等,另一类则是基于深度学习的方法,利用复杂的神经网络来实现异常检测,由于各种深度学习异方法在异常检测领域的性能表现尤为突出且有效,能够有效的识别出时序数据中的各种异常,并且可以应对数据模式越来越复杂的问题,因此,深度学习已经成为异常检测领域的主流。
现在的深度学习方法可以通过学习历史数据的潜在特征来预测未来数据来完成异常检测,也可以通过重构正常数据来检测出异常数据,因此,针对时序数据,如何进行有效的建模时提高异常检测性能的关键。
发明内容
本发明针对现有技术的不足,提供基于生成对抗和双向循环神经网络的异常检测方法及装置,具体方案如下:
基于生成对抗和双向循环神经网络的异常检测方法,包括:
步骤1:对时序数据采取滑动窗口划分操作,获得包含一系列滑动窗口的三维时序数据集;
步骤2:将所述三维时序数据集,经过生成器网络得出生成器重构数据/>,并计算三维时序数据集/>与生成器重构数据/>之间的生成器重构误差/>;
步骤3:基于所述生成器重构数据,经过鉴别器网络得出鉴别器重构数据/>,并计算三维时序数据/>与鉴别器重构数据/>之间的鉴别器重构误差/>;
步骤4:结合生成器重构误差和鉴别器重构误差/>计算异常分数,
步骤5:基于异常分数计算每个滑动窗口对应的阈值;
步骤6:将异常分数与对应阈值进行比较,判断异常。
为优化上述技术方案,采取的具体措施还包括:
步骤1中,所述的三维时序数据集为对原始时序数据/>进行归一化处理处理后得到的数据集。
步骤1中,原始时序数据,T表示时间,其中每个/>表示时序数据中/>时刻的值,是一个/>维的向量,/>表示维度大小,选用最大最小标准化方法的归一化处理:
在完成原始数据的归一化后,对时间序列数据进行滑动窗口划分,按照时间顺序,对于/>时刻都往前选取长度为k的数据,进行时间戳长度为k的滑动窗口划分,每一时刻对应的窗口表示为/>,最终原始数据按照时间顺序被转换为一系列滑动窗口三维时序数据集/>,其中/>表示T时刻往前取k个时间戳的滑动窗口数据。
步骤2中,所述三维时序数据集通过由编码网络和解码网络构成的基于Bi-LSTM的自编码器架构得出生成器重构数据/>,训练完成后,编码网络将输入数据/>进行编码得到对应隐藏状态向量,然后解码网络利用隐藏状态向量解码出生成器重构数据/>,并计算生成器重构误差;
其中,表示生成器重构误差向量,包含了所有滑动窗口的生成器重构误差,采用均方误差损失含函数计算得出。
步骤3中,所述生成器重构数据通过编码网络和解码网络构成的基于Bi-LSTM的自编码器架构,得出鉴别器重构数据/>,训练完成后,编码网络将生成器重构数据/>进行编码得到对应隐藏状态向量,然后解码网络利用隐藏状态向量解码出鉴别器重构数据/>;
其中,表示生成器重构误差向量,包含了所有滑动窗口的生成器重构误差,采用均方误差损失含函数计算得出。
步骤4的异常分数的计算中,给予生成器重构误差权重比例,给予鉴别器重构误差权重比例/>,其中/>;
最终中每个滑动窗口异常分数的计算方式为:
其中s是一个异常分数向量,包含了所有滑动窗口的异常分数。
步骤5的所述的阈值基于异常分数计算得出,对于每个滑动窗口对应的阈值,按照时间顺序取往前l个滑动窗口的异常分数作为输入:,其中/>表示t时刻对应滑动窗口的异常分数,/>表示往前取/>个滑动窗口的异常分数后,/>个滑动窗口的异常分数向量,采用一种非参数动态阈值选择方法来计算输出当前滑动窗口的阈值;
阈值从集合中选取,阈值最终由如下公式决定
,
其中,表示计算/>中的平均值,/>表示计算/>中的标准差,Z表示一组有序的正值集合。
步骤6中,滑动窗口的异常分数,该窗口被视为异常,否则视为正常数据。
异常检测装置包括数据预处理模块、生成器重构模块、鉴别器重构模块、异常分数计算模块和阈值计算模块,其中,
所述的数据预处理模块用于对原始时序数据预处理,预处理后的时序数据再采取滑动窗口划分操作,获得包含一系列滑动窗口的三维时序数据集/>;
所述的生成器重构模块与数据预处理模块信号连接,用于重构预处理后的三维时序数据集,得出生成器重构数据/>,并计算三维时序数据集/>与生成器重构数据/>之间的生成器重构误差/>;
所述的鉴别器重构模块与生成器重构模块信号连接,用于重构生成器重构数据,得出鉴别器重构数据/>,并计算三维时序数据集/>与鉴别器重构数据/>之间的鉴别器重构误差/>;
所述的异常分数计算模块分别与生成器重构模块和鉴别器重构模块信号连接,用于结合生成器重构误差和鉴别器重构误差/>计算异常分数;
所述的阈值计算模块与异常分数计算模块信号连接,用于将异常分数与对应阈值进行比较,判断异常。
异常检测装置还包括存储器,所述的存储器分别与数据预处理模块、生成器重构模块、鉴别器重构模块、异常分数计算模块和阈值计算模块信号连接,用于存储数据预处理模块、生成器重构模块、鉴别器重构模块、异常分数计算模块和阈值计算模块在运行过程中产生的数据。
本发明具有以下优点:本发明以自编码器为基础,结合生成对抗网络(GenerativeAdversarial Network,GAN)和双向长短期记忆神经网络(Bi-directional Long Short-Term Memory,Bi-LSTM),构建了一个异常检测重构模型,采用GAN的原理来构建模型生成器网络和鉴别器网络,生成器和鉴别器网络的构建使用了基于Bi-LSTM的自编码器架构,结合模型生成器重构误差和鉴别器重构误差计算时序数据的异常分数,并采用了一种非参数动态阈值选择方法实现异常检测,有效建模时序数据的时间依赖性,并从特征维度上放大异常,能有效提升时序数据异常检测的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的方法流程图;
图2为本发明的基于Bi-LSTM网络的数据重构简图;
图3为本发明的异常检测模型架构图;
图4为本发明异常检测装置的结构框图;
图5为本发明的一种服务器的结构示意图;
图6为本发明的消融实验结果图。
具体实施方式
以下结合附图对本发明的实施例作进一步详细描述。
本发明提出了基于生成对抗和双向循环神经网络的异常检测方法,在学习正常时序数据的特征分布的基础上,通过数据的重构误差来实现有效的异常检测,整体框架如图1所示。
参见图1,具体的,本发明方法包括:
步骤1:对原始时序数据进行归一化处理;其中/>,T表示时间,其中的每个/>表示时序数据中t时刻的值,是一个m维的向量,m表示维度大小,选用最大最小标准化方法的归一化处理:
在完成原始数据的归一化后,需要对时间序列数据进行滑动窗口划分,按照时间顺序,对于每一时刻都往前选取长度为k的数据,进行时间戳长度为k的滑动窗口划分,每一刻时刻对应的窗口表示为。最终原始数据按照时间顺序被转换为一系列滑动窗口三维时序数据集/>,其中/>表示T时刻往前取k个时间戳的滑动窗口数据。
步骤2:其中,生成器重构模块20是基于Bi-LSTM的自编码器架构,由编码网络和解码网络构成;
生成器重构模块20在训练完成后,编码网络将三维时序数据集进行编码得到对应隐藏状态向量,然后解码网络利用隐藏状态向量解码出生成器重构数据/>,并计算生成器重构误差,其中/>表示生成器重构误差向量,包含了所有滑动窗口的生成器重构误差;
步骤3:其中,鉴别器重构模块30也是基于Bi-LSTM的自编码器架构,由编码网络和解码网络构成,鉴别器重构模块30与生成器重构模块20共享编码网络;
生成器重构模块20在训练完成后,编码网络将生成器重构数据进行编码得到对应隐藏状态向量,然后解码网络利用隐藏状态向量解码出鉴别器重构数据,其中/>表示鉴别器重构误差向量,包含了所有滑动窗口的鉴别器重构误差;
步骤4:结合生成器重构误差和鉴别器重构误差计算异常分数
其中,生成器重构误差由输入数据和生成器重构数据经过均方误差损失含函数来计算得出,鉴别器重构误差由输入数据和鉴别器重构数据经过均方误差损失函数计算得出,基于这两个误差计算异常分数,并根据异常分数确定阈值;
异常分数的计算中,给予生成器重构误差权重比例,给予鉴别器重构误差权重比例/>,其中/>;
最终中每个滑动窗口异常分数表示为:
其中s是一个异常分数向量,包含了所有滑动窗口的异常分数,
步骤5:根据异常分数计算对应阈值;
,其中,阈值基于异常分数计算得出,对于每个滑动窗口对应的阈值,按照时间顺序取往前/>个滑动窗口的异常分数作为输入,即,其中/>表示t时刻对应滑动窗口的异常分数,/>表示往前取/>个滑动窗口的异常分数后,/>个滑动窗口的异常分数向量,采用了一种非参数动态阈值选择方法来计算输出当前滑动窗口对应的阈值。
阈值从集合中选取,阈值最终由如下公式决定
,
其中,表示计算/>中的平均值,/>表示计算/>中的标准差,Z表示一组有序的正值集合。
步骤6:将异常分数与对应阈值进行比较,判断异常。
在完成个滑动窗口异常分数以及对应阈值的计算以后,需要以此来判别异常,每个滑动窗口的异常分数,该窗口被视为异常,否则视为正常数据。
如图2所示,描述了生成器和鉴别器的数据重构原理:
生成器重构模块20和生成器重构模块20的网络结构由两个共享编码网络的Bi-LSTM自编码器组成,分别作为对抗训练中的生成器和鉴别器,生成器由编码网络和解码网络/>组成,鉴别器/>由编码网络/>和解码网络/>组成,后续分别用G、D分别表示生成器和鉴别器,其编码-解码形式如下所示:
生成器G和鉴别器D的重构网络均采用了基于Bi-LSTM的自编码网络架构来构建,二者共享编码网络,由于不同的训练目标,各自对应的解码网络权重可能不同,因此设计了解码网络/>和/>,但二者的解码网络的层次构造是相同的。编码网络输入三维时序数据集/>后,输出每个滑动窗口对应隐藏向量/>,其中/>表示T时刻对应滑动窗口/>输入后编码网络输出的隐藏状态向量,由Bi-LSTM网络中的前向隐藏向量和后向隐藏向量组成,然后各自的解码网络将/>作为输入,最终重构出数据/> 、/>。
以其中一个历史时间戳长度为k的滑动窗口为例,定义、/>,是/>中各时刻数据在神经网络中的隐藏变量,/>表示c维向量,,其中下标/>表示时刻,c表示编码解码网络中LSTM层的单元数,上标、/>分别表示编码阶段和解码阶段(/>对应/>,De对应/>、/>)。
编码网络:包含一个Bi-LSTM层,每个输入后,该层输出/>中t时刻的隐藏状态,编码网络输出的隐藏状态变量/>会被使用作为解码网络的初始隐藏状态变量,即,用来解码阶段的数据重构。
解码网络:包含一个Bi-LSTM层和一个线性输出层,Bi-LSTM层使用以及t时刻序列值/>作为输入得到/>,其中重构值/>由解码网络中的线性层计算输出,该层具有大小为/>的权重矩阵/>和偏置向量/>被使用来计算/>。类似的,通过/>与重构值/>的再次输入,解码网络会输出来/>以及/>,直到/>时输出中所有时刻对应的重构值。
如图3所示,步骤2、3中的生成器与鉴别器的训练过程过程包括:
生成器和鉴别器的训练使用不包含异常的正常滑动窗口数据,从三维时序数据集/>中分割而来。模型需要通过一定次数的迭代训练学习正常数据/>的潜在特征分布,训练过程结合生成器G、鉴别器D的自训练及二者之间得对抗训练使神经网络权重得到收敛。
自训练:生成器G和鉴别器D的自学习。包含所有的正常滑动窗口数据,为了使得G和D可以重构正常数据,所有正常滑动窗口数据/>被分批输入生成器和鉴别器,G和D共享的编码网络将输入数据/>编码得到隐藏变量/>,再通过各自的解码网络重构出数据/>,在迭代训练结束后得到可以重构正常数据的生成器G和鉴别器D。因此,该阶段的主要目的是使得生成器和鉴别器可以学习到正常数据的特征分布,最小化对正常数据的重构损失,其中/>,/>分别表示生成器G和鉴别器D在自训练中的重构损失:
其中, ,/>。
对抗训练:生成器G与鉴别器D之间的对抗训练。自训练中生成器G重构出的数据会再次被鉴别器D重构得到/>,此时我们就可以得到对抗训练中的重构误差/>, 由于生成器G和鉴别器D是以对抗的方式来进行训练,生成器G需要的是尽可能的生成欺骗鉴别器D的重构数据,所以生成器G的目标需要最小化/>,鉴别器的目的是尽可能的识别出输入的数据是来自生成器G的重构数据/>还是初始数据/>,所以鉴别器D需要最大化/>,因此,本阶段生成器G和鉴别器D的训练目标为:
其中, 。
因此,综合以上分析,生成器G和鉴别器D在自训练阶段的目标都是将与重构值,/>之间的重构误差降到最低,以达到充分学习数据潜在特征,而在对抗训练阶段,生成器G的目标是将/>与经过G、D等模块后的二次重数据/>之间的重构误差/>降至最低,反之,鉴别器D是将这个误差尽可能的放大,以做到识别目的。对于前后两阶段的训练,本文设置了两阶段重构误差的权重比例,会随着训练迭代次数的增加而变化,前期对于自训练阶段的训练损失/>、/>的比例较大,但随着迭代次数n的增加,会增加对抗训练阶段损失/>所占的比例。最终将两阶段结合起来后的训练总损失如下,并在表1中给出了模型的算法流程:
。
如图4所示,是本发明实施例提供的一种时序异常检测装置的结构框图,接下来本发明提供的基于生成对抗和双向循环神经网络的时序异常检测装置进行介绍,下文描述的时序异常检测装置可以认为是为实现本发明提供的时序异常检测方法。
数据预处理模块10,用于对获取的时序数据进行预处理;
其中,时序数据的预处理对原始时序数据处理,预处理后的时序数据再采取滑动窗口划分操作,获得包含一系列滑动窗口的三维时序数据集/>;
生成器重构模块20,用于重构预处理后的三维时序数据集,经过模块中的生成器网络得出生成器重构数据/>,并计算三维时序数据集/>与生成器重构数据/>之间的生成器重构误差/>;
鉴别器重构模块30,用于重构生成器重构数据,经过模块中的鉴别器网络得出鉴别器重构数据/>,并计算三维时序数据集/>与鉴别器重构数据/>之间的鉴别器重构误差/>;
异常分数计算模块40,结合前两个模块的生成器重构误差和鉴别器重构误差/>计算异常分数;
阈值计算模块50,基于异常分数计算每个滑动窗口对应的阈值;
阈值计算模块50中的判别模块60,将异常分数与对应阈值进行比较,判断异常。
其中,数据预处理模块10对原始时序数据进行归一化处理;其中,T表示时间,其中的每个/>表示时序数据中/>时刻的值,是一个/>维的向量,/>表示维度大小,选用最大最小标准化方法的归一化处理:
在完成原始数据的归一化后,还需要对时间序列数据进行滑动窗口划分,按照时间顺序,对于每一时刻都往前选取长度为k的数据,进行时间戳长度为k的滑动窗口划分,每一刻时刻对应的窗口表示为。最终原始数据按照时间顺序被转换为一系列滑动窗口三维时序数据集/>,其中/>表示T时刻往前取k个时间戳的滑动窗口数据。
生成器重构模块20,基于Bi-LSTM的自编码器架构,由编码网络和解码网络构成;
在训练完成后,编码网络将输入数据进行编码得到对应隐藏状态向量,然后解码网络利用隐藏状态向量解码出生成器重构数据/>,并计算生成器重构误差,其中/>表示生成器重构误差向量,包含了所有滑动窗口的生成器重构误差:
鉴别器重构模块30,也是基于Bi-LSTM的自编码器架构,由编码网络和解码网络构成,鉴别器与生成器共享编码网络;
在训练完成后,编码网络将生成器重构数据进行编码得到对应隐藏状态向量,然后解码网络利用隐藏状态向量解码出鉴别器重构数据, 其中/>表示鉴别器重构误差向量,包含了所有滑动窗口的鉴别器重构误差;
异常分数计算模块40,生成器重构误差由输入数据和生成器重构数据经过均方误差损失含函数来计算得出,鉴别器重构误差由输入数据和鉴别器重构数据经过均方误差损失函数计算得出,基于这两个误差计算异常分数,并根据异常分数确定阈值;
所述的异常分数的计算中,给予生成器重构误差权重比例,给予鉴别器重构误差权重比例/>,其中/>;
最终中每个滑动窗口异常分数的计算方式为:
其中s是一个异常分数向量,包含了所有滑动窗口的异常分数,
阈值计算模块50,根据异常分数计算对应阈值;
其中,所述的阈值基于异常分数计算得出,对于每个滑动窗口对应的阈值,按照时间顺序取往前个滑动窗口的异常分数作为输入,即/>,其中/>表示t时刻对应滑动窗口的异常分数,/>表示往前取/>个滑动窗口的异常分数后,/>个滑动窗口的异常分数向量,采用了一种非参数动态阈值选择方法来计算输出当前滑动窗口对应的阈值。
阈值从集合中选取,阈值最终由如下公式决定
,
其中,表示计算/>中的平均值,/>表示计算/>中的标准差,Z表示一组有序的正值集合。
判断模块60,将异常分数与对应阈值进行比较,判断异常。
在完成个滑动窗口异常分数以及对应阈值的计算以后,需要以此来判别异常,每个滑动窗口的异常分数,该窗口被视为异常,否则视为正常数据。
如图5所示,为本发明提供的服务器的结构框图,可以包括至少一个处理器100,至少一个通信接口200,至少一个存储器300和至少一个通信总线400;
其中,在本发明中,处理器100、通信接口200、存储器300、通信总线400的数量为至少一个,且处理器100、通信接口200、存储器300通过通信总线400完成相互间的通信;显然,图5所示的处理器100、通信接口200、存储器300和通信总线400所示的通信连接示意仅是可选的;
可选的,通信接口200可以为通信模块的接口,如GSM模块的接口;
处理器100可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器300,存储有应用程序,可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,处理器100具体用于执行存储器内的应用程序,以实现上述所述的时序异常检测方法。
具体实施例:
本次实验在四个真实的公开数据集上进行,四个数据集分别是安全水处理(SWaT)、服务计算机(SMD)、航天器遥测值(MSL和SMAP)。其中SWaT数据集是从现实世界中生产过滤水的工业水处理厂收集的时序数据集,SMD是由一家大型互联网公司收集并公开的服务器数据,包含了来自28台服务器的数据,MSL和SMAP是由NASA收集的航天器遥测值数据。
本文的实验过程包括与其他同类方法的对比实验、自身关键模块的消融实验等三个部分。
实验选取的滑动窗口历史时间戳长度统一为k=10,模型训练迭代次数为N=50次,批大小batch=1000,=0.5,/>=0.5其中LSTM的隐藏状态单元数c根据对应数据集确定。
为了评估LSTM-GAN的异常检测性能,对LSTM-GAN与几种最新的异常检测方法进行了比较,分别是DAGMM、MAD-GAN、LSTM-NDT、MSCRED、OnmiAnomaly等五种异常检测方法。经过实验,得出了包括LSTM-GAN在内的6种异常检测方法在四个公开数据集上SWaT、SMD、SMAP以及MSL上的实验结果,包括每种方法对应的精确率P、召回率R以及F1分数等结果:
表1
表1展示了LSTM-GAN与其他五种对比方法的实验数据,可以发现,LSTM-GAN在SWaT、MSL、SMAP三个数据集上均取得了最高的F1分数,特别是在SMD数据集上达到了0.9672,性能明显优于其他同类方法。
如图6所示,为了验证LSTM-GAN关键模块的有效性,本节将在SWaT和SMD数据集上进行部分消融实验,本发明设计了LSTM-GAN的两种变体,分别命名为LSTM-AE和GAN-AE,包括LSTM-GAN在内的三种模型的描述如下所示:
(1)LSTM-AE模型:无对抗训练机制的自编码器模型,使用一个Bi-LSTM编码网络与一个Bi-LSTM解码网络来对重构时序数据。
(2)GAN-AE模型:引入进行对抗训练机制,在自编码器的网络使用全连接层进行编码,未使用Bi-LSTM网络来实现时序反向重构。
(3)LSTM-GAN:本文提出的最终模型,使用Bi-LSTM网络反向编码,采用双自编码器完成对抗训练。
从图6的实验结果可以看出,同时采用对抗训练以及使用LSTM编码网络的最终模型取得了最高的F1分数,与LSTM-AE相比,LSTM-GAN在SWaT和SMD上的异常检测性能提升了近6.7%、14.8%,与GAN-AE相比,在SWaT上也取得了4.8%的提升,因此,可以认为,同时引入GAN的训练模式以及Bi-LSTM的编码模式可以更好的学习到时序数据的特征分布,进而检测异常。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (7)
1.基于生成对抗和双向循环神经网络的异常检测方法,其特征在于,包括:
步骤1:从监控系统运行状态的传感器中采集到的时序数据,对时序数据采取滑动窗口划分操作,获得包含一系列滑动窗口的三维时序数据集
步骤2:将所述三维时序数据集经过生成器网络得出生成器重构数据/>并计算三维时序数据集/>与生成器重构数据/>之间的生成器重构误差/>
步骤3:基于所述生成器重构数据经过鉴别器网络得出鉴别器重构数据/>并计算三维时序数据/>与鉴别器重构数据/>之间的鉴别器重构误差/>
步骤4:结合生成器重构误差和鉴别器重构误差/>计算异常分数,
步骤5:基于异常分数计算每个滑动窗口对应的阈值ε;
步骤6:将异常分数与对应阈值ε进行比较,发现监控系统运行的异常状态,并进行异常诊断,寻找导致异常产生的根源;
步骤2中,所述三维时序数据集通过由编码网络和解码网络构成的基于Bi-LSTM的自编码器架构得出生成器重构数据/>训练完成后,编码网络将输入数据/>进行编码得到对应隐藏状态向量,然后解码网络利用隐藏状态向量解码出生成器重构数据/>并计算生成器重构误差;
其中,LOSSG表示生成器重构误差向量,包含了所有滑动窗口的生成器重构误差,采用均方误差损失含函数计算得出。
2.根据权利要求1所述的基于生成对抗和双向循环神经网络的异常检测方法,其特征在于,步骤1中,所述的三维时序数据集为对原始时序数据/>进行归一化处理处理后得到的数据集。
3.根据权利要求2所述的基于生成对抗和双向循环神经网络的异常检测方法,其特征在于,所述的步骤1中,原始时序数据T表示时间,其中每个xt表示时序数据中t时刻的值,是一个m维的向量,m表示维度大小,选用最大最小标准化方法的归一化处理:
在完成原始数据的归一化后,对时间序列数据进行滑动窗口划分,按照时间顺序,对于t时刻都往前选取长度为k的数据,进行时间戳长度为k的滑动窗口划分,每一时刻对应的窗口表示为Wt={xt-k+1,…xt-1,xt},最终原始数据按照时间顺序被转换为一系列滑动窗口三维时序数据集/>其中WT表示T时刻往前取k个时间戳的滑动窗口数据。
4.根据权利要求1所述的的基于生成对抗和双向循环神经网络的异常检测方法,其特征在于,步骤3中,所述生成器重构数据通过编码网络和解码网络构成的基于Bi-LSTM的自编码器架构,得出鉴别器重构数据/>训练完成后,编码网络将生成器重构数据/>进行编码得到对应隐藏状态向量,然后解码网络利用隐藏状态向量解码出鉴别器重构数据/>
其中,LOSSD表示生成器重构误差向量,包含了所有滑动窗口的生成器重构误差,采用均方误差损失含函数计算得出。
5.根据权利要求3所述的基于生成对抗和双向循环神经网络的异常检测方法,其特征在于,所述的步骤4的异常分数的计算中,给予生成器重构误差权重比例α,给予鉴别器重构误差权重比例β,其中α+β=1;
最终中每个滑动窗口异常分数的计算方式为:
其中s是一个异常分数向量,包含了所有滑动窗口的异常分数。
6.根据权利要求1所述的基于生成对抗和双向循环神经网络的异常检测方法,其特征在于,所述的步骤5的所述的阈值基于异常分数计算得出,对于每个滑动窗口对应的阈值,按照时间顺序取往前l个滑动窗口的异常分数作为输入:其中st表示t时刻对应滑动窗口的异常分数,/>表示往前取l-1个滑动窗口的异常分数后,l个滑动窗口的异常分数向量,采用一种非参数动态阈值选择方法来计算输出当前滑动窗口的阈值;
阈值从集合中选取,阈值最终由如下公式决定
其中,表示计算/>中的平均值,/>表示计算/>中的标准差,Z表示一组有序的正值集合。
7.根据权利要求1所述的基于生成对抗和双向循环神经网络的异常检测方法,其特征在于,所述的步骤6中,滑动窗口的异常分数st>ε,该窗口被视为异常,否则视为正常数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210978771.2A CN115081555B (zh) | 2022-08-16 | 2022-08-16 | 基于生成对抗和双向循环神经网络的异常检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210978771.2A CN115081555B (zh) | 2022-08-16 | 2022-08-16 | 基于生成对抗和双向循环神经网络的异常检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115081555A CN115081555A (zh) | 2022-09-20 |
CN115081555B true CN115081555B (zh) | 2023-12-08 |
Family
ID=83244480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210978771.2A Active CN115081555B (zh) | 2022-08-16 | 2022-08-16 | 基于生成对抗和双向循环神经网络的异常检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115081555B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117411674B (zh) * | 2023-09-22 | 2024-05-14 | 南京中新赛克科技有限责任公司 | 一种基于生成扩散的工业互联网异常流量检测方法及检测系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110598851A (zh) * | 2019-08-29 | 2019-12-20 | 北京航空航天大学合肥创新研究院 | 一种融合lstm和gan的时间序列数据异常检测方法 |
CN114386521A (zh) * | 2022-01-14 | 2022-04-22 | 湖南师范大学 | 时间序列数据的异常检测方法、系统、设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI800767B (zh) * | 2020-11-16 | 2023-05-01 | 財團法人工業技術研究院 | 具有生成對抗網路架構之異常偵測裝置和異常偵測方法 |
-
2022
- 2022-08-16 CN CN202210978771.2A patent/CN115081555B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110598851A (zh) * | 2019-08-29 | 2019-12-20 | 北京航空航天大学合肥创新研究院 | 一种融合lstm和gan的时间序列数据异常检测方法 |
CN114386521A (zh) * | 2022-01-14 | 2022-04-22 | 湖南师范大学 | 时间序列数据的异常检测方法、系统、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
基于GAN网络的异常检测算法研究;余广民;林金堂;姚剑敏;严群;林志贤;;广播电视网络(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115081555A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | An energy-efficient data collection scheme using denoising autoencoder in wireless sensor networks | |
CN111914873A (zh) | 一种两阶段云服务器无监督异常预测方法 | |
CN109580215A (zh) | 一种基于深度生成对抗网络的风电传动系统故障诊断方法 | |
Peng et al. | Fault feature extractor based on bootstrap your own latent and data augmentation algorithm for unlabeled vibration signals | |
CN113704075B (zh) | 一种基于故障日志的高性能计算系统故障预测方法 | |
CN113328755B (zh) | 一种面向边缘计算的压缩数据传输方法 | |
CN115081555B (zh) | 基于生成对抗和双向循环神经网络的异常检测方法及装置 | |
Zhou et al. | Hybrid anomaly detection via multihead dynamic graph attention networks for multivariate time series | |
CN114842371B (zh) | 一种无监督视频异常检测方法 | |
CN115168443A (zh) | 一种基于gcn-lstm和注意力机制的异常检测方法及系统 | |
Zhang et al. | CNN and LSTM based encoder-decoder for anomaly detection in multivariate time series | |
CN116522265A (zh) | 工业互联网时序数据异常检测方法及装置 | |
Kumar et al. | An adaptive transformer model for anomaly detection in wireless sensor networks in real-time | |
CN116306780B (zh) | 一种动态图链接生成方法 | |
Liu et al. | Large Language Model Guided Knowledge Distillation for Time Series Anomaly Detection | |
Jian et al. | LAFD-net: learning with noisy pseudo-labels for semisupervised bearing fault diagnosis | |
CN114912109B (zh) | 一种基于图嵌入的异常行为序列识别方法及系统 | |
Wang et al. | Mtfed-nilm: Multi-task federated learning for non-intrusive load monitoring | |
CN116506210A (zh) | 基于流量特征融合的网络入侵检测方法及系统 | |
CN114630207B (zh) | 基于降噪自编码器的多传感节点感知数据收集方法 | |
CN115661861A (zh) | 基于动态时序多维自适应图卷积网络的骨架行为识别方法 | |
CN113780387A (zh) | 基于共享自编码器的时间序列异常检测方法 | |
CN114235409A (zh) | 一种轻量化通信的滚动轴承多用户协同智能故障诊断方法 | |
Correia et al. | Online Time-series Anomaly Detection: A Survey of Modern Model-based Approaches | |
CN116662811B (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 |