一种基于生成对抗网络的电力负荷数据生成方法与流程

文档序号:30507423发布日期:2022-06-25 00:46阅读:177来源:国知局
一种基于生成对抗网络的电力负荷数据生成方法与流程

1.本发明具体涉及一种数据生成方法,尤其涉及一种基于生成对抗网络的电力负荷数据生成方法。


背景技术:

2.能源是人类社会赖以生存和发展的重要物质基础。面对能源供给压力,应坚持开发与节约并重、节约优先的原则。党和政府高度重视节能工作。电力负荷监测是开展节能工作的基础,它能够使用能单位全面掌握各设备的能耗及使用情况,并借此来制定合理的节能计划,有针对性的选购节能设备。同时也能够借用电力负荷监测检验节能效果,从而降低能源消耗,减少能源开支。因此,准确的电力负荷监测工作对提高我国能源利用效率、实现能源的可持续发展、建设节约型社会和缓解能源压力等具有重要现实意义。
3.实现负荷监测这一任务的方法主要分为两类:侵入式方法和非侵入式方法。侵入式方法是通过对家庭环境内部的每一个电气设备安装测量仪表来实现电力负荷监测。这类方法虽然能够提供很精确的负荷能耗数据,但是实施成本却很高,很大范围难普及,同时侵入家庭内部的安装方式,使得用户的接受程度也不高。
4.相比于侵入式负荷监测,非侵入式负荷监测(non-intrusive load monitoring)则只用在用户的电表加入nilm模块,就能够实现对一个用户所有负荷的在线监测和分解。
5.nilm不需安装大量的传感器和测量装置,从而减小购买、安装和维护nilm系统硬件的成本,是未来负荷分解的发展热点之一。
6.为了提高nilm方法在非侵入式负荷分解的效率和精度,国内外的研究人员相继提出了各种分解方法。
7.然而由于非侵入式电力负荷监测模型比较复杂,为了确保模型的泛化能力,就必须相应地增大训练数据。
8.当前在工业界取得突破的基于机器学习或深度学习的人工智能应用对训练样本都有着数量上的要求。
9.训练模型所必须的海量训练数据样本难以获取已经成为非侵入式电力负荷监测研究进一步深入研究的一个普遍性难题,因此,通过扩充样本量并保证样本的分布性和一致性是大数据时代不可忽视的解决数据不足问题的一个重要关键环节。
10.为扩充样本量,最直接的方法是重新获取更多的样本数据,常用的方法包括数据采集和数据生成。数据采集方法是由实验人员进入负荷用户内部,使用电表对负荷数据进行采集,然而数据采集是一项非常浪费财力、物力、人力及时间的工作,除此之外,在负荷种类足够齐全的情况下,不同场景下的多负荷数据也很难穷举,同时也需要大量的不同长度的数据,这就给数据的采集工作带来了巨大的难度。


技术实现要素:

11.针对上述技术问题,本发明提供一种基于生成对抗网络的电力负荷数据生成方
法。
12.本发明提供了一种基于生成对抗网络的电力负荷数据生成方法,通过搭建生成对抗网络模型,并将电力负荷数据作为模型的输入样本,在模型经过充足的训练之后,可以得到与输入样本真假难辨的生成数据;
13.其中,生成对抗网络主要包括:生成模型和判别模型;
14.其中,生成模型的输入数据为噪声数据,输出为生成数据;
15.其中,判别模型的输入数据既包含了生成模型生成的假数据同时也包含真实数据,输出为对这两种数据判别结果;
16.其中,通过判别结果来交替更新两个模型的参数,最后判别模型无法准确分辨生成模型生成数据的真假。
17.优选的,生成模型的输入为随机噪声z,z是从一个简单的概率分布p(z)(如高斯分布)中采样得到的,即z~p(z),并将z通过非线性变换得到g(z;θg),即g(z)~pg(x);
18.假设p(x)为真实数据的分布,生成模型的目的就是要捕获p(x)的数据分布,使得g(z)的数据分布pg(z)去逼近p(x),其输出结果g(z)~p(x);
19.同时生成模型g通过与判别模型d的反馈机制来更新参数,即生成网络需要根据判别模型d传回的梯度来不断更新参数以完成误差的传递。
20.优选的,判别模型d目的是判别输入数据是来自于生成模型g生成的数据还是来自真实数据,并通过输出结果来交替更新自身和生成模型的参数,直到两个模型达到最优为止;
21.其中,判别模型d有两个输入:一个来自于真实数据中的样本x,另一个来自生成模型所产生的生成样本g(z),当g(z)作为输入数据时,再通过判别模型的映射后,输出一个0,1之间的标量;
22.生成模型g和判别模型d共同组成的生成对抗网络模型在经过足够多次数的训练之后,最终会达到纳什均衡,即判别模型d无法辨别出输入数据是来自于真实数据还是生成数据,此时p(x)/(p(x)+pg(z))的值达到最小。
23.优选的,首先根据极大极小原理,生成对抗网络的优化目标函数如下所示:
24.min
g max
d v(d,g)=e
x~p(x)
[logd(x)]+e
z~p(z)
[log(1-d(g(z)))];
ꢀꢀꢀ
(1.1)
[0025]
对公式1.1进行优化的过程中,需要对生成模型和判别模型进行交互迭代;
[0026]
其中,首先固定生成模型,优化判别模型;待判别模型拥有此阶段的最优性能时,再固定判别模型,优化生成模型;如此进行循环,直到最终两个网络达到动态平衡。
[0027]
优选的,公式1.1进行优化的过程中,需要对生成模型和判别模型进行交互迭代,在优化判别模型的过程时,需要对其进行最小化交叉熵操作,其损失函数如公式1.2所示:
[0028][0029]
对于连续空间上变量,需要将式子1.2改写成为积分的形式,如公式(1.3)所示
[0030][0031]
由于p(x)和pg(x)表示概率,事实上在训练时,他们的取值不可能为0,所以取值范
围为(0,1)之间的实数;
[0032]
根据前面理论的论述,v(d,g)必须要在这个连续空间中处处可微,根据一阶求导规则,目标函数在公式(1.4)处取得最小值,在此生成模型固定的阶段,判别模型已经具有最优解,此时判别模型达到了最好的性能
[0033][0034]
优选的,首先固定判别模型,此时判别模型最优,则将d
*
(x)代入目标函数1.1,即:
[0035][0036]
判别模型的训练目标可以看作为条件概率p(y=y|x),当y=1时,x来自于p(x),当y=0时,x来自于pg(x),则1.5式可变成为:
[0037][0038]
假设:
[0039]
p(x)=pg(x)
ꢀꢀꢀ
(1.7)
[0040]
那么根据式子1.4可知,则v(g)=-log4,同时可以得到:
[0041][0042]
再令1.6式减去1.7式,可得:
[0043][0044]
优选的,kl散度是深度学习中使用到最广泛的概念之一,用它来衡量同一个随机变量在两种单独的概率分布p(x)和q(x)之间的差异性,kl散度的定义如公式1.9所示;
[0045][0046]
将1.8式改写成kl(kullback-leibler divergence)散度的形式。
[0047]
如1.10所示:
[0048][0049]
优选的,js(jensen-shannon divergence)散度度量了两个概率分布的相似度,基于kl散度的变体,解决了kl散度非对称的问题;js散度是对称的,其取值是0到1之间,因此js散度总是非负的,而且当两个分布相等时,js散度达到最小为0,js散度的定义如公式1.11所示;
[0050][0051]
则1.10可改写为:
[0052]
v(g)=-log4+2
·
js(p(x)||pg(x))
ꢀꢀꢀ
(1.12)
[0053]
因此由1.12式可以看出,当且仅当p(x)=pg(x),v(g)=-log4为全局最小值,此时生成模型达到了最好性能。
[0054]
本发明的有益效果:使用生成对抗网络模型方法进行负荷数据生成,通过实验验证了该方法在保留原始数据样本时空规律特性等方面的能力,证明了生成对抗网络方法在生成负荷数据方面的可行性,能够大量生成符合要求的负荷数据,同时相比于传统场景建模方法,生成对抗网络能更好地体现无监督神经网络的优越性,可降低人为因素影响、减少训练时间、降低成本。
附图说明
[0055]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
[0056]
图1为本发明的基于生成对抗网络的电力负荷数据生成方法的生成对抗网络的基本框架结构;
[0057]
图2为本发明的基于生成对抗网络的电力负荷数据生成方法的生成模型结构图;
[0058]
图3为本发明的基于生成对抗网络的电力负荷数据生成方法的判别模型结构图;
[0059]
图4为本发明的基于生成对抗网络的电力负荷数据生成方法的判别网络对不同数据的输出框图;
[0060]
图5为本发明的基于生成对抗网络的电力负荷数据生成方法的判别模型训练过程图;
[0061]
图6为本发明的基于生成对抗网络的电力负荷数据生成方法的生成模块训练过程图;
[0062]
图7为本发明的基于生成对抗网络的电力负荷数据生成方法的电动车充电电流图;
[0063]
图8为本发明的基于生成对抗网络的电力负荷数据生成方法的利用对抗网络生成的电动车充电电流数据一;
[0064]
图9为本发明的基于生成对抗网络的电力负荷数据生成方法的利用对抗网络生成的电动车充电电流数据二。
具体实施方式
[0065]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0066]
一种基于生成对抗网络的电力负荷数据生成方法,
[0067]
如图1所示,s1:通过搭建生成对抗网络模型,并将电力负荷数据作为模型的输入样本,在模型经过充足的训练之后,可以得到与输入样本真假难辨的生成数据;
[0068]
其中,生成对抗网络主要包括:生成模型和判别模型;
[0069]
其中,生成模型的输入数据为噪声数据,输出为生成数据;
[0070]
其中,生成模型的输入为随机噪声z,z是从一个简单的概率分布p(z)(如高斯分布)中采样得到的,即z~p(z),并将z通过非线性变换得到g(z;θg),即g(z)~pg(x);
[0071]
假设p(x)为真实数据的分布,生成模型的目的就是要捕获p(x)的数据分布,使得g(z)的数据分布pg(z)尽量去逼近p(x),其输出结果g(z)~p(x);
[0072]
其中,生成模型的目的是为了生成能够以假乱真的假数据,在生成模型中,模型的输入是一个具有随机分布的噪声,这里我们采用高斯噪声作为生成模型的输入;
[0073]
s2:其中,判别模型的输入数据既包含了生成模型生成的假数据同时也包含真实数据,输出为对这两种数据判别结果;
[0074]
如图2所示,其中,判别模型的输入数据既包含了生成模型生成的假数据同时也包含真实数据,输出为对这两种数据判别结果,模型的具体架构包括一个输入层、一个输出层以及多个隐藏层,并且最终输出结果为与真实样本各个维度大小相同的生成数据,此生成数据为一维电流数据。
[0075]
如图3至图6所示,其中,判别模型的隐藏层个数设置为2个,样本数据或者生成数据通过输入层进入网络,并将经过两层隐藏层得到的数据通过输出层映射为一个0到1之间的数据,这个数据即为判别结果,如图3所示,i、ig为判别模型的输入数据,分别为真实数据、生成数据,y为判别模型的输出数据,即判别结果。
[0076]
其中,生成模型中的隐藏层神经网络个数设计为3个,高斯噪声通过输入层进入网络,经过隐藏层被映射到新的数据空间,并通过最后的输出层将数据的维度转化为与真实样本的维度相同,最后得到的即生成数据。
[0077]
其中,在生成模型中,输入层和隐藏层使用relu函数作为激活函数,输出层使用tanh函数作为激活函数,主要的目的是为了将生成模型的输出数据归一化至[-1,1]区间,使得输出数据不容易发散,
[0078]
在判别模型中,输入层和隐藏层使用leaky relu函数作为激活函数,输出层使用sigmoid函数作为激活函数,
[0079]
sigmoid激活函数更适用于二分类模型中,输出结果即为判别结果。
[0080]
其中,判别模型d目的是判别输入数据是来自于生成模型g生成的数据还是来自真实数据,并通过输出结果来交替更新自身和生成模型的参数,直到两个模型达到最优为止;
[0081]
其中,判别模型d有两个输入:一个来自于真实数据中的样本x,另一个来自生成模型所产生的生成样本g(z),当g(z)作为输入数据时,再通过判别模型的映射后,输出一个0,1之间的标量;
[0082]
其中,按照模型参数的设定,该值越接近于0表示生成效果越坏;相反,越接近于1表示生成效果越好;
[0083]
生成模型g和判别模型d共同组成的生成对抗网络模型在经过足够多次数的训练之后,最终会达到纳什均衡,即判别模型d无法辨别出输入数据是来自于真实数据还是生成数据,此时p(x)/(p(x)+pg(z))的值达到最小。
[0084]
s3:通过判别结果来交替更新两个模型的参数,最后判别模型无法准确分辨生成模型生成数据的真假。
[0085]
其中,首先根据极大极小原理,生成对抗网络的优化目标函数如下所示:
[0086]
min
g max
d v(d,g)=ex~p(x)[logd(x)]+ez~p(z)[log(1-d(g(z)))];(1.1)
[0087]
对公式1.1进行优化的过程中,需要对生成模型和判别模型进行交互迭代;
[0088]
首先固定生成模型,优化判别模型;待判别模型拥有此阶段的最优性能时,再固定判别模型,优化生成模型;如此进行循环,直到最终两个网络达到动态平衡;
[0089]
其中,公式1.1进行优化的过程中,需要对生成模型和判别模型进行交互迭代,在优化判别模型的过程时,需要对其进行最小化交叉熵操作,其损失函数如公式1.2所示:
[0090][0091]
对于连续空间上变量,需要将式子1.2改写成为积分的形式,如公式(1.3)所示
[0092][0093]
由于p(x)和pg(x)表示概率,事实上在训练时,他们的取值不可能为0,所以取值范围为(0,1)之间的实数;
[0094]
根据前面理论的论述,v(d,g)要在这个连续空间中处处可微,根据一阶求导规则,目标函数在公式(1.4)处取得最小值,在此生成模型固定的阶段,判别模型已经具有最优解,此时判别模型达到了最好的性能。
[0095][0096]
再固定判别模型,此时判别模型最优,则将d*(x)代入目标函数1.1,即:
[0097][0098]
判别模型的训练目标可以看作为条件概率p(y=y|x),当y=1时,x来自于p(x),当y=0时,x来自于pg(x),则1.5式可变成为:
[0099][0100]
假设:
[0101]
p(x)=pg(x)(1.7)那么根据式子1.4可知,则v(g)=-log4,同时可以得到:
[0102][0103]
再令1.6式减去1.7式,可得:
[0104][0105]
其中,kl散度是深度学习中使用到最广泛的概念之一,用它来衡量同一个随机变量在两种单独的概率分布p(x)和q(x)之间的差异性,kl散度的定义如公式1.9所示;
[0106][0107]
将1.8式改写成kl(kullback-leibler divergence)散度的形式,如1.10所示:
[0108][0109]
并且,js(jensen-shannon divergence)散度度量了两个概率分布的相似度,基于kl散度的变体,解决了kl散度非对称的问题;js散度是对称的,其取值是0到1之间,因此js散度总是非负的,而且当两个分布相等时,js散度达到最小为0,js散度的定义如公式1.11所示;
[0110][0111]
则1.10可改写为:
[0112]
v(g)=-log4+2
·
js(p(x)||pg(x))
ꢀꢀꢀ
(1.12)
[0113]
因此由1.12式可以看出,当且仅当p(x)=pg(x),v(g)=-log4为全局最小值,此时生成模型达到了最好性能。
[0114]
其中,以上训练方法来交替训练判别模型和生成模型,最后得到能够以假乱真的生成数据。
[0115]
工作时,基于上述生成模型与判别模型的设计、激活函数的选择以及损失函数的选择,搭建了生成对抗网络模型,以电动车充电时采集的数据作为真实数据,并如图5、图6的所示,对生成对抗网络模型进行训练,在训练判别模型时,噪声数据通过生成模型生成假的电流数据然后把与i分别赋予标签0、1,并送入判别模型中,通过其输出结果来更新判别模型的参数,即完成一次判别模型的训练。
[0116]
在训练生成模型时,将噪声数据通过生成模型生成假的电流数据标签设为1,并用其在判别模型的输出结果来更新自身参数,即完成一次生成模型的训练,
[0117]
通过以上训练方法来交替训练判别模型和生成模型,并设置训练次数,最后得到能够以假乱真的生成数据。
[0118]
设置输入噪声z的维度为100,每个真实样本i的维度为1024,即8个电流周波,所以生成数据的维度也为1024,最后设置epochs=20000,batch_size=32,并通过上面所设计的生成对抗网络,对电动车充电电流数据进行生成。如图7所示,为实际采集的电动车充电电流数据,将其作为生成对抗网络的真实样本,即可得到如图8和图9所示的生成数据,当训练次数为8000时,生成数据为如图8所示,从图中我们可以看出,此时的生成模型还没有完全学习到真实样本的数据分布。当训练次数为20000时,生成数据为如图9所示。从图9可以看出,此时的生成模型已经基本学习到了真实样本的数据分布。
[0119]
通过将实测数据与生成数据的特征(有功功率、无功功率、视在功率和功率因数等)对比分析,基于生成对抗网络的电力负荷数据生成方法具有良好的效果。
[0120]
对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1