CN115098345A - 数据异常检测方法、电子设备及可读存储介质 - Google Patents
数据异常检测方法、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN115098345A CN115098345A CN202211022426.8A CN202211022426A CN115098345A CN 115098345 A CN115098345 A CN 115098345A CN 202211022426 A CN202211022426 A CN 202211022426A CN 115098345 A CN115098345 A CN 115098345A
- Authority
- CN
- China
- Prior art keywords
- data
- sequence
- time
- sample
- model
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本公开涉及一种数据异常检测方法、电子设备及可读存储介质,该方法包括:获取检测对象的对应第一时间戳的第一数据和对应第一时间窗口的第一数列;其中,所述第一时间窗口在所述第一时间戳之前;将第一数列与初始的自调整数据拼接后输入预置的第一转换器模型,得到第一数据的第一重建数据;通过第一数据与第一重建数据间的第一残差更新自调整数据,并将第一数列与更新后的自调整数据拼接后输入至预置的第二转换器模型,得到第一数据的第二重建数据;检测第一数据与第二重建数据间的第二残差是否超出设定的残差范围,如是,则确定该第一数据为异常数据。
Description
技术领域
本公开实施例涉及计算机技术领域,更具体地,涉及数据异常检测方法、电子设备及计算机可读存储介质。
背景技术
业务平台每天会收集并统计平台数据,并根据数据时间戳,将这些数据按照时间先后顺序排列就形成了动态数列,也可以称之为时间序列。由于动态数列反映了业务平台的运行状况,因此,运维人员可以基于这样的动态数列对业务平台进行运维管理。在基于平台数据的运维管理中,质量、效率和成本是所要解决的三大核心问题,数据异常检测聚焦在解决最基础的质量稳定性问题。
现有的数据异常检测方法主要有统计学习方法、监督学习方法、离群点检测方法等,这些方法只适用于对异常形态单一的动态数列进行数据异常检测,而对于异常形态多样的动态数列,却无法准确识别其中的异常数据,影响运维管理的质量稳定性。
发明内容
本公开实施例的一个目的是提供一种能够在异常形态多样的动态数列中捕捉异常数据的数据异常检测方案。
根据本公开的第一方面,提供了一种数据异常检测方法,其包括:
获取检测对象的对应第一时间戳的第一数据和对应第一时间窗口的第一数列;其中,所述第一时间窗口在所述第一时间戳之前,所述第一数列包括按时间先后顺序排列的多个数据;
将所述第一数列与初始的自调整数据拼接后输入预置的第一转换器模型,得到所述第一数据的第一重建数据;
通过所述第一数据与所述第一重建数据间的第一残差更新所述自调整数据,并将所述第一数列与更新后的自调整数据拼接后输入至预置的第二转换器模型,得到所述第一数据的第二重建数据;
检测所述第一数据与所述第二重建数据间的第二残差是否超出设定的残差范围;
在所述第二残差超出所述残差范围的情况下,确定所述第一数据为异常数据。
可选地,所述第一转换器模型与所述第二转换器模型具有相同的编码器。
可选地,所述获取检测对象的对应第一时间戳的第一数据和对应第一时间窗口的第一数列之前,所述方法还包括:
获取所述检测对象中对应所述第一时间戳的第一原始数据和对应所述第一时间窗口的第一原始数列;
通过设定的归一化指标数据对所述第一原始数据和所述第一原始数列进行归一化处理,得到对应所述第一原始数据的所述第一数据和对应所述第一原始数列的所述第一数列;其中,所述归一化指标数据根据所述检测对象中对应第二时间窗口的第二原始数列确定,所述第二时间窗口在所述第一时间戳之前,所述第二原始数列的数据数量大于所述第一原始数列的数据数量;
所述确定所述第一数据为异常数据为:确定所述第一原始数据为异常数据。
可选地,所述获取所述检测对象中对应所述第一时间戳的第一原始数据之后,所述方法还包括:
检测所述第一原始数据是否在设定的异常数据范围内;其中,所述异常数据范围根据所述第二原始数列确定;
在所述第一原始数据未在所述异常数据范围内的情况下,执行所述通过设定的归一化指标数据对所述第一原始数据和所述第一原始数列进行归一化处理的步骤;
在所述第一原始数据在所述异常数据范围内的情况下,确定所述第一原始数据为异常数据。
可选地,所述检测所述第一数据与所述第二重建数据间的第二残差是否超出设定的残差范围之前,所述方法还包括:
获取所述第一时间戳对应的第一时间标签;
获取对应所述第一时间标签的第一残差参数值;其中,所述第一时间标签为时间标签集合中的一个时间标签,所述时间标签集合中的不同时间标签对应不同的残差参数值;
根据所述第一残差参数值,得到所述设定的残差范围。
可选地,所述获取检测对象的对应第一时间戳的第一数据和对应第一时间窗口的第一数列之前,所述方法还包括:
获取样本集;其中,所述样本集中第j样本包括所述检测对象的对应第j时间戳的第j样本数据和对应第j时间窗口的第i样本数列,所述第j时间窗口在所述第j时间戳之前,所述样本集中不同样本对应不同的时间戳和不同的时间窗口,且第j时间戳在所述第一时间戳之前;
通过所述样本集和设定的损失函数训练所述第一转换器模型和所述第二转换器模型,得到所述第一转换器模型的第一模型参数和所述第二转换器模型的第二模型参数;
根据所述第一模型参数更新所述第一转换器模型,及根据所述第二模型参数更新所述第二转换器模型。
可选地,所述损失函数包括对应所述第一转换器模型的第一损失函数与对应所述第二转换器模型的第二损失函数的加权和,所述第一损失函数的权值随着训练迭代次数的增加而减小,所述第二损失函数的权值随着训练迭代次数的增加而增大;
其中,所述第一损失函数表示样本数据的第一重建数据相对样本数据的第一损失,所述第二损失函数表示样本数据的第二重建数据相对样本数据的第二损失,所述样本数据的第一重建数据由所述第一转换器模型通过对应样本数列对所述样本数据进行重建得到,所述样本数据的第二重建数据由所述第二转换器模型通过对应样本数列对所述样本数据进行重建得到。
可选地,所述获取样本集包括:
获取所述检测对象的对应第二时间窗口的第二原始数列;其中,所述第二时间窗口在所述第一时间戳之前,所述第二原始数列的数据数量大于所述第一数列的数据数量;
根据所述第二原始数列,获得并保存所述检测对象的异常数据范围和归一化指标数据;
根据所述异常数据范围,从所述第二原始数列中滤除显著异常的数据,得到过滤后的第二原始数列;
通过所述归一化指标数据对所述过滤后的第二原始数列进行归一化处理,得到第二数列;
按照设定的窗口长度切分所述第二数列,得到所述样本集。
可选地,所述通过所述样本集和设定的损失函数训练所述第一转换器模型和所述第二转换器模型,得到所述第一转换器模型的第一模型参数和所述第二转换器模型的第二模型参数之后,所述方法包括:
获取至少部分样本数据作为标定数据,及在训练所述第一转换器模型和所述第二转换器模型中得到的所述标定数据的第二重建数据;
根据所述标定数据的第二重建数据和所述标定数据,获得所述标定数据的残差;
针对设定的时间标签集合中的每一时间标签,获得对应所述时间标签的标定数据集合;
根据所述标定数据集合中标定数据的残差,得到并保存对应时间标签的残差参数值;
所述检测所述第一数据与所述第二重建数据间的第二残差是否超出设定的残差范围之前,所述方法还包括:
获取所述第一时间戳对应的第一时间标签;其中,所述第一时间标签为所述时间标签集合中的一个时间标签;
获取对应所述第一时间标签的第一残差参数值;
根据所述第一残差参数值,得到所述设定的残差范围。
根据本公开的第二方面,还提供了一种电子设备,其包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于在所述计算机程序的控制下,执行根据本公开的第一方面所述的数据异常检测方法。
根据本公开的第三方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序在被处理器执行时实现根据本公开的第一方面所述的数据异常检测方法。
本公开实施例提供的异常数据检测方法,其在对作为实时数据点的第一数据进行异常检测时,调用第一转换器(Transformer)模型和第二转换器(Transformer)模型通过第一数列重建该第一数据,得到第一数据的第二重建数据,进而根据第一数据与第一数据的第二重建数据间的第二残差是否在设定的残差范围内,来判断该第一数据是否为异常数据。对于该异常数据检测方法,由于Transformer模型对于长期依赖和彼此交互的捕捉能力突出,能够深入表征时序特征,因此,能够高效、准确地捕捉动态数列中的各类异常数据点。同时,本公开实施例的方法在调用Transformer模型通过第一数列重建第一数据时,除了第一数列,还在模型输入中引入了自调整数据,并结合自调整数据的更新,分两个阶段完成数据重建,这有效提高了模型对于各种类型的动态数列的数据重建能力,进而实现了对于形态多样的异常数据的准确捕捉,提高了数据异常检测的鲁棒性。
通过以下参照附图对本说明书的示例性实施例的详细描述,本说明书的实施例的特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本说明书的实施例,并且连同其说明一起用于解释本说明书实施例的原理。
图1示出了可以应用根据本公开实施例的数据异常检测方法的一种业务***的组成结构示意图;
图2示出了根据一些实施例的数据异常检测方法的流程示意图;
图3示出了根据一些实施例的时序数据重建模型的模型结构示意图;
图4示出了根据另一些实施例的数据异常检测方法的流程示意图;
图5示出了根据一些实施例的获得模型训练样本的切分过程示意图;
图6示出了根据一些实施例中线上实时检测和预先训练更新的流程示意图;
图7示出了根据一些实施例的电子设备的硬件结构示意图。
具体实施方式
现在将参照附图来详细描述本说明书的各种示例性实施例。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本说明书实施例及其应用或使用的任何限制。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应设备所有者给予授权的情况下进行的。
本公开实施例涉及在动态数列中捕捉异常数据的数据异常检测方法,其中,动态数列也被称之为时间序列,是指将同一统计指标的数据(也即为数值)按照其发生的时间先后顺序排列而成的数列,也就是说,动态数列中的所有数据对应统一的统计指标,且每一数据具有不同的时间戳。例如,动态数列是关于某一业务平台在线人数这一统计指标的数列,则动态数列中的每一数据反映对应时间戳的在线人数。该统计指标可以是一维指标,也可以是多维指标,例如,该统计指标为关于在线人数和流量的二维指标,对应地,动态数列的数据可以是一维数据,也可以是多维数据,在此不做限定。
以图1所示的应用场景为例,数据源设备2000按照数据的时间戳顺序,依次向进行
数据异常检测的电子设备1000发送动态数列的数据、数据、数据、数据、数
据……,在此,用表示动态数列中的时间戳为ti的数据,其中,i为大于或者等于1
的整数,ti代表数据对应的时间戳,也代表该数据在动态数列中的排序。电子设备
1000在接收到数据时,可以基于设定的数据异常检测方法检测数据是否为异常数
据,并在该数据为异常数据的情况下,进行设定的异常处理,例如,向数据源设备2000
返回异常结果等。例如,电子设备1000在接收到数据时,基于设定的数据异常检测方法
检测到数据为异常数据,则将数据标记为异常数据,并针对数据进行设定的异
常处理。
目前,对动态数列进行数据异常检测的方法主要有:指数加权移动平均法(Exponentially Weighted Moving-Average,EWMA)等统计学习方法,基于梯度提升决策树(Gradient Boosting Decision Tree,GBDT)等的监督学习方法,基于孤立森林(isolation_forest)的离群点检测方法,以及基于长短期记忆人工神经网络(Long Short-Term Memory,LSTM)的深度学习方法等。对于以上几种数据异常检测方法,统计学习方法通常会受曲线形态影响较大,且能表征的问题复杂程度有限;监督学习方法通常难以在真实场景中实施,因为真实场景中往往难以获得异常标注信息,且需要较为复杂的人工特征工程,标注成本非常高;离群点检测方法仅能检测出显著的边界异常点,无法考虑时序序列的周期模式,准确率较低;而深度学习方法则存在计算速度慢、成本高,且捕捉长期序列信息的能力不足等问题。可见,以上这些数据异常检测方法或者因难以获得异常数据样本,而无法落地实施,或者仅适用于对异常形态单一的动态数列进行数据异常检测,而对于异常形态多样的动态数列将出现大量的漏报和误报,难以获得准确的检测结果,无法保证运维管理的质量稳定性。
为了应对异常形态多样的动态数列,本公开实施例提出了一种基于Transformer模型进行数据重建的数据异常检测方法,实现了对动态数列中形态多样的异常数据的准确捕捉,使其能够适用于各种类型动态数列的数据异常检测,有利于提高运维管理的质量稳定性。本公开实施例的方法可以应用于智能运维平台、业务数据大盘等,在此不做限定。
本公开实施例的数据异常检测方法可以应用于图1所示的场景,由电子设备1000实施,电子设备1000通过本公开实施例的数据异常检测方法,对数据源设备2000提供的动态数列中的数据进行异常检测。
该电子设备1000可以是服务器或者服务器集群等,在此不做限定。如图1所示,该电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400等。图1所示的硬件配置仅是解释性的,并且决不是为了要限制本公开、其应用或用途。
处理器1100用于执行计算机程序,该计算机程序可以采用比如x86、Arm 、RISC、MIPS、SSE等架构的指令集编写。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括网络接口等。通信装置1400例如能够进行有线或无线通信,通信装置1400可以包括至少一种短距离通信模块,例如是基于Hilink协议、WiFi(IEEE 802.11协议)、Mesh、蓝牙、ZigBee、Thread、Z-Wave、NFC、UWB、LiFi等短距离无线通信协议进行短距离无线通信的任意模块,通信装置1400也可以包括远程通信模块,例如是进行WLAN、GPRS、2G/3G/4G/5G远程通信的任意模块。
本实施例中,电子设备1000的存储器1200用于存储计算机程序,该计算机程序用于控制处理器1100进行操作,以控制电子设备1000运行本公开实施例的数据异常检测方法。
数据源设备2000可以是服务器,也可以是终端设备,在此不做限定。如图1所示,数据源设备2000可以包括处理器2100、存储器2200、接口装置2300、通信装置2400、输出装置2500、输入装置2600等。数据源设备2000的硬件结构可以参照电子设备1000理解,在此不再赘述。
数据源设备2000可以通过统计业务数据得到动态数列的数据,并将动态数列的数据发送至电子设备1000进行异常检测;数据源设备2000也可以将业务数据发送至电子设备1000,由电子设备1000统计得到动态数据的数据以进行异常检测,在此不做限定。
接下来说明根据一些实施例的能够适用于如图1中应用场景的数据异常检测方法,图2示出了根据一些实施例的数据异常检测方法的流程示意图。如图2所示,本实施例的数据异常检测方法可以包括如下步骤S210~S250:
步骤S210,获取检测对象的对应第一时间戳的第一数据和对应第一时间窗口的第一数列。
本实施例中,检测对象为被检测的动态数列,该检测对象可以是关于任意业务平台的任意统计指标的动态数列,动态数列的每一数据为关于统计指标的指标值。该统计指标可以是一维指标,也可以是多于一维的多维指标,对应地,检测对象的数据可以是一维数据,也可以是多维数据,在此不做限定。
本实施例中,第一数据对应检测对象的一个数据点,在检测对象的数据为一维数
据的情况下,该第一数据为一个数值,在检测对象的数据为多维数据的情况下,该第一数据
为一个数组。本实施例中用ti表示第一时间戳,用表示第一数据。
本实施例中,第一数列对应检测对象的多个数据点,包括在第一时间窗口w内按照
时间顺序排列的n个数据,记为。第一时间窗口在第一时间戳在之前,即,第一时间戳在
第一时间窗口的结束时间戳之后,第一数列中n个数据的时间戳在第一时间戳之前,
本实施例将通过第一数列对第一数据进行重建,即,基于第一数列中数据
随时间变化的特点,得到检测对象在未出现异常的情况下,在第一时间戳应该出现的正常
数据,因此,此处的重建也可以理解为,基于第一数列对检测对象在第一时间戳时的正
常数据进行预测,进而通过比较重建后的数据与第一数据,确定第一数据是否为异
常数据。第一数列的数据数量n或者说第一时间窗口的窗口长度,可以综合考虑重建精
度、计算量、计算速度等进行设置,例如,可以选取时间戳在第一时间戳之前的5-15个数据
对第一数据进行重建等,在此不做限定。
随着时间推进,该检测对象会不断增加新的数据,该新的数据可以理解为是实时数据,在此,可以将该实时数据作为第一数据执行步骤S210~S250,以对该实时数据进行异常检测。
电子设备1000可以从数据源设备2000获取该第一数据,也可以根据数据源设备
2000提供的业务数据,按照设定的统计指标统计得到该第一数据。由于第一数列中n
个数据的时间戳在第一时间戳之前,因此,在对第一数据进行异常检测之前,第一数列中n个数据已完成异常检测并保存在本地,其中,第一数列中的数据可以是均通
过异常检测的数据,即均为正常数据,因此,在步骤S210中,电子设备1000可以直接从本地
获取第一数列。
以上第一数据可以是检测对象的对应第一时间戳ti的原始数据,对应地,第一
数列是检测对象的对应第一时间窗口w的原始数列。以上第一数据也可以是对该
原始数据进行预处理后的数据,对应地,第一数列是对该原始数列进行相同预处理后
的数列。该预处理例如是归一化处理,在此不做限定。
在检测对象的数据为一维数据的情况下,第一数列可以看作是1×n矩阵,而在检测对象的数据为A维数据的情况下,其中,A为大于1的整数,第一数列则可以看作是A×n矩阵。
步骤S220,将第一数列与初始的自调整数据拼接后输入预置的第一转换器(Transformer)模型,得到第一数据的第一重建数据。
本实施例基于Transformer的时序数据重建模型,通过第一数列对第一数据进行重建。该时序数据重建模型包括2阶段的Transformer模型,分别为第一转换器(Transformer)模型和第二转换器(Transformer)模型。
参见图3,第一Transformer模型和第二Transformer模型中的每一Transformer模型包括编码器(Encoder)和解码器(Decoder)。编码器(Encoder)包括网络结构相同的多个子编码器,子编码器的数量可以根据需要设置,其中,每一子编码器为两层结构,从输入至输出方向依次为多头注意力机制层(Multi-Head Attention)和前馈( Feed Forward)全连接层,多个子编码器串联连接在编码器的输入端与输出端之间。解码器(Decoder)包括网络结构相同的多个子解码器,编码器的子解码器数量与编码器的子编码器数量相同,每一子解码器为三层结构,从输入至输出方向依次为掩码多头注意力机制层(Masked Multi-HeadAttention)、多头注意力机制层(Multi-Head Attention)和前馈( Feed Forward)全连接层,多个子解码器串联连接,第一级子解码器的输入为编码器的输出,其他各级子解码器的输入包括上一级子解码器的输出和编码器的输出,最后一级子解码器的输出为解码器的输出。
另外,参见图3,Transformer模型还包括线性变换层(Linear)和激活函数层,线性变换层可以是全连接神经网络,激活函数层采用的激活函数例如为Sigmoid,也可以为Softmax等,在此不做限定。
对于Transformer模型,由于编码器没有内置机制来捕获输入数列中各数据间的相对位置(也即时序关系),因此,参见图3,Transformer模型还包括位置编码模块(Positional Encoding),以通过位置编码模型对待输入至编码器的各数据进行位置编码。
在该步骤S220中,第一数列作为时序数据重建模型的输入数列,电子设备1000将
第一数列与初始的自调整数据(Self-conditioning score)拼接(concat)在一起,得到第
一拼接数列,再将第一拼接数列输入至预置的第一Transformer模型,对第一数据进行
第一阶段的重建,得到第一重建数据,其中,第一重建数据为基于第一数列和初始
的自调整数据,对检测对象在第一时间戳时应该出现的正常数据进行第一阶段的预测所得
到的数据。
该初始的自调整数据为设定值,例如可以设置为0。
参见图3,将第一拼接数列输入至预置的第一Transformer模型,包括:调用位置编
码模块对第一拼接数列进行位置编码,得到第一位置数列,其中,该第一位置数列反映第一
拼接数列中每一数据在第一拼接数列中的排序;将第一位置数列与第一拼接数列相加得到
的第一融合数列;以及,将第一融合数列输入至第一Transformer模型的编码器中,对第一
数据进行第一阶段的重建,得到第一重建数据。
步骤S230,通过第一数据与第一重建数据间的第一残差更新自调整数据,并将第一数列与更新后的自调整数据拼接后输入至预置的第二Transformer模型,得到第一数据的第二重建数据。
在步骤S220中获得第一重建数据后,可以计算得到第一数据与第一重
建数据间的第一残差。该第一残差反映了第一数据与第一重建数据的接
近程度,因此,可以基于各种距离计算方式得到该第一残差,例如,可以通过计算第一数据与第一重建数据间的欧式距离(也称为L2距离),得到第一残差。
在获得第一残差后,通过第一残差更新自调整数据,这可以是将自调整数据由初
始值更新为第一残差。然后,将第一数列与更新后的自调整数据(Self-conditioning
score)拼接(concat)在一起,得到第二拼接数列,再将第二拼接数列输入至预置的第二
Transformer模型,对第一数据进行第二阶段的重建,得到第二重建数据。在此,
由于第一残差相对于初始的自调整数据,能够更准确地反映第一时间戳对应的正常数据与
第一数据间的差异,因此,通过第一残差更新自调整数据后,结合第一数列对第一数据
进行第二阶段的重建,可以有效提高重建精度,使得第二重建数据能够代表检测对
象的对应第一时间戳的正常数据,进而可以将第二重建数据作为检测第一数据
是否异常的参考数据。
参见图3,将第二拼接数列输入至预置的第二Transformer模型,包括:调用位置编
码模块对第二拼接数列进行位置编码,得到第二位置数列,其中,该第二位置数列反映第二
拼接数列中每一数据在第二拼接数列中的排序;将第二位置数列与第二拼接数列相加得到
的第二融合数列;以及,将第二融合数列输入至第二Transformer模型的编码器中,对第一
数据进行第二阶段的重建,得到第二重建数据。
在一些实施例中,第一Transformer模型与第二Transformer模型可以具有相同的编码器,这样,二者可以共用一个编码器。在这些实施例中,参见图3所示,第一Transformer模型包括编码器和第一解码器,第二Transformer模型则包括该编码器和第二解码器,其中,第一解码器和第二解码器可以具有相同的网络结构,但具有不同的模型参数。在这些实施例中,在两个重建阶段中采用相同的编码器进行编码,相当于基于相同的编码器对第一融合数列和第二融合数列进行特征提取,这有利于提高对第一数据进行重建的重建精度。
步骤S240,检测第一数据与第二重建数据间的第二残差是否超出设定的残差范围。
在通过步骤S230获得第二重建数据后,便可计算得到第一数据与第二
重建数据间的第二残差。该第二残差反映了第一数据与第二重建数据的接
近程度,因此,可以基于各种距离计算方式得到该第二残差,例如,可以通过计算第一数据与第二重建数据间的欧式距离(也称为L2距离),得到第二残差。
由于第二重建数据代表了检测对象的对应第一时间戳ti的正常数据,因此,
第二残差即反映了第一数据与正常数据间的接近程度。如果第二残差较大,超出了设定
的残差范围,则说明第一数据较大程度地偏离了正常数据,该第一数据应该出现了
异常,为异常数据;而如果第二残差较小,在设定的残差范围内,则说明第一数据比较接
近正常数据,该第一数据也是符合检测对象的数据分布规律的正常数据。
该残差范围通过残差上限值和残差下限值表示。第二残差小于残差下限值或者大于残差上限值,即代表第二残差超出该残差范围;第二残差大于或者等于残差下限值,且小于或者等于残差上线值,则代表第二残差没有超出该残差范围。
在一些实施例中,为了提高基于设定的残差范围判断第一数据是否异常的准确性,可以根据检测对象中数据的时间戳分布情况,即,根据检测对象的时序周期性特点,设置多个时间标签,这些时间标签构成时间标签集合,并为时间标签集合中的多个时间标签分别设置与各自相对应的残差参数值,其中,该残差参数值用于计算得到残差范围,即,用于计算残差上限值和残差下限值。
时间标签集合中每一时间标签代表了多个时间戳的共同特征,该共同特征可以为对应24小时的同一时间点,也可以为对应24小时的同一时间段等。例如,在根据24小时内的时间点设置时间标签的情况下,不同时间标签对应24小时内的不同时间点,时序周期性特点,例如可以有8点时间标签、9点时间标签、10点时间标签等,相应地,检测对象中任意日期8点的时间戳则对应8点时间标签,检测对象中任意日期9点的时间戳则对应9点时间标签。又例如,也可以根据24小时内的时间段设置时间标签,每一时间标签对应24小时内的一个时间段,不同时间标签对应不同的时间段等。
在这些实施例中,在检测第一数据与第二重建数据间的第二残差是否超出设定的残差范围之前,该方法还可以包括如下步骤:获取第一时间戳对应的第一时间标签;获取对应第一时间标签的第一残差参数值;以及,根据第一残差参数值,得到步骤S240中使用的该设定的残差范围。
以上第一时间标签为时间标签集合中的一个时间标签。时间标签集合包括多个时
间标签,时间标签集合中不同时间标签对应不同的残差参数值。残差参数值可以包括所对
应时间标签的残差均值μ和残差方差σ。残差范围的残差上限值和残差下限值可以分
别表示为:
公式(1)和公式(2)中,和为设定的超参数。对于第一时间戳对应的第一时
间标签,在获得第一间标签对应的第一残差参数值后,根据公式(1)和公式(2),便可得到该
第一时间标签对应的残差范围,以供电子设备1000在步骤S240中使用。
电子设备1000可以将反映时间标签与残差参数值间映射关系的映射数据保存在残差异常检测模型中,以供电子设备1000在执行步骤S240时调用。
步骤S250,在第二残差超出该残差范围的情况下,确定该第一数据为异常数据。
该步骤S250中,在第二残差超出设定的残差范围的情况下,可以确定第一数据为异常数据。在第一数据是对检测对象的对应第一时间戳的原始数据进行预处理得到的数据时,则可以确定该原始数据为异常数据。而在第二残差没有超出该残差范围,即在该残差范围内的情况下,可以确定第一数据为正常数据。
根据以上步骤S210~S250可知,电子设备1000在对作为实时数据点的第一数据
进行异常检测时,调用基于Transformer的时序数据重建模型通过第一数列对该第一
数据进行重建,得到第一数据的第二重建数据,进而根据第一数据与该第二重建数据
间的第二残差是否在设定的残差范围内,来判断该第一数据是否为异常数据。在此,由于
Transformer模型对于长期依赖和彼此交互的捕捉能力突出,能够深入表征时序特征,且具
有优秀的并行计算能力,因此,能够高效、准确地捕捉动态数列中的各类异常数据点。另外,
电子设备1000在基于本实施例的方法调用Transformer模型通过第一数列重建第一数据
时,除了第一数列,还在模型输入中引入了自调整数据,并结合自调整数据的更新,分两个
阶段完成数据重建,这有效提高了模型对于各种类型的动态数列的数据重建能力,进而实
现了对于形态多样的异常数据的准确捕捉,提高了数据异常检测的鲁棒性。
另一方面,基于Transformer的时序数据重建模型可以基于作为检测对象的动态数列本身进行自监督学习,无需标注数据,不仅易于在实际应用场景中落地实施,而且大大降低了训练成本。
在一些实施例中,以上第一数据及第一数列的多个数据可以是被归一
化至0至1之间的数据,通过适当的归一化处理能够放大数据间的差异性,这有利于进行更
为精准的异常捕捉,进一步提高通过以上步骤S210~S250进行异常数据检测的准确性。在
这些实施例中,上述的步骤S210中获取检测对象的对应第一时间戳的第一数据和对应第一
时间窗口的第一数列,可以包括如下步骤:获取检测对象中的对应第一时间戳的第一原始
数据和对应第一时间窗口的第一原始数列;通过设定的归一化指标数据对第一原始数据和
第一原始数列进行归一化处理,分别得到对应第一原始数据的第一数据和对应第一原始数
列的第一数列。
以上归一化指标数据可以包括检测对象在每一数据维度上的归一化指标值,例如,检测对象的数据为二维数据,第一维度表示在线人数,第二维度表示流量,则归一化指标数据可以包括在第一维度上的归一化指标值和在第二维度上的归一化指标值。
以上归一化指标数据可以根据所要采用的归一化方式确定。例如,在最大值最小值归一化中,每一维度的归一化指标值包括检测对象在相应维度上的最大值和最小值。又例如,在标准归一化中,每一维度的归一化指标值包括检测对象在相应维度上的均值和标准差。
该归一化指标数据可以根据检测对象中的对应第二时间窗口的第二原始数列确定。该第二时间窗口同样早于第一时间戳,且第二原始数列的数据数量m大于
第一原始数列的数据数量n。通过检测对象的第二原始数列预先确定归一化
指标数据,有利于提高对第一原始数列进行归一化处理的处理速度。
为了获得合适的归一化指标数据,以更为有效地放大数据间的差异性,可以先从
第二原始数列中滤除显著异常数据,得到过滤后的第二原始数列,并基于过
滤后的第二原始数列,确定归一化指标数据,例如确定第二原始数列在每
一维度上的最大值和最小值,作为归一化指标数据等。
在进行显著异常数据的过滤时,可以基于设定的异常数据范围进行,该异常数据
范围通过显著异常上限值和显著异常下限值表示,在第二原始数列中的某一数据在
该异常数据范围内的情况下,即,该数据大于该显著异常上限值或者小于该显著异常下限
值,代表该数据为显著异常数据,而在该数据未在该异常数据范围内的情况下,即,该数据
大于或者等于该显著异常下限值,且小于或者等于该显著异常上限值,则代表该数据不是
显著异常数据。
在一些实施例中,该异常数据范围可以根据第二原始数列确定,例如,可以
针对第二原始数列,采用K-sigma、Boxplot(箱图)等统计准则,计算得到显著异常上限
值和显著异常下限值,进而得到指示检测对象的数据是否显著异常的异常数据范围。
电子设备1000可以将以上的根据第二原始数列得到的异常数据范围和归一
化指标范围,保存在显著异常判断模型中,以供电子设备1000在对作为实时数据点的第一
数据进行异常检测时使用,进而提高检测效率和检测准确性。
由于以上异常数据范围可用于捕捉到检测对象中的显著异常数据,因此,在一些实施例中,对于检测对象的实时数据点,可以先基于以上异常数据范围判断其是否为异常数据,如果该实时数据点并非显著异常,再通过以上步骤S210~S250进行更为精细的异常检测,这可以有效提高检测效率。在这些实施例中,如图4所示,相应的数据异常检测方法可以包括如下步骤:
步骤S410,获取检测对象的对应第一时间戳的第一原始数据和对应第一时间窗口的第一原始数列。
由于第一时间窗口在第一时间戳之前,该第一原始数列中的数据为已经过异常检测的数据,因此,电子设备1000可以选取经过异常检测确定的正常数据构成该第一原始数列,以提高重建的有效性,即第一原始数列中的数据为在先经过图4所示步骤确定的正常数据。
步骤S420,检测该第一原始数据是否在设定的异常数据范围内,在第一原始数据未在该异常数据范围内的情况下,执行步骤S4310;在第一原始数据在该异常数据范围内的情况下,直接确定该原始数据为异常数据。
步骤S4310,通过设定的归一化指标数据对第一原始数据和第一原始数列进行归一化处理,分别得到对应第一原始数据的第一数据和对应第一原始数列的第一数列,之后执行步骤S4320。
步骤S4320,将第一数列与初始的调整数据拼接后输入预置的第一Transformer模型,得到第一数据的第一重建数据,之后执行步骤S4330。
步骤S4330,通过第一数据与第一重建数据间的第一残差更新自调整数据,并将第一数列与更新后的自调整数据拼接后输入至预置的第二Transformer模型,得到第一数据的第二重建数据,之后执行步骤S4340。
步骤S4340,检测第一数据与第二重建数据间的第二残差是否超出设定的残差范围,在第二残差超出该残差范围的情况下,确定第一数据为异常数据。
对应地,在第二残差在该残差范围内的情况下,确定第一数据为正常数据。
在这些实施例中,在第一原始数据在该异常数据范围内的情况下,可以结束对于第一原始数据的检测,而不需再通过以上步骤S4310~S4340对第一原始数据做更精细的异常检测。在这些实施例中,步骤S4310~S4340对应以上步骤S210~S240,可以参见以上步骤S210~S240理解步骤S4310~S4340,在此不再赘述。
在这些实施例中,根据异常数据范围进行的异常检测相当于针对显著异常的粗检测,而通过时序数据重建模型进行的异常检测相当于针对非显著异常的精检测,由于精检测的计算量和耗时都高于粗检测,因此,通过粗检测和精检测的配合,可以有效提高对于异常数据的检测效率。
以上时序数据重建模型可以基于检测对象的数据进行训练得到,以通过无标注数据的自监督学习,不断提高时序数据重建模型的数据重建能力。因此,在一些实施例中,在获取检测对象的对应第一时间戳的第一数据和对应第一时间窗口的第一数列的步骤S210之前,可以先通过样本集训练更新时序数据重建模型的模型参数,这包括第一Transformer模型的第一模型参数和第二Transformer模型的第二模型参数,以通过更新后的时序数据重建模型对第一数据进行异常检测。在这些实施例中,该方法还包括如下步骤S2011~S2013:
步骤S2011,获取样本集。
该样本集包括多个样本,第j样本包括检测对象的对应第j时间戳的第j样本数据和对应第j时间窗口的第j样本数列,第j时间戳在第j时间窗口之后,样本集中不同样本
对应不同的时间戳和不同的时间窗口,且第j时间戳在上述第一时间戳ti之前,其中,j在大
于或者等于1,且小于或者等于N的范围内取值,N为样本集中的样本数量。第j样本数列的数
据数量可以与第一数列的数据数量n相同。
在一些实施例中,该样本集可以基于上述的过滤后的第二原始数列获得。
这可以是,在基于过滤后的第二原始数列得到归一化指标数据后,基于该归一化指标
数据对过滤后的第二原始数列进行归一化处理,得到第二数列,然后滑窗滑动对第
二数列进行切分,得到样本集;其中,滑窗具有固定的窗口长度,将滑窗从第二数列的第一端开始以设定步长向第二数列的第二端滑动,滑动方向可以是从最早时间
戳至最晚时间戳的方向,也可以是从最晚时间戳至最早时间戳的方向,在此不做限定,进而
完成对第二数列的切分。例如,如图5所示,在滑窗处于从第一端起始的第一位置(实线
所示)时,滑窗范围内时间戳最晚的一个数据为第1样本数据,滑窗处其他数据构成
第1样本数列,然后按照设定步长向第二数列的第二端滑动滑窗,该设定步长可以是1
个数据位,也可以是多个数据位,在此不做限定,使滑窗滑动至虚线所至的第二位置,滑窗
范围内时间戳最晚的一个数据为第2样本数据,滑窗范围内其他数据构成第2
样本数列,依次类推,就可获得多个样本。
步骤S2012,通过样本集和设定的损失函数训练第一Transformer模型和第二Transformer模型,确定第一Transformer模型的第一模型参数和第二Transformer模型的第二模型参数。
由于时序数列重建模型通过两个Transformer模型进行两阶段的重建,因此,该损失函数可以包括对应于第一Transformer模型的第一损失函数与对应于第二Transformer模型的第二损失函数的加权和。第一损失函数表示样本数据的第一重建数据相对样本数据的第一损失,第二损失函数表示样本数据的第二重建数据相对样本数据的第二损失,样本数据的第一重建数据由第一Transformer模型通过对应样本数列对该样本数据进行重建得到,样本数据的第二重建数据由第二Transformer模型通过对应样本数列对该样本数据进行重建得到。
在每次迭代训练中,可以只有一个样本参与训练,例如第j样本参与第j次迭代训练,也可以有多个样本参与训练。在每次只有一个样本参与训练的情况下,以上第一损失和第二损失即为该样本带来的损失。而在每次有多个样本参与训练的情况下,以上第一损失和第二损失可以为多个样本的平均损失。在本实施例中,每次迭代训练的样本数量及参与损失计算的样本可以根据需要设定,在此不做限定。
在一些实施例中,为了提高模型训练效率,可以每次通过样本集中的一个样本进行一次迭代训练,直至训练完成。这可以是:通过第1样本进行第一次迭代训练,然后根据损失函数得到第一次迭代训练的损失,并根据第一次迭代训练的损失,按照梯度反向传播(Backward Propagation)等策略调整模型参数,并根据调整后的模型进行第二次迭代训练;接下来,再通过第2样本进行第二次迭代训练,然后根据损失函数得到第二次迭代训练的损失,并根据第二次迭代训练的损失,按照梯度反向传播(Backward Propagation)等策略继续调整模型参数,并根据调整后的模型进行第三次训练,依次类推,直至满足设定的收敛条件停止训练。
在这些实施例中,上述步骤S2012中通过样本集和设定的损失函数训练第一Transformer模型和第二Transformer模型,确定第一Transformer模型的第一模型参数和第二Transformer模型的第二模型参数,可以包括如下步骤S2012-1~S2012-4:
步骤S2012-1,在第λ次迭代训练中,通过样本集中样本训练第一Transformer模型和所述第二Transformer模型,并根据损失函数得到第λ次迭代训练的损失;其中,λ为大于或者等于1的整数。
在第λ次迭代训练中,可以选用样本集中的全部样本或者部分样本进行训练。
以样本集中第j样本参与第λ次训练为例,参见图3,通过第j样本训练第一
Transformer模型和第二Transformer模型,并根据损失函数得到第j样本的损失,可以包
括:将第j样本数列与初始的调整数据拼接后输入第一Transformer模型,得到第j样本数据的第一重建数据;通过第j样本数据与第一重建数据间的残差更新自调整数
据,并将第j样本数列与更新后的自调整数据拼接后输入至第二Transformer模型,得到第j
样本数据的第二重建数据;将第j样本数据、第一重建数据、第二重建数据和当前的训练迭代次数λ,输入至损失函数中,得到第j样本的损失。
参与第λ次迭代训练的每一样本按照如上步骤,便可获得对应的损失,进而根据每一样本的损失,参照公式(3)-公式(5)获得第λ次迭代训练的损失。
步骤S2012-2根据第λ次迭代训练的损失,调整所述第一Transformer模型的模型参数和所述第二Transformer模型的模型参数。
该步骤S2012-2中,例如可以按照梯度反向传播(Backward Propagation)等策略调整模型参数。
步骤S2012-3在第λ次迭代训练满足设定的收敛条件的情况下停止训练,并确定所述第一模型参数和所述第二模型参数为通过第λ次迭代训练调整后的模型参数。
该收敛条件可以是损失值小于或者等于设定值,训练次数达到设定次数,或者损失值的下降率小于或者等于设定比率等,在此不做限定。
步骤S2012-4在第λ次迭代训练不满足所述收敛条件的情况下,通过所述样本集中样本进行下一次迭代训练,即回到步骤S2012-1进行下一次训练。
步骤S2013,根据第一模型参数更新第一Transformer模型,及根据第二模型参数更新第二Transformer模型。
在根据步骤S2013更新第一Transformer模型和第二Transformer模型后,便可基于更新后的第一Transformer模型和第二Transformer模型,执行步骤S220~S230,以通过第一数列对第一数据进行更为精确的重建。
在这些实施例中,时序数据重建模型基于检测对象的数据进行无标注数据的自监督学习,可以在实际应用中不断提高时序数据重建模型的数据重建能力,而且无需标注数据更易于实施并大大降低了训练成本。另一方面,模型训练中引入了2阶段的训练过程,能够增强模型的鲁棒性,进而使得该模型能够处理不同类型的动态数据,捕捉形态多样的异常数据。
在一些实施例中,基于K-sigma准则,针对过滤后的第二原始数列,还可以
根据检测对象的时序周期性特点,预先确定对应各时间标签的残差参数值,以供电子设备
1000在执行步骤S240时调用。在这些实施例中,在通过样本集训练第一Transformer模型和
第二Transformer模型,确定第一Transformer模型的第一模型参数和第二Transformer模
型的第二模型参数的步骤S2012之后,该方法还可以包括如下步骤S2021~S2024:
步骤S2021,获取至少部分样本数据作为标定数据,及获取在训练第一Transformer模型和所述第二Transformer模型中得到的该标定数据的第二重建数据。
在时序数据重建模型的训练过程中,由于训练后期的重建精度将高于训练前期的重建精度,因此,可以选取最后数次(具体次数可以根据需要设置)参与模型训练的样本数据作为标定数据。这样,在该步骤S2021中,将获取到多个标定数据。
步骤S2022,根据标定数据的第二重建数据和标定数据,获得标定数据的残差。
该标定数据的第二重建数据即为在模型训练中得到的第二重建数据。
该标定数据的残差反映参考数据的第二重建数据与参考数据间的接近程度,该参考数据的残差可以用L1距离表示,也可以用L2距离表示,在此不做限定。
步骤S2023,针对设定的时间标签集合中的每一时间标签,获得对应时间标签的标定数据集合。
通过该步骤S2023,将得到多个标定数据集合,多个标定数据集合与时间标签集合中的多个时间标签一一对应。
步骤S2024,根据标定数据集合中标定数据的残差,得到并保存对应时间标签的残差参数值。
根据标定数据集合中标定数据的残差,可以计算得到这些标定数据的残差均值和残差方差,作为对应时间标签的残差参数值。
电子设备1000可以将通过步骤S2021~S2024得到的反映残差参数值与时间标签间映射关系的映射数据保存在残差异常检测模型中,以供电子设备1000在通过步骤S210~S250对作为实时数据点的第一数据进行异常检测时使用。
在一些实施例中,参见图4和图6,电子设备1000在对作为实时数据点的第一原始数据进行异常检测时,包括如下步骤S610~S630:
步骤S610,调用显著异常检测模型MS中的异常数据范围,检测该第一原始数据是否为显著异常数据,如是,则输出表示该第一原始数据为异常数据的检测结果,如否,则通过显著异常检测模型中的归一化指标数据对第一原始数据和第一原始数列进行归一化处理,得到第一数据和第一数列,然后执行步骤S620。
步骤S620,调用时序数据重建模型MT通过第一数列对第一数据进行重建,得到第一数据的第二重建数据,之后执行步骤S630。
步骤S630,从残差异常检测模型MP中获取对应第一时间戳的残差参数值,得到对应的残差范围,并检测第一数据与第二重建数据间的第二残差是否在该残差范围内,如是,则确定第一原始数据为正常数据,如否,则输出表示该第一原始数据为异常数据的检测结果。
以上步骤S610~S630中使用的显著异常检测模型MS、时序数据重建模型MT和残差
异常检测模型MP可以通过对应第二时间窗口的第二原始数列预先训练更新,而且可
以按照设定的更新周期执行更新操作,以提高模型的稳健性。通过第二原始数列进行预先
训练更新时,如图6可以先根据第二原始数列确定异常范围指标(包括显著异
常上限值和显著异常下限值)和归一化指标数据,并更新显著异常检测模型MS;然后,参见
步骤S2011~S2013,基于通过异常范围指标过滤第二原始数列中的显著异常数据得
到的过滤后的第二原始数列,对时序数据重建模型MT进行训练,并根据训练结果更
新时序数据重建模型MT的模型参数;最后,参见步骤S2021~S2024,根据训练得到的训练样
本的第二残差,得到并更新残差异常检测模型MP的残差参数值,在此不再赘述。
在另一些实施例中,还提供了一种用于实施根据本公开任意实施例的数据异常检测方法的电子设备,图7示出了该电子设备700的硬件结构示意图。如图7所示,该电子设备700可以包括存储器720和处理器710,存储器720用于存储计算机程序,该处理器710用于在计算机程序的控制下,执行根据本公开任意实施例的数据异常检测方法。该电子设备可以是服务器,也可以是终端设备等,在此不做限定。
另外,在另一些实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序在被处理器执行时实现根据本公开任意实施例的数据异常检测方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书的实施例可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本说明书实施例的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本说明书的实施例操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本说明书实施例的各个方面。
这里参照根据本说明书实施例的方法、装置(设备)和计算机程序产品的流程图和/或框图描述了本说明书实施例的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本说明书的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本说明书的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (11)
1.一种数据异常检测方法,其特征在于,包括:
获取检测对象的对应第一时间戳的第一数据和对应第一时间窗口的第一数列;其中,所述第一时间窗口在所述第一时间戳之前,所述第一数列包括按时间先后顺序排列的多个数据;
将所述第一数列与初始的自调整数据拼接后输入预置的第一转换器模型,得到所述第一数据的第一重建数据;
通过所述第一数据与所述第一重建数据间的第一残差更新所述自调整数据,并将所述第一数列与更新后的自调整数据拼接后输入至预置的第二转换器模型,得到所述第一数据的第二重建数据;
检测所述第一数据与所述第二重建数据间的第二残差是否超出设定的残差范围;
在所述第二残差超出所述残差范围的情况下,确定所述第一数据为异常数据。
2.根据权利要求1所述的方法,其特征在于,所述第一转换器模型与所述第二转换器模型具有相同的编码器。
3.根据权利要求1所述的方法,其特征在于,所述获取检测对象的对应第一时间戳的第一数据和对应第一时间窗口的第一数列之前,所述方法还包括:
获取所述检测对象中对应所述第一时间戳的第一原始数据和对应所述第一时间窗口的第一原始数列;
通过设定的归一化指标数据对所述第一原始数据和所述第一原始数列进行归一化处理,得到对应所述第一原始数据的所述第一数据和对应所述第一原始数列的所述第一数列;其中,所述归一化指标数据根据所述检测对象中对应第二时间窗口的第二原始数列确定,所述第二时间窗口在所述第一时间戳之前,所述第二原始数列的数据数量大于所述第一原始数列的数据数量;
所述确定所述第一数据为异常数据为:确定所述第一原始数据为异常数据。
4.根据权利要求3所述的方法,其特征在于,所述获取所述检测对象中对应所述第一时间戳的第一原始数据之后,所述方法还包括:
检测所述第一原始数据是否在设定的异常数据范围内;其中,所述异常数据范围根据所述第二原始数列确定;
在所述第一原始数据未在所述异常数据范围内的情况下,执行所述通过设定的归一化指标数据对所述第一原始数据和所述第一原始数列进行归一化处理的步骤;
在所述第一原始数据在所述异常数据范围内的情况下,确定所述第一原始数据为异常数据。
5.根据权利要求1所述的方法,其特征在于,所述检测所述第一数据与所述第二重建数据间的第二残差是否超出设定的残差范围之前,所述方法还包括:
获取所述第一时间戳对应的第一时间标签;
获取对应所述第一时间标签的第一残差参数值;其中,所述第一时间标签为时间标签集合中的一个时间标签,所述时间标签集合中的不同时间标签对应不同的残差参数值;
根据所述第一残差参数值,得到所述设定的残差范围。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述获取检测对象的对应第一时间戳的第一数据和对应第一时间窗口的第一数列之前,所述方法还包括:
获取样本集;其中,所述样本集中第j样本包括所述检测对象的对应第j时间戳的第j样本数据和对应第j时间窗口的第j样本数列,所述第j时间窗口在所述第j时间戳之前,所述样本集中不同样本对应不同的时间戳和不同的时间窗口,且第j时间戳在所述第一时间戳之前;
通过所述样本集和设定的损失函数训练所述第一转换器模型和所述第二转换器模型,得到所述第一转换器模型的第一模型参数和所述第二转换器模型的第二模型参数;
根据所述第一模型参数更新所述第一转换器模型,及根据所述第二模型参数更新所述第二转换器模型。
7.根据权利要求6所述的方法,其特征在于,所述损失函数包括对应所述第一转换器模型的第一损失函数与对应所述第二转换器模型的第二损失函数的加权和,所述第一损失函数的权值随着训练迭代次数的增加而减小,所述第二损失函数的权值随着训练迭代次数的增加而增大;
其中,所述第一损失函数表示样本数据的第一重建数据相对样本数据的第一损失,所述第二损失函数表示样本数据的第二重建数据相对样本数据的第二损失,所述样本数据的第一重建数据由所述第一转换器模型通过对应样本数列对所述样本数据进行重建得到,所述样本数据的第二重建数据由所述第二转换器模型通过对应样本数列对所述样本数据进行重建得到。
8.根据权利要求6所述的方法,其特征在于,所述获取样本集包括:
获取所述检测对象的对应第二时间窗口的第二原始数列;其中,所述第二时间窗口在所述第一时间戳之前,所述第二原始数列的数据数量大于所述第一数列的数据数量;
根据所述第二原始数列,获得并保存所述检测对象的异常数据范围和归一化指标数据;
根据所述异常数据范围,从所述第二原始数列中滤除显著异常的数据,得到过滤后的第二原始数列;
通过所述归一化指标数据对所述过滤后的第二原始数列进行归一化处理,得到第二数列;
按照设定的窗口长度切分所述第二数列,得到所述样本集。
9.根据权利要求6所述的方法,其特征在于,所述通过所述样本集和设定的损失函数训练所述第一转换器模型和所述第二转换器模型,得到所述第一转换器模型的第一模型参数和所述第二转换器模型的第二模型参数之后,所述方法包括:
获取至少部分样本数据作为标定数据,及获取在训练所述第一转换器模型和所述第二转换器模型中得到的所述标定数据的第二重建数据;
根据所述标定数据的第二重建数据和所述标定数据,获得所述标定数据的残差;
针对设定的时间标签集合中的每一时间标签,获得对应所述时间标签的标定数据集合;
根据所述标定数据集合中标定数据的残差,得到并保存对应时间标签的残差参数值;
所述检测所述第一数据与所述第二重建数据间的第二残差是否超出设定的残差范围之前,所述方法还包括:
获取所述第一时间戳对应的第一时间标签;其中,所述第一时间标签为所述时间标签集合中的一个时间标签;
获取对应所述第一时间标签的第一残差参数值;
根据所述第一残差参数值,得到所述设定的残差范围。
10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于在所述计算机程序的控制下,执行根据权利要求1至9中任一项所述的数据异常检测方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至9中任一项所述的数据异常检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211022426.8A CN115098345B (zh) | 2022-08-25 | 2022-08-25 | 数据异常检测方法、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211022426.8A CN115098345B (zh) | 2022-08-25 | 2022-08-25 | 数据异常检测方法、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115098345A true CN115098345A (zh) | 2022-09-23 |
CN115098345B CN115098345B (zh) | 2022-12-23 |
Family
ID=83301106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211022426.8A Active CN115098345B (zh) | 2022-08-25 | 2022-08-25 | 数据异常检测方法、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115098345B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116244659A (zh) * | 2023-05-06 | 2023-06-09 | 杭州云信智策科技有限公司 | 一种识别异常设备的数据处理方法、装置、设备及介质 |
CN116881646A (zh) * | 2023-09-06 | 2023-10-13 | 山东奥晶生物科技有限公司 | 一种甜菊糖苷生产监测数据管理*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909046A (zh) * | 2019-12-02 | 2020-03-24 | 上海舵敏智能科技有限公司 | 时间序列的异常检测方法及装置、电子设备、存储介质 |
US20200134804A1 (en) * | 2018-10-26 | 2020-04-30 | Nec Laboratories America, Inc. | Fully convolutional transformer based generative adversarial networks |
CN111178456A (zh) * | 2020-01-15 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 异常指标检测方法、装置、计算机设备和存储介质 |
CN111338878A (zh) * | 2020-02-21 | 2020-06-26 | 平安科技(深圳)有限公司 | 异常检测方法、装置、终端设备及存储介质 |
CN113780329A (zh) * | 2021-04-06 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 用于识别数据异常的方法、装置、服务器和介质 |
CN114254695A (zh) * | 2021-11-18 | 2022-03-29 | 中国空间技术研究院 | 一种航天器遥测数据自适应异常检测方法及装置 |
CN114548532A (zh) * | 2022-02-09 | 2022-05-27 | 华南师范大学 | 一种基于vmd的tgcn-gru超短期负荷预测方法、装置和电子设备 |
CN114881167A (zh) * | 2022-05-24 | 2022-08-09 | 北京百度网讯科技有限公司 | 异常检测方法、装置、电子设备和介质 |
-
2022
- 2022-08-25 CN CN202211022426.8A patent/CN115098345B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200134804A1 (en) * | 2018-10-26 | 2020-04-30 | Nec Laboratories America, Inc. | Fully convolutional transformer based generative adversarial networks |
CN110909046A (zh) * | 2019-12-02 | 2020-03-24 | 上海舵敏智能科技有限公司 | 时间序列的异常检测方法及装置、电子设备、存储介质 |
CN111178456A (zh) * | 2020-01-15 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 异常指标检测方法、装置、计算机设备和存储介质 |
CN111338878A (zh) * | 2020-02-21 | 2020-06-26 | 平安科技(深圳)有限公司 | 异常检测方法、装置、终端设备及存储介质 |
CN113780329A (zh) * | 2021-04-06 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 用于识别数据异常的方法、装置、服务器和介质 |
CN114254695A (zh) * | 2021-11-18 | 2022-03-29 | 中国空间技术研究院 | 一种航天器遥测数据自适应异常检测方法及装置 |
CN114548532A (zh) * | 2022-02-09 | 2022-05-27 | 华南师范大学 | 一种基于vmd的tgcn-gru超短期负荷预测方法、装置和电子设备 |
CN114881167A (zh) * | 2022-05-24 | 2022-08-09 | 北京百度网讯科技有限公司 | 异常检测方法、装置、电子设备和介质 |
Non-Patent Citations (1)
Title |
---|
张怀峰等: "面向卫星电源***的一种新颖异常检测方法", 《宇航学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116244659A (zh) * | 2023-05-06 | 2023-06-09 | 杭州云信智策科技有限公司 | 一种识别异常设备的数据处理方法、装置、设备及介质 |
CN116244659B (zh) * | 2023-05-06 | 2023-07-28 | 杭州云信智策科技有限公司 | 一种识别异常设备的数据处理方法、装置、设备及介质 |
CN116881646A (zh) * | 2023-09-06 | 2023-10-13 | 山东奥晶生物科技有限公司 | 一种甜菊糖苷生产监测数据管理*** |
CN116881646B (zh) * | 2023-09-06 | 2023-11-21 | 山东奥晶生物科技有限公司 | 一种甜菊糖苷生产监测数据管理*** |
Also Published As
Publication number | Publication date |
---|---|
CN115098345B (zh) | 2022-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115098345B (zh) | 数据异常检测方法、电子设备及可读存储介质 | |
US11921566B2 (en) | Abnormality detection system, abnormality detection method, abnormality detection program, and method for generating learned model | |
US11138514B2 (en) | Review machine learning system | |
CN109034861B (zh) | 基于移动端日志行为数据的用户流失预测方法及装置 | |
CN109727446B (zh) | 一种用电数据异常值的识别与处理方法 | |
KR102172925B1 (ko) | 딥러닝 기반 기후 변화 예측 시스템의 동작 방법 | |
KR102360584B1 (ko) | 비디오에서 목표 비디오 클립의 위치를 결정하는 방법 및 장치 | |
US20210374517A1 (en) | Continuous Time Self Attention for Improved Computational Predictions | |
JP7398761B2 (ja) | 短期時系列予測に向けた予期的学習方法及びシステム | |
CN113672732B (zh) | 用于对业务数据进行分类的方法和设备 | |
CN110956309A (zh) | 基于crf和lstm的流程活动预测方法 | |
CN110955770A (zh) | 一种智能对话*** | |
CN112257263A (zh) | 基于自注意力机制的设备剩余寿命预测*** | |
US20230368002A1 (en) | Multi-scale artifical neural network and a method for operating same for time series forecasting | |
CN116821661A (zh) | 时序数据监测方法、装置、电子设备及非易失性存储介质 | |
CN116933124A (zh) | 时间序列数据预测方法、装置、设备及存储介质 | |
AU2021106200A4 (en) | Wind power probability prediction method based on quantile regression | |
KR20190099811A (ko) | 순환신경망 기반 시계열 신호 예측 장치 및 방법 | |
CN114400004A (zh) | 基于智能语音和视频行为识别技术的现场服务监测方法 | |
CN113901823A (zh) | 命名实体识别方法、装置、存储介质及终端设备 | |
EP4213073A1 (en) | System and method for online time-series forecasting using spiking reservoir | |
CN117149977A (zh) | 一种基于机器人流程自动化的智能催收机器人 | |
CN115601779A (zh) | 一种模型迭代方法及装置 | |
CN116128082A (zh) | 高速公路交通流量预测方法及电子设备 | |
CN110650130B (zh) | 基于多分类GoogLeNet-LSTM模型的工控入侵检测方法 |
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 |