掌桥专利:专业的专利平台
掌桥专利
首页

一种注意力机制与LSTM结合检测时序数据异常方法及终端机

文献发布时间:2023-06-19 19:30:30


一种注意力机制与LSTM结合检测时序数据异常方法及终端机

技术领域

本发明涉及水电站异常数据检测技术领域,尤其涉及一种注意力机制与LSTM结合检测时序数据异常方法及终端机。

背景技术

时间序列数据从定义来说是一组具有时间特征的数据序列,通过时间维度将孤立的数据值连接起来,从而揭示了计算机软硬件的状态变化,包含更多有价值的信息。在水电站运行过程中,会产生带有时间特征的数据的各式各样的传感器时在受到外部环境的干扰下很容易产生异常。据调查显示,水电站等设备或者是大型互联网公司服务器产生停工,每秒都会造成巨大的损失。因此有效的识别和诊断出异常值是非常具有实际意义的,可以及时发现异常数据值产生预警,方便管理人员采取措施解决潜在的问题。

一般所认为的水电站运行数据异常值是与其他数据显著偏移的值,而在时序数据中由于数据随时间进行变化,新的一段时间内的数据由于变化巨大可能在过去的时间内被认为是异常数据。因此在时序数据中的异常通常被定义为不符合明确定义的正常行为模式的数据。伴随着数据维度的增加和数据量的增大,时序数据的异常很难通过肉眼观察出来,因此对于水电站时序数据的异常检测工作使一个非常重要且困难的问题。

传统方法对于水电站异常数据的检测通常有以下几种:基于统计的模型,如基于3sigma准则的异常检测算法,通过历史数据的分布来确定目标检测数据的合理波动范围;基于聚类的模型,如K-means算法,通过将正常数据进行聚类从而找到异常值与正常值的界进行判断;基于分类的异常检测算法,如OC-SVM,通过找到正常值与异常值之间的超平面进行判断。当数据量小且维度较低时,这些方法均表现出了较好的性能。但是随着数据量的快速膨胀,以及维度的不断攀升,这些方法已经不能够满足水电站异常数据的检测。

随着算力的提升,各种深度学习模型层出不穷,在数据挖掘中有着出色的表现。深度学习在多元数据的异常检测中主要可以分为有监督方法和无监督方法。有监督方法相较于无监督方法在性能上有所提高,但是有监督方法需要大量可用的标记训练样本,而真实世界的数据中,异常样本的数量远小于正常样本,因此无监督方法在实际应用中更加实用。在无监督方法中,基于预测或者重构数据的方法比较常用,通过对数据进行预测和重构,然后由重构误差来进行异常评分,进而对异常分数判断数据是否异常;改进此类方法则是通过挖掘数据特征之间的关系对数据进行预测,进而增强深度学习模型在数据维度过高时的学习能力,提高多元数据预测的准确性,进而提升模型的性能。仅使用深度学习模型进行预测或者重构的方法在数据维度逐渐增大时性能会逐渐下降,因此在使用预测或者重构的思想解决此问题时,必须考虑多维度之间可能存在的相互关系对结果产生的影响。

而数据维度是限制多元时间序列数据的异常检测性能的一大关键因素,在数据维度不断攀升时,现有的无监督异常检测方法表现出学习能力不足,不能完全捕获多个变量之间潜在的复杂关系,导致异常检测效果不佳。

发明内容

为了克服上述现有技术中的不足,本发明提供一种注意力机制与LSTM结合检测时序数据异常方法,方法基于LSTM的自动编码器能够学习较长序列的特征信息,注意力网络弥补了在维度过高时学习能力下降的问题。

注意力机制与LSTM结合检测时序数据异常方法包括:

步骤1:将输入数据X加入自编码器;

(11)将输入数据X映射到自编码器模型结构的变量中,然后将潜在空间中的序列进行重建;

(12)对输入数据X进行压缩编码,将高维的输入数据X用低维的向量进行表示,使得压缩后的低维向量能够保留输入数据X的典型特征;

(13)通过训练减小输入数据X和重建数据X′之间的重建误差;

(14)将输入数据X进行压缩复原,并提取关键特征,使压缩复原出的数据接近于真实的数据;

步骤2:引入注意力机制对输入数据X进行处理;

步骤3:使用重构误差计算输入数据X的异常状态;

通过ALAE模型对输入数据进行预测,检测偏离正常值的数据;

模型计算每一个传感器的单独异常分数,组合成每个时间点的异常分数,通过异常分数界定每个时间点是否出现异常数据。

进一步需要说明的是,步骤一还包括:

将输入数据X输入到遗忘门生成向量f

f

将输入数据X输入到输入门,输入门中的向量i

i

表示单元状态的更新,使用tanh作为激活函数,

遗忘门和输入门向量共同决定当前细胞的单元状态C

通过下式计算细胞的单元输出o

o

h

经LSTM处理后,编解码过程表示为:

其中

和b'为解码器中的权重矩阵和偏置量,/>

进一步需要说明的是,步骤2还包括:

定义上一时间点输入数据X的状态h={h

v

设评分函数为f:R

前后时间点向量v

使用多头注意力机制来对高维序列数据的学习能力,最终输出为:

MultiHead(Q,K,V)=Concat(head

h为总注意力头数,每个注意力头定义为:

head

其中投影是参数矩阵

进一步需要说明的是,步骤3还包括:

异常分数将t时间的数据与重构出的数据进行比较,计算时间t时刻的误差值e:

基于ALAE方式对误差值进行归一化处理:

其中使用了

计算每一时间点特征的异常分数值,对每一时间点的前β个最大的异常分数进行聚合,得到异常分数值:

在异常分数的区间内进行搜索,获得预设模型阈值;

在测试时,任一异常分数预设模型阈值的时间点均都被视为异常。

本发明还提供一种自编码器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现注意力机制与LSTM结合检测时序数据异常方法的步骤。

从以上技术方案可以看出,本发明具有以下优点:

本发明使用的LSTM层加入编码器和解码器相结合的方式得到模型LAE,来起到注意力机制对于模型整体的作用。本发明提供的注意力机制与LSTM结合检测时序数据异常方法通过将注意力机制和LSTM相结合引入自编码器结构,能够学习到特征数据之间的依赖关系,在数据特征较多的数据中仍有较好的学习能力,在高维数据的异常检测中表现良好。

本发明使用了自编码器框架,通过使用注意力机制与长短期递归神经网络相结合作为编码器和解码器的组成模块,来捕获序列的时间依赖性;同时,加入注意力机制后,在数据维度较高时仍具有较高的学习能力,弥补了在维度过高时学习能力下降的问题。

附图说明

为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为注意力机制与LSTM结合检测时序数据异常方法流程图;

图2为结合LSTM和注意力机制在AE架构下的深度学习模型架构图;

图3为LSTM结构图;

图4为WADI数据集实验对比结果图;

图5为滑动窗口的大小对实验结果的影响图;

具体实施方式

本发明提供的注意力机制与LSTM结合检测时序数据异常方法由编码器和解码器两部分组成;编码器和解码器部分均集成了注意力网络和长短期循环神经网络对多元时序数据进行异常检测。基于LSTM的自动编码器能够学习较长序列的特征信息,注意力网络弥补了在维度过高时学习能力下降的问题。在真实世界收集的两个水厂传感器数据集SWAT和WADI、火星车传感器数据集SMAP和MSL、以及UCI数据集等多元时间序列数据集中与先进方法比较,验证模型性能。本发明所提出的组合模型相比于基线方法具有更好的检测性能。

注意力机制与LSTM结合检测时序数据异常方法可以基于人工智能技术对关联的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用装置。

如图1示出了本发明的注意力机制与LSTM结合检测时序数据异常方法的较佳实施例的流程图。注意力机制与LSTM结合检测时序数据异常方法应用于一个或者多个终端机中,所述终端机是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。

终端机可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、交互式网络电视(Internet Protocol Television,IPTV)等。

终端机所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。

下面将结合图1至3来详细阐述本发明的注意力机制与LSTM结合检测时序数据异常方法,注意力机制与LSTM结合检测时序数据异常方法例如可应用于水电站运行数据异常值分析,水电站运行数据变化趋势,为评价水电站运行数据是否异常提供支持,对于保障水电站稳定运行有积极作用。

请参阅图1至3所示是一具体实施例中注意力机制与LSTM结合检测时序数据异常方法的流程图,方法中构建重构异常检测模型。

具体方式为:结合长短期循环神经网络LSTM和注意力机制Attention来构造编解码器模型来进行异常检测;通过学习出一个深度学习模型,使模型在进行编码、解码过程之后能够重建出异常或者正常的序列。如图2所示,提出了基于注意力机制的LSTM自编码器模型ALAE。在本发明中,系统反馈正常数据的数量可能远大于异常数据的数量,本发明采用无监督方法,使用正常数据对模型进行训练;然后在具有异常的测试集中检测模型性能。

定义多元时间序列的异常检测问题为:给定多元时间序列x={x

在本发明的ALAE方法采用重构的方式对正常时间序列进行建模,对窗口大小为n的时间序列x

模型训练目标为:

AE(x)=D(z),z=E(x)

l

本发明的ALAE模型同样具有编码器和解码器两部分结构组成,以此实现对数据异常的精准预测。对于标准自编码器模型难以在高维数据下进行充分学习的问题,本发明的ALAE模型同样具有编码器和解码器两部分结构组成,以此实现对数据异常的精准预测从两个方面来提升异常检测的性能。一方面通过将LSTM加入自编码器的结构,能够识别输入正常数据的特征而执行良好的重建模型来弥补AE的固有局限性;另一方面通过使用多头注意力机制和LSTM结合,能够使得在长序列和多特征的数据上仍能够使得模型有较好的重建数据的能力。模型在采集到的正常数据中进行学习,ALAE通过LSTM和注意力机制组成的编解码器能够学习多变量序列中的潜在关系,在预测正常序列的中表现优异。

进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例中的具体实施过程,方法包括如下步骤:

S101:将输入数据X加入自编码器;

本发明中为了对序列数据的时间特性进行处理,ALAE方法中编码器和解码器均使用了长短期循环神经网络LSTM。

自编码器模型结构将输入数据X映射到一组潜在变量中,然后将潜在空间中的序列进行重建;数据在编码器中的处理是对数据的压缩编码过程,将高维数据用低维的向量进行表示,使得压缩后的低维向量能够保留输入数据的典型特征,进而能够重建正常数据。通过训练不断减小输入数据X和重建数据X'之间的重建误差,进而对预期目标进行准确预测。通过将数据进行压缩复原,提取关键特征,重构出的数据将尽可能接近于真实的数据;对于带有时间特征的长序列数据,简单的自编码器结构难以进行处理。

LSTM强大的学习能力在ALAE模型中被用来学习长序列之间复杂的规则,作为编码器和解码器的组成部分;将数据输入模型后,首先数据经过的是单元的遗忘门,它决定哪些信息需要从细胞状态中被遗忘,生成的向量f

f

然后数据到达输入门,输入门中的向量i

i

表示单元状态的更新,通常使用tanh作为激活函数,

遗忘门和输入门向量共同决定当前细胞的单元状态C

最后计算细胞的单元输出o

o

h

经LSTM改进后,编解码过程可表示为:

其中

S102:引入注意力机制对输入数据X进行处理;

通过循环神经网络改进的自编码器利用序列上下发明的传递对长序列进行建模,对单变量时间序列有较好的学习能力。但多特征数据之间其可能存在复杂的潜在关系,在对时间依赖进行建模时则学习能力表现不足。本发明的方法引入注意力机制,来增强模型在多特征数据上的学习能力。

ALAE通过注意力机制刻画输出特征与输入特征之间的依赖关系,关联程度越强的输入权重就越大,通过权重影响模型在多特征序列的表现。本发明方法首先定义先前状态h={h

ALAE方法中使用多头注意力机制来增强对高维序列数据的学习能力,最终输出为:

MultiHead(Q,K,V)=Concat(head

h为总注意力头数,每个注意力头定义为:

head

其中投影是参数矩阵

S103:使用重构误差计算输入数据X的异常状态;

本发明的ALAE模型通过预测数据,检测偏离正常值的数据;模型计算每一个传感器的单独异常分数,组合成每一个时间刻度的异常分数,从而通过异常分数去界定该时间点是否出现异常。异常分数将t时间的数据与重构出的数据进行比较,计算时间t时刻的误差值e:

由于不同特征可能具有不同的特性,因此误差值也可能具有非常不同的比例。本发明的ALAE方法对误差值进行了归一化来防止由于偏差而导致结果出现的误差:

其中使用了

由此本发明对每一时间点的每一特征都得到了一个异常分数值,在这里引入一个参数β,对每一时刻的前β个最大的异常分数进行聚合,得到异常分数值:

ALAE方法使用阈值搜索的方法来确定阈值,异常值分数在方法中已经被归一化在范围内,因此在异常分数的区间内进行搜索,来获得最佳的模型阈值。在测试时,任何异常分数超过阈值的时刻都被视为异常。

为了验证本发明方法在多元数据的异常检测上具有较好的表现,以下述实施例为了进行展开说明。

本发明使用了5个公开可用的数据集来验证本发明提出的方法,表1中总结了5个数据集的统计数据。

SWAT和WADI数据集基于真实建造的水处理方式,操作人员模拟真实水处理厂的攻击场景对数据集加以标注,代表了用于现代物理系统的小规模版本。SWAT数据集收集过程共持续11天,正常运行7天,攻击场景下4天,收集了51个传感器获得的所有正常和异常的数据并加以标注,整个过程共发起41次攻击。WADI数据集作为SWAT试验台扩展的水分布实验台,共收集16天,其中14天为常规操作,2天为攻击场景,收集了123个传感器和执行器的数据。

土壤水分主动被动(SMAP)卫星和火星科学实验室(MSL)漫游者数据集是两个真实世界公共数据集,来自NASA的专家标记数据集。它们分别包含55/27实体的数据,每个实体由M=25/55指标监视。

占用率数据集Occupancy选自UCI公开数据集,该数据集共收集7天,是通过光线、温度、湿度等6个特征来准确检测办公室中的占用情况。

表1:基准数据集,(%)是数据集中异常数据点的百分比。

本发明的方法采用了异常检测任务中常用的标准评价指标精度(Precison),召回率(Recall)和F1分数(F1-Score)用于评估方法性能。

其中F1分数是综合了Precision和Recall的评价指标。如果正类被分类为负类,则该类型的错误被认为是假阴性(FN),如果负样本被错误的分为了正类,则该类型的错误就被认为是假阳性(FP)。同理,可以得到真阳性(TP)和真阴性(TN);由此计算的F1分数能够满足检测模型使用的数据集不平衡的需要,F1分数越高,表明模型的综合性能越好。如上式,P表示了模型判断异常的准确率,数值越大则判断出真实异常的准确率越高;R表示了模型误判的概率,数值越大表明模型错分异常的概率越小。实际应用场景中,通常更需要检测出真正的异常,因此本发明方法更关注模型的Precision和F1分数,它能够反应出模型的综合效果。

本发明提出的方法在训练时使用正常的数据观测值,学习序列的正常行为,然后再测试集上进行检测。在实际应用场景中,异常的出现通常具有连续性,因此在一个窗口中出现异常情况时,我们认为这个窗口的观测值均出现了异常。

本发明中的PCA主成分分析通过将数据映射到一个低维投影,由低维投影对数据进行重建;

KNN:K近邻算法使用距离作为异常分数判断是否为异常值;

DAGMM:由自动编码器组成的压缩网络和高斯混合模型组成的估计模型对数据进行重建;

LSTM-VAE:通过将VAE中的前馈网络使用自动编码器的结构替换为LSTM,然后重构时间序列,通过重构误差进行异常判断;

MAD-GAN:使用LSTM作为基础模型在GAN框架中进行应用实现对数据的重构。

基于本发明的方式得出的实验结果如表2和3所示,

表2:实验结果,(%)是数据集中异常数据点的百分比

表3:实验结果,(%)是数据集中异常数据点的百分比

对比实验分析:在表2和表3中展示了本发明所提出的方法ALAE以及基线方法在SWAT、WADI、SMAP、UCI以及MSL这五个数据集上的异常检测精度、召回率和F1评分。每个基线方法都是用了其特定的阈值选择方法以及相应的F1分数计算方法。

在真实的应用场景中,模型的整体性能往往更加重要,因此本发明在结果上更着重注意F1分数。本发明所提出的方案在SWAT、WADI、UCI和SMAP这四个数据集上均获得了最高的F1分数。而在精准度方面,在WADI数据集上稍落后于LSTM-VAE算法,在召回率方面,在SMAP和MSL数据集上则稍落后于MAD-GAN方法。

从表中可以看出,传统的机器学习算法在数量较大、维度较高的数据集上表现不佳,而深度学习模型在则表现出了较好的性能。基于循环神经网络地深度学习模型如LSTM、LSTM-VAE等在长序列建模和获取时间上下发明的相关性方面表现出色;而DAGMM方法常用来处理不含时间信息的多元数据,不以时间窗口输入数据,因此不适用于对时间相关性进行建模,而时间相关性对于时间序列数据的异常检测非常重要。现有方法在基于LSTM的方案中,如LSTM-VAE,大多都忽略了对潜在变量之间的相关性进行建模;MAD-GAN使用了循环神经网络,采用了通用的对抗性训练方式来重建原始数据,在多特征的序列学习中均表现不足。

在表3中,ALAE在MSL数据集的实验中,F1分数略低于基线方法;在SMAP中的表现也仅高出1%。经研究发现,在NASA数据集中,包含的温度、辐射强度等特征之间存在关系,但是关系强度要远弱于SWAT数据集中各传感器之间的关系,着重学习特征之间潜在关系的模型的表现不具有优势。因此在对此类数据进行模型学习的时候,MAD-GAN等生成式模型表现出的效果更优秀。

本发明在WADI数据集中进行了实验对比,图4所示异常是由于电动阀MV_001被恶意打开,导致主罐溢出而产生异常,数据变化反应在LT_001和FIT_001中。图中给出了该异常相关的三个变量的数据预测值和观测值,所示数据值的范围均在正常范围内。模型处理后的数据变量MV_001的预测值和观测值在此阶段的误差较大,由于ALAE模型使用了变量中最大的误差进行计算,产生了较大的异常分数,能够较为准确检测出异常。

本发明的参数敏感性分析方式包括:在数据处理时同时考虑整个变量集,以此捕捉变量之间潜在的相互作用。本发明使用滑动窗口将多元数据分成若干子序列,设滑动窗口大小为S

图5使用数据维度较高的WADI数据集来验证滑动窗口大小对实验结果的影响,通过图5可以发现,滑动窗口大小改变时,对实验结果影响较大,随着滑动窗口的增大,模型的准确率不断增大;在图所展示的五个点中,当滑动窗口为20时,F1数值最大,此时模型具有最佳的性能表现。

表4:ALAE及其变体的模型在SWAT、WADI和UCI数据集上的异常检测性能表现

为了说明本发明方法ALAE每个组件的重要性,本发明做了如表4的消融实验。本发明仅使用LSTM层加入编码器和解码器相结合的方式得到模型LAE,来说明注意力机制对于模型整体的作用。由表4可以得到加入了注意力机制的ALAE方法表现更加优秀;在特征较多的SWAT数据集和WADI数据集中,性能表现更加明显,而在特征较少的UCI数据集中,模型的性能小幅度下降,可以发现,注意力机制在整个模型的学习中能够增强模型在多特征数据中的学习能力。LSTM和注意力机制在整个模型的结构中都有其重要作用,也为模型在基线方法的比较中做出了更加合理的解释。

本发明提供的注意力机制与LSTM结合检测时序数据异常方法通过将注意力机制和LSTM相结合引入自编码器结构,能够学习到特征数据之间的依赖关系,在数据特征较多的数据中仍有较好的学习能力,在高维数据的异常检测中表现良好。在实验所用的五个数据集中,本发明提出的方法ALAE性能上略优于基线方法。

本发明提供的注意力机制与LSTM结合检测时序数据异常方法是结合本发明中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属技术领域的技术人员能够理解,本发明提供的注意力机制与LSTM结合检测时序数据异常方法的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

本发明提供的注意力机制与LSTM结合检测时序数据异常方法可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本发明中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本发明所示的这些实施例,而是要符合与本发明所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种基于注意力机制的混合CNN-LSTM吊弦异常检测方法
  • 一种基于GCN-LSTM和注意力机制的异常检测方法及系统
技术分类

06120115933811