基于图预测网络和自动编码器的异常检测方法及系统
文献发布时间:2023-06-19 18:37:28
技术领域
本发明属于异常检测技术领域,更具体地说,涉及一种基于图预测网络和自动编码器的异常检测方法及系统。
背景技术
工业自动化、连接技术、互联网应用现今快速发展,信息系统生成的数据几乎呈几何倍数增长,从庞大的产生数据中获取有价值的信息成为数据挖掘中重要研究方向。在工业系统中,从各网络物理系统的互联网设备中收集到大量时间序列数据,诊断出异常状态并发现异常原因;在信息安全邻域中,由异常检测技术发现潜在异常网络流量浮动、恶意攻击、非法操作等异常行为;在医疗领域中,心电图的骤变以及检查报告片异常部位的识别等;在金融领域中,异常检测技术多用于欺诈性的信用卡以及欺诈信用卡的使用等行为。异常检测技术应用广泛,因此,快速准确的异常检测技术至关重要。
异常检测方法一般分为两类,一类是经典传统的异常检测方法,包括基于线性模型的方法、基于距离的方法、支持向量机的方法、基于密度的方法。然而,目标系统变的更大和复杂,传统的异常检测方法具有局限性;另一类异常检测方法则是基于深度学习技术进行异常检测,深度学习技术具有强大的表征学习能力,在计算机视觉、自然语言处理等均有领域涉及,并且能够处理高维数据、时间序列数据、空间数据都有着优异的表现,逐渐成为时间序列异常检测技术的首选。因此,充分利用深度学习技术学习时间序列数据的特征,从不同的维度进行特征提取,使能够高效准确的识别出异常。
发明内容
为了解决上述技术问题至少之一,根据本发明的一方面,提供了一种基于图预测网络和自动编码器的异常检测方法,包括如下步骤:
S1、对时间序列数据进行划分操作,获得以传感器为索引的三维时间序列数据集X;
S2、将所述的三维时间序列数据集X,经过自动编码器以及注意力网络对数据集进行时间依赖性学习,得出得到重构数据集X
S3、基于所述重构数据集X
S4、基于重构数据集X
S5、基于所述三维时间序列数据集X与重构数据集S,计算误差与异常分数;
S6、基于异常分数计算每个批量对应的阈值ε;
S7、将异常分数与对应的阈值ε比较,判断异常。
进一步的,步骤S1中:
三维时间序列数据集X(t)为对原始时间序列数据Г进行归一化处理以及下采样处理后得到的数据集。
进一步的,步骤S1中:
原始时间序列数据Г={W
在完成原始数据Г的归一化后,再对归一化的时间序列数据下采样处理,对原始数据每10秒进行一次采样:
W
在完成原始数据Г的归一化以及下采样后,对时间序列数据进行滑动窗口划分,以传感器为索引对象,按照时间顺序,对于t时刻往前选取长度为k的数据,进行时间戳长度为k的滑动窗口划分,每一窗口表示为X
进一步的,步骤S2中:
三维时间序列数据集X通过由编码网络和解码网络构成基于Linear全连接的自编码器以及基于自注意力的简化外部注意力机制架构得出时间依赖性的重构数据X
F=query(X)
attn=key(F)
attn=softmax(attn,dim=1)
attn=norm(attn,dim=2)
out=value(attn)
X
其中,query表示自注意力机制中的查询、key表示自注意力机制中的键、value自注意力机制中的值,都是该时序信号本身,通过相关模块进行编码,norm表示进行标准化。
进一步的,步骤S3中:
将所述经过时间依赖性处理的重构数据集X
A
其中,C
进一步的,步骤S4中:将重构数据集X
N(i)={j,A
其中,
进一步的于,步骤S5中:通过重构数据集S与三维时间序列数据集X在t时刻的误差值标准化,再将每个传感器的数值最大聚合得到t时刻整体的异常分数:
其中,Err
进一步的,步骤S6中:阈值基于异常分数计算得出,为了避免系统重复出现超参数以及出现过多的噪音,通过简单平移平均值SMA设置阈值:
进一步的,步骤S7中:当滑动窗口的异常分数y(t)>ε,所述滑动窗口被视为异常,否则视为正常数据。
根据本发明的另一方面,提供了一种基于图预测网络和自动编码器的异常检测系统,包括数据预处理模块、时间依赖性重构模块、传感器图形结构学习模块、图预测网络模块、异常分数计算模块和阈值计算模块;
所述数据预处理模块,用于对原始数据Г预处理,预处理后根据数据集的不同再采取不同滑动窗口的划分,获得一系列滑动窗口的三维时间序列数据集X;
所述时间依赖性重构模块,由全连接的自动编码器以及注意力网络架构,用于重构预处理后的三维时间序列数据集X,生成重构数据集X
所述传感器图形结构学习模块,计算与除自身以外的其他传感器的相似性,得到关系矩阵A;
所述图预测网络模块,通过将重构数据集X
所述的异常分数模块,通过计算每个传感器在t时刻预测值S与实际数值X之间的误差,并利用最大值聚合函数得到t时刻整体异常分数;
所述的阈值计算模块,利用所有传感器t时刻异常分数的均值在取平均值得到阈值,将异常分数与对应阈值的阈值进行比较,判断异常。
根据本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明的基于图预测网络和自动编码器的异常检测方法中的步骤。
根据本发明的又一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明的基于图预测网络和自动编码器的异常检测方法中的步骤。
相比于现有技术,本发明至少具有如下有益效果:
本发明以图形结构为基础,结合图预测网络和神经网络,神经网络中主要利用以全连接为基础的自编码器以简化外部注意力机制,共同构建一个异常检测模型,采用以全连接为基础的自编码器以简化外部注意力机制的神经网络学习时间序列数据的时间依赖性,同时以全连接模块组成自编码器中的在不降低异常检测效率的同时学习时间特征以及能够起到防止过拟合的作用,并采用以自注意力为基础的简化外部注意力机制,能后捕获单个样本中的长期相关性并且能够防止出现自我注意力机制中的二次复杂性。在图预测网络模块,基于时间依赖性以及各传感器依赖性的重构数据共同进行训练,能够有效提升时间序列数据异样检测的性能。在误差值进行标准化,防止传感器产生的偏差超过其他传感器以及减少超参数的使用,有效的建模时间序列异常检测模型并且提高检测异常的准确率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本发明的一些实施例,而非对本发明的限制。
图1为本发明的方法流程图;
图2为本发明基于全连接自编码器架构图示意图;
图3为本发明基于自注意力机制的简化外部注意力机制示意图;
图4为本本发明时间依赖性处理架构示意图;
图5为本本发明传感器结构学习架构示意图;
图6为本发明的实验结果示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。
除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。
如图1-6所示,
实施例1:
参见图1,具体的,本发明包括:
步骤1:对原始时间序列数据Г进行归一化处理以及下采样处理,其中原始时间序列数据Г={W
在完成原始数据Г的归一化后,再对归一化的时间序列数据下采样处理,对原始数据每10秒进行一次测量:
w
在完成原始数据Г的归一化以及下采样后,对时间序列数据进行滑动窗口划分,以传感器为索引对象,按照时间顺序,对于t时刻往前选取长度为k的数据,进行时间戳长度为k的滑动窗口划分,每一窗口表示为X
步骤2中,通过由编码网络和解码网络构成基于Linear全连接的自编码器以及基于自注意力的简化外部注意力机制架构,如图4,得出时间依赖性的重构数据X
F=query(X)
attn=key(F)
attn=softmax(attn,dim=1)
attn=norm(attn,dim=2)
out=value(attn)
X
其中,query表示自注意力机制中的查询、key表示自注意力机制中的键、value自注意力机制中的值,都是该时序信号本身,通过相关模块进行编码,norm表示进行标准化。
步骤3,将所述经过时间依赖性处理的数据X
A
其中,C
步骤4,将重构数据X
N(i)={j,A
其中,
步骤5,通过重构数据S与原始数据X在t时刻的误差值进行标准化,利用每个传感器的数值最大聚合得到t时刻整体的异常分数:
其中,Err
步骤6,所述的阈值基于异常分数计算得出,为了避免系统复杂以及出现过多的噪音,通过简单平移平均值SMA设置阈值:
步骤7,滑动窗口的异常分数y(t)>ε,该窗口被视为异常,否则视为正常数据。
具体实施例:
本次实验在三个真实公开数据集上进行,三个数据集分别是安全水处理(SWaT)、航天遥测值(MSL)、水分配处理(WADI)。其中SWaT数据集是来自新加坡公共事业委员会协调的水处理实验台收集的时间序列数据集,MSL是由NASA收集的航天器遥测值数据,WADI数据集是由一个大量配水管道组成的配水系统收集的时间序列数据
本实验在一台2080Ti显卡的服务器下完成,实验包括了与其他同类方法的对比实验
实验对SWaT数据集以及MSL数据集选取滑动窗口时间戳k=15,WADI选取滑动窗口时间戳k=30,迭代次数epoch=100次,批大小batch=128
为了评估本发明的异常检测能力,与几种最新的异常检测方法进行比较,分别是LSTM-VAE、MSCRED、MAD-GAN、GDN、DAGMM等五种异常检测方法。经过实验得出包括基于图偏差网络与神经网络的异常检测在内的6种异常检测方法在三个公开数据集上SWaT、MSL、WADI上的实验结果,包括每种方法对应的精确率P、召回率R以及F1分数等结果:
表1
表1展示了基于图预测网络与自动编码器的异常检测方法与其他五种对比的实验数据,可以发现,基于图偏差网络与神经网络的异常检测方法在SWaT、MSL、WADI三个数据集上均取得良好的效果,特别是在MSL数据集F1结果达到了89.95,性能明显优于其他同类。
实施例2:
本实施例的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例1的基于图预测网络和自动编码器的异常检测方法中的步骤。
本实施例的计算机可读存储介质可以是终端的内部存储单元,例如终端的硬盘或内存;本实施例的计算机可读存储介质也可以是所述终端的外部存储设备,例如终端上配备的插接式硬盘,智能存储卡,安全数字卡,闪存卡等;进一步地,计算机可读存储介质还可以既包括终端的内部存储单元也包括外部存储设备。
本实施例的计算机可读存储介质用于存储计算机程序以及终端所需的其他程序和数据,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
实施例3:
本实施例的计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例1的基于图预测网络和自动编码器的异常检测方法中的步骤。
本实施例中,处理器可以是中央处理单元,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等;存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据,存储器的一部分还可以包括非易失性随机存取存储器,例如,存储器还可以存储设备类型的信息。
本领域内的技术人员应明白,实施例公开的内容可提供为方法、系统、或计算机程序产品。因此,本方案可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本方案可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本方案是参照根据本方案实施例的方法、和计算机程序产品的流程图和/或方框图来描述的,应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合;可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
本发明所述实例仅仅是对本发明的优选实施方式进行描述,并非对本发明构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域工程技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的保护范围。