一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种从聚合负载数据提取电器指纹的方法与流程

2022-02-19 05:07:01 来源:中国专利 TAG:


1.本发明属于非侵入式负荷分解技术领域,具体涉及从聚合负载数据提取电器指纹的方法。


背景技术:

2.电表只能报告家庭总的电力负载数据,因此推断特定设备的电力负荷、进行电力负荷分解是现阶段主要的研究目标,如何利用深度学习相关的方法来提升负荷分解的准确率是当前研究的热门方向。现阶段的网络模型受限于所使用的公共数据集中电器并发负载数,同时聚合信息具有较强的分布性,导致现有的网络模型鲁棒性都较低,并且实现的负荷分解准确率也较低,因此当前缺少一种能够对较多电器并发运行的聚合数据进行特征提取的网络模型。


技术实现要素:

3.本发明的目的在于提供一种从聚合负载数据提取电器指纹的方法,以解决nilm领域现有聚合负载数据分解困难、电器指纹提取准确率低等的问题,
4.本发明提供的从聚合负载数据提取电器指纹的方法,对现有用于非侵入式负荷监测(non

intrusive load monitoring,nilm)任务的神经网络进行改进,提出并发负载解耦器(concurrent loads disaggregator,cold)网络模型来进行电器指纹提取。该模型包含残差位置子网络(residual position

wise sub

networks,rpsn)序列,并在序列末端加上多头自注意力层,应用全局池化层将输入矩阵映射到电器指纹向量,最后通过全连接前馈网络层输出对应的电器标签,实现从聚合负载数据中提取电器指纹从而判断电器运行的情况,提高了网络模型的准确率。
5.本发明提供的从聚合负载数据提取电器指纹的方法,具体步骤为:
6.步骤1:合成聚合负载数据集,划分训练、验证以及测试集;
7.步骤2:建立模型的主要组成部分残差位置子网络;
8.步骤3:构建并发负载解耦器网络模型,确定输入输出格式;
9.步骤4:进行超参数搜索,寻找到最合适的参数空间;
10.步骤5:进行聚合数据分解,提取电器指纹,判断电器运行状态。
11.下面对各步骤作进一步的具体说明。
12.步骤1,合成聚合负载数据集,划分训练、验证以及测试集
13.nilm领域现有公共数据集中存在缺少统一标准化、最大并发负载数较少等问题,为确保本发明方法能实现更好的分解效果,需要构建一个类型丰富的电器指纹聚合数据集。
14.首先选取公共数据集作为最初的数据来源,对公共数据集进行归一化处理,确保不同测量环境下的电器负载信号可以进行合并,然后确定聚合数据集中的电器种类,合并归一化处理后的公共数据集得到基础数据集,最后确定最大并发负载数,合成聚合信号数
据集,划分训练、验证以及测试集。
15.步骤2,建立模型的主要组成部分残差位置子网络;
16.①
位置前馈层(position

wisefeedforwardlayers)
17.基于“attention is all you need”中提出的想法建立本发明所使用的位置前馈层,主要由两个全连接层以及一个归一化层组成,并采用relu激活函数。
18.输入为光谱图矩阵x0(t*v),该光谱图矩阵是将聚合负载数据通过傅里叶变换得到的,每一行是一个时间片刻,即第一维t与数据的序列性质(信号持续时间)相关;每一列是一个频率窗口,即第二维v与特征(傅里叶变换结果)相关,矩阵x0表征了一段时间的聚合负载数据。
19.特定j位置层的计算表示为:
20.h
j
(x
j
‑1)=x
j
‑1·
w
jt

θ
j
21.其中,x
j
‑1为j

1层激活输出;w
j
为可学习的权重矩阵,将j层的输入矩阵x
j
‑1投影到q维空间上,q为输入的神经元节点数;θ
j
为偏差矩阵;在网络中这部分的输出表示为未激活的j层输出,经过relu激活函数得到最终j层的激活输出即:
[0022][0023]

残差位置子网络的网络结构
[0024]
残差位置子网络首层为上述提到的位置前馈层,后接relu激活函数,再经过一层位置前馈层,随后还有一个归一化层,归一化层是一个全连接层,最后再接relu激活函数;其中包含的残差网络连接残差位置子网络的输入r(x
j
‑1)至归一化层,在这层数据相加并进行归一化处理,得到下一残差位置子网络模块的非激活输入表示为:
[0025][0026]
步骤3,构建并发负载解耦器网络模型,确定输入输出格式;具体流程为:
[0027]

构建残差位置子网络序列
[0028]
并发负载解耦器网络模型中串联k层残差位置子网络模块,形成残差位置子网络序列,每一层记录为rpsn
2i 1
,i∈(1,k]。在并发负载解耦器网络的头部有一个单独的位置前馈层,将输入光谱图矩阵x0映射到q维空间上,形成第一层rpsn3的输入h1(x0)以及残差模块输入r(x0)。
[0029]

设置多头自注意力层
[0030]
多头自注意力层接在rpsn
2k 1
模块后,目的是为总结通过残差位置子网络序列获得的矩阵x
j 1
时间维度上的信息,并联合处理来自不同位置的不同表示子空间的信息,多头自注意力层在并行时间执行缩放点积注意函数,然后将结果连接并投影到另一个可学习空间上,表示为:
[0031][0032]
[0033]
其中,q表示所查询的信息,即相关电器指纹,k表示电器指纹相关的属性,例如电压电流波形,v表示根据当前查询和关键属性得到的内容向量,在本发明的自注意力中q=k=v=x
j 1
;分别为每一个头的投影矩阵,为输出的投影矩阵;多头自注意力机制中缩放点积注意函数的计算由如下函数实现:
[0034][0035]
其中,是为了避免其饱和(最小梯度出现)区域的软最大输出值。
[0036]

全局池化和分类
[0037]
全局池化和分类层的作用是将特征矩阵x转换成输出向量x,向量x包含给定时间窗口内被激活的标签(设备)l。引入期望e来处理输入矩阵实现降维,所以全局池化表示为:
[0038]
g:r
t
×
q

r
q
[0039]
g(x
j
‑1)=e
m
[(x
j
‑1)
m,n
]=x
j
‑1[0040]
同时引入另一个非线性变化来降低向量x
j
‑1所表示的特征,并且做分类输出:
[0041][0042]
其中,w
pred
∈r
q
×
|l|
,|l|表示当前数据集中的所有电器种类数,并且使用一个可学习的向量α来调整sigmoid函数,实现对特定标签类的输出:
[0043][0044]

并发负载解耦器网络结构的形式表示
[0045]
网络整体结构中还涉及dropout函数:
[0046]
h
d,j
=dropout
j
(h
j
(x
j
‑1))
[0047]
残差位置子网络可以由如下函数形式表示:
[0048][0049]
于是,并发负载解耦器整体网络可以表示为:
[0050][0051]
步骤4,进行超参数搜索,寻找到最合适的参数空间;
[0052]
根据上述的并发负载解耦器网络模型结构,其参数空间为<q,k,n
head
,p
d
>,其中p
d
为dropout函数的筛选概率。本发明中执行超参数搜索,使用asha算法迭代参数空间和不同的学习速率参数{η}、权重衰减{λ}和批量大小{b},该asha算法采用攻击性策略,停止训练比其他模型更弱的模型。因此,与标准的网格搜索或随机搜索策略相比,针对不同超参数的数百个训练过程可以非常快地完成。
[0053]
超参数搜索过程中是评估各种不同超参数情况下的网络模型,找到负荷分解效果最佳的模型,在本发明中评估不同模型的分解效果采用f1

score的方法,该方法的评判公式为最终结果为计算不同参数子集s
w
下的精准率pr
w
和召回率re
w
的调和平均值:
[0054][0055]
其中,#
·
表示基数|
·
|;针对预测向量中的概率值是否为特定的标签,因此应设置一个阈值,当预测概率大于阈值表示为当前信号中该标签被激活,记为1,否则为0,为了找到一个最优的参数集,执行调优过程对区间(0,1)中的阈值计算f1分数的加权平均值,然后选择拥有最高加权平均值的阈值设置下的参数作为最后的参数空间集。
[0056]
步骤5进行聚合数据分解,提取电器指纹,判断电器运行状态
[0057]
根据上述步骤进行网络模型搭建以及最优参数空间搜索得到优化的并发负载解耦器网络模型,可以对多并发电器负载信号进行数据分解,并提取电器指纹,判断电器当前的运行状态,可以针对家庭的电表数据来进行已知家用电器的运行状态判断,识别当前负载下正在运行的电器。
[0058]
和现有技术相比,本发明的有益效果如下:
[0059]
本发明通过对现有用于非侵入式负荷监测任务的神经网络进行改进,提出并发负载解耦器网络模型来进行电器指纹提取。该模型包含残差位置子网络序列,并在序列末端加上多头自注意力层,应用全局池化层将输入矩阵映射到电器指纹向量,最后通过全连接前馈网络层输出对应的电器标签,实现从聚合负载数据中提取电器指纹从而判断电器运行的情况,提升了当前nilm任务利用神经网络对电器运行特征识别的准确率,并提高了网络处理的不同电器并发负载数。
附图说明
[0060]
图1为本发明从聚合负载数据提取电器指纹的流程图。
[0061]
图2为本发明并发负载解耦器的网络结构图。
具体实施方式
[0062]
以下结合附图和实施例对本发明的技术方案进行详细阐述。
[0063]
实施例:
[0064]
本发明提出一种从聚合负载数据提取电器指纹的方法,其流程图如图1所示,可分为如下几个步骤:
[0065]
步骤1:合成聚合负载数据集,划分训练、验证以及测试集;
[0066]
步骤2:建立模型的主要组成部分残差位置子网络;
[0067]
步骤3:构建并发负载解耦器网络模型,确定输入输出格式;
[0068]
步骤4:进行超参数搜索,寻找到最合适的参数空间;
[0069]
步骤5:进行聚合数据分解,提取电器指纹,判断电器运行状态。
[0070]
下面对各步骤作进一步的具体说明。
[0071]
1.合成聚合负载数据集,划分训练、验证以及测试集
[0072]
nilm领域现有公共数据集中存在缺少统一标准化、最大并发负载数较少等问题,为确保本发明方法能实现更好的分解效果,需要构建一个类型丰富的电器指纹聚合数据集。
[0073]
首先选取公共数据集作为最初的数据来源,对公共数据集进行归一化处理,确保
不同测量环境下的电器负载信号可以进行合并,然后确定聚合数据集中的电器种类,合并归一化处理后的公共数据集得到基础数据集,最后确定最大并发负载数,合成聚合信号数据集,划分训练、验证以及测试集。
[0074]
该聚合信号数据集主要包括电器运行时的电流、电压以及功率三类数据,同时记录了当前聚合信号数据所包含运行的电器信息,如运行状态、运行时长以及运行操作(指开启到关闭、一档到二档的切换等)等信息。以下2

3介绍了所使用的并发负载解耦器网络模型,深度神经网络的建模更多的是来自于对数据以及目标的一个理解,因此具体实施时只需要构建好网络,利用合适的方法寻找到最佳的参数设置,最终得到一个网络模型能够实现负荷分解的任务。
[0075]
2.建立模型的主要组成部分残差位置子网络
[0076]

位置前馈层(position

wisefeedforwardlayers)
[0077]
基于“attention is all you need”中提出的想法建立本发明所使用的位置前馈层,主要由两个全连接层以及一个归一化层组成,并采用relu激活函数。
[0078]
输入为光谱图矩阵x0(t*v),该光谱图矩阵是将聚合负载数据通过傅里叶变换得到的,每一行是一个时间片刻,即第一维t与数据的序列性质(信号持续时间)相关;每一列是一个频率窗口,即第二维v与特征(傅里叶变换结果)相关,矩阵x0表征了一段时间的聚合负载数据。
[0079]
特定j位置层的计算表示为:
[0080]
h
j
(x
j
‑1)=x
j
‑1·
w
jt

θ
j
[0081]
其中x
j
‑1为j

1层激活输出;w
j
为可学习的权重矩阵,将j层的输入矩阵x
j
‑1投影到q维空间上,q为输入的神经元节点数;θ
j
为偏差矩阵;在网络中这部分的输出表示为未激活的j层输出,经过relu激活函数得到最终j层的激活输出即:
[0082][0083]

残差位置子网络的网络结构
[0084]
rpsn首层为位置前馈层,后接relu激活函数,再经过一层位置前馈层,随后还有一个归一化层,最后再接relu激活函数,其中包含的残差网络连接rpsn的输入r(x
j
‑1)至归一化层,在这层数据相加并进行归一化处理得到下一rpsn模块的非激活输入表示为:
[0085][0086]
3.构建并发负载解耦器网络模型,确定输入输出格式
[0087]

构建残差位置子网络序列
[0088]
并发负载解耦器网络模型中串联k层残差位置子网络模块,形成残差位置子网络序列,每一层记录为rpsn
2i 1
,i∈(1,k]。在并发负载解耦器网络的头部有一个单独的位置前馈层,将输入光谱图矩阵x0映射到q维空间上,形成第一层rpsn3的输入h1(x0)以及残差模块输入r(x0)。
[0089]

设置多头自注意力层
[0090]
多头自注意力层接在rpsn
2k 1
模块后,目的是为总结通过残差位置子网络序列获得的矩阵x
j 1
时间维度上的信息,并联合处理来自不同位置的不同表示子空间的信息,多头自注意力层在并行时间执行缩放点积注意函数,然后将结果连接并投影到另一个可学习空间上,表示为:
[0091][0092][0093]
其中,q表示所查询的信息,即相关电器指纹,k表示电器指纹相关的属性,例如电压电流波形,v表示根据当前查询和关键属性得到的内容向量,在本发明的自注意力中q=k=v=x
j 1
;分别为每一个头的投影矩阵,为输出的投影矩阵;多头自注意力机制中缩放点积注意函数的计算由如下函数实现:
[0094][0095]
其中,是为了避免其饱和(最小梯度出现)区域的软最大输出值。
[0096]

全局池化和分类
[0097]
全局池化和分类层的作用是将特征矩阵x转换成输出向量x,向量x包含给定时间窗口内被激活的标签(设备)l。引入期望e来处理输入矩阵实现降维,所以全局池化表示为:
[0098]
g:r
t
×
q

r
q
[0099]
g(x
j
‑1)=e
m
[(x
j
‑1)
m,n
]=x
j
‑1[0100]
同时引入另一个非线性变化来降低向量x
j
‑1所表示的特征,并且做分类输出:
[0101][0102]
其中w
pred
∈r
q
×
|l|
,|l|表示当前数据集中的所有电器种类数,并且使用了一个可学习的向量α来调整sigmoid函数实现对特定标签类的输出:
[0103][0104]

并发负载解耦器网络结构
[0105]
网络整体结构中还涉及dropout函数:
[0106]
h
d,j
=dropout
j
(h
j
(x
j
‑1))
[0107]
残差位置子网络可以由如下函数形式表示:
[0108][0109]
因此并发负载解耦器整体网络可以表示为:
[0110][0111]
4.进行超参数搜索,寻找到最合适的参数空间
[0112]
根据上述的并发负载解耦器网络模型结构,其参数空间为<q,k,n
head
,p
d
>,其中p
d
为dropout函数的筛选概率。本发明中执行超参数搜索,使用asha算法迭代参数空间和不同的学习速率参数{η}、权重衰减{λ}和批量大小{b},该asha算法采用攻击性策略,停止训练
比其他模型更弱的模型。因此,与标准的网格搜索或随机搜索策略相比,针对不同超参数的数百个训练过程可以非常快地完成。
[0113]
超参数搜索过程中是评估各种不同超参数情况下的网络模型,找到负荷分解效果最佳的模型,在本发明中评估不同模型的分解效果采用f1

score的方法,该方法的评判公式为最终结果为计算不同参数子集s
w
下的精准率pr
w
和召回率re
w
的调和平均值:
[0114][0115]
其中,#
·
表示基数|
·
|;针对预测向量中的概率值是否为特定的标签,因此应设置一个阈值,当预测概率大于阈值表示为当前信号中该标签被激活,记为1,否则为0,为了找到一个最优的参数集,执行调优过程对区间(0,1)中的阈值计算f1分数的加权平均值,然后选择拥有最高加权平均值的阈值设置下的参数作为最后的参数空间集。
[0116]
本实施例中按照并发负载解耦器网络的描述,搭建好网络,执行asha算法运行了超过100个参数组合,得到以下最优的参数空间解:q=256,k=14,n
head
=8,p
d
=0.2,η=3
·
10
‑4,λ=2.8
·
10
‑2以及b=64,并且得到的最佳阈值δ=0.74。
[0117]
5.进行聚合数据分解,提取电器指纹,判断电器运行状态
[0118]
根据上述步骤进行网络模型搭建以及最优参数空间搜索得到优化的并发负载解耦器网络模型,可以对多并发电器负载信号进行数据分解,并提取电器指纹,判断电器当前的运行状态,可以针对家庭的电表数据来进行已知家用电器的运行状态判断,识别当前负载下正在运行的电器。该网络模型可以在1中得到的聚合负载数据集的验证集上实现高于百分之九十(聚合设备数少于10)的识别准确率,当聚合设备数不断提升时时准确率出现明显的下降趋势。在聚合设备数较多的情形下,可以按照经验执行超参数搜索进行更多参数组合的比较,在实际应用场景下可以随着分解的聚合数据数逐步增多来不断调整网络的参数,使模型的准确率有进一步的提升。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献