本发明涉及电能表异常检测,并且更具体地,涉及一种基于动量更新双路重构自校正电能表异常检测方法及系统。
背景技术:
1、随着智能电网的发展,智能电表的功能日益丰富,及时排查和检修故障电表,对电网的稳定运行和用户的稳定用电具有重大意义。根据国家市场监管总局关于强制检定的相关规定,应变革生活用电能表(以下简称电能表)到期轮换的传统模式,逐步推行以“失准更换”替代“到期轮换”,构建依据电能表状态延期使用或更换的新模式。要实现这一目标,亟需变革目前传统实物传递的电能表检定校准模式,创新电能表检定校准方法。智能电能表作为用电信息采集系统中直接面向客户的最基础组成单元,可以采集家庭、商业等用户的电流、电压、电能示值等多变量时间序列检测数据,其运行情况直接影响到采集系统的稳定性和安全性、影响到供用电双方的经济利益,其轮换周期也直接关系到电网公司的运营成本和经济效益。通过对电能表采集的多变量时间序列进行分析,可以学习到电能表的正常模式进而判断电能表运行的正常和异常情况,从而全面地分析和监测智能电能表的运行。
2、电能表时间序列异常检测的目的是发现偏离整个时间序列正常数据分布的数据,这种与正常不匹配的数据被称为异常值或离群值。由于异常在真实的时间序列数据中是罕见的,可以利用的有标签数据非常有限,这使得基于无监督的方法更加具有吸引力。
3、经典的无监督异常检测方法如local outlier factor(lof)、one-class supportvector machine(ocsvm)和isolation forest(if)虽然已经被应用到了电能表异常检测中,但由于他们忽略了时间序列数据的时序结构,导致无法捕捉时间序列的上下文依赖性和复杂的非线性关系,被发现并不适合时间序列异常的检测。此外,传统异常检测方法在测试过程中由于需要重新遍历整个训练集使得它们的计算效率较低。利用最近在深度学习方面的成功,许多基于深度学习的时间序列异常检测方法被提出并表现出很高的异常检测能力。基于深度学习的时间序列异常检测方法可以大致分为基于重构的方法和基于预测的方法。两种方法均严重依赖一个基本正态性假设,即训练数据只包含正常数据。由于训练数据均为正常数据的假设,重构和预测模型无法重构测试序列中的异常序列,所以异常数据相比于正常数据有更大的误差,以此作为异常分数来判断正异常。由于时间序列本身表现出很强的随机性和不可预测性,当预测周期过长时,基于预测的方法无法准确地预测未来值,所以目前主流深度学习的异常检测方法主要为基于重构的方法。
4、然而,由于电能表数据实际收集过程容易受到干扰,因此训练数据可能会被未知的异常值或者噪音所破坏,基于重构异常检测方法的正态性假设在电能表实际情况中并不总是适用。当训练数据中存在污染时,基于重构的异常检测方法面临模型对异常的意外泛化导致正异常之间缺乏区分的问题,影响异常检测的性能。现有方法主要从模型和训练层面解决这个问题。模型层面方法尝试利用对比学习、vae、gan、diffusion结构,通过在建模过程中引入随机性,使模型具备对输入数据中的噪声、扰动或异常值的一定容忍能力,可以鲁棒提取时间序列的特征。或者是通过记忆模块等显式方法适当抑制模型的编解码能力,减弱模型对污染数据的学习。训练层面方法则是通过修改训练损失或者是筛选样本,在迭代训练中去除数据中的噪声或异常来抑制污染数据的影响。
5、但是基于显式模型层面的记忆模块方法存在潜变量和记忆向量表示空间不一致和没有显示利用历史已提取信息,导致无法准确重构潜变量影响异常检测性能等问题,而训练层面的方法则存在基于重构损失容易混淆可能的污染数据和一些正常的难训练数据进而影响异常检测的问题。此外,现有模型层面方法和训练层面方法缺乏有效结合,限制了模型异常检测性能的进一步提高。
6、现有的基于重构的智能电能表异常检测方法大都默认遵守使用干净的数据进行训练的假设。但在现实情况中存在噪声甚至污染,这些方法也可以较好的重构异常,导致正常和异常之间缺乏区分,从而影响异常检测的效果。现有的基于记忆模块的电能表时间序列异常检测方法在记忆项更新的过程中没有显式利用历史数据中已提取的模式信息,造成在更新过程中更加关注最新的特征模式,可能会导致丢失或遗忘历史中重要的正常模式,降低了记忆项的准确性和全面性,影响异常检测的性能。此外,记忆模块的query和key缺乏一致性可能导致相似度计算的不准确。而现有训练层面方法存在容易混淆污染数据和一些难学习正常数据的问题,并且缺乏与模型层面方法的有效融合,导致异常检测效果提升有限。
技术实现思路
1、针对上述问题,本发明提出了一种基于动量更新双路重构自校正电能表异常检测方法,包括:
2、获取电能表的原始时间序列数据,并基于所述原始时间序列数据生成时间序列集;
3、基于所述时间序列集及基于动量更新transformer记忆模块的双路重构自校正框架,训练得到用于电能表异常检测的检测模型;
4、基于所述检测模型,根据目标电能表的时间序列集,对所述目标电能表的异常进行检测。
5、可选的,基于所述原始时间序列数据生成时间序列集,包括:
6、采用滑动窗口的方式将所述原始时间序列数据,划分为子时间序列集,以所述子时间序列集生成时间序列集。
7、可选的,基于动量更新transformer记忆模块的双路重构自校正框架,包括:
8、普通自编码器重构回路和基于动量更新transformer记忆模块的重构回路。
9、可选的,将基于动量更新transformer记忆模块的重构回路引入动态队列、同步编码器和动量编码器;
10、其中,引入的动态队列用于从历史提取特征中选取目标特征来更新记忆向量;
11、引入的同步编码器和动量编码器用于对记忆库中的向量进行进一步编码并采用动量更新的方式来更新动量编码器的参数,所述同步编码器参数通过反向传播更新,所述动量编码器参数由动量的方式更新,以获得新的记忆库。
12、可选的,基于动量更新transformer记忆模块的重构回路利用多头注意力机制来捕捉目标特征以进行潜变量的重构。
13、可选的,将所述基于动量更新transformer记忆模块的重构回路引入相似性的记忆矩阵融合更新策略;
14、所述相似性的记忆矩阵融合更新策略,包括:在每次更新记忆项前,计算记忆库中记忆项两两间的相似性,将相似性大于阈值的项进行合并。
15、可选的,训练得到检测模型的过程中,将时间序列集输入至双路重构自校正框架,使用普通自编码器重构回路根据所述时间序列集计算得到重构的潜变量和重构数据,使用基于动量更新transformer记忆模块的重构回路,根据所述时间序列集计算得到使用记忆向量重构的潜变量和重构数据,基于双路重构数据确定双路重构的均方误差,基于所述均方误差作为损失调节权重,并通过权重差异映射器放大正常数据和污染数据之间的权重差距,基于损失调节权重和两路重构误差,确定模型的最终损失,基于所述最终损失训练检测模型。
16、可选的,基于所述检测模型,根据目标电能表的时间序列集,对所述目标电能表的异常进行检测,包括:
17、基于所述检测模型,根据目标电能表的时间序列集,确定目标电能表的综合异常分数,基于所述综合异常分数判断目标电能表是否存在异常;
18、其中,综合异常分数越大,表示存在异常的可能越大。
19、再一方面,本发明还提出了一种基于动量更新双路重构自校正电能表异常检测系统,包括:
20、数据单元,用于获取电能表的原始时间序列数据,并基于所述原始时间序列数据生成时间序列集;
21、训练单元,用于基于所述时间序列集及基于动量更新transformer记忆模块的双路重构自校正框架,训练得到用于电能表异常检测的检测模型;
22、检测单元,用于基于所述检测模型,根据目标电能表的时间序列集,对所述目标电能表的异常进行检测。
23、可选的,基于所述原始时间序列数据生成时间序列集,包括:
24、采用滑动窗口的方式将所述原始时间序列数据,划分为子时间序列集,以所述子时间序列集生成时间序列集。
25、可选的,基于动量更新transformer记忆模块的双路重构自校正框架,包括:
26、普通自编码器重构回路和基于动量更新transformer记忆模块的重构回路。
27、可选的,将基于动量更新transformer记忆模块的重构回路引入动态队列、同步编码器和动量编码器;
28、其中,引入的动态队列用于从历史提取特征中选取目标特征来更新记忆向量;
29、引入的同步编码器和动量编码器用于对记忆库中的向量进行进一步编码并采用动量更新的方式来更新动量编码器的参数,所述同步编码器参数通过反向传播更新,所述动量编码器参数由动量的方式更新,以获得新的记忆库。
30、可选的,基于动量更新transformer记忆模块的重构回路利用多头注意力机制来捕捉目标特征以进行潜变量的重构。
31、可选的,将所述基于动量更新transformer记忆模块的重构回路引入相似性的记忆矩阵融合更新策略;
32、所述相似性的记忆矩阵融合更新策略,包括:在每次更新记忆项前,计算记忆库中记忆项两两间的相似性,将相似性大于阈值的项进行合并。
33、可选的,训练得到检测模型的过程中,将时间序列集输入至双路重构自校正框架,使用普通自编码器重构回路根据所述时间序列集计算得到重构的潜变量和重构数据,使用基于动量更新transformer记忆模块的重构回路,根据所述时间序列集计算得到使用记忆向量重构的潜变量和重构数据,基于双路重构数据确定双路重构的均方误差,基于所述均方误差作为损失调节权重,并通过权重差异映射器放大正常数据和污染数据之间的权重差距,基于损失调节权重和两路重构误差,确定模型的最终损失,基于所述最终损失训练检测模型。
34、可选的,基于所述检测模型,根据目标电能表的时间序列集,对所述目标电能表的异常进行检测,包括:
35、基于所述检测模型,根据目标电能表的时间序列集,确定目标电能表的综合异常分数,基于所述综合异常分数判断目标电能表是否存在异常;
36、其中,综合异常分数越大,表示存在异常的可能越大。
37、再一方面,本发明还提供了一种计算设备,包括:一个或多个处理器;
38、处理器,用于执行一个或多个程序;
39、当所述一个或多个程序被所述一个或多个处理器执行时,实现如上述所述的方法。
40、再一方面,本发明还提供了一种计算机可读存储介质,其上存有计算机程序,所述计算机程序被执行时,实现如上述所述的方法。
41、与现有技术相比,本发明的有益效果为:
42、本发明提供了一种基于动量更新双路重构自校正电能表异常检测方法及系统,包括:获取电能表的原始时间序列数据,并基于所述原始时间序列数据生成时间序列集;基于所述时间序列集及基于动量更新transformer记忆模块的双路重构自校正框架,训练得到用于电能表异常检测的检测模型;基于所述检测模型,根据目标电能表的时间序列集,对所述目标电能表的异常进行检测。本发明增强了模型对正常数据的学习能力同时提高正异常的区分度,提高了异常检测的性能。
1.一种基于动量更新双路重构自校正电能表异常检测方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述原始时间序列数据生成时间序列集,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于动量更新transformer记忆模块的双路重构自校正框架,包括:
4.根据权利要求3所述的方法,其特征在于,在基于动量更新transformer记忆模块的重构回路中引入动态队列、同步编码器和动量编码器;
5.根据权利要求3所述的方法,其特征在于,基于动量更新transformer记忆模块的重构回路利用多头注意力机制来捕捉目标特征以进行潜变量的重构。
6.根据权利要求3所述的方法,其特征在于,在所述基于动量更新transformer记忆模块的重构回路引入相似性的记忆矩阵融合更新策略;
7.根据权利要求1所述的方法,其特征在于,训练得到检测模型的过程中,将时间序列集输入至双路重构自校正框架,使用普通自编码器重构回路根据所述时间序列集计算得到重构的潜变量和重构数据,使用基于动量更新transformer记忆模块的重构回路,根据所述时间序列集计算得到使用记忆向量重构的潜变量和重构数据,基于双路重构数据确定双路重构的均方误差,基于所述均方误差作为损失调节权重,并通过权重差异映射器放大正常数据和污染数据之间的权重差距,基于损失调节权重和两路重构误差,确定模型的最终损失,基于所述最终损失训练检测模型。
8.根据权利要求1所述的方法,其特征在于,所述基于所述检测模型,根据目标电能表的时间序列集,对所述目标电能表的异常进行检测,包括:
9.一种基于动量更新双路重构自校正电能表异常检测系统,其特征在于,包括:
10.根据权利要求9所述的系统,其特征在于,所述基于所述原始时间序列数据生成时间序列集,包括:
11.根据权利要求9所述的系统,其特征在于,所述基于动量更新transformer记忆模块的双路重构自校正框架,包括:
12.根据权利要求11所述的系统,其特征在于,将基于动量更新transformer记忆模块的重构回路引入动态队列、同步编码器和动量编码器;
13.根据权利要求11所述的系统,其特征在于,基于动量更新transformer记忆模块的重构回路利用多头注意力机制来捕捉目标特征以进行潜变量的重构。
14.根据权利要求11所述的系统,其特征在于,将所述基于动量更新transformer记忆模块的重构回路引入相似性的记忆矩阵融合更新策略;
15.根据权利要求9所述的系统,其特征在于,训练得到检测模型的过程中,将时间序列集输入至双路重构自校正框架,使用普通自编码器重构回路根据所述时间序列集计算得到重构的潜变量和重构数据,使用基于动量更新transformer记忆模块的重构回路,根据所述时间序列集计算得到使用记忆向量重构的潜变量和重构数据,基于双路重构数据确定双路重构的均方误差,基于所述均方误差作为损失调节权重,并通过权重差异映射器放大正常数据和污染数据之间的权重差距,基于损失调节权重和两路重构误差,确定模型的最终损失,基于所述最终损失训练检测模型。
16.根据权利要求9所述的系统,其特征在于,所述基于所述检测模型,根据目标电能表的时间序列集,对所述目标电能表的异常进行检测,包括:
17.一种计算机设备,其特征在于,包括:
18.一种计算机可读存储介质,其特征在于,其上存有计算机程序,所述计算机程序被执行时,实现如权利要求1-8中任一所述的方法。