一种基于深度卷积Seq2Seq-注意力框架的电流负荷分解方法与流程

专利检索2025-04-29  14


本发明属于电负荷监测,具体涉及基于深度卷积seq2seq-注意力框架的电流负荷分解方法。


背景技术:

1、在电流负荷分解领域,一种重要的技术是非侵入式负荷监测(nilm)。nilm是一种使用单个家庭电表读数的方法,通过分析电力数据的变化模式和特征,推断出各个电器设备的功耗贡献。nilm技术的关键在于识别和区分不同设备在总负荷中的功耗贡献,从而实现对电力数据的分解。

2、在负荷分解技术中,传统的方法包括基于统计模型、聚类分析和时序分解等。这些方法基于电力数据的统计特性和时序关系,通过建立模型或使用算法,将总负荷分解为各个设备的功耗贡献。

3、近年来,基于机器学习和深度学习的方法在负荷分解中取得了显著的进展。例如,基于深度学习的模型如卷积神经网络(cnn)、循环神经网络(rnn)和变换器(transformer)等,能够学习电力数据中的时序特征和设备关联性,从而实现准确的负荷分解。

4、此外,信号处理技术在负荷分解中也具有重要作用。通过滤波、频域分析和小波变换等技术,可以提取电力数据中不同设备的特征信号,实现负荷分解的目标。

5、非侵入式负荷监测方法、传统的统计模型和时序分解方法,以及基于机器学习和深度学习的模型。这些技术的应用可以实现对电力数据的分解,揭示各个设备的功耗特性,为能源供应商和用户提供准确的能源需求预测和优化策略,从而促进能源领域的可持续发展。

6、但是,由于电力系统中多设备混合运行,导致电流混叠问题;对此,上述方法的单独使用,会严重影响分解准确性和稳定性。


技术实现思路

1、本发明的目的是提供一种分解准确性高、稳定性好的基于深度卷积seq2seq-注意力框架的电流负荷分解方法,以克服电力系统中多设备混合运行导致的电流混叠问题。

2、本发明提供的基于深度卷积seq2seq-注意力框架的电流负荷分解方法,采用深度卷积seq2seq-注意力框架的电流负荷分解模型,该模型具体包括:卷积层、seq2seq-att网络、注意力机制模块、以及全连接层(fc)。首先,卷积层通过两个卷积块对输入数据进行特征提取,捕获其初级和复杂的空间特征;随后,seq2seq-att网络负责对这些特征进行时间序列的编码和解码操作,利用lstm结构捕获长期依赖关系;注意力机制模块在此基础上进一步优化解码过程,使解码器能够在每个时间步都考虑到与当前输出最相关的输入部分;最后,全连接层将上述处理后的数据进行进一步转化,输出最终的预测结果。具体步骤为:

3、步骤1:数据采集和预处理;

4、通过部署电流传感器,以固定1khz采样频率采集1个插线板总线上的电流数据,以及多个分设备电流数据,采集时长为2h,利用滑动窗口的方法获得数据集;将数据集经过预处理操作,包括数据清洗和去噪,以确保数据的质量和准确性;然后对数据集进行洗牌操作,打乱数据的顺序,选择数据集的80%用于训练,20%用于测试;

5、步骤2:卷积层处理;

6、卷积层主要由两个卷积块组成;首先,数据首先进入第一个卷积块,该卷积块由30个滤波器组成,内核大小为2、步长为1,它主要负责从数据中提取初级的空间特征;这些特征随后经过一个tanh激活函数进行非线性变换,然后进入一个最大池化层进行特征的下采样和压缩;接着,数据流向第二个卷积块,这个块与前一个类似,但具有60个滤波器,旨在提取更复杂的空间特征;

7、步骤3:seq2seq-att网络处理;

8、seq2seq-att网络由编码器和解码器两大部分组成;编码器的主要任务是将输入的时间序列数据转化为一个固定长度的上下文向量,它利用两层lstm结构来捕获数据中的长期依赖关系,并逐渐更新其隐藏状态;随着时间步的进展,最后一个时间步的隐藏状态被用作整个输入序列的表示;解码器接收这个上下文向量,并开始生成输出序列,同时在带有注意力机制的模型中,它会在每个时间步都考虑编码器的所有隐藏状态,确保预测更加精确;

9、步骤4:注意力机制模块处理;

10、注意力机制由三个主要部分组成:对齐分数、关注权重和上下文向量;首先,对齐分数衡量解码器当前的隐藏状态与编码器每个隐藏状态的相似度;然后,这些分数会经过softmax函数处理,得到关注权重,这些权重决定了解码器在当前时间步应该“关注”编码器哪些隐藏状态;最后,这些权重与编码器的隐藏状态相乘,产生上下文向量,这个向量为解码器在当前时间步提供关于输入序列的有针对性信息,辅助更精确的预测;

11、步骤5:全连接层(fc)处理;

12、全连接网络的核心是一系列的fc层;这些层的作用是将经过seq2seq-att处理的数据进一步转化,得到最终的预测输出;数据首先流经fc层进行加工处理,这些层可以根据需要调整节点数,来改变输出的特征向量数量;例如,要得到4个特征向量,只需调整fc层的输出节点数为4,从而满足不同的预测需求;

13、步骤6:损失函数和优化器处理;

14、采用huber损失函数,用于衡量生成结果与真实负荷之间的差异;优化器选择adam优化器;

15、步骤7:模型训练和参数更新;

16、使用预处理后的电流数据作为输入,将目标负荷作为训练的目标,通过反向传播算法计算梯度并更新模型参数,以最小化损失函数;在训练过程中,采用批量训练及滑动窗口训练的方式,随机选择一批滑动窗口内数据进行模型的更新和优化;

17、步骤8:模型测试和预测;

18、将测试数据输入到训练好的深度卷积seq2seq-注意力框架的电流负荷分解模型中,进行前向传播操作,得到电流负荷的预测结果。

19、进一步地:

20、步骤1中所述数据采集的步骤为:

21、采集1个插线板总线和6个分设备上的电流数据,分别编号d0、d1、d2、…、d6;在采集电气数据时,从0时刻起,采集器开始采集,采集频率为1khz,采集时长为2h,对每一个设备来说,采集到的数据条目总数为7200000条;

22、使用滑动窗口法构造数据集,设置窗口大小为2000,滑动步长为31,前三条数据与最后一条数据为:[0,2000),[31,2031),[62,2062),…,[7198000,7200000),对于每个设备,总共获得232195条数据,即每个设备的数据集矩阵格式为[232195,2000],7个设备的数据集矩阵格式为[232195,7,2000]。将数据集以8:2的划分方式分为训练集和测试集,训练集的矩阵格式为[185756,7,2000],测试集的矩阵格式为[46439,7,2000];这样就同时得到用来训练及测试模型的输入数据和计算loss的真实数据。

23、步骤1中所述数据预处理,包括:

24、(1)数据清洗:对采集到的原始电力数据可能包含的缺失值、异常值、重复值,进行数据清洗,以确保数据的准确性和一致性;具体包括:

25、(a)缺失值处理:对于每个记录,在时间点t处的电力消耗值表示为p(t),如果p(t)缺失,则使用相邻时间点的平均值进行填充,即:

26、

27、(b)异常值处理:对于每个记录,在时间点t处的电力消耗值表示为p(t),如果p(t)明显偏离其他时间点的取值范围,将其视为异常值;假设取值范围为[min,max],则异常值处理公式如下:

28、如果p(t)<min或p(t)>max,则:

29、

30、(2)数据去噪:采用基于小波变换方法去噪,具体如下:

31、将电流数据应用于小波变换,将其转换到小波域中;对小波系数应用软阈值滤波,将幅值低于阈值的小波系数置零,保留幅值高于阈值的小波系数;对滤波后的频域表示进行逆小波变换,得到去噪后的电力数据序列。

32、步骤2中,这一环节旨在从原始的电流数据中抽取和细化局部特征,为此设计了一系列紧密相连的操作;初始输入数据,标记为x,首先进入基础卷积层;在这里,通过使用设计精良的卷积核k,数据x被逐步转化,提取出其基本特征;这一过程可通过如下公式描述:

33、f=x*k+b,    (3)

34、其中,b代表偏置项,这是为了确保我们不会丢失数据中的任何关键信息;

35、但仅有线性转换是不够的,为了增加模型的表达能力并捕获更复杂的关系,需要引入非线性;因此,紧随其后的是relu激活函数,它作用于前面得到的特征图f;通过简单的公式:

36、r=max(0,f),    (4)

37、将所有的负值转化为零,正值则保持不变,从而增加了模型的非线性特性。

38、随着网络的深入,保持数据的稳定性和一致性变得至关重要;为此,本发明采用batchnormalization或称为批量归一化层;通过对数据进行标准化,我们确保网络中的数据具有相似的分布;具体而言,来自relu激活的数据r被归一化,过程可用如下公式描述:

39、

40、其中,μ是数据的均值,σ2是方差,∈是一个小量(为避免分母为“0”而设置),确保计算的稳定性。

41、为了进一步降低数据维度并确保模型关注于最为关键的特征,本发明还可能加入池化层;最常见的方法是最大池化,它从批量归一化后的特征图b的每个局部区域中选择最大值,可以通过以下公式来概括:

42、p=maxpool(b),    (6)

43、经过上述各个子模块的处理,最终得到一系列的特征图;这些特征图,标记为:

44、o={p1,p2,...,pn},    (7)

45、它们精炼地代表原始数据中的主要信息,但具有更为紧凑的维度,为后续处理奠定了基础。

46、在整个卷积层处理过程中,数据从原始形式经历了特征提取、非线性激活、标准化和池化等多个阶段,每个阶段都为提取出的特征增加了额外的信息或进行了优化,从而使得这些特征更适合后续的负荷分解任务。

47、步骤3中,seq2seq模型,即sequence-to-sequence模型,主要用于处理两种序列之间的转换问题。原初,该模型设计用于机器翻译任务,但随着研究的深入,我们发现其在电流数据转化任务中也具有出色的性能。本模型主要包含两个组成部分:编码器(encoder)和解码器(decoder),并在此基础上加入了注意力机制,以增强模型对输入序列关键部分的关注度。

48、编码器负责读取来自卷积层处理后的特征图,并将它们转化为一种固定长度的内部状态表示,即上下文向量c。这一过程可以用以下公式来描述:

49、c=fencoder(o),    (8)

50、其中,fencoder代表编码器的函数,而o是卷积层输出的特征图。

51、解码器则基于编码器生成的上下文向量c开始工作,逐步产生目标序列。在每一步,解码器生成的上一时刻输出作为当前时刻的输入,过程可用以下公式表示:

52、yt=fdecoder(yt-1,c),    (9)

53、其中,yt和yt-1分别是解码器在时刻t和t-1的输出。

54、然而,在纯粹的seq2seq模型中,上下文向量c作为唯一的连接,有时可能会成为信息瓶颈。为解决此问题,引入了注意力机制,使解码器能够“关注”输入序列中的特定部分。在每一步,注意力机制为编码器的每一个输出赋予权重,并结合这些权重来更新上下文向量。这一过程可以表示为:

55、αt=softmax(watt·[ht;o]),    (10)

56、

57、其中,watt是注意力机制的权重,ht是解码器在时刻t的隐藏状态。

58、综上所述,seq2seq-att网络通过编码器对输入序列进行编码,再通过解码器与注意力机制生成目标序列,确保模型在生成过程中始终关注于输入数据的关键部分。这一设计使得seq2seq-att网络在处理时序数据时表现卓越,尤其适合于电流数据的转换任务。

59、步骤4中,注意力机制在深度学习模型中,特别是在seq2seq任务中,起到了至关重要的作用。它的核心思想是在每一个解码步骤,模型可以选择“关注”输入序列中的某一部分,而不是仅依赖于一个固定的上下文向量。这样做可以帮助模型捕获长距离的依赖关系,提高模型的预测准确性。

60、注意力机制的核心是计算一个权重分布,这一分布决定了解码器在当前步骤应该关注输入序列的哪些部分。具体地说,给定解码器的当前隐藏状态ht和编码器的所有输出o,权重分布αt可以通过下面的公式计算得到:

61、αt=softmax(watt·tanh(v·o+u·ht)),    (12)

62、其中,watt,v和u都是模型需要学习的参数矩阵。

63、有了权重分布后,可以计算加权平均的上下文向量ct,它将用于当前的解码步骤:

64、

65、这里的ct是基于编码器输出的加权平均,权重是通过注意力机制计算出来的。

66、此上下文向量与解码器的当前隐藏状态结合,来产生当前步骤的输出。这种动态的上下文向量选择机制允许解码器在每一步都关注于与当前输出最相关的输入部分,从而大大提高了模型对于复杂输入的处理能力。

67、总的来说,注意力机制模块为seq2seq模型提供了一个强大的工具,使得模型能够更加灵活地处理输入数据,特别是当输入序列很长或存在复杂的依赖关系时。它通过计算动态的权重分布和上下文向量,确保解码器在每一步都能够关注到与当前输出最相关的输入部分,从而显著提高模型的性能。

68、步骤8中,所述模型训练和参数更新,具体为:对模型的参数进行随机初始化;选择huber损失函数作为衡量模型预测结果与真实负荷之间差异的指标,选择adam优化器进行参数更新;将训练集输入模型,计算损失函数并进行反向传播,通过优化器更新模型参数,重复该过程进行多轮训练。

69、本发明的有益效果在于:

70、本发明提供的基于深度卷积seq2seq-注意力框架的电流负荷分解方法,包括:卷积层处理、seq2seq-att网络、注意力机制模块处理、以及全连接层(fc)处理。首先,卷积层处理模块通过两个卷积块对输入数据进行特征提取,捕获其初级和复杂的空间特征。随后,seq2seq-att网络负责对这些特征进行时间序列的编码和解码操作,利用lstm结构捕获长期依赖关系。注意力机制模块在此基础上进一步优化解码过程,使解码器能够在每个时间步都考虑到与当前输出最相关的输入部分。最后,全连接层处理模块将上述处理后的数据进行进一步转化,输出最终的预测结果。这对于电力系统的负荷监测、设备故障检测和能源管理具有重要意义。本发明为解决负荷分解问题提供了一种有效的解决方案,可应用于负荷管理、能源优化等领域。


技术特征:

1.一种基于深度卷积seq2seq-注意力框架的电流负荷分解方法,其特征在于,采用深度卷积seq2seq-注意力框架的电流负荷分解模型,该模型具体包括:卷积层、seq2seq-att网络、注意力机制模块、以及全连接层fc;首先,卷积层通过两个卷积块对输入数据进行特征提取,捕获其初级和复杂的空间特征;随后,seq2seq-att网络负责对这些特征进行时间序列的编码和解码操作,利用lstm结构捕获长期依赖关系;注意力机制模块进一步优化解码过程,使解码器在每个时间步都考虑到与当前输出最相关的输入部分;最后,全连接层将上述处理后的数据进行进一步转化,输出最终的预测结果;具体步骤为:

2.根据权利要求1所述的电流负荷分解方法,其特征在于,步骤1中所述数据采集的步骤为:

3.根据权利要求2所述的电流负荷分解方法,其特征在于,步骤1中所述数据预处理,包括:

4.根据权利要求3所述的电流负荷分解方法,其特征在于,步骤2中,旨在从原始的电流数据中抽取和细化局部特征,为此设计一系列紧密相连的操作:初始输入数据,标记为x,首先进入基础卷积层;在这里,通过使用设计的卷积核k,数据x被逐步转化,提取出其基本特征;这一过程通过如下公式描述:

5.根据权利要求4所述的电流负荷分解方法,其特征在于,步骤3中,seq2seq-att网络主要用于处理两种序列之间的转换问题;其中:

6.根据权利要求5所述的电流负荷分解方法,其特征在于,步骤4中,注意力机制的核心是计算一个权重分布,这一分布决定解码器在当前步骤应该关注输入序列的哪些部分;具体地,给定解码器的当前隐藏状态ht和编码器的所有输出o,权重分布αt通过下面的公式计算得到:

7.根据权利要求6所述的电流负荷分解方法,其特征在于,步骤8中,所述模型训练和参数更新,具体为:对模型的参数进行随机初始化;选择huber损失函数作为衡量模型预测结果与真实负荷之间差异的指标,选择adam优化器进行参数更新;将训练集输入模型,计算损失函数并进行反向传播,通过优化器更新模型参数,重复该过程进行多轮训练。


技术总结
本发明属于电负荷监测技术领域,具体为一种基于深度卷积Seq2Seq‑注意力框架的电流负荷分解方法。本发明包括卷积层处理、Seq2Seq‑Att网络处理、注意力机制模块处理以及全连接层(FC)处理。首先,卷积层处理通过两个卷积块对输入数据进行特征提取,捕获其初级和复杂的空间特征;随后,Seq2Seq‑Att网络负责对这些特征进行时间序列的编码和解码操作,利用LSTM结构捕获长期依赖关系;在此基础上注意力机制模块进一步优化解码过程,使解码器能够在每个时间步都考虑到与当前输出最相关的输入部分;最后,全连接层处理模块将上述处理后的数据进行进一步转化,输出最终的预测结果。本发明实现电流数据的非侵入性分解,准确性高、稳定性好。

技术研发人员:张珊珊
受保护的技术使用者:上海梦象智能科技有限公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1153174.html

最新回复(0)