CN115905991A - 一种基于深度学习的时间序列数据多元异常检测方法 - Google Patents

一种基于深度学习的时间序列数据多元异常检测方法 Download PDF

Info

Publication number
CN115905991A
CN115905991A CN202211456571.7A CN202211456571A CN115905991A CN 115905991 A CN115905991 A CN 115905991A CN 202211456571 A CN202211456571 A CN 202211456571A CN 115905991 A CN115905991 A CN 115905991A
Authority
CN
China
Prior art keywords
data
multivariate
sequence
discriminator
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.)
Pending
Application number
CN202211456571.7A
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.)
Economic and Technological Research Institute of State Grid Henan Electric Power Co Ltd
Original Assignee
Economic and Technological Research Institute of State Grid Henan Electric Power 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 Economic and Technological Research Institute of State Grid Henan Electric Power Co Ltd filed Critical Economic and Technological Research Institute of State Grid Henan Electric Power Co Ltd
Priority to CN202211456571.7A priority Critical patent/CN115905991A/zh
Publication of CN115905991A publication Critical patent/CN115905991A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于深度学习的时间序列数据多元异常检测方法,训练方法包括:将训练需要的多元时间序列输入到GAN网络,使用两人极小极大博弈算法来训练生成器和判别器,生成器G以来自随机潜在空间的序列作为其输入来生成假时间序列,并将生成的序列样本传递给判别器D,判别器D将试图将生成的即“fake”数据序列与实际的即“real”正常训练数据序列区分开来;经过足够多次的迭代,使用经过训练的判别器和生成器来检测多元时间序列中的异常,并使用一个组合的判别和重建异常评分即DR评分使模型训练效果满足预期的条件;本发明具有基于深度学习的无监督异常检测方法、基于生成对抗网络的无监督异常检测策略的优点。

Description

一种基于深度学习的时间序列数据多元异常检测方法
技术领域
本发明属于多元时间序列异常检测技术领域,具体涉及一种基于深度学习的时间序列数据多元异常检测方法。
背景技术
对于时间序列的数据挖掘起始于20世纪90年代并且发展迅速,其挖掘内容涵盖了时间序列的相似性查询、时序模式挖掘、时间序列分类和聚类、时间序列异常检测等领域;多变量时间序列异常检测作为数据挖掘的重要研究领域,是各行各业尤其是大型工程项目密切关注的内容,当今的网络物理系统(CPS)如智能建筑、工厂、发电厂和数据中心都很大、很复杂,随着物联网(IOT)的出现,网络传感器和执行器在CPSs和其他系统(例如自动驾驶汽车)中的普遍使用将变得更加普遍,导致多个系统和设备通过网络自主通信并可能操作各种任务;由于许多计算机程序产品是为执行任务而设计的,它们是网络攻击的主要目标,因此,通过使用由系统生成的多变量时间序列数据的异常检测来密切监视这些系统的入侵事件行为是特别重要的;传统上异常检测的方法有统计过程控制(SPC)方法,如CUSUM、EWMA和休哈特图表(Shewhart charts),是监控工业过程质量以找出超出范围的工作状态的流行解决方案;这些传统的检测技术无法处理由现代CPS日益动态和复杂的特性所产生的多变量数据流,因此,研究人员已经超越了规范或基于签名的技术,开始利用机器学习技术来利用系统生成的大量数据,由于固有的缺乏标记数据,异常检测通常被视为无监督的机器学习任务,然而,大多数现有的无监督方法是通过线性投影和变换建立的,无法处理多元时间序列隐藏的内在相关性中的非线性,此外,大多数现有技术采用当前状态和预测的正常范围之间的简单比较来检测异常,考虑到系统的高度动态特性,这可能是不够的;因此,提供一种基于深度学习的无监督异常检测方法、基于生成对抗网络的无监督异常检测策略的一种基于深度学习的时间序列数据多元异常检测方法是非常有必要的。
发明内容
本发明的目的是为了克服现有技术的不足,而提供一种基于深度学习的无监督异常检测方法、基于生成对抗网络的无监督异常检测策略的一种基于深度学习的时间序列数据多元异常检测方法。
本发明的目的是这样实现的:一种基于深度学习的时间序列数据多元异常检测方法,所述的方法基于生成对抗网络的时间序列多元异常检测模型,所述模型包括基于LSTM-RNN的判别器和生成器、一个组合的判别和重建异常评分即DR评分,所述的方法包括以下步骤:
S1:将预先准备的多元时间序列数据集输入到生成对抗网络中,生成器以来自随机潜在空间的序列作为其输入来生成假时间序列,并将生成的序列样本传递给判别器,判别器将试图将生成的即“fake”数据序列与实际的即“real”正常训练数据序列区分开来;
S2:训练同时考虑整个变量集,以便将变量之间的潜在交互捕获到模型中;
S3:基于从实时空间到GAN潜在空间的映射,利用实时测试样本和重建样本之间的残差;
S4:测试样本被映射回潜在空间,以基于由生成器重建的测试样本和实际测试样本之间的差异来计算相应的重建损失,同时,测试样本也被送到训练好的判别器,以计算判别损失;
S5:利用大量测试样本不断迭代执行步骤S1至S4,使用判别和重建异常评分即DR评分来组合步骤S4中这两种损失,以检测数据中的潜在异常,直至所述生成对抗网络的训练结果满足预期条件。
所述的基于生成对抗网络的时间序列多元异常检测模型的基础网络模型结构为GAN、LSTM-RNN。
所述的S2在判别前使用滑动窗口将多元时间序列分成子序列,为了确定子序列表示的最佳窗口长度,使用不同的窗口大小来捕获不同分辨率下的系统状态。
所述的S4包括计算判别损失和计算重建损失,其中所述的计算判别损失具体为:由于经过训练的判别器D能够以高灵敏度区分假数据即异常数据和真实数据,因此可以作为异常检测的直接工具;
所述的计算重建损失具体为:从潜在空间采样一个随机集Z1,并通过将其送到生成器来获得重构的原始样本然后用误差函数得到的梯度来更新潜在空间中的样本,经过足够多的迭代循环,使得误差足够小,然后将样本记录为测试样本潜在空间中的对应映射,得到基于重建的异常检测损失。
所述的S5中利用综合判别损失和重建损失的异常检测评分计算综合误差,使用基于Adam优化器和梯度下降优化器的小批量随机优化来更新模型参数。
本发明的有益效果:本发明为一种基于深度学习的时间序列数据多元异常检测方法,本发明提出了一种新的多元异常检测策略(MGAN),采用GAN(MGAN)建模多个数据流之间的复杂多元相关性,以检测异常;MGAN架构通过采用长短期记忆递归神经网络(LSTM-RNN)作为生成对抗网络框架中的基本模型(即生成器和判别器)来捕获时间序列分布的时间相关性,从而适应了之前为图像相关应用开发的GAN框架来分析多元时间序列数据;提出GAN的判别器和发生器来检测异常,使用一个新的异常分数,该分数结合了每个测试样本的判别结果和重建残差,该方法在检测由网络攻击引起的异常方面优于现有方法;本发明具有基于深度学习的无监督异常检测方法、基于生成对抗网络的无监督异常检测策略的优点。
附图说明
图1为本发明的MGAN的网络结构。
图2为本发明的关于数据集的一般信息示意图。
图3为本发明的不同传输阶段生成样本的比较示意图。
图4为本发明的训练迭代中多变量和单变量样本的MMD值对比示意图。
图5为本发明的不同数据集的异常检测分析示意图。
具体实施方式
下面结合附图对本发明做进一步的说明。
实施例1
如图1-5所示,一种基于深度学习的时间序列数据多元异常检测方法,所述的方法基于生成对抗网络的时间序列多元异常检测模型,所述模型包括基于LSTM-RNN的判别器和生成器、一个组合的判别和重建异常评分即DR评分,所述的方法包括以下步骤:
S1:将预先准备的多元时间序列数据集输入到生成对抗网络中,生成器以来自随机潜在空间的序列作为其输入来生成假时间序列,并将生成的序列样本传递给判别器,判别器将试图将生成的即“fake”数据序列与实际的即“real”正常训练数据序列区分开来;
S2:训练同时考虑整个变量集,以便将变量之间的潜在交互捕获到模型中;
S3:基于从实时空间到GAN潜在空间的映射,利用实时测试样本和重建样本之间的残差;
S4:测试样本被映射回潜在空间,以基于由生成器重建的测试样本和实际测试样本之间的差异来计算相应的重建损失,同时,测试样本也被送到训练好的判别器,以计算判别损失;
S5:利用大量测试样本不断迭代执行步骤S1至S4,使用判别和重建异常评分即DR评分来组合步骤S4中这两种损失,以检测数据中的潜在异常,直至所述生成对抗网络的训练结果满足预期条件。
在本实施例中,基于生成对抗网络的异常检测,时间序列异常检测的基本任务是识别测试数据是否符合正态数据分布;在各种应用领域中,不一致的点被称为异常、异常值、入侵、故障或污染物;图1描述了所提出的MGAN的整体架构;MGAN的网络结构:首先,为了处理时间序列数据,将GAN的生成器和判别器构造为两个长短期递归神经网络LSTM-RNN,如图1上半部分所示,遵循典型的GAN框架,生成器G以来自随机潜在空间的序列作为其输入来生成假时间序列,并将生成的序列样本传递给判别器D,判别器D将试图将生成的(即“fake”)数据序列与实际的(即“real”)正常训练数据序列区分开来;
MGAN框架不是独立处理每个数据流,而是同时考虑整个变量集,以便将变量之间的潜在交互捕获到模型中,在判别前用滑动窗口将多元时间序列分成子序列,为了确定子序列表示的最佳窗口长度,使用不同的窗口大小来捕获不同分辨率下的系统状态,即,Sw=30×i,i=1,2,...,10;
与标准GAN框架中一样,基于D的输出更新D和G的参数,使得判别器可以被训练为尽可能敏感,可以将正确的标签分配给真实和虚假序列,而生成器将被训练成在足够多轮迭代后很可能误导判别器(即误导D将真实标签分配给假序列);通过能够生成真实的样本,生成器G将已经捕获了训练序列的隐藏多元分布,并且可以被视为正常状态下系统的隐式模型,同时,得到的判别器D也已经被训练成能够以高灵敏度区分生成假数据即(异常数据)和真实数据;
利用G和D进行异常检测任务,方法是:一、重建:基于从实时空间到GAN潜在空间(Latent Space)的映射,利用实时测试样本和重建样本之间的残差;二、判别:使用判别器D对时间序列进行分类;在图1的下半部分描述,如图所示,测试样本被映射回潜在空间,以基于重建的测试样本(由生成器G)和实际测试样本之间的差异来计算相应的重建损失,同时,测试样本也被送到训练好的判别器D,以计算判别损失,注意,测试多元时间序列在被馈送到检测模型之前,通过滑动窗口被类似地分成一组子序列,提出一种新的判别和重建异常评分(DR-Score)来组合这两种损失,以检测数据中的潜在异常。
本发明为一种基于深度学习的时间序列数据多元异常检测方法,本发明提出了一种新的多元异常检测策略(MGAN),采用GAN(MGAN)建模多个数据流之间的复杂多元相关性,以检测异常;MGAN架构通过采用长短期记忆递归神经网络(LSTM-RNN)作为生成对抗网络框架中的基本模型(即生成器和判别器)来捕获时间序列分布的时间相关性,从而适应了之前为图像相关应用开发的GAN框架来分析多元时间序列数据;提出GAN的判别器和发生器来检测异常,使用一个新的异常分数,该分数结合了每个测试样本的判别结果和重建残差,该方法在检测由网络攻击引起的异常方面优于现有方法;本发明具有基于深度学习的无监督异常检测方法、基于生成对抗网络的无监督异常检测策略的优点。
实施例2
如图1-5所示,一种基于深度学习的时间序列数据多元异常检测方法,所述的方法基于生成对抗网络的时间序列多元异常检测模型,所述模型包括基于LSTM-RNN的判别器和生成器、一个组合的判别和重建异常评分即DR评分,所述的方法包括以下步骤:
S1:将预先准备的多元时间序列数据集输入到生成对抗网络中,生成器以来自随机潜在空间的序列作为其输入来生成假时间序列,并将生成的序列样本传递给判别器,判别器将试图将生成的即“fake”数据序列与实际的即“real”正常训练数据序列区分开来;
S2:训练同时考虑整个变量集,以便将变量之间的潜在交互捕获到模型中;
S3:基于从实时空间到GAN潜在空间的映射,利用实时测试样本和重建样本之间的残差;
S4:测试样本被映射回潜在空间,以基于由生成器重建的测试样本和实际测试样本之间的差异来计算相应的重建损失,同时,测试样本也被送到训练好的判别器,以计算判别损失;
S5:利用大量测试样本不断迭代执行步骤S1至S4,使用判别和重建异常评分即DR评分来组合步骤S4中这两种损失,以检测数据中的潜在异常,直至所述生成对抗网络的训练结果满足预期条件。
所述的基于生成对抗网络的时间序列多元异常检测模型的基础网络模型结构为GAN、LSTM-RNN。
所述的S2在判别前使用滑动窗口将多元时间序列分成子序列,为了确定子序列表示的最佳窗口长度,使用不同的窗口大小来捕获不同分辨率下的系统状态。
所述的S4包括计算判别损失和计算重建损失,其中所述的计算判别损失具体为:由于经过训练的判别器D能够以高灵敏度区分假数据即异常数据和真实数据,因此可以作为异常检测的直接工具;
所述的计算重建损失具体为:从潜在空间采样一个随机集Z1,并通过将其送到生成器来获得重构的原始样本然后用误差函数得到的梯度来更新潜在空间中的样本,经过足够多的迭代循环,使得误差足够小,然后将样本记录为测试样本潜在空间中的对应映射,得到基于重建的异常检测损失。
所述的S5中利用综合判别损失和重建损失的异常检测评分计算综合误差,使用基于Adam优化器和梯度下降优化器的小批量随机优化来更新模型参数。
在本实施例中,本发明提供的基于深度学习的时间序列数据多元异常检测包括数据准备和系统架构、训练和测试多元时间序列、利用GAN训练的生成器和判别器来检测基于重建和判别损失的异常:
步骤1:数据集的准备
本发明使用的数据集是水处理和分配系统数据集;SWaT安全水处理(SWaT)系统是一个用于水处理的运行试验台代表大城市中大型现代水处理厂的小型版本,整个试验台的设计与新加坡公用事业委员会进行了协调,以确保整个物理过程和控制系统与现场的实际系统非常相似,SWaT数据集收集过程持续了11天,系统每天24小时运行,在2016年SWaT数据收集过程的最后4天内,总共发起了36次攻击,通常,受攻击点包括传感器(如水位传感器、流量计等)和执行器(如阀门、泵等);
WADI与通常位于安全位置的水处理系统工厂不同,分配系统由横跨大面积的众多管道组成,这大大增加了配电网发生物理攻击的风险,配水(WADI)试验台是SWaT系统的延伸,通过吸收一部分SWaT反渗透水和原水,形成完整、真实的水处理、储存和分配网络,WADI数据收集过程包括16天的连续操作,其中14天为数据收集在正常操作和2天攻击场景下收集,在数据收集过程中,收集了所有网络流量、传感器和执行器数据;
SWaT/WADI数据收集过程持续了11/16天,系统每天24小时运行,在最后的4/2天内,在试验台上以不同的意图和不同的持续时间(从几分钟到一小时)实施了各种网络攻击,在发动另一次攻击之前,允许系统达到其正常工作状态,或者连续发动攻击,关于这两个数据集的一些一般信息总结如图2所示;
网络攻击的目标:攻击者的目标是操纵电厂的正常运行,假设攻击者可以远程访问SWaT和WADI的SCADA系统,并了解系统的工作原理,在SWaT和WADI系统上进行了各种实验,以调查网络攻击和攻击各自的系统响应,总共,分别向SWaT和WADI插入了36次攻击和15次攻击,为了进行说明,为每个系统解释一个示例性攻击;
一个攻击目标是将SWaT的性能从标称水平(例如,5加仑/分钟)降低到较低的值;这种攻击可能是通过损坏传感器LIT401发起的,该传感器测量P4中反渗透(RO)给水箱的水位,通过攻击LIT401,攻击者将RO给水箱的液位从800mm降至200mm,这将导致PLC-4停止泵P401,并减少泵送至P5的水量,最后,攻击传感器LIT401的负面影响反映在RO装置的输出水流量上(由FIT501在P5中测量的值),最后,攻击传感器LIT401的负面影响反映在输出上反渗透装置的水流量(由FIT501在P5中测量的值),因此,在观察期间,处理过的水量减少了;
另一个攻击目标是篡改P1中水位传感器的读数;攻击者将传感器读数从油箱容量的76%更改为10%,表示“低状态”,因此,PLC-1(P1的控制器)发出命令,打开进水泵,从ADI回流、SWaT输出或PUB入口吸入更多水,同时,由于原水箱中的虚假低水位状态,P1至P2的供水被切断,而P2继续向用户水箱供水,因此,P2中水箱的水位降低,一旦高位水箱(P2)中的水位达到低水位,用户水箱(P2)的供水就被切断,因此,通过将P1中水位传感器的读数篡改为低水位,P1的水箱中会出现溢流,P2中不会出现水流;
在SWaT数据集中,对51个变量(传感器读数和执行器状态)进行了11天的测量,在原始数据中,在正常工作条件下采集了496800个样本(前7天采集的数据),随后在系统中插入各种网络攻击时采集了449919个样本,同样,对于WADI数据集,在前14天的正常工作条件下,收集了103个变量的789371个样本,在过去2天的系统中插入各种网络攻击时,收集了172801个样本,对于这两个数据集,从训练数据(正常数据)中消除了前21600个样本,因为首次打开系统时,需要5-6小时才能达到稳定;
在异常检测过程中,通过在原始数据流上采用滑动窗口,将原始长多序列细分为更小的时间序列,由于确定子序列表示的最佳窗口长度是时间序列研究中的一个重要课题,因此尝试一组不同的窗口大小来捕获不同分辨率下的系统状态,即Sw=30×i,i=1,2,...,10,为了捕获SWaT数据的相关动态,将窗口应用于移位长度Ss=100的正常和测试数据集;
步骤2:网络搭建
使用深度为3的LSTM网络和100个隐藏(内部)单元作为生成器,判别器的LSTM网络相对简单,有100个隐藏单元,深度为1,考虑到潜在空间维数的问题,尝试不同的维数,发现较高的潜在空间维数通常会生成更好的样本,尤其是在生成多元序列时,本发明将潜在空间的维度设置为15;
步骤3:评价指标选取
使用标准指标,即精度(Pre)、召回率(Rec)和F1分数来评估MGAN的异常检测性能:
Figure BDA0003953494900000111
式中,TP表示被预测为正类的正样本;FP表示被预测为正类的负样本;FN表示被预测为负类的正样本;
步骤4:训练和测试多元时间序列
给定训练数据集
Figure BDA0003953494900000112
每个数据流有T个数据流和M个测量值,以及一个测试数据集
Figure BDA0003953494900000113
每个数据流有T个数据流和N个测量值,任务是为测试数据集的测量值分配二进制(0表示正常,1表示异常)标签,注意,这里假设训练数据集中的所有点都是正常的;
为了有效地从X中学习,应用具有窗口大小和步长的滑动窗口来将多变量时间序列分成一组多变量子序列
Figure BDA0003953494900000114
其中
Figure BDA0003953494900000115
是子序列的数量,类似地,Z={zi,i=1,2,...,m}是一组多元子序列取自一个随机空间,通过向GAN模型输入X和Z,用下面的两人极小极大博弈来训练生成器和判别器:
Figure BDA0003953494900000116
式中,εx~Pdata(X)表示判别器对真实样本判断结果的期望;
Figure BDA0003953494900000117
表示判别器对虚假样本判断结果的期望;
步骤5:N的生成器G和判别器D都是长-短期递归神经网络(LSTM-RNN),经过足够多轮的训练迭代后,可以使用经过训练的判别器Drnn和生成器Grnn来检测Xtest中的异常,并使用一个组合的判别和重建异常评分(DR评分);测试数据集
Figure BDA0003953494900000118
类似地被划分为具有滑动窗口的多变量子序列:
Figure BDA0003953494900000119
其中
Figure BDA00039534949000001110
使用测试数据集的计算DR分数(DRS),将测试数据集中的每个子序列标记如下:
Figure BDA00039534949000001111
式中,
Figure BDA00039534949000001112
是测试数据集的标签向量,其中非零值表示检测到异常,即异常分数的交叉熵H(.,.)误差高于预定值τ;
步骤6:利用GAN训练的生成器和判别器来检测基于重建和判别损失的异常,使用GAN的一个优点是,将同时训练一个判别器和一个生成器,利用判别器和生成器,这两个生成器已经联合训练来代表正常的解剖变异性,用于识别异常;
(一)基于判别的异常检测:由于经过训练的判别器D能够以高灵敏度区分假数据(即异常数据)和真实数据,因此它可以作为异常检测的直接工具;
(二)基于重建的异常检测:经过训练的生成器G能够生成真实样本,实际上是从潜在空间到真实数据空间的映射:G(Z):Z→+,可以将其视为反映正常数据分布的一个莫名其妙的系统模型,由于潜在空间的平滑过渡,如果潜在空间中的输入接近,则发生器输出类似的样本,因此,如果可以在测试数据Xtes的潜在空间中找到对应的Zk,则Xtes和G(Zk)(重构测试样本)之间的相似性可以解释Xtes遵循G所反映的分布的程度,换句话说,也可以使用Xtes和G(Zk)之间的残差来识别测试数据中的异常;
为了找到与测试样本相对应的最佳ZK,首先从潜在空间采样一个随机集Z1,并通过将其馈送到生成器(如图1的右部分所示)来获得重构的原始样本G(Z1),然后,用由Xtes和G(Z)定义的误差函数得到的梯度来更新潜在空间中的样本:
Figure BDA0003953494900000121
其中,为了简单起见,序列之间的相似性可以定义为协方差;
经过足够多的迭代循环,使得误差足够小,然后将样本记录为测试样本潜在空间中的对应映射,测试样品在时间t的剩余量计算如下:
Figure BDA0003953494900000122
其中
Figure BDA0003953494900000123
是n个变量在时间步t的测量值,换句话说,异常检测损失为:
Figure BDA0003953494900000131
基于上述描述,GAN训练的判别器和发生器将输出一组异常每个测试数据子序列的检测损失
Figure BDA0003953494900000132
通过将子序列的异常检测损失映射回原始时间序列,计算一个称为灾难恢复评分(DRS)的综合判别和重建异常评分:
Figure BDA0003953494900000133
lct=count(j,s∈{j+s=t}),这里,t∈{1,2,...,N},j∈{1,2,...,n},s∈{1,2,...,Sw},在这项工作中,使用基于Adam优化器和梯度下降优化器的小批量随机优化来更新模型参数;
步骤7:实验结果和分析
评估MGAN在上述两个数据集SWaT和WADI上的异常检测性能,如前所述,子序列被馈入MGAN模型,请注意,为了减少计算的负载,通过PCA减少原始维度,根据PC方差率在中选择PC维度,为了比较异常检测的性能,还应用PCA、K近邻(KNN)、特征打包(FB)和自动编码器(AE)等数据集上流行的无监督异常检测方法;如图3所示,GAN在早期生成的样本具有很大的随机性,而在后期生成的样本几乎完全符合原始样本的分布,为每个数据集绘制四个变量作为可视化示例;
步骤8:将MGAN生成的多变量数据样本与CPS中的实际样本进行可视化,如图3所示,GAN生成的样本明显不同于早期学习阶段的训练数据(iteration=10),然而,经过足够的迭代次数后,生成器能够为系统的各种传感器和执行器输出真实的多变量样本,注意,在这个可视化示例中,没有对训练样本(真实样本)应用PCA投影;
步骤9:此外,使用最大平均差异(MMD)来评估GAN模型是否已经了解了训练数据的分布,MMD是矩匹配网络的训练目标之一:
Figure BDA0003953494900000141
步骤10:绘制GAN训练迭代中的MMD值,如图4所示,以生成两个数据集的多变量样本,可以观察到,两个数据集的MMD值在30-50次迭代后趋于收敛到较小的值,还比较了单变量样本生成的MMD值,多变量样本的早期MMD值低于单变量样本,且多变量样本的MMD也比单变量样本收敛更快,这表明使用多个数据流有助于GAN模型的训练;
步骤11:测试本发明在不同数据集的异常检测分析:在图5中,用下划线显示了流行的无监督方法(PCA、KNN、FB和AE)的最佳性能,并用粗体显示了总体最佳性能,用多个子序列长度分辨率测试了MGAN;
从图5中,观察到以下情况:对于SWaT数据集,由于F_1平衡了精度和召回率,MGAN侧重于最佳F_1选择的结果,MGAN在准确率和召回率方面分别比四种常用方法的最佳性能高26%和11%;事实上,MGAN在这里实现了近100%的准确率和召回率,在没有虚假警报的情况下正确检测SWaT的所有匿名点;对于WADI数据集,MGAN的召回率略低于AE(3.02%);然而,在最佳召回案例中,基于召回值,MGAN的表现优于其他;虽然MGAN的精确性似乎很差,但它可以达到接近100%的召回率;这在网络攻击设置中是可以接受的,因为检测所有入侵的假阳性成本是可以容忍的(如前面所述);相比之下,没有一种流行的检测方法能够实现令人满意的召回,在这两个数据集中,MGAN在SWaT中的表现明显更好;如图2的“N_rate”所示,WADI数据集比SWaT数据集更不平衡(即,更多的实际负片),这导致更多的误报,此外,还注意到,如图2所示,WADI数据集的特征维度大于SWaT(WADI有103个变量,而SWaT只有51个变量);
图5中,MGAN*所在行表示按最佳精度选择的结果,MGAN**表示按最佳召回率选择的结果,MGAN***表示按最佳F-1选则的结果;
在这里,将MGAN应用于更平衡的数据集KDDCUP99数据集,在该数据集上,MGAN的F_1可以达到0.89,准确率大于85%,召回率大于94%,MGAN在SWaT和WADI数据集(不平衡数据集)上的表现均优于EGAN,这是因为MGAN中使用的LSTM-RNN能够比EGAN中使用的CNN更好地学习复杂的时间序列,事实上,从EGAN与其他非GAN方法的相对性能来看,如果不适当地建模时间相关性,则基于GAN的异常检测无法与其他传统方法竞争;
本发明提出了一种新颖的MGAN(基于GAN的多元异常检测)框架来在多元时间序列数据上训练LSTM-RNN,然后利用判别器和生成器使用新颖的判别和重建异常分数(DR-Score),在来自安全水处理试验台(SWaT)和配水系统(WADI)的两个复杂网络攻击CPS数据集上测试了MGAN,并得示出优于现有无监督检测方法的性能。
本发明为一种基于深度学习的时间序列数据多元异常检测方法,本发明提出了一种新的多元异常检测策略(MGAN),采用GAN(MGAN)建模多个数据流之间的复杂多元相关性,以检测异常;MGAN架构通过采用长短期记忆递归神经网络(LSTM-RNN)作为生成对抗网络框架中的基本模型(即生成器和判别器)来捕获时间序列分布的时间相关性,从而适应了之前为图像相关应用开发的GAN框架来分析多元时间序列数据;提出GAN的判别器和发生器来检测异常,使用一个新的异常分数,该分数结合了每个测试样本的判别结果和重建残差,该方法在检测由网络攻击引起的异常方面优于现有方法;本发明具有基于深度学习的无监督异常检测方法、基于生成对抗网络的无监督异常检测策略的优点。

Claims (5)

1.一种基于深度学习的时间序列数据多元异常检测方法,其特征在于:所述的方法基于生成对抗网络的时间序列多元异常检测模型,所述模型包括基于LSTM-RNN的判别器和生成器、一个组合的判别和重建异常评分即DR评分,所述的方法包括以下步骤:
S1:将预先准备的多元时间序列数据集输入到生成对抗网络中,生成器以来自随机潜在空间的序列作为其输入来生成假时间序列,并将生成的序列样本传递给判别器,判别器将试图将生成的即“fake”数据序列与实际的即“real”正常训练数据序列区分开来;
S2:训练同时考虑整个变量集,以便将变量之间的潜在交互捕获到模型中;
S3:基于从实时空间到GAN潜在空间的映射,利用实时测试样本和重建样本之间的残差;
S4:测试样本被映射回潜在空间,以基于由生成器重建的测试样本和实际测试样本之间的差异来计算相应的重建损失,同时,测试样本也被送到训练好的判别器,以计算判别损失;
S5:利用大量测试样本不断迭代执行步骤S1至S4,使用判别和重建异常评分即DR评分来组合步骤S4中这两种损失,以检测数据中的潜在异常,直至所述生成对抗网络的训练结果满足预期条件。
2.如权利要求1所述的一种基于深度学习的时间序列数据多元异常检测方法,其特征在于:所述的基于生成对抗网络的时间序列多元异常检测模型的基础网络模型结构为GAN、LSTM-RNN。
3.如权利要求1所述的一种基于深度学习的时间序列数据多元异常检测方法,其特征在于:所述的S2在判别前使用滑动窗口将多元时间序列分成子序列,为了确定子序列表示的最佳窗口长度,使用不同的窗口大小来捕获不同分辨率下的系统状态。
4.如权利要求1所述的一种基于深度学习的时间序列数据多元异常检测方法,其特征在于:所述的S4包括计算判别损失和计算重建损失,其中所述的计算判别损失具体为:由于经过训练的判别器D能够以高灵敏度区分假数据即异常数据和真实数据,因此可以作为异常检测的直接工具;
所述的计算重建损失具体为:从潜在空间采样一个随机集Z1,并通过将其送到生成器来获得重构的原始样本然后用误差函数得到的梯度来更新潜在空间中的样本,经过足够多的迭代循环,使得误差足够小,然后将样本记录为测试样本潜在空间中的对应映射,得到基于重建的异常检测损失。
5.如权利要求1所述的一种基于深度学习的时间序列数据多元异常检测方法,其特征在于:所述的S5中利用综合判别损失和重建损失的异常检测评分计算综合误差,使用基于Adam优化器和梯度下降优化器的小批量随机优化来更新模型参数。
CN202211456571.7A 2022-11-21 2022-11-21 一种基于深度学习的时间序列数据多元异常检测方法 Pending CN115905991A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211456571.7A CN115905991A (zh) 2022-11-21 2022-11-21 一种基于深度学习的时间序列数据多元异常检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211456571.7A CN115905991A (zh) 2022-11-21 2022-11-21 一种基于深度学习的时间序列数据多元异常检测方法

Publications (1)

Publication Number Publication Date
CN115905991A true CN115905991A (zh) 2023-04-04

Family

ID=86490775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211456571.7A Pending CN115905991A (zh) 2022-11-21 2022-11-21 一种基于深度学习的时间序列数据多元异常检测方法

Country Status (1)

Country Link
CN (1) CN115905991A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116415201A (zh) * 2023-06-07 2023-07-11 哈尔滨工业大学(威海) 基于深度同心学习的船舶主动力异常检测方法
CN116996167A (zh) * 2023-09-27 2023-11-03 北京航空航天大学 一种低复杂度的面向未知连续信源的两阶段异常检测方法
CN117788396A (zh) * 2023-12-18 2024-03-29 江苏省特种设备安全监督检验研究院 一种基于深度学习的dr图像缺陷智能识别算法
CN117792750A (zh) * 2023-12-28 2024-03-29 湖北华中电力科技开发有限责任公司 一种基于生成对抗网络的信息物理系统异常检测方法
CN118094454A (zh) * 2024-04-29 2024-05-28 国网山东省电力公司嘉祥县供电公司 一种配电网负荷数据异常检测方法及系统
CN118364409A (zh) * 2024-06-14 2024-07-19 中南大学 一种基于时空序列预测的异常探测方法及相关设备
CN118378024A (zh) * 2024-06-21 2024-07-23 杭州广立微电子股份有限公司 一种基于晶圆制造的异常检测方法、装置和电子装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116415201A (zh) * 2023-06-07 2023-07-11 哈尔滨工业大学(威海) 基于深度同心学习的船舶主动力异常检测方法
CN116415201B (zh) * 2023-06-07 2023-08-15 哈尔滨工业大学(威海) 基于深度同心学习的船舶主动力异常检测方法
CN116996167A (zh) * 2023-09-27 2023-11-03 北京航空航天大学 一种低复杂度的面向未知连续信源的两阶段异常检测方法
CN116996167B (zh) * 2023-09-27 2023-12-22 北京航空航天大学 一种低复杂度的面向未知连续信源的两阶段异常检测方法
CN117788396A (zh) * 2023-12-18 2024-03-29 江苏省特种设备安全监督检验研究院 一种基于深度学习的dr图像缺陷智能识别算法
CN117792750A (zh) * 2023-12-28 2024-03-29 湖北华中电力科技开发有限责任公司 一种基于生成对抗网络的信息物理系统异常检测方法
CN118094454A (zh) * 2024-04-29 2024-05-28 国网山东省电力公司嘉祥县供电公司 一种配电网负荷数据异常检测方法及系统
CN118364409A (zh) * 2024-06-14 2024-07-19 中南大学 一种基于时空序列预测的异常探测方法及相关设备
CN118378024A (zh) * 2024-06-21 2024-07-23 杭州广立微电子股份有限公司 一种基于晶圆制造的异常检测方法、装置和电子装置

Similar Documents

Publication Publication Date Title
CN115905991A (zh) 一种基于深度学习的时间序列数据多元异常检测方法
US11507049B2 (en) Method for detecting abnormity in unsupervised industrial system based on deep transfer learning
US12086701B2 (en) Computer-implemented method, computer program product and system for anomaly detection and/or predictive maintenance
Jiang et al. Data-driven two-dimensional deep correlated representation learning for nonlinear batch process monitoring
CN114386521B (zh) 时间序列数据的异常检测方法、系统、设备和存储介质
CA3037326A1 (en) Sparse neural network based anomaly detection in multi-dimensional time series
CN112528519A (zh) 发动机质量预警服务的方法、系统、可读介质和电子设备
CN112087443B (zh) 工业传感网络信息物理攻击下的传感数据异常检测方法
Hong et al. The entropy and PCA based anomaly prediction in data streams
US20230221684A1 (en) Explaining Machine Learning Output in Industrial Applications
KR102366787B1 (ko) 슬라이딩 윈도우 기법을 이용한 제조설비의 실시간 다변량 이상감지 시스템
CN117708738A (zh) 基于多模态变量相关性的传感器时序异常检测方法及系统
CN117792750A (zh) 一种基于生成对抗网络的信息物理系统异常检测方法
CN117454266A (zh) 一种多元时间序列异常检测模型
CN116402777A (zh) 基于机器视觉的电力设备检测方法及系统
Giri et al. Explainable Machine Learning Approach to Yield and Quality Improvements Using Deep Topological Data Analytics
Abdelli et al. Risky event classification leveraging transfer learning for very limited datasets in optical networks
CN114638039A (zh) 一种基于低秩矩阵恢复的结构健康监测特征数据解释方法
Maleki et al. Robust hierarchical clustering for novelty identification in sensor networks: With applications to industrial systems
CN112612260A (zh) 一种基于动态估计的深度自编码网络过程监控方法
Choi et al. Self-Supervised Time-Series Anomaly Detection Using Learnable Data Augmentation
Wang et al. Improved fault detection using kantorovich distance and neighborhood preserving embedding method
EP4141743A1 (en) Computer-implemented method for generating a trained machine learning model
Malik et al. Automated system for concrete damage classification identification using Naïve-Bayesian classifier
CN117309446A (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