本发明涉及数据异常检测,具体涉及一种基于对比学习和生成对抗网络的时间序列异常检测方法。
背景技术:
1、在工业数字化系统中,传感器和控制器的大规模部署为设备监控、生产流程仿真以及控制和预测提供了强大的技术支持。传感器用于监测设备,收集数据后发送给对应的数据接收器,帮助系统以高效和连续的方式运行。然而,这些数据不仅体量庞大而且具有时序性,其存储和计算过程复杂,一旦系统发生异常,会对数据的质量和系统的安全稳定性带来影响。时间序列异常检测的主要任务是从数据中识别出那些明显偏离正常运行模式的异常点。这类异常可能由于设备故障、操作失误或外部干扰等多种原因引起。例如,在网络安全领域,异常检测技术可以帮助监控网络流量,及时发现并防范未经授权的访问和潜在的网络攻击,保障信息的安全;在医疗健康领域,通过对患者的生理指标如心率、血压等进行持续监控,异常检测可以帮助医疗人员迅速识别出潜在的健康问题,并及时进行干预,从而提高医疗的效率和效果。因此,无论是在工业生产还是日常生活中,时间序列异常检测都扮演着一个不可或缺的角色,它不仅有助于提高系统的自动化和智能化水平,还能大大降低因异常情况带来的风险和损失。
2、目前,大多数异常检测方法使用自编码器来捕获时间序列数据的正常模式。例如基于长短时记忆网络的编码器-解码器模型,编码器学习输入时间序列的潜在表示,解码器使用潜在表示重建时间序列,通过计算未来时间点的重建误差判断该点异常的可能性,如果存在与正常数据相对接近的异常数据,简单的编码器-解码器网络往往会错过异常。为了提高模型对异常的辨别能力,现有技术通过在编码器-解码器网络中引入对抗网络。然而,由于时间序列数据的时间依赖性,单依赖某个点的上下文信息是不足以全面描述整个时间序列的特征,导致模型在不同场景中的表现不够稳定,不具备广泛性。
技术实现思路
1、本发明为克服上述现有技术所述在不同场景下适用性不足的缺陷,提供一种基于对比学习和生成对抗网络的时间序列异常检测方法。
2、为达到上述技术效果,本发明的技术方案如下:
3、一种基于对比学习和生成对抗网络的时间序列异常检测方法,其步骤包括:
4、s1、将时间序列数据集进行预处理并划分为若干批次,并对每个批次划分为若干时间窗口;
5、s2、对于任一批次的时间序列数据,将其每一个时间窗口进行时间域和频域的数据增强,将数据增强后的时间序列数据输入编码器得到第一潜在变量;并基于时间域和频域对所述第一潜在变量进行对比学习,得到第二潜在变量;
6、s3、通过生成器和判别器对当前批次时间序列数据相应的所述第二潜在变量进行生成对抗网络训练,并根据训练得到的误差计算当前批次每一窗口内每一时间序列数据的异常分数,寻找出当前批次内异常分数高于预设阈值的时间序列数据并将其标记为异常数据;
7、s4、对下一批次的时间序列数据重复执行s2~s3步骤,直至所有批次的时间序列数据完成异常检测。
8、与现有技术相比,本发明的有益效果:
9、本发明提出一种基于对比学习和生成对抗网络的时间序列异常检测方法,在编码阶段,利用对比学习机制,模型通过对比潜在变量的不同数据视图,强化了对共性和差异性的识别能力;在对抗网络的重建阶段和对抗阶段,生成器和判别器的协同作用有效提升了数据重建的精度。通过结合对比学习损失、重建误差以及对抗误差三者的综合作用,模型在处理复杂时间序列数据时具备了更强的泛化能力和异常检测的精准性。
1.一种基于对比学习和生成对抗网络的时间序列异常检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于对比学习和生成对抗网络的时间序列异常检测方法,其特征在于,所述将时间序列数据集进行预处理的步骤包括:对时间序列数据进行min-max归一化处理,其表达式如下:
3.根据权利要求1所述的基于对比学习和生成对抗网络的时间序列异常检测方法,其特征在于,所述对时间序列数据集内的每一个时间窗口进行时间域和频域的数据增强的步骤包括:
4.根据权利要求1所述的基于对比学习和生成对抗网络的时间序列异常检测方法,其特征在于,所述编码器包括依次连接的lstm长短期记忆网络、全连接层和relu修正线性单元层。
5.根据权利要求1所述的基于对比学习和生成对抗网络的时间序列异常检测方法,其特征在于,所述基于时间域和频域对所述第一潜在变量进行对比学习,包括以下步骤:
6.根据权利要求1所述的基于对比学习和生成对抗网络的时间序列异常检测方法,其特征在于,所述通过生成器和判别器对所述第二潜在变量进行生成对抗网络训练中,包括重建阶段和对抗阶段,所述重建阶段中的损失在对抗网络训练中的权重占比为所述对抗阶段中的损失在对抗网络训练中的权重占比为其中,n是当前生成对抗网络训练的迭代轮次。
7.根据权利要求6所述的基于对比学习和生成对抗网络的时间序列异常检测方法,其特征在于,所述重建阶段中将第二潜在变量分别输入生成器和判别器进行重建并输出重建时间序列,其损失函数为:
8.根据权利要求7所述的基于对比学习和生成对抗网络的时间序列异常检测方法,其特征在于,在所述对抗阶段中,将所述重建阶段中生成器输出的重建时间序列进行时间域和频域的增强后输入编码器得到第一潜在变量;基于时间域和频域对所述第一潜在变量进行对比学习,得到第二潜在变量,将所述第二潜在变量输入判别器区分来自生成器的数据或真实输入数据,并训练生成器欺骗判别器;其损失函数为:
9.根据权利要求6所述的基于对比学习和生成对抗网络的时间序列异常检测方法,其特征在于,所述根据训练得到的误差计算该批次内每一窗口内每一数据的异常分数的步骤包括:
10.根据权利要求1~9任一项所述的基于对比学习和生成对抗网络的时间序列异常检测方法,其特征在于,所述预设阈值的取值为使f1分数为最大值时阈值的取值;