CN115063588A - 一种数据处理方法、装置、设备及存储介质 - Google Patents
一种数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115063588A CN115063588A CN202210760323.5A CN202210760323A CN115063588A CN 115063588 A CN115063588 A CN 115063588A CN 202210760323 A CN202210760323 A CN 202210760323A CN 115063588 A CN115063588 A CN 115063588A
- Authority
- CN
- China
- Prior art keywords
- layer
- data set
- prediction
- training data
- detection 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Image Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种数据处理方法、装置、设备及存储介质,所述方法包括:获得预训练数据集;所述预训练数据集为n×k×m的矩阵,其中,所述m表示所述预训练数据集对应的时段的数量,所述k表示所述训练数据集对应的指标的数量,一个所述时段包括n个时刻;通过异常检测模型的预处理层对所述预训练数据集进行纵向分割,得到第一训练数据集;通过所述预处理层对所述预训练数据集进行横向分割,得到第二训练数据集;基于所述第一训练数据集和所述第二训练数据集训练异常检测模型,得到目标检测模型。对于本申请的方案,异常检测时准确度高,且通用性好。
Description
技术领域
本申请涉及数据处理技术领域,涉及但不限于数据处理方法、装置、设备及存储介质。
背景技术
随着计算机技术的飞速发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性和实时性要求,也对技术提出了更高的要求。
基于业界标准输出的时序运维指标(Metrics)种类繁多,监控不同业务、应用、系统、集群的各项指标,包含业务指标;例如交易量、成功率、接口耗时等;系统服务指标;例如中央处理器(central processing unit,CPU)、内存(mem)、闪存(DISK)、输入出错(in/out,IO)等。指标间相互作用关系复杂,系统及服务的健康状态往往是由一系列指标共同决定的。挖掘某一的Metirc指标可以提供单个层面级别的信息,但仅通过单指标异常判定系统异常往往会造成过多的误告。多指标运维时序检测,可以更全面地了解整个运行系统服务。
相关技术中,多维指标异常检测常直接利用生成对抗网络(GenerativeAdversarial Network,GAN)等深度生成模型,以原始多指标数据为模型整体输入,基于概率密度估计和生成样本构建编码器和解码器计算重构误差,以重构误差判别异常。
这样,一方面,相关算法基于原始输入服从某一分布的假设,以整体原始数据为输入,对于高维的随机向量难以直接建模;需增加分布近似和条件独立性来简化模型,但会弱化原有数据表征效果,最终导致模型鲁棒性、通用性不足;另一方面,相关技术不关注数据内部的关系,所以异常检测的准确度低。
发明内容
本申请提供一种数据处理方法及装置、设备、存储介质,异常检测时准确度高,且通用性好。
本申请的技术方案是这样实现的:
本申请提供了一种数据处理方法,所述方法包括:获得预训练数据集;所述预训练数据集为n×k×m的矩阵,其中,所述m表示所述预训练数据集对应的时段的数量,所述k表示所述训练数据集对应的指标的数量,一个所述时段包括n个时刻;所述n大于1,所述k大于1,所述m大于1;
通过异常检测模型的预处理层对所述预训练数据集进行纵向分割,得到第一训练数据集;所述第一训练数据集为n×m×k的矩阵;所述k表示所述第一训练数据集包括的第一样本的数量,一个所述第一样本用于表征一个指标在n×m个时间维度内的取值;
通过所述预处理层对所述预训练数据集进行横向分割,得到第二训练数据集;所述第二训练数据集为m×k×n的矩阵;所述n表示所述第二训练数据集包括的第二样本的数量,一个所述第二样本用于表征一个时刻对应的k个指标在m个时间段的取值;
基于所述第一训练数据集和所述第二训练数据集训练异常检测模型,得到目标检测模型;所述目标检测模型用于确定一个时间段内的检测数据的检测参数;所述检测参数用于确定所述检测数据是否异常。
本申请提供了一种数据处理装置,所述装置包括:
获得单元,用于获得预训练数据集;所述预训练数据集为n×k×m的矩阵,其中,所述m表示所述预训练数据集对应的时段的数量,所述k表示所述训练数据集对应的指标的数量,一个所述时段包括n个时刻;所述n大于1,所述k大于1,所述m大于1;
第一预处理单元,用于通过异常检测模型的预处理层对所述预训练数据集进行纵向分割,得到第一训练数据集;所述第一训练数据集为n×m×k的矩阵;所述k表示所述第一训练数据集包括的第一样本的数量,一个所述第一样本用于表征一个指标在n×m个时间维度内的取值;
第二预处理单元,用于通过所述预处理层对所述预训练数据集进行横向分割,得到第二训练数据集;所述第二训练数据集为m×k×n的矩阵;所述n表示所述第二训练数据集包括的第二样本的数量,一个所述第二样本用于表征一个时刻对应的k个指标在m个时间段的取值;
训练单元,用于基于所述第一训练数据集和所述第二训练数据集训练异常检测模型,得到目标检测模型;所述目标检测模型用于确定一个时间段内的检测数据的检测参数;所述检测参数用于确定所述检测数据是否异常。
本申请还提供了一种电子设备,包括:存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述数据处理方法。
本申请还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述数据处理方法。
本申请所提供的数据处理方法、装置、设备及存储介质,包括:获得预训练数据集;所述预训练数据集为n×k×m的矩阵,其中,所述m表示所述预训练数据集对应的时段的数量,所述k表示所述训练数据集对应的指标的数量,一个所述时段包括n个时刻;所述n大于1,所述k大于1,所述m大于1;通过异常检测模型的预处理层对所述预训练数据集进行纵向分割,得到第一训练数据集;所述第一训练数据集为n×m×k的矩阵;所述k表示所述第一训练数据集包括的第一样本的数量,一个所述第一样本用于表征一个指标在n×m个时间维度内的取值;通过所述预处理层对所述预训练数据集进行横向分割,得到第二训练数据集;所述第二训练数据集为m×k×n的矩阵;所述n表示所述第二训练数据集包括的第二样本的数量,一个所述第二样本用于表征一个时刻对应的k个指标在m个时间段的取值;基于所述第一训练数据集和所述第二训练数据集训练异常检测模型,得到目标检测模型;所述目标检测模型用于确定一个时间段内的检测数据的检测参数;所述检测参数用于确定所述检测数据是否异常。
对于本申请的方案,在获得预训练数据集后,将预训练数据进行纵向和横向分割,以得到第一训练数据集和第二训练数据集,再通过第一训练数据集和第二训练数据集对异常检测模型进行训练,得到目标检测模块。这样,一方面,由于纵向分割后,一个第一训练数据集中的一个样本对应一个指标,所以基于第一训练数据集的训练可以关注到指标之间的关系,横向分割后一个第二训练数据集中的一个样本对应一个时刻,所以基于第二训练数据集的训练可以关注到时刻之间的关系;因此得到的目标检测模型在异常检测时,异常检测的准确度更高;另一方面,整个模型的应用场景也不受限制,对于指标的类型、指标的数量、样本的数量等均不作限定,所以目标检测模型的通用性好。
附图说明
图1为本申请实施例提供的数据处理系统的一种可选的结构示意图;
图2为本申请实施例提供的数据处理方法的一种可选的流程示意图
图3为本申请实施例提供的数据处理方法的一种可选的流程示意图;
图4为本申请实施例提供的数据处理方法的一种可选的流程示意图;
图5为本申请实施例提供的数据处理方法的一种可选的流程示意图;
图6为本申请实施例提供的数据处理方法的一种可选的流程示意图;
图7为本申请实施例提供的数据处理过程的一种可选的框架结构示意图;
图8为本申请实施例提供的原始数据的一种可选的示意图;
图9为本申请实施例提供的归一化后的数据的一种可选的示意图;
图10为本申请实施例提供的归一且截取后数据的一种可选的示意图;
图11为本申请实施例提供的纵向分割后的一种可选的数据示意图;
图12为本申请实施例提供的横向分割后的一种可选的数据示意图;
图13为本申请实施例提供的确定注意力系数的一种可选的流程示意图;
图14为本申请实施例提供的面向指标间的图注意力层输出特征的一种可选的示意图;
图15为本申请实施例提供的面向不同时刻的图注意力层输出特征的一种可选的示意图;
图16为本申请实施例提供的拼接的一种可选的流程示意图;
图17为本申请实施例提供的GRU层的一种可选的原理示意图;
图18为本申请实施例提供的GRU层的一种可选的结构示意图;
图19为本申请实施例提供的确定损失的一种可选的结构示意图;
图20为本申请实施例提供的检测过程的一种可选的结构示意图;
图21为本申请实施例提供的数据处理装置的一种可选的结构示意图;
图22为本申请实施例提供的电子设备的一种可选的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅是为例区别不同的对象,不代表针对对象的特定排序,不具有先后顺序的限定。可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
本申请实施例可提供数据处理方法及装置、设备和存储介质。实际应用中,数据处理方法可由数据处理装置实现,数据处理装置中的各功能实体可以由电子设备的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)协同实现。
本申请实施例提供的数据处理方法应用于数据处理系统,数据处理系统包括第一设备。
第一设备用于执行:获得预训练数据集;所述预训练数据集为n×k×m的矩阵,其中,所述m表示所述预训练数据集对应的时段的数量,所述k表示所述训练数据集对应的指标的数量,一个所述时段包括n个时刻;所述n大于1,所述k大于1,所述m大于1;通过异常检测模型的预处理层对所述预训练数据集进行纵向分割,得到第一训练数据集;所述第一训练数据集为n×m×k的矩阵;所述k表示所述第一训练数据集包括的第一样本的数量,一个所述第一样本用于表征一个指标在n×m个时间维度内的取值;通过所述预处理层对所述预训练数据集进行横向分割,得到第二训练数据集;所述第二训练数据集为m×k×n的矩阵;所述n表示所述第二训练数据集包括的第二样本的数量,一个所述第二样本用于表征一个时刻对应的k个指标在m个时间段的取值;基于所述第一训练数据集和所述第二训练数据集训练异常检测模型,得到目标检测模型;所述目标检测模型用于确定一个时间段内的检测数据的检测参数;所述检测参数用于确定所述检测数据是否异常。
可选的,数据处理系统还可以包括第二设备。第二设备用于收集历史数据,得到历史数据集,并将历史数据集发送至第一设备,以使第一设备根据历史数据集得到预训练数据集。
可以理解的,基于历史数据集得到预训练数据集的过程也可以在第二设备侧实现。
需要说明的是,第一设备和第二设备可以集成于同一个电子设备上,也可以分别独立部署于不同的电子设备上。
作为一示例,数据处理系统的结构可如图1所示,包括:第一设备10和第二设备20。其中,第一设备10与第二设备20之间可以进行数据的传输。
这里,第一设备10用于执行:获得预训练数据集;所述预训练数据集为n×k×m的矩阵,其中,所述m表示所述预训练数据集对应的时段的数量,所述k表示所述训练数据集对应的指标的数量,一个所述时段包括n个时刻;所述n大于1,所述k大于1,所述m大于1;通过异常检测模型的预处理层对所述预训练数据集进行纵向分割,得到第一训练数据集;所述第一训练数据集为n×m×k的矩阵;所述k表示所述第一训练数据集包括的第一样本的数量,一个所述第一样本用于表征一个指标在n×m个时间维度内的取值;通过所述预处理层对所述预训练数据集进行横向分割,得到第二训练数据集;所述第二训练数据集为m×k×n的矩阵;所述n表示所述第二训练数据集包括的第二样本的数量,一个所述第二样本用于表征一个时刻对应的k个指标在m个时间段的取值;
基于所述第一训练数据集和所述第二训练数据集训练异常检测模型,得到目标检测模型;所述目标检测模型用于确定一个时间段内的检测数据的检测参数;所述检测参数用于确定所述检测数据是否异常。
其中,第一设备10可以为服务器、电脑等具有相关数据处理能力的电子设备。
第二电子设备20,用于收集历史数据,得到历史数据集,并将历史数据集发送至第一设备,以使第一设备根据历史数据集得到预训练数据集。
其中,第二电子设备20可以包括:移动终端设备(例如手机、平板电脑等),或者非移动终端设备(例如台式电脑、服务器等)等具有相关数据处理能力的电子设备。
下面,结合图1所示的数据处理系统的示意图,对本申请实施例提供的数据处理方法及装置、设备和存储介质的各实施例进行说明。
第一方面,本申请实施例提供一种数据处理方法,该方法应用于数据处理装置;其中,该数据处理装置可以部署于图1中的第一设备10。下面,以电子设备为执行主体,对本申请实施例提供的数据处理过程进行说明。
图2示意了一种可选的一种数据处理方法的流程示意图,参考图2所示的内容,该数据处理方法可以包括但不限于图2所示的S201至S204。
S201、电子设备获得预训练数据集。
S201可以实施为:电子设备获得历史数据集,将历史数据集进行归一化和截取处理后,得到预训练数据集。
由于获得的历史数据集中的指标类型角度,每个类型的量纲尺度不一,对应的最大值和最小值也不同,所以需要对历史数据集中的数据做归一化处理。
本申请实施例对归一化的具体方式不作限定,可以根据实际需求进行处理。
示例性的,可以采用MAXMIN归一方法,将历史数据的取值映射到[0,1]之间。
对于数据的截取,本申请实施例对截取的具体过程也不做限定,可以根据实际需求进行配置。
示例性的,可以使用长度为90的滑动窗口n,长度为50滑动步长d对原始数据进行截取,从而得到预训练数据集。
预训练数据集为n×k×m的矩阵,其中,m表示预训练数据集对应的时段的数量,k表示训练数据集对应的指标的数量,一个时段包括n个时刻;n大于1,k大于1,m大于1。
示例性的,预训练数据集为90×7×27的矩阵;该矩阵可以表示截取到了27个时段的数据,一个时段对应的时长为90分钟,数据指标包括7个指标。
S202、电子设备通过异常检测模型的预处理层对所述预训练数据集进行纵向分割,得到第一训练数据集。
第一训练数据集为n×m×k的矩阵;k表示第一训练数据集包括的第一样本的数量,一个第一样本用于表征一个指标在n×m个时间维度内的取值。
S202可以实施为:电子设备通过异常检测模型的预处理层对预训练数据集进行纵向分割,分割时以指标类型作为分割点,在两个指标间进行分割,然后将多个时段的数据进行融合,从而得到第一训练数据集。
可以看出:在第一训练数据集中,一个第一样本对应一个指标。
S203、电子设备通过所述预处理层对所述预训练数据集进行横向分割,得到第二训练数据集。
第二训练数据集为m×k×n的矩阵;n表示第二训练数据集包括的第二样本的数量,一个第二样本用于表征一个时刻对应的k个指标在m个时间段的取值S203可以实施为:电子设备通过异常检测模型的预处理层对预训练数据集进行横向分割,分割时以不同时刻作为分割点,在两个时刻间进行分割,然后将多个时段的数据进行融合,从而得到第二训练数据集。
可以看出:在第二训练数据集中,一个第二样本对应一个时刻。
S204、电子设备基于所述第一训练数据集和所述第二训练数据集训练异常检测模型,得到目标检测模型。
S204、电子设备将第一训练数据集中的k个第一样本和第二训练数据集中的n个第二样本输入至异常检测模型,异常检测模型输出对应的检测参数,电子设备基于输出的检测参数调整异常检测模型中的参数,在异常模型中的参数满足要求的情况下,得到目标检测模型。
本申请实施例对于具体的训练方式不限定,可以根据实际需求进行配置。例如可以基于损失函数进行方向传播训练。
目标检测模型用于确定一个时间段内的检测数据的检测参数;检测参数用于确定检测数据是否异常。
本申请实施例对检测参数的具体类型不作限定,可以根据时间需求进行配置。示例性的检测参数可以包括以下一项或者多项:预测数值和重构概率。
本申请实施例提供的数据处理方案包括:获得预训练数据集;所述预训练数据集为n×k×m的矩阵,其中,所述m表示所述预训练数据集对应的时段的数量,所述k表示所述训练数据集对应的指标的数量,一个所述时段包括n个时刻;所述n大于1,所述k大于1,所述m大于1;通过异常检测模型的预处理层对所述预训练数据集进行纵向分割,得到第一训练数据集;所述第一训练数据集为n×m×k的矩阵;所述k表示所述第一训练数据集包括的第一样本的数量,一个所述第一样本用于表征一个指标在n×m个时间维度内的取值;通过所述预处理层对所述预训练数据集进行横向分割,得到第二训练数据集;所述第二训练数据集为m×k×n的矩阵;所述n表示所述第二训练数据集包括的第二样本的数量,一个所述第二样本用于表征一个时刻对应的k个指标在m个时间段的取值;基于所述第一训练数据集和所述第二训练数据集训练异常检测模型,得到目标检测模型;所述目标检测模型用于确定一个时间段内的检测数据的检测参数;所述检测参数用于确定所述检测数据是否异常。
对于本申请的方案,在获得预训练数据集后,将预训练数据进行纵向和横向分割,以得到第一训练数据集和第二训练数据集,再通过第一训练数据集和第二训练数据集对异常检测模型进行训练,得到目标检测模块。这样,一方面,由于纵向分割后,一个第一训练数据集中的一个样本对应一个指标,所以基于第一训练数据集的训练可以关注到指标之间的关系,横向分割后一个第二训练数据集中的一个样本对应一个时刻,所以基于第二训练数据集的训练可以关注到时刻之间的关系;因此得到的目标检测模型在异常检测时,异常检测的准确度更高;另一方面,整个模型的应用场景也不受限制,对于指标的类型、指标的数量、样本的数量等均不作限定,所以目标检测模型的通用性好。
下面,对S204电子设备基于所述第一训练数据集和所述第二训练数据集训练异常检测模型,得到目标检测模型的过程进行说明。该过程可以包括但不限于下述方式1至方式3。
方式1、异常检测模型依次包括:预处理层、第一图神经网络(Graph AttentionNetwork,GAT)层、第二GAT层以及预测层;对应的,电子设备基于第一训练数据集和第二训练数据集训练异常检测模型中的预处理层、第一图神经网络GAT层、第二GAT层以及预测层。
方式2、异常检测模型依次包括:预处理层、第一图神经网络GAT层、第二GAT层、拼接层以及预测层;对应的,电子设备基于第一训练数据集和第二训练数据集训练异常检测模型中的预处理层、第一图神经网络GAT层、第二GAT层、拼接层以及预测层。
方式3、异常检测模型依次包括:预处理层、第一图神经网络GAT层、第二GAT层、拼接层、门控循环单元GRU层以及预测层;对应的,电子设备基于第一训练数据集和第二训练数据集训练异常检测模型中的预处理层、第一图神经网络GAT层、第二GAT层、拼接层、门控循环单元GRU层以及预测层。
下面,对方式1异常检测模型依次包括:预处理层、第一图神经网络GAT层、第二GAT层以及预测层;对应的,电子设备基于第一训练数据集和第二训练数据集训练异常检测模型中的预处理层、第一图神经网络GAT层、第二GAT层以及预测层的过程进行说明。如图3所示,该过程可以包括但不限于S2041至S2045。
S2041、电子设备将所述第一训练数据集中的k个第一样本输入所述第一GAT层,通过所述第一GAT层的处理得到k×n个第一特征。
一个第一特征用于表征第一特征对应的指标的取值与k-1个指标的取值之间的关系。简单来说,第一特征可以反映出指标之间的关系。
S2041可以实施为:电子设备将第一训练数据集中的k个第一样本输入第一GAT层,通过所述第二GAT层的处理,针对一个第一样本生成n个第一特征,遍历k个第一样本,从而得到k×n个第一特征。
其中,第一特征的维度为m。
S2042、电子设备将所述第二训练数据集中的n个第二样本输入所述第二GAT层,通过所述第二GAT层的处理得到n×k个第二特征。
一个第二特征用于表征第二特征对应的时刻的取值与n-1个时刻的取值之间的关系。简单来说,第二特征可以反映出时刻之间的关系。
S2042可以实施为:电子设备将第二训练数据集中的n个第二样本输入第二GAT层,通过所述第二GAT层的处理,针对一个第二样本生成k个第二特征,遍历n个第二样本,从而得到n×k个第二特征。
其中,第二特征的维度为m。
S2043、电子设备至少将所述k×n个第一特征和所述n×k个第二特征进行拼接,得到预测数据集。
预测数据集为n×s×m的矩阵;s大于或等于k。
本申请实施例对于得到预测数据集的具体处理过程不作限定,可以根据实际需求进行配置。
在一种可能的实施方式中,得到预测数据集的处理可以包括:拼接处理。
在另一种可能的实施方式中,得到预测数据集的处理可以包括:拼接处理和GRU层的滤波处理。
S2044、电子设备将所述预测数据集输入至所述预测层,通过所述预测层的处理得到第一预测结果。
本申请实施例对预测层的具体内容以及第一预测结果的具体内容不作限定,可以根据实际需求进行配置。
一种可能的实施方式中,预测层可以包括全连接层;对应的第一预测结果包括预测数值。
另一种可能的实施方式中,预测层可以包括变分自编码器(Variational auto-encoder,VAE)层;对应的第一预测结果包括重构概率。
再一种可能的实施方式中,,预测层可以包括全连接层和VAE层;对应的第一预测结果包括预测数值和重构概率。
S2045、电子设备基于所述第一预测结果调整所述异常检测模型中的参数,得到目标检测模型。
S2045可以实施为:电子设备基于第一预测结果调整异常检测模型中,预处理层、第一图神经网络GAT层、第二GAT层以及预测层中的相关参数,从而得到目标检测模型。
通过第一GAT层和第二GAT层可以提取到第一特征(指标间的关系)和第二特征(时刻之间的关系);所以根据第一特征和第二特征得到的目标检测模型具有较高的准确度。
下面,以一个第一样本为例,对S2041电子设备将所述第一训练数据集中的k个第一样本输入所述第一GAT层,通过所述第一GAT层的处理得到k×n个第一特征的过程进行说明。该过程可以包括但不限于下述S20411和S20412。
S20411、电子设备将所述第一样本的每一行作为一个第一节点,得到n个第一节点。
示例性的,第一样本用于表征一个指标在n×m个时间维度内的取值。对应的,第一样本的每一行表示一个指标在一个时刻,不同时段的取值。
由于第一样本的维度为n×m,电子设备将每一行作为一个第一节点,从而得到n个第一节点。
S20412、电子设备针对所述n个第一节点中的每个所述第一节点,执行第一处理,得到所述第一节点对应的第一特征。
可以理解的,对于n个第一节点,可以得到n个第一特征。
在S20412中,以一个第一节点为例,对第一处理过程进行说明。
第一处理可以包括但不限于下述A至C。
A、电子设备确定第一节点分别与所述n个第一节点之间的相似系数,得到所述n个相似系数。
本申请实施例对于确定相似系数的具体方法不作限定,可以根据实际需求进行配置。
B、电子设备将所述n个相似系数转换为n个注意力系数。
因各节点特征量纲不一致,为了使相似系数在不同节点之间易于比较,在注意力系数加权求和前,需对相似系数进行归一化处理,即将相似系数转换为注意力系数。
本申请实施例具体的转换方式不作限定,可以根据实际需求进行配配置。
示例性的,可以使用使用softmax归一化指数函数进行转换。
C、电子设备基于所述n个节点对应的数据和所述n个注意力系数确定所述第一节点对应的第一特征。
示例性的,电子设备将n个节点对应的数据和每个数据对应的注意力系数进行乘积运算,将乘积运算的和作为第一特征。
可以理解的,对于k个第一样本的处理过程类似,具体实现可以参考上述S,此处不再一一赘述。
可以理解的,对于n个第二样本的处理过程也类似,具体实现可以参考上述S,此处不再一一赘述。
在得到一个节点对应的第一特征时,基于节点间的注意力系数的处理方式,实现简单且准确。
下面,对S2044电子设备将所述预测数据集输入至所述预测层,通过所述预测层的处理得到第一预测结果的过程进行说明。如图4所示,该过程可以包括但不限于S20441至S20443。
其中,预测层包括全连接层和变分自编码器VAE层,预测数据集包括m个预测样本。
S20441、电子设备将所述m个预测样本中的每个所述预测样本输入至所述全连接层,通过所述全连接层的处理得到m组预测数值。
其中,针对每个预测样本,通过全连接层的处理后得到一组预测数值;一组预测数值包括:所述k个指标在下一时刻的预测取值;下一时刻为预测样本对应的时段的下一时刻。
全连接层用于对每个预测样本,根据每个预测样本在一个时段的k个指标的数据,预测在该时段的下一个时刻的该k个指标的预测数值。
S20441可以实施为:电子设备将m个预测样本中的每个预测样本输入至全连接层,全连接层针对一个样本处理后得到一组预测数值,遍历m个预测样本,从而得到m组预测数值。
S20442、电子设备将所述m个预测样本中的每个所述预测样本输入至所述VAE层,通过所述VAE层的处理得到m组重构概率。
其中,针对每个所述预测样本,通过所述VAE层的处理后得到一组所述重构概率;一组所述重构概率包括:所述k个指标在下一时刻的重构概率。
VAE层用于对每个预测样本,根据每个预测样本在一个时段的k个指标的数据,预测在该时段的下一个时刻的该k个指标的重构概率。
S20442可以实施为:电子设备将m个预测样本中的每个预测样本输入至VAE层,VAE层针对一个样本处理后得到一组重构概率,遍历m个预测样本,从而得到m组重构概率。
S20443、电子设备确定所述第一预测结果包括:所述m组预测数值和所述m组重构概率。
这样,预测层包括全连接层和VAE层,通过两个维度来确定预测结果,具有准确度高的特点。
下面,对S2045电子设备基于所述第一预测结果调整所述异常检测模型中的参数,得到目标检测模型的过程进行说明。该过程可以包括但不限于下述S20451至S20453。
其中,预测层包括全连接层和变分自编码器VAE层,第一预测结果包括述m组预测数值和m组重构概率。
S20451、电子设备确定所述全连接层对应的第一损失函数,以及所述VAE层对应的第二损失函数;所述第一损失函数与所述第二损失函数不同。
本申请实施例对于第一损失函数与第二损失函数的具体函数描述不作限定,可以根据实际需求进行配置。
在第一损失函数中,LOSS预测表示全连接层对应的损失函数;xn,i表示第n时刻第i个指标变量实际值;x`n,i表示第n时刻第i个指标变量预测数值。
示例性的,第二损失函数可以包括:
S20452、电子设备至少基于所述m组预测数值、所述m组重构概率、所述第一损失函数和所述第二损失函数,确定m个目标损失。
其中,针对一组预测数值和该一组预测数值对应的重构概率,确定一个目标损失。
一组预测数值和一组重构概率基于同一个时段而对应。
20452可以实施为:电子设备针对m组预测数值和m组重构概率,将每一组预测数值和对应的一组重构概率带入第一损失函数和第二损失函数中,分别计算出第一损失值和第二损失值;然后将第一损失值和第二损失值求和得到一个目标损失;电子设备遍历m组预测数值和m组重构概率,从而得到m个目标损失。
S20453、电子设备基于所述m个目标损失调整所述异常检测模型中的参数,得到所述目标检测模型。
一种可能的实施方式中,S20453可以实施为:电子设备基于m个目标损失,调整异常检测模型中预测层的参数,在目标损失满足需求的情况下,得到目标检测模型。
另一种可能的实施方式中,S20453可以实施为:电子设备基于m个目标损失,分别对异常检测模型中每一层的参数进行逐步调整,在目标损失满足需求的情况下,得到目标检测模型。
通过将第一损失与第二损失结合计算目标损失的方式,可以将全连接层与VAE层之间的影响考虑进去,得到的目标检测模型准确度更高。
对于方式1,异常检测模型依次包括:预处理层、第一GAT层、第二GAT层以及预测层,具有实现简单,处理效率高的特点;
下面,对方式2、异常检测模型依次包括:预处理层、第一图神经网络GAT层、第二GAT层、拼接层以及预测层;对应的,电子设备基于第一训练数据集和第二训练数据集训练异常检测模型中的预处理层、第一图神经网络GAT层、第二GAT层、拼接层以及预测层的过程进行说明。
与方式1不同的是,S2043电子设备至少将所述k×n个第一特征和所述n×k个第二特征进行拼接,得到预测数据集的过程不同。在方式2中,该过程可以包括但不限于A1或者A2。
A1、电子设备将所述k×n个第一特征、所述n×k个第二特征以及所述预训练数据集输入至所述拼接层,通过所述拼接层的处理得到拼接数据。
其中,预测数据集为所述拼接数据;s等于3倍的k。
A2、电子设备将k×n个第一特征、n×k个第二特征输入至所述拼接层,通过所述拼接层的处理得到拼接数据。
其中,预测数据集为拼接数据;s等于2倍的k。
可以理解的,还可以有其他拼接方式,例如,将预训练数据和k×n个第一特征进行拼接;或者将预训练数据和n×k个第二特征进行拼接;具体实现过程参考上述A1或者A2的描述,此处不再一一赘述。
对于方式2,异常检测模型依次包括:预处理层、第一GAT层、第二GAT层、拼接层以及预测层;通过增加拼接层的处理,可以进一步结合预处理后的数据,得到的目标模型在检测时,准确度较高。
下面对方式3、异常检测模型依次包括:预处理层、第一图神经网络GAT层、第二GAT层、拼接层、门控循环单元(Gated Recurrent Unit,GRU)层以及预测层;对应的,电子设备基于第一训练数据集和第二训练数据集训练异常检测模型中的预处理层、第一图神经网络GAT层、第二GAT层、拼接层、门控循环单元GRU层以及预测层的过程进行说明。
与方式1不同的是,在S2043电子设备至少将所述k×n个第一特征和所述n×k个第二特征进行拼接,得到预测数据集的过程不同。在方式3中,该过程可以包括但不限于B1和B2。
B1、电子设备将所述k×n个第一特征、所述n×k个第二特征以及预训练数据集输入至所述拼接层,通过所述拼接层的处理得到拼接数据。
其中,拼接数据为n×3k×m的矩阵。
B2、电子设备将所述拼接数据输入至所述GRU层,通过所述GRU层对所述拼接数据中,指标维度的干扰进行过滤,得到所述预测数据集。
s小于3倍的k。
由于拼接后的拼接数据在指标方向的维度较大,若不进行滤波处理,数据处理量会较大,所以本申请的实施例通过GRU层对拼接数据中指标维度的干扰进行过滤,从而得到预测数据。为了同时保持预测数据中指标维度的完整性,一般使s大于或等于k,且s小于3k。
对于方式3、异常检测模型依次包括:预处理层、第一GAT层、第二GAT层、拼接层、门控循环单元GRU层以及预测层;由于拼接层的处理可以提高检测的准确度,且GRU层可以进一步提高处理速度。
本申请实施例提供的数据处理方法在得到目标检测模型后,还可以通过目标检测模型对检测数据进行检测,以确定是否出现异常。
如图5所示,该数据处理方法还可以包括但不限于下述S205至S208。
S205、电子设备获取第一时段内k个指标的检测数据。
第一时段为任一时段。
S206、电子设备将所述检测数据输入至所述目标检测模型,通过所述目标检测模型的处理得到所述k个指标在第二时刻的检测参数值。
第二时刻为所述第一时段的下一时刻。
S207、电子设备基于所述k个指标在第二时刻的检测参数值,确定所述检测数据对应的总分数。
本申请实施例对于根据检测数值确定检测数据对应的总分数的具体方式不作限定,可以根据实际进行配置。
S208、电子设备在所述总分数大于或等于分数阈值的情况下,确定所述检测数据异常。
本申请实施例对于分数阈值的取值不作限定,可以根据实际需求进行配置。
示例性的,分数阈值可以为1。
需要说明的是,在检测数据对应的总分数小于分数阈值的情况下,确定检测数据正常。
这样,通过目标检测模型可以得到检测数据是正常还是异常。且,对于应用场景没有限定,即对于任一场景,均可以得到该场景的目标检测模型,从而实现对该场景的异常检测。
下面,对S207电子设备基于所述k个指标在第二时刻的检测参数值,确定所述检测数据对应的总分数的过程进行说明。
该过程可以包括通过第一公式确定所述检测数据对应的总分数;
其中,所述Score表示所述检测数据对应的总分数,xi表示第i个指标在所述第二时刻的实际取值;x′i表示第i个指标在所述第二时刻的预测值;所述p′i表示第i个指标在所述第二时刻的重构概率值;所述γ表示预设系数。
示例性的,γ可以为0.8。
通过这样的方式确定检测数据对应的总分数,具有较高的准确率。
进一步的,本申请实施例提供的数据处理方法还可以进行异常定位。如图6所示,该过程可以包括但不限于下述S209和S210。
S209、电子设备确定所述k个指标在所述第二时刻的异常分数。
示例性的,电子设备确定k个指标在第二时刻的异常分数包括:第一指标在第二时刻的分数为0.046884;第二指标在第二时刻的分数为0.409688;第三指标在第二时刻的分数为0.449229;第四指标在第二时刻的分数为0.021445;第五指标在第二时刻的分数为0.013142;第六指标在第二时刻的分数为0.437159;第七指标在第二时刻的分数为0.051018。
S210、电子设备基于所述k个指标在所述第二时刻的异常分数,进行异常定位。
基于上述S209的示例,电子设备确定第二指标异常、第三指标异常以及第六指标异常。
进一步的,电子设备还可以根据异常的第一指标、第三指标异常以及第六指标异常进行更细的异常分析。
通过这样的方法可以直观的进行异常定位,且异常定位过程实现简单,且异常定位准确率也较高,
下面,以运维处理过程例,通过一个实施例对本申请实施例提供的数据处理方法进行说明。
为了便于理解,对部分技术术语进行解释。
图神经网络(Graph Attention Network,GAT)引入自注意力机制,可以解决图卷积网络(Graph Convolutional Network,GCN)依赖研究对象的整体图结构,依赖拉普拉斯矩阵进行谱分解而无法适用于动态图的问题。
其中,GAT可以基于节点重要性进行权重分配,为每个邻居分配不同的权重,避免GCN在卷积时对所有邻居节点均等处理的情况。通过GAT可以获取每个节点的邻域特征,为邻域中的不同节点分配不同的权重;这样,无需使用高运算量的矩阵运算,同时无需事前知悉图对象的具体结构,具有较强的鲁棒性和适用性。
在该实施例中,将每个运维时序指标视为单独特征,以此构建图对象中的节点。通过GAT对不同特征之间的相关性及每个时间序列内的时间依赖性进行建模,捕获多维时间序列的指标特征和时序关系。
门控循环单元(Gated Recurrent Unit,GRU),基于长短期记忆网络(Long Short-Term Memory,LSTM)的变体,仅保留更新门和重置门,解决LSTM训练时间长、参数多、计算复杂度高的问题。在该实施例中,通过各种门函数来挖掘时间序列中相对较长间隔和延迟等的时序变化规律,提取时间维度的依赖信息,解决循环神经网络(Recurrent NeuralNetwork,RNN)在训练中很容易发生的梯度爆炸和梯度消失的问题。
在相关技术中,业界标准输出的时序运维指标(Metrics)种类繁多,运维过程中需要监控不同业务、应用、系统、集群的各项指标,具体包含业务指标(交易量、成功率、接口耗时等)和系统服务指标(CPU、MEM、DISK、IO等)。指标间相互作用关系复杂,系统及服务的健康状态往往是由一系列指标共同决定的。挖掘某一指标可以提供单个层面级别的信息,但仅通过单指标异常判定系统异常往往会造成过多的误告。
多指标运维时序检测,可挖掘系统各组成部分的相互作用关系,以指标间拓扑关系信息和指标自身监控数据为输入构成系统级的表征信息,可以更全面地了解整个运行系统服务。
相关技术中,对于多维指标异常检测常直接利用生成对抗网络(GenerativeAdversarial Network,GAN)等深度生成模型,以原始多指标数据为模型整体输入,基于概率密度估计和生成样本构建编码器和解码器计算重构误差,以重构误差判别异常。
可以看出,基于深度生成模型的多维运维时序指标检测存在以下问题:
1、深度生成模型基于原始输入服从某一分布的假设,以整体原始数据为输入,对于高维的随机向量难以直接建模。相关算法需增加分布近似和条件独立性来简化模型,这样就会弱化原有数据表征效果,最终导致模型鲁棒性、通用性不足。
2、深度生成模型仅输出重构误差,以此判别系统异常。在算法上解析性较弱,难以基于原有模型输出进行异常关联分析与定位。
3、深度生成模型利用深度神经网络可近似任意函数的能力来建模编码器和解码器的复杂分布,其模型结构复杂,算法复杂度高。在现有数据规模庞大,数据流速快的运维异常检测中,检测耗时较长,难以满足实时异常检测需求。
本申请的该实施例具有以下特点:
1、以运维指标为图对象异常检测节点,异常检测转换为图对象挖掘。将多维运维指标数据进行横向分隔(单一时刻不同运维指标)和纵向分隔处理(单一指标不同时刻运维序列),作为图结构对象的节点,基于GAT挖掘指标数据时序内部特征和时序间依赖关系。分隔处理能够从时序依赖和指标类型角度保留原有高维表征。GAT无需事前知悉输入指标间的先验关系和异常结构,学习指标间的时间依赖和异常关联,可动态识别出不同场景的异常并适应场景的变换。本方法通过分隔处理及GAT图注意力层的引入,既保留原数据的高维特征,也适配不同异常类型。由于相关技术中往往以原始数据整体输入,没进行数据分隔等预处理,高维特征表征效果差;同时需基于输入分布假设,模型通用性差。所以,本申请的该实施例可以有效解决现有方案中高维数据表征效果弱化,模型通用性差等问题。
2、基于图注意力网络构建异常检测模块,分析学习各指标异常关联和时间依赖性关系,解决现有深度学习方法仅对指标内部时间连续性模式进行挖掘,异常关联分析不足问题。同时基于全连接预测模型和VAE重构模型联合训练,获取各指标的异常分数协助定位。由于相关技术中仅输出整体异常分数,对各指标异常没关联分析,异常定位缺失;所以,本申请的该实施例可以解决现有方案中异常检测故障定位缺失和异常定位关联方法单一的问题。
3、基于GRU网络挖掘序列数据中的长期依赖性,捕获图注意力层输出时间序列中的顺序模式。GRU使用更新门合并长短期记忆网络(Long Short-Term Memory,LSTM)中的遗忘门和输入门,新增重置门,删除输出门。在模型构建上结构简单,计算量和参数量较小,具有较好的收敛性。可以看出:本申请的该实施例可以优化整体模型结构,对于长期依赖挖掘层,引入结构简单的GRU模块,对LSTM原网络结构的优化和缩减,降低整体模块的训练量。提高了实时检测速度。
对相关技术进行分析,对于多维时间序列的拆分挖掘,相关技术中的异常检测方法是将多维运维时序指标进行横向分隔,转换为多个单维时间序列,针对各维度时序指标特点使用对应领域的异常检测算法。根据不同场景和监控指标类型基于历史运维专家经验,构建不同异常检测规则和算法,开发及后期维护成本高,需对业务有深刻理解。且其忽略了指标间的交叉关系和异常检测的整体特征,无法垂直分析各维度指标间的关联,即拆分挖掘可挖掘各指标的异常状态,但无法实现交叉分析;监控规则设定片面且误告率高。
对于多维时间序列的整体挖掘,相关技术中的异常检测方法是单独使用生成对抗式网络(GAN)等深度生成模型,以多维时序指标为整体输入生成模型并重构其输出,判定重构概率或重构误差的输入是否异常数据。基于多维时序指标的整体挖掘,仅通过重构输出判定系统状态,并没有明确地挖掘不同时间序列之间的关系;即整体挖掘,可挖掘多维指标整体异常状态,但对应异常状态的故障定位无法提供各指标的异常作用影响。相关技术中的异常检测方式无法获取时序序列直接的潜在相互关系,难以分析各指标对应异常的作用影响,不利于后续故障定位和问题修复。
下面,对本申请实施例提供的处理方式进行详细说明。
如图7所示,该过程可以包括离线模块71的处理和实时模块72的处理。
离线模块71(也可以称为离线训练模块)的处理过程(相当于训练过程)可以包括但不限于下述S711至S719。
S711、获取历史多维的运维指标数据;
S712、数据预处理;
S713、面向指标间特征的图注意力层(相当于第一GAT层)处理;
S714、面向指标内时序的图注意力层(相当于第二GAT层)处理;
S715、多头注意力层(相当于拼接层)拼接处理;
S716、GRU层挖掘长期时序依赖特征;
S717、基于全连接层的预测模块处理;
S718、基于VAE的重构模块(相当于VAE层)处理;
S719、联合异常检测判别模块处理。
具体来说,离线模块71用于:训练历史多维运维指标数据,经数据预处理和数据分隔后输入两个并行的图注意力层(GAT),捕获多维指标间特征以及单一指标时序内时间戳的关系。通过学习多变量运维指标序列在时间和特征维度上的复杂依赖关系,作为GRU层输入捕获时间序列的模式特征,通过各种门函数挖掘时间序列中相对较长间隔和延迟等的时序变化规律,提取时间维度的依赖信息。最后结合预测和重构的异常检测,联合其目标函数为优化对象,分析图注意力层学习的多个时间序列的注意力分数作为异常根因判断。
实时模块72(也可以称为实时检测模块或者实时异常检测模块)的处理过程(相当于检测过程)可以包括但不限于下述S721至S725。
S721、获取实时多维运维指标数据(相当于第一时段的检测数据);
S722、多维异常检测模型(相当于目标检测模型)加载;
S723、计算异常检测分数判别异常;
S724、运维核实异常检测准确性;
S725、基于特征异常分数定位异常。
具体来说,实时模块72用于:采集实时运维指标,加载多维异常检测模型检测,计算异常检测分数判断系统健康状况,反馈给运维人员核实告警准确性。运维人员根据告警内容确认异常状态,通过每一特征的异常分数定位异常原因。
下面,对离线训练模块的处理过程进行详细说明。
该过程可以包括但不限于:
步骤1、数据预处理;
步骤2、基于GAT构建图注意力网络;
步骤3、基于GRU挖掘长期时序数据;
步骤4、基于预测和基于重构联合异常检测模型构建。
下面,对步骤1数据预处理的过程进行说明。
数据预处理部分主要包括:数据归一化和数据截取。其中,数据归一化可以减少模型运算量,指标数据截取则可以将归一化后的多维数据转换为非监督模型训练所需的数据形态。
具体处理流程可以包括但不限于下述步骤11和步骤12。
步骤11、数据归一化。
为提高健壮性和训练收敛速度,需对各原始指标序列(也可以称为原始数据)执行数据规范化。数据归一化同时应用于训练集和测试集。原始数据如图8所示,从图8可以看出:在原始数据中,各指标类型的最大值和最小值未知,且各类指标的量钢尺度不一。
本申请的实施例采用最大-最小(MAX-MIN)归一方法对原始数据进行处理,并将数据归一化后原始指标将数据值映射到[0,1]之间,其具体处理结果及方式可以参考下述公式1。
在公式1中,x′为数据归一化后输出,xx为原始序列数值,max为原始序列最大值,min为原始序列最小值。
其中,归一化后的数据可以如图9所示。
步骤12、指标数据截取。
运维指标数据异常事件往往并非发生在固定时间点,而是在某一时间段内的随机时间点发生。多维运维指标异常检测需对原始序列进行截取,将天文级别数据转换为多样本多维指标矩阵,以符合非监控学习模型输入形态。
基于日常运维经验,经数据归一化的数据使用长度n为90的滑动窗口,长度为50的滑动步长d,生成固定长度序列的输入检测模型,能够较好的反馈系统异常。
因此,本申请的主要任务可总结为多维指标异常监控模块输入序列X∈Rn*k*m,产生二维输出向量y∈{0,1}。
示例性的,k为运维指标自身维度即指标类型,在本示例中k为7。m为重组样本数,及训练集样本数。对于运维指标数据为分钟级采集,即单天原始序列长度为1440,重组样本数最终预处理后的矩阵为R90*7*27;其中,如图10所示,截取后的数据为GAT图注意力层输入为X∈R90*7*27高维数据矩阵。
下面,对步骤2基于GAT构建图注意力网络的过程进行说明。
在日常业务运维中,在服务调用链路的各环节都部署了许多监控项,这些指标以复杂的非线性方式相关联。随着监控项的增多,指标类型复杂性和维度的不断增长,运维人员难以快速检测高维数据中的异常,分析其中异常关联。本申请的该实施例以各项指标为图对象节点,基于GAT构建图注意力层学习各指标节点间结构特征和节点自身特征,引入注意力机制对邻近节点分配不同权重,减少非关键指标的关注度。通过GAT各节点特征加权求和,实现指标关联重要度的区分。
其中,步骤2可以包括:
步骤21、输入数据矩阵拆分;
步骤22、图注意力层通用构建。
下面,对步骤21输入数据矩阵拆分的过程进行说明。
本申请的该实施例基于GAT构建图注意力网络,需对数据预处理后的多维指标时序进行横向分隔和纵向分隔。分隔数据时,可从时序依赖和指标类型两大维度进行处理;从而保留原有高维数据的表征形态。其中,分隔后的数据可直接用于图注意力层的建模。横向分隔可以将预处理后的数据分隔为单一时刻不同运维指标序列;纵向分隔可以将预处理后的数据分隔为单一指标不同时刻运维序列。
其中,横向分隔后的单一时刻不同运维指标序列可以作为图对象节点,搭建面向指标内时序依赖的图注意力层;纵向分隔后的单一指标不同时刻运维序列可以作为图对象节点,搭建面向指标间特征关系的图注意层。
示例性的,经纵向分隔后的数据矩阵输入维度为n×m×k=90×27×7(相当于第一训练数据集),具体结构如图11所示。
示例性的,经横向分隔后的数据矩阵输入维度为m×k×n=27×7×90(相当于第二训练数据集),具体结构如图12所示。
下面,对步骤22图注意力层通用构建的过程进行说明。
首先,对GAT层输出特征的通用处理过程进行说明。
面向指标间特征关系的图注意力层与面向指标内时序依赖的图注意力层,均基于通用的GAT层处理构建。通过控制不同输入,分别动态学习时间序列特征和时间依赖之间的关系。
其中,GAT将注意力机制attention引入图神经网络,能够在更新图对象中某一个节点的嵌入(Embedding)特征完成降维时,图上的每一个顶点i都参与到attention运算。GAT能够对图中的节点关系进行建模,对于k个节点特征的图对象{v1,v2,v3…vk},其中vi为节点i自身的特征向量。GAT层的每个节点i输出特征hi可以通过公式2表示。
在公式2中,aij为节点i和节点j之间的注意力系数;σ为激活函数,例如为sigmoid函数。
下面,对输出特征hi的具体计算过程进行详细说明。该过程可以包括但不限于下述第一至第三的描述。
第一、计算各节点间相似系数(attention)。
以节点i和邻居节点j间的相似系数eij的计算过程为例进行说明。核心原理包括:通过训练数据学习合适的W(模型共享的学习权重),有效捕获节点i,j之间的相关性。相似系数eij的计算过程主要包括但不限于下述1)至3)。
1)、节点特征数据增强。
分别为节点i和节点j的特征向量表示,其维度均为1×F,F表示输入节点的维度,即经数据分隔后的输入维度。其中,对于面向指标内时序依赖的图注意力层,F维度为27×7;对于面向指标间特征关系的图注意力,F维度为90×27。W为模型共享的学习权重,主要对特征进行数据增强,其维度为F×F′,F′为该GAT层输出节点的维度,因此和维度均为(1×F)×(F×F′)=1×F′。
本申请的该实施例可以基于常用的numpy矩阵处理python库,使用linalg.eig方法计算各节点的特征向量。numpy库适用大数据量高维指标处理,简化计算过程,提供模型实时检测能力。
2)、节点特征拼接。
(×||×)运算为对变换后的特征进行拼接,拼接后维度为1×2F′。
3)、非线性化激活生成相似系数。
a(.)函数表示参数是a→T的单层前馈神经网络,一般使用LeakyRelu作为非线性激活函数。a→T为注意力核(attention kernel),其维度为2F′×1,主要作用是把拼接后的特征映射到实数上,即获得最终的节点相似系数
第二、对相似系数正则化得到注意力系数aij。
因各节点特征量纲不一致,为了使相似系数在不同节点之间易于比较,在注意力系数加权求和前,需对相似系数进行归一化。如图13所示,该实施例使用归一化指数函数(softmax)计算注意力系数aij,即aij=softmax(eij)。
aij的具体计算方式可以如下述公式3所示。
在公式3中,LeakyRelu为非线性函数,其函数表达式为y=max(0,x)+leak×min(0,x)。leak是常数,用于保留负半轴信息。本方法使用LeakyRelu作为激活函数计算注意力系数,主要原因是避免GAT在聚合邻居信息前,对各邻居节点归一化处理过程中将节点本身信息去除。
第三、注意力系数加权求和获得输出特征。
将归一化的注意力系数与其对应的特征进行加权,以作为每个节点的最终输出特征h′i,获取每个节点i融合了领域新的特征h′i。具体计算公式如下,其中aij为指标节点i与节点j之间的注意力系数。
在公式4中,vj为节点j的自身特征,具体的,对于面向指标间特征的图注意力层,其vj为某一时刻不同类型运维指标的具体数值;对于面向指标内时序依赖的图注意力层,其vj为某一运维指标不同时刻的具体数值。
其次,对图注意力层输出结构进行说明。
对于面向指标间特征的图注意力层,该实施例对原始序列数据矩阵进行纵向拆分,将多维时间序列视为一个完整的图对象,每个节点表示某个指标特征,每条边表示两个对应特征之间的关系。面向指标间特征的图注意力层输入维度为k×n,每个节点对应的特征向量为xi={xi,t|t∈[0,n]},节点间(各指标间)相互关系可以通过图注意力机制学习注意力分数aij衡量,通过加权求和获得图注意力层输出hi′。
示例性的,对于特征v1来说,其对应的h1(相当于第一特征)的确定过程可以如图14所示。
对于面向指标内时序依赖的图注意力层,该实施例对原始序列数据矩阵进行横向拆分,将滑动窗口内的各时刻运维指标特征视为一个完整的图对象,以滑动窗口内每个时间戳作为节点,节点xt为t时刻全部运维指标的特征向量,每条边表示不同时刻之间指标数值的关系,通过GAT注意力层挖掘时间序列的时序依赖关系。面向指标内时序依赖的图注意力层输入维度为n×k,节点间(各时刻间)相互关系可以通过图注意力机制学习注意力分数aij衡量,通过加权求和获得图注意力层输出h′i。
示例性的,对于特征x1来说,其对应的h1(相当于第二特征)的确定过程可以如图15所示。
再次,对多头注意力拓展机制(相当于拼接层)的处理过程进行说明。
参考卷积神经网络(Convolutional Neural Network,CNN)中对于每一层特征图设置多个相互独立的卷积核,使得输出特征图具有更多渠道(channel)表征原始数据。如图16所示,本申请的该实施例引入多头注意力拓展使整体模型,将面向特征的图注意力层的输出,面向时序的图注意力层的输出,以及经数据预处理后的数据拼接为n×3k×m的矩阵中,即每一行代表每个时间戳具有3k维度特征向量。
其主要优化效果可以包括但不限于下述第一点和第二点。
第一点、基于数据拆分指定挖掘模式。
对于高度非线性的复杂多维指标数据,内部包含多种潜在模式。深度生成模型基于整体异常检测,并未显式指定学习哪些指标及时序的潜在相互关系。如GAN将其编码器优化问题转换为通过近似地模拟真实数据分布,使得生成样本分布与真实数据分布之间的KL散度最小化。在建模输入中GAN需假设真实数据符合某种分布,通过编码器及解码器联合学习生成某些模式样本。
本申请的该实施例利用数据拆分的预处理,基于运维前验模式指标间和时序内两大模式,将非线性挖掘显式转换为基于图注意力的结构挖掘,在运维异常检测重点关注的指标特征和时序依赖上表征效果更为显著及准确。
第二点、基于多头注意力融合信息。
对于拆分后的图注意力模式挖掘,本申请的该实施例基于多头注意力机制融合信息来自不同的来源作为GRU的输入。引入原数据可弥补数据拆分导致的长期时序模式弱化,减少原有高维数据表征的丢失。具体融合过程可以如图17所示,由图17所示的内容可以看出,多头注意力拓展后,GRU输入新增维度k,但训练迭代batch不变(m=27),对模型的整体训练性能影响较小。
下面,对步骤3基于GRU(相当于GRU层)挖掘长期时序数据的过程进行说明。
通过多头注意力拓展机制,融合了不同来源特征作为GRU层输入,输入维度为n×3k×m,其中包含冗余的短期干扰信息。为捕获时间序列中的长距离时序数据模式并保留重要特征传递到后续的联合异常检测层,本申请的该实施例使用GRU捕捉长期序列间的相互依赖性,提取时间维度的依赖信息。GRU网络结构简单,挖掘中长期时序数据,输入异常检测模块,避免毛刺等短期序列干扰异常检测模块。
步骤3具体可以包括但不限于下述步骤31和步骤32。
步骤31、GRU的网络结构构建。
梯度爆炸和梯度消失问题。GRU的网络结构如图17所示。
由图15所示的GRU网络结构可以看出:t时刻输入为当前时刻网络输入值xt,上一时刻GRU层输出隐状态为ht-1,当前时刻候选记忆内容隐藏层为h′t。通过上一时刻隐状态ht-1和当前时刻网络输入值xt获取门控状态,利用门函数完成信息的传递,重置及更新。其中r为控制信息重置的门控,z为控制信息更新的门控。更新门控制上一时刻的状态信息保留到当前状态的程度,避免带入所有历史信息造成梯度消失,更新门的值越大说明上一时刻的状态信息带入越多。重置门控制上一状态哪些信息需被遗忘,哪些信息需写入到当前的候选隐藏层h′t上,重置门越小,前一状态的信息被写入的越少。
步骤32、GRU的网络模型构建。
本申请的该实施例基于常用的神经网络模块pytorch构建GRU中长周期网络模型,调用torch.nn.gru方法接受多头注意力拓展后的三维序列张量,模型训练中GRU网络构建过程可以包括但不限于:GRU网络层构建、GRU网络层输入以及GRU网络层输出。
对于GRU网络层构建,本申请的该实施例调用gru(input_dim,output_dim,layer_num)搭建GRU网络层,其中input_dim表示输入特征维度,例如input_dim=3k=21;output_dim表示隐藏层维度即最终输出维度,例如output_dim=10;layer_num表示GRU网络层数,例如,网络层数layer_num=2。
对于GRU网络层输入,GRU层输入为三维序列X[seq_len,batch_size,input_dim],其中,seq_len表示序列长度,例如seq_len=n=90,batch_size表示重组样本数,例如batch_size=m=27。output_dim表示最终输出,例如,output_dim=h′t=nn.gru(X)。可以看出:GRU网络以整体多维数据为输入,基于batch_size个独立的GRU训练组件,挖掘seq_len个时间步长的中长周期序列,每个时间步输入到GRU模块的维度为[batch_size,input_dim]。
对于GRU网络层输出,GRU层输出output_dim为包括中长周期依赖的三维时间序列[seq_len,batch_size,output_size],例如,如图18所示,[seq_len,batch_size,output_size]=[90×27×10]。隐藏层h′输出维度为[num_layer,batch_siz,hidden_size]=[2×27×10],根据上述GRU网络可知,t时刻隐藏层输出h′将作为t+1时刻的GRU模块输入,用于计算下一时刻的输出output_dim。
下面,对步骤4基于预测和基于重构联合异常检测模型构建的过程进行说明。
经GRU挖掘后的长期时序特征,能够很好地表征原始多维指标序列,将其输入异常检测模块。基于预测的异常检测常用于时间粒度的运维指标特征提取,进行未来时刻预测及异常检测;基于重构的异常检测擅长捕获时间序列的整体数据分布。因此,本申请的该实施例基于多场景适配优化,GRU挖掘的中长周期时序依赖数据并行输入,将两者结合为整体异常检测模型进行联合优化,异常检测模块的整体结构如下图。在异常检测模块训练类似黑盒训练,模型目标函数定义为两者损失函数之和,即LOSS总=LOSS预测+LOSS重构,两个模块参数同步更新。
如图19所示,异常检测模块的训练及异常判别处理流程可以包括但不限于:基于预测的异常检测模块的处理和基于重构的异常检测模块的处理。
下面,对基于预测的异常检测模块(相当于预测层)的处理过程进行说明。
基于图注意力层及GRU对原始多维指标数据进行处理,在预测模块上本申请的该实施例使用结构简单且训练开销较小的全连接层。
通过堆积3个隐藏层维度为d的全连接层,对下一时刻指标值进行预测。其中使用均方差函数为损失函数LOSS预测,其中xn,i为第n时刻第i个指标变量实际值,x`n,i为第n时刻第i个指标变量预测值,利用欧式距离作为相似度衡量。损失函数可以通过公式进行计算得到,其优化过程同常用全连接网络优化过程。
在公式5中,LOSS预测表示预测的异常检测模块的损失函数;xn,i表示第n时刻第i个指标变量实际值;x`n,i表示第n时刻第i个指标变量预测值。
下面,对基于重构的异常检测模块(相当于VAE层)的处理过程进行说明。
基于重构的异常检测模块主要学习序列数据的潜在特征,本申请的该实施例基于自编码器改进的变分自编码器VAE搭建重构异常检测模块。VAE利用神经网络来分别建模编码器(Encoder)和解码器(Decoder)。编码器将输入序列x映射为不同维度之间相互独立的低维多元高斯分布学习其中隐含特征z并生成隐空间层。解码器根据编码器捕获的隐含特征重构出原始输入数据的概率分布pθ(x|z)。将原始序列分布和重构输出分布之间的差异被称为重构概率,判定具有较小重构概率的为异常序列。
对于VAE目标损失函数的确定过程可以包括:
VAE目标为解码模块重构分布pθ(x)与原始序列分布近似,经编码及解码模块处理后最终目标损失函数可以如公式6所示。
在公式6中,令为变分证据下界可见VAE目标损失函数=编码器分布间的KL散度–变分证据下界,表示编码器输出到隐空间中的低维分布的数据期望。因KL散度非负,所以可以将目标函数的优化转换为变分证据下界的最大化拟合。
对于VAE目标函数优化过程可以包括:
对于L1项神经网络近似拟合,可以通过下述公式7得到。
对于L2蒙特卡洛方法估计,可以通过下述公式8得到。
下面,对实时异常检测模块的处理过程进行说明。
本申请的该实施例的实时异常检测模块将加载异步训练的联合异常检测模型,输入实时数据对于某一时刻异常检测模型分别输出基于预测模块的预测值{x′i|i=1,2,…k}以及基于重构模块的重构概率{p′i|i=1,2…k}。基于预测模块以确定性的方式预测下一个时间戳的实际值,对于时间序列的随机性挖掘敏感。基于重构模块以随机变量的形式捕捉全局数据分布,忽略破坏时间序列中周期性的噪音。
其中,实时异常检测模块具体处理过程如图20所示。
该过程可以包括但不限于异常分数的计算及判定,异常核实及定位分析。
对于异常分数计算及判定,本申请的该实施例综合考虑每个指标特征的异常表现,结合两种异常模块的输出,计算每一指标特征的异常分数si并求和作为最终异常判别分数Score,若最终异常判别分数判定结果为大于某个阈值,则确定为异常。
异常判断分数计算可以参考下述公式10。
在公式10中,Score表示最终异常判别分数,γ为超参数,主要用于组合使用基于预测和基于重建的概率,其数值通过训练集进行网格搜索最优参数。
示例性的,本申请该实施例中,若设定联合异常检测模型超参数γ=0.8,异常阈值为1;因基于训练数据γ=0.8时异常检测模型整体召回率和精度性能表现最好。对于T1时刻的实时指标输入,加载离线异步训练的异常检测模型,输出T1时刻各指标的预测值和重构概率值,通过公式10计算各指标的异常分数si,求和获得最终异常分数Score=1.428525,由于1.428525大于阈值1,则判定T1时刻系统出现异常。
对于异常核实及定位分析,多维异常检测模块判定系统异常后,进行处理核实。若核实误报,可调整超参数γ及异常阈值,平衡基于预测和基于重构检测比例和异常模块的判别敏感度。若核实为系统异常,可根据各指标异常分数快速定位,关联分析。如图20所示,系统异常表现于业务交易耗时上涨,耗时指标异常分数S耗时=0.437159,同时SCPU和S内存和与耗时异常分数接近且明显大于其他指标的异常分数,可诊断业务交易耗时异常的原因为系统CPU和内存异常。可以看出,本申请的该实施例在检测多变量时间序列中的异常外,还提供异常诊断的相关性分析功能。
本申请的该实施例具有以下技术效果:
第一、本申请的该实施例主要由图注意力模块,GRU模块,联合异常检测模块三大核心部分组成。多维运维指标数据经数据截取和分隔等预处理后,基于面向指标间特征和指标内时序的挖掘学习,利用预测和重构进行联合异常检测。
第二、本申请的该实施例基于GAT引入注意力机制搭建图神经网络,对原始多维指标序列进行横向和纵向拆分,构成图对象中的节点。该实施例能够保留原有高维数据形态,基于GAT直接搭建图注意力层。在无图对象先验结构(即指标间相互关系)的情况下,利用注意力机制为不同指标分配权重,模型动态学习时序依赖和特征类型中的潜在异常关联关系。
第三、本申请的该实施例基于GRU挖掘图神经网络输出中的相对较长间隔和延迟等的时序变化规律,避免指标毛刺对整体异常检测模型的影响。同时利用GRU结构简单等特点,加速模型的收敛,简化模型结构,提高异常检测的的实时处理效率。
第四、本申请的该实施例基于预测和VAT重构的联合异常检测,能够适合多种类型和场景的运维指标,联合判别异常能够提供检测模型的健壮性。通过提供各指标分类的异常分数,弥补现有多维检测方案中的异常关联分析缺失问题。
第二方面,为实现上述数据处理方法,本申请实施例的一种数据处理装置,下面结合图21所示的数据处理装置的结构示意图进行说明。
如图21所示,数据处理装置210包括:获得单元2101、第一预处理单元2102、第二预处理单元2103和训练单元2104。其中:
获得单元2101,用于获得预训练数据集;所述预训练数据集为n×k×m的矩阵,其中,所述m表示所述预训练数据集对应的时段的数量,所述k表示所述训练数据集对应的指标的数量,一个所述时段包括n个时刻;所述n大于1,所述k大于1,所述m大于1;
第一预处理单元2102,用于通过异常检测模型的预处理层对所述预训练数据集进行纵向分割,得到第一训练数据集;所述第一训练数据集为n×m×k的矩阵;所述k表示所述第一训练数据集包括的第一样本的数量,一个所述第一样本用于表征一个指标在n×m个时间维度内的取值;
第二预处理单元2103,用于通过所述预处理层对所述预训练数据集进行横向分割,得到第二训练数据集;所述第二训练数据集为m×k×n的矩阵;所述n表示所述第二训练数据集包括的第二样本的数量,一个所述第二样本用于表征一个时刻对应的k个指标在m个时间段的取值;
训练单元2104,用于基于所述第一训练数据集和所述第二训练数据集训练异常检测模型,得到目标检测模型;所述目标检测模型用于确定一个时间段内的检测数据的检测参数;所述检测参数用于确定所述检测数据是否异常。
在一些实施例中,所述异常检测模型还包括:第一图神经网络GAT层、第二GAT层以及预测层,训练单元2104具体用于:
将所述第一训练数据集中的k个第一样本输入所述第一GAT层,通过所述第一GAT层的处理得到k×n个第一特征;一个所述第一特征用于表征所述第一特征对应的指标的取值与k-1个指标的取值之间的关系;
将所述第二训练数据集中的n个第二样本输入所述第二GAT层,通过所述第二GAT层的处理得到n×k个第二特征;一个所述第二特征用于表征所述第二特征对应的时刻的取值与n-1个时刻的取值之间的关系;
至少将所述k×n个第一特征和所述n×k个第二特征进行拼接,得到预测数据集;所述预测数据集为n×s×m的矩阵;所述s大于或等于所述k;
将所述预测数据集输入至所述预测层,通过所述预测层的处理得到第一预测结果;
基于所述第一预测结果调整所述异常检测模型中的参数,得到目标检测模型。
在一些实施例中,针对一个所述第一样本,训练单元2104还用于:
将所述第一样本的每一行作为一个第一节点,得到n个第一节点;
针对所述n个第一节点中的每个所述第一节点,执行第一处理,得到所述第一节点对应的第一特征;
其中,所述第一处理包括:确定所述第一节点分别与所述n个第一节点之间的相似系数,得到所述n个相似系数;
将所述n个相似系数转换为n个注意力系数;
基于所述n个节点对应的数据和所述n个注意力系数确定所述第一节点对应的第一特征。
在一些实施例中,所述预测层包括全连接层和变分自编码器VAE层,所述预测数据集包括m个预测样本,训练单元2104还用于:
将所述m个预测样本中的每个所述预测样本输入至所述全连接层,通过所述全连接层的处理得到m组预测数值;
其中,针对每个所述预测样本,通过所述全连接层的处理后得到一组所述预测数值;一组所述预测数值包括:所述k个指标在下一时刻的预测取值;所述下一时刻为所述预测样本对应的时段的下一时刻;
将所述m个预测样本中的每个所述预测样本输入至所述VAE层,通过所述VAE层的处理得到m组重构概率;
其中,针对每个所述预测样本,通过所述VAE层的处理后得到一组所述重构概率;一组所述重构概率包括:所述k个指标在下一时刻的重构概率;
确定所述第一预测结果包括:所述m组预测数值和所述m组重构概率。
在一些实施例中,在所述预测层包括全连接层和变分自编码器VAE层,所述第一预测结果包括所述m组预测数值和所述m组重构概率的情况下,训练单元2104还用于:
确定所述全连接层对应的第一损失函数,以及所述VAE层对应的第二损失函数;所述第一损失函数与所述第二损失函数不同;
至少基于所述m组预测数值、所述m组重构概率、所述第一损失函数和所述第二损失函数,确定m个目标损失;其中,针对一组预测数值和所述一组预测数值对应的所述重构概率,确定一个所述目标损失;
基于所述m个目标损失调整所述异常检测模型中的参数,得到所述目标检测模型。
在一些实施例中,所述异常检测模型还包括拼接层,训练单元2104还用于:
将所述k×n个第一特征、所述n×k个第二特征以及所述预训练数据集输入至所述拼接层,通过所述拼接层的处理得到拼接数据;其中,所述预测数据集为所述拼接数据;所述s等于3倍的所述k。
在一些实施例中,所述异常检测模型还包括:拼接层和门控循环单元GRU层,训练单元2104还用于:
将所述k×n个第一特征、所述n×k个第二特征以及预训练数据集输入至所述拼接层,通过所述拼接层的处理得到拼接数据;
将所述拼接数据输入至所述GRU层,通过所述GRU层对所述拼接数据中,指标维度的干扰进行过滤,得到所述预测数据集;所述s小于3倍的所述k。
在一些实施例中,数据处理装置210还可以包括预测单元,预测单元用于在所述基于所述第一训练数据集和所述第二训练数据集训练异常检测模型,得到目标检测模型之后,执行:
获取第一时段内k个指标的检测数据;所述第一时段为任一时段;
将所述检测数据输入至所述目标检测模型,通过所述目标检测模型的处理得到所述k个指标在第二时刻的检测参数值;所述第二时刻为所述第一时段的下一时刻;
基于所述k个指标在第二时刻的检测参数值,确定所述检测数据对应的总分数;
在所述总分数大于或等于分数阈值的情况下,确定所述检测数据异常。
在一些实施例中,在所述检测参数包括重构概率和预测数值,预测单元还用于:
通过第一公式确定所述检测数据对应的总分数;
其中,所述Score表示所述检测数据对应的总分数,xi表示第i个指标在所述第二时刻的实际取值;x′i表示第i个指标在所述第二时刻的预测值;所述p′i表示第i个指标在所述第二时刻的重构概率值;所述γ表示预设系数。
在一些实施例中,数据处理装置210还可以包括定位单元,定位单元用于:
确定所述k个指标在所述第二时刻的异常分数;
基于所述k个指标在所述第二时刻的异常分数,进行异常定位。
需要说明的是,本申请实施例提供的数据处理装置包括所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro ProcessorUnit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(FPGA,Field-Programmable Gate Array)等。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的数据处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
第三方面,为实现上述数据处理方法,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的数据处理方法中的步骤。
下面结合图22所示的电子设备220,对电子设备的结构图进行说明。
在一示例中,电子设备220可以为上述电子设备。如图22所示,所述电子设备220包括:一个处理器2201、至少一个通信总线2202、用户接口2203、至少一个外部通信接口2204和存储器2205。其中,通信总线2202配置为实现这些组件之间的连接通信。其中,用户接口2203可以包括显示屏,外部通信接口2204可以包括标准的有线接口和无线接口。
存储器2205配置为存储由处理器2201可执行的指令和应用,还可以缓存待处理器2201以及电子设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。
第四方面,本申请实施例提供一种存储介质,也就是计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的数据处理方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种数据处理方法,其特征在于,所述方法包括:
获得预训练数据集;所述预训练数据集为n×k×m的矩阵,其中,所述m表示所述预训练数据集对应的时段的数量,所述k表示所述训练数据集对应的指标的数量,一个所述时段包括n个时刻;所述n大于1,所述k大于1,所述m大于1;
通过异常检测模型的预处理层对所述预训练数据集进行纵向分割,得到第一训练数据集;所述第一训练数据集为n×m×k的矩阵;所述k表示所述第一训练数据集包括的第一样本的数量,一个所述第一样本用于表征一个指标在n×m个时间维度内的取值;
通过所述预处理层对所述预训练数据集进行横向分割,得到第二训练数据集;所述第二训练数据集为m×k×n的矩阵;所述n表示所述第二训练数据集包括的第二样本的数量,一个所述第二样本用于表征一个时刻对应的k个指标在m个时间段的取值;
基于所述第一训练数据集和所述第二训练数据集训练异常检测模型,得到目标检测模型;所述目标检测模型用于确定一个时间段内的检测数据的检测参数;所述检测参数用于确定所述检测数据是否异常。
2.根据权利要求1所述的方法,其特征在于,所述异常检测模型还包括:第一图神经网络GAT层、第二GAT层以及预测层,所述基于所述第一训练数据集和所述第二训练数据集训练异常检测模型,得到目标检测模型,包括:
将所述第一训练数据集中的k个第一样本输入所述第一GAT层,通过所述第一GAT层的处理得到k×n个第一特征;一个所述第一特征用于表征所述第一特征对应的指标的取值与k-1个指标的取值之间的关系;
将所述第二训练数据集中的n个第二样本输入所述第二GAT层,通过所述第二GAT层的处理得到n×k个第二特征;一个所述第二特征用于表征所述第二特征对应的时刻的取值与n-1个时刻的取值之间的关系;
至少将所述k×n个第一特征和所述n×k个第二特征进行拼接,得到预测数据集;所述预测数据集为n×s×m的矩阵;所述s大于或等于所述k;
将所述预测数据集输入至所述预测层,通过所述预测层的处理得到第一预测结果;
基于所述第一预测结果调整所述异常检测模型中的参数,得到目标检测模型。
3.根据权利要求2所述的方法,其特征在于,针对一个所述第一样本,所述将所述第一训练数据集中的k个第一样本输入所述第一GAT层,得到k×n个第一特征,包括:
将所述第一样本的每一行作为一个第一节点,得到n个第一节点;
针对所述n个第一节点中的每个所述第一节点,执行第一处理,得到所述第一节点对应的第一特征;
其中,所述第一处理包括:确定所述第一节点分别与所述n个第一节点之间的相似系数,得到所述n个相似系数;
将所述n个相似系数转换为n个注意力系数;
基于所述n个节点对应的数据和所述n个注意力系数确定所述第一节点对应的第一特征。
4.根据权利要求2所述的方法,其特征在于,所述预测层包括全连接层和变分自编码器VAE层,所述预测数据集包括m个预测样本,所述将所述预测数据集输入至所述预测层,通过所述预测层的处理得到第一预测结果,包括:
将所述m个预测样本中的每个所述预测样本输入至所述全连接层,通过所述全连接层的处理得到m组预测数值;
其中,针对每个所述预测样本,通过所述全连接层的处理后得到一组所述预测数值;一组所述预测数值包括:所述k个指标在下一时刻的预测取值;所述下一时刻为所述预测样本对应的时段的下一时刻;
将所述m个预测样本中的每个所述预测样本输入至所述VAE层,通过所述VAE层的处理得到m组重构概率;
其中,针对每个所述预测样本,通过所述VAE层的处理后得到一组所述重构概率;一组所述重构概率包括:所述k个指标在下一时刻的重构概率;
确定所述第一预测结果包括:所述m组预测数值和所述m组重构概率。
5.根据权利要求2所述的方法,其特征在于,在所述预测层包括全连接层和变分自编码器VAE层,所述第一预测结果包括所述m组预测数值和所述m组重构概率的情况下,所述基于所述第一预测结果调整所述异常检测模型中的参数,得到目标检测模型,包括:
确定所述全连接层对应的第一损失函数,以及所述VAE层对应的第二损失函数;所述第一损失函数与所述第二损失函数不同;
至少基于所述m组预测数值、所述m组重构概率、所述第一损失函数和所述第二损失函数,确定m个目标损失;其中,针对一组预测数值和所述一组预测数值对应的所述重构概率,确定一个所述目标损失;
基于所述m个目标损失调整所述异常检测模型中的参数,得到所述目标检测模型。
6.根据权利要求2所述的方法,其特征在于,所述异常检测模型还包括拼接层,所述至少将所述k×n个第一特征和所述n×k个第二特征进行拼接,得到预测数据集,包括:
将所述k×n个第一特征、所述n×k个第二特征以及所述预训练数据集输入至所述拼接层,通过所述拼接层的处理得到拼接数据;其中,所述预测数据集为所述拼接数据;所述s等于3倍的所述k。
7.根据权利要求2所述的方法,其特征在于,所述异常检测模型还包括:拼接层和门控循环单元GRU层,所述至少将所述k×n个第一特征和所述n×k个第二特征进行拼接,得到预测数据集,包括:
将所述k×n个第一特征、所述n×k个第二特征以及预训练数据集输入至所述拼接层,通过所述拼接层的处理得到拼接数据;
将所述拼接数据输入至所述GRU层,通过所述GRU层对所述拼接数据中,指标维度的干扰进行过滤,得到所述预测数据集;所述s小于3倍的所述k。
8.根据权利要求1所述的方法,其特征在于,在所述基于所述第一训练数据集和所述第二训练数据集训练异常检测模型,得到目标检测模型之后,所述方法还包括:
获取第一时段内k个指标的检测数据;所述第一时段为任一时段;
将所述检测数据输入至所述目标检测模型,通过所述目标检测模型的处理得到所述k个指标在第二时刻的检测参数值;所述第二时刻为所述第一时段的下一时刻;
基于所述k个指标在第二时刻的检测参数值,确定所述检测数据对应的总分数;
在所述总分数大于或等于分数阈值的情况下,确定所述检测数据异常。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
确定所述k个指标在所述第二时刻的异常分数;
基于所述k个指标在所述第二时刻的异常分数,进行异常定位。
11.一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至10任一项所述的数据处理方法。
12.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至10任一项所述的数据处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210760323.5A CN115063588A (zh) | 2022-06-29 | 2022-06-29 | 一种数据处理方法、装置、设备及存储介质 |
PCT/CN2022/120467 WO2024000852A1 (zh) | 2022-06-29 | 2022-09-22 | 数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210760323.5A CN115063588A (zh) | 2022-06-29 | 2022-06-29 | 一种数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115063588A true CN115063588A (zh) | 2022-09-16 |
Family
ID=83204857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210760323.5A Pending CN115063588A (zh) | 2022-06-29 | 2022-06-29 | 一种数据处理方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115063588A (zh) |
WO (1) | WO2024000852A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116361635A (zh) * | 2023-06-02 | 2023-06-30 | 中国科学院成都文献情报中心 | 一种多维时序数据异常检测方法 |
CN116383096A (zh) * | 2023-06-06 | 2023-07-04 | 安徽思高智能科技有限公司 | 基于多指标时序预测的微服务系统异常检测方法及装置 |
CN116628508A (zh) * | 2023-07-20 | 2023-08-22 | 科大讯飞股份有限公司 | 模型训练过程异常检测方法、装置、设备及存储介质 |
CN117093947A (zh) * | 2023-10-20 | 2023-11-21 | 深圳特力自动化工程有限公司 | 一种发电柴油机运行异常监测方法及系统 |
CN117113259A (zh) * | 2023-10-19 | 2023-11-24 | 华夏天信智能物联(大连)有限公司 | 用于安全隐患预测的煤矿状态数据处理方法及系统 |
CN117150407A (zh) * | 2023-09-04 | 2023-12-01 | 国网上海市电力公司 | 一种工业碳排放数据的异常检测方法 |
WO2024000852A1 (zh) * | 2022-06-29 | 2024-01-04 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
CN118278826A (zh) * | 2024-06-03 | 2024-07-02 | 山东特发光源光通信有限公司 | 一种光缆生产的实时数据采集与管理系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117973683B (zh) * | 2024-01-29 | 2024-07-16 | 中国人民解放军军事科学院系统工程研究院 | 基于评估知识表征的装备体系效能评估装置 |
CN117830750B (zh) * | 2024-03-04 | 2024-06-04 | 青岛大学 | 一种基于图Transformer的机械故障预测方法 |
CN117952564B (zh) * | 2024-03-22 | 2024-06-07 | 江西为易科技有限公司 | 一种基于进度预测的排程模拟优化方法及系统 |
CN118606718B (zh) * | 2024-08-08 | 2024-11-01 | 安徽思高智能科技有限公司 | 一种基于历史模型集成的流程预测方法及设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10771488B2 (en) * | 2018-04-10 | 2020-09-08 | Cisco Technology, Inc. | Spatio-temporal anomaly detection in computer networks using graph convolutional recurrent neural networks (GCRNNs) |
CN109978379B (zh) * | 2019-03-28 | 2021-08-24 | 北京百度网讯科技有限公司 | 时序数据异常检测方法、装置、计算机设备和存储介质 |
US11494661B2 (en) * | 2019-08-23 | 2022-11-08 | Accenture Global Solutions Limited | Intelligent time-series analytic engine |
CN111708739B (zh) * | 2020-05-21 | 2024-02-27 | 北京奇艺世纪科技有限公司 | 时序数据的异常检测方法、装置、电子设备及存储介质 |
CN114221790A (zh) * | 2021-11-22 | 2022-03-22 | 浙江工业大学 | 一种基于图注意力网络的bgp异常检测方法及系统 |
CN115063588A (zh) * | 2022-06-29 | 2022-09-16 | 深圳前海微众银行股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
-
2022
- 2022-06-29 CN CN202210760323.5A patent/CN115063588A/zh active Pending
- 2022-09-22 WO PCT/CN2022/120467 patent/WO2024000852A1/zh unknown
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024000852A1 (zh) * | 2022-06-29 | 2024-01-04 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
CN116361635B (zh) * | 2023-06-02 | 2023-10-10 | 中国科学院成都文献情报中心 | 一种多维时序数据异常检测方法 |
CN116361635A (zh) * | 2023-06-02 | 2023-06-30 | 中国科学院成都文献情报中心 | 一种多维时序数据异常检测方法 |
CN116383096A (zh) * | 2023-06-06 | 2023-07-04 | 安徽思高智能科技有限公司 | 基于多指标时序预测的微服务系统异常检测方法及装置 |
CN116383096B (zh) * | 2023-06-06 | 2023-08-18 | 安徽思高智能科技有限公司 | 基于多指标时序预测的微服务系统异常检测方法及装置 |
CN116628508B (zh) * | 2023-07-20 | 2023-12-01 | 科大讯飞股份有限公司 | 模型训练过程异常检测方法、装置、设备及存储介质 |
CN116628508A (zh) * | 2023-07-20 | 2023-08-22 | 科大讯飞股份有限公司 | 模型训练过程异常检测方法、装置、设备及存储介质 |
CN117150407A (zh) * | 2023-09-04 | 2023-12-01 | 国网上海市电力公司 | 一种工业碳排放数据的异常检测方法 |
CN117113259A (zh) * | 2023-10-19 | 2023-11-24 | 华夏天信智能物联(大连)有限公司 | 用于安全隐患预测的煤矿状态数据处理方法及系统 |
CN117113259B (zh) * | 2023-10-19 | 2023-12-22 | 华夏天信智能物联(大连)有限公司 | 用于安全隐患预测的煤矿状态数据处理方法及系统 |
CN117093947A (zh) * | 2023-10-20 | 2023-11-21 | 深圳特力自动化工程有限公司 | 一种发电柴油机运行异常监测方法及系统 |
CN117093947B (zh) * | 2023-10-20 | 2024-02-02 | 深圳特力自动化工程有限公司 | 一种发电柴油机运行异常监测方法及系统 |
CN118278826A (zh) * | 2024-06-03 | 2024-07-02 | 山东特发光源光通信有限公司 | 一种光缆生产的实时数据采集与管理系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2024000852A1 (zh) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115063588A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
US11921566B2 (en) | Abnormality detection system, abnormality detection method, abnormality detection program, and method for generating learned model | |
CN111124840B (zh) | 业务运维中告警的预测方法、装置与电子设备 | |
CN110321603B (zh) | 一种用于航空发动机气路故障诊断的深度计算模型 | |
Ibrahim et al. | Short‐Time Wind Speed Forecast Using Artificial Learning‐Based Algorithms | |
CN112966714A (zh) | 一种边缘时序数据异常检测和网络可编程控制方法 | |
CN112508265A (zh) | 面向业务流程管理的时间与活动多任务预测方法及系统 | |
Legrand et al. | Study of autoencoder neural networks for anomaly detection in connected buildings | |
KR102359090B1 (ko) | 실시간 기업정보시스템 이상행위 탐지 서비스를 제공하는 방법과 시스템 | |
CN115587335A (zh) | 异常值检测模型的训练方法、异常值检测方法及系统 | |
CN113409166A (zh) | 基于XGBoost模型的用户异常用电行为检测方法及装置 | |
Kaur et al. | A variational autoencoder-based dimensionality reduction technique for generation forecasting in cyber-physical smart grids | |
Li et al. | A framework for predicting network security situation based on the improved LSTM | |
Shi et al. | A novel approach to detect electricity theft based on conv-attentional Transformer Neural Network | |
CN117875520B (zh) | 基于动态图时空演化挖掘的公共安全事件预测方法及系统 | |
Wei et al. | Deterministic ship roll forecasting model based on multi-objective data fusion and multi-layer error correction | |
CN115564155A (zh) | 一种分散式风电机组功率预测方法及相关设备 | |
CN115983497A (zh) | 一种时序数据预测方法和装置、计算机设备、存储介质 | |
CN117154680A (zh) | 一种基于非平稳Transformer模型的风电功率预测方法 | |
Li et al. | A lstm-based method for comprehension and evaluation of network security situation | |
CN117952646A (zh) | 一种基于小波包分解的tcn-lstm组合电价预测方法 | |
McMillan et al. | Domain-informed variational neural networks and support vector machines based leakage detection framework to augment self-healing in water distribution networks | |
CN116170200A (zh) | 电力监控系统时间序列异常检测方法、系统、设备及存储介质 | |
Reddy et al. | Earthquake magnitude prediction using deep learning techniques | |
Patel et al. | DeepFake Videos Detection and Classification Using Resnext and LSTM Neural Network |
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 |