一种基于分层联邦学习的电力负荷预测方法、装置及介质与流程

文档序号:32786495发布日期:2023-01-03 19:08阅读:22来源:国知局
一种基于分层联邦学习的电力负荷预测方法、装置及介质与流程

1.本发明涉及一种基于分层联邦学习的电力负荷预测方法、装置及介质,属于智能电网和人工智能技术领域。


背景技术:

2.电力负荷预测大致可以分为传统方法和人工智能方法。传统方法可分为线性回归、自回归移动平均值、灰色模型等。这些方法模型简单、计算速度快,但是由于电力负荷具有非线性的特点,这些传统方法并不能很好地解决非线性问题。人工智能方法快速发展,突破了传统方法不能很好解决分线性问题地不足。人工智能方法主要可分为人工神经网络、支持向量机、深度学习等。随着人工智能理论和技术的快速发展,智能预测方法日益受到重视。通过借助机器学习算法,如bp神经网络、支持向量机、随机森林算法、极限学习机等,可以有效处理高维负荷数据。
3.随着数字化技术发展进入高潮期,大数据和人工智能迎来爆发式发展,这给数据和网络安全带来了全新的挑战,数据孤岛就是其中的一个关键挑战。由于系统和业务的闭塞性和阻隔性,不同企业很难实现数据的交流和整合,联合建模需要跨越重重壁垒。
4.相应的,电网数据建模也面临着同样的挑战,在建立负荷预测模型时,难以兼顾保护用户隐私和提高预测精度。在目前的电力行业中,许多数据集在很多情况下由于原因没有办法进行集中或者共享双方的数据,因此不能进行数据挖掘和分析,面临着数据孤岛的问题,进一步来说若把数据集集中到一起进行存储和分析,可能还会涉及到是否符合相关法律法规、用户的隐私以及数据安全问题。


技术实现要素:

5.本发明的目的在于克服现有技术中的不足,提供一种基于分层联邦学习的电力负荷预测方法、装置及介质,能够保护客户隐私数据的同时,降低实现复杂度,提高预测模型的时性和精度。
6.为达到上述目的,本发明是采用下述技术方案实现的:
7.第一方面,本发明提供了一种基于分层联邦学习的电力负荷预测方法,包括以下步骤:
8.获取预测地的时间信息和气象数据信息,时间信息包括当地的月份和小时,气象数据包括温度、气压、风速,对得到的时间和气象数据信息进行数据预处理,构建测量数据的指纹信息;
9.将所述指纹信息分成多个向量形式,送入电力负荷预测模型,得到预测地的电力负荷预测值;
10.所述电力负荷预测模型的构建方法包括:
11.在已知的时间点,每个客户端采集气象信息测量数据,记录对应的电力负荷;同时进行数据预处理,得到训练数据指纹,通过训练数据指纹构建训练数据集;所述气象信息测
量数据包括日期、温度、气压、风速;
12.利用分层联邦学习算法对所述训练数据集进行回归学习,得到电力负荷预测模型。
13.进一步的,数据预处理的方法包括:
14.将日期、温度、气压、风速分别进行归一化处理。
15.进一步的,利用分层联邦学习算法对训练数据集进行回归学习,得到电力负荷预测模型,包括:
16.对客户端进行划分;分为本地客户端和中间服务器,同时确定本地客户端与中间服务器,中间服务器与中间服务器之间,中间层服务器和系统服务器的通信连接方式;
17.本地客户端与第一层中间层服务器之间进行联邦学习;
18.中间层服务器之间进行联邦学习;
19.最高层的中间层服务器和系统服务器之间进行联邦学习。
20.进一步的,本地客户端与第一层中间层服务器之间进行联邦学习的方法包括:
21.步骤a:对本地客户端,利用长短期记忆神经网络进行回归学习,得到初步的电力负荷模型参数。
22.步骤b:根据定义的通信连接方式,将初步的电力负荷模型参数送入第一层次的中间层服务器。
23.步骤c:中间层服务器利用电力负荷预测模型对应的训练样本数目,确定各个初步模型的权重参数;第i个本地客户端的权重参数qi设置如下:
[0024][0025]
其中mi为第i个本地客户端的训练样本数据;
[0026]
步骤d:利用联邦学习中的fedavg算法进行加权聚合,形成中间层的电力负荷预测模型;中间层的电力负荷预测模型参数表示如下:
[0027][0028]
其中wi为第i个客户端训练得到的电力负荷初步模型的参数。
[0029]
步骤e:将中间层电力负荷预测模型,下发给各自对应的第本地客户端,本地客户端基于当前的参数和本地数据进行训练,更新本地模型的参数;
[0030]
步骤f:重复步骤a到步骤e,直到满足训练条件结束,即误差曲线趋于收敛。每一次参数传递过程称为一轮通信。至此完成本地客户端与中间层服务器之间的联邦学习过程。
[0031]
进一步的,中间层服务器之间进行联邦学习,包括:
[0032]
将第一层次的中间层服务器看作本地客户端,将得到的电力负荷预测模型送入上一层次的中间层服务器,进行模型权重更新,模型权重更新的方法与本地客户端与第一层中间层服务器之间进行联邦学习的方法相同,因此往复,直到完成所有中间层服务器的电力负荷预测模型权重更新。
[0033]
进一步的,最高层的中间层服务器和系统服务器之间进行联邦学习,包括:
[0034]
将最上层次的中间层服务器与系统服务器进行通信,模型权重更新的方法与本地
客户端与第一层中间层服务器之间进行联邦学习的方法相同,完成最上层服务器与系统服务器之间的联邦学习,得到最终的电力负荷预测模型。
[0035]
第二方面,本发明提供了一种基于分层联邦学习的电力负荷预测装置,所述装置包括:
[0036]
预处理模块:用于获取时间和气象数据信息,对得到的时间和气象数据信息进行数据预处理,构建测量数据的指纹信息;
[0037]
预测模块:用于将所述指纹信息分成多个向量形式,送入电力负荷预测模型,得到电力负荷预测值;
[0038]
所述电力负荷预测模型的构建方法包括:
[0039]
步骤1:在已知的时间点,每个客户端采集气象信息测量数据,记录对应的电力负荷;同时进行数据预处理,得到训练数据指纹,通过训练数据指纹构建训练数据集;所述气象信息测量数据包括日期、温度、气压、风速;
[0040]
步骤2:利用分层联邦学习算法对所述训练数据集进行回归学习,得到电力负荷预测模型。
[0041]
第三方面,本发明提供一种基于分层联邦学习的电力负荷预测装置,其特征在于,包括处理器及存储介质;
[0042]
所述存储介质用于存储指令;
[0043]
所述处理器用于根据所述指令进行操作以执行根据第一方面所述方法的步骤。
[0044]
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤。
[0045]
与现有技术相比,本发明所达到的有益效果:
[0046]
1.本发明利用联邦学习技术进行负荷预测,能够保护用户的隐私和数据安全,同时本地多个客户端协同训练负荷预测模型,降低实现复杂度,提高了预测模型的精度,从而能够得到更好的模型。
[0047]
2.本发明将客户端分成多层中间层服务器,能够节省通信开销,缩短训练时间,从而提高离线学习效率。
[0048]
3.本发明基于线性加权的方法来更新预测模型参数,通过训练样本数量来定义各个中间预测模型的权重,进而在各服务器进行更新。因此能够提高预测精度。
附图说明
[0049]
图1是本发明中基于客户-服务器架构的联邦学习。
[0050]
图2是本发明负荷预测方法实现流程示意图。
[0051]
图3是本发明模型参数更新示意图。
[0052]
图4是本发明电力负荷预测实验结果。
具体实施方式
[0053]
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0054]
实施例一:
[0055]
本实施例提供一种基于分层联邦学习理论对电力负荷进行预测方法。
[0056]
随着数字化技术发展进入高潮期,大数据和人工智能迎来爆发式发展,这给数据和网络安全带来了全新的挑战,数据孤岛就是其中的一个关键挑战。由于系统和业务的闭塞性和阻隔性,不同企业很难实现数据的交流和整合,联合建模需要跨越重重壁垒。面对这一难点,谷歌研究院于2016年率先提出联邦学习的概念,该技术在数据不共享的情况下完成联合建模,具体来讲,各个数据的拥有者(个人/企业/机构)的自有数据不会离开本地,通过联邦系统中加密机制下的参数交换方式(不违反数据隐私法规)联合建立一个全局共享模型。
[0057]
联邦学习本质上是一种分布式机器学习框架,其做到了保护数据隐私安全及合法合规的基础上,实现数据共享,共同建模。传统的机器学习需要将数据汇聚到中心后进行模型训练。在此训练过程中需要转移原始存储数据,随着数据量的增加,相对的成本也指数级增加;同时,在数据出域后,数据将变得不可控,从而导致数据隐私泄露,埋下安全隐患。联邦学习技术,可以实现多个机构间构建统一的数据安全、高效、合规的多源数据应用生态系统,实现跨机构的数据共享融合,通过扩大样本量、增加数据维度为大数据应用提供高精度模型构建的有力支撑,进而提供更丰富、高质量的大数据服务,为社会发展创造更多的价值。
[0058]
如图1所示,在联邦学习中,存在一个全局服务器和多个设备,全局服务器和设备通过网络连接。全局服务器上不存储设备的训练数据。每个设备中只可保留各自存储的私有数据,允许模型传入本地训练,训练结束后只允许模型转出。为了尽可能的保护隐私,不允许数据脱离设备,甚至数据的相关统计信息也必须尽可能保密。在联邦学习的场景中,全局服务器只能获得每个设备的数据量。
[0059]
为了解决联邦学习场景下特殊的分布式优化问题,fedavg是提出最早的一种通信高效的解决方案,如今在实际中被有效验证并且广泛的使用。与标准的基于随机梯度下降的参数更新过程相比,fedavg每一轮在本地进行多次计算。用e表示本地迭代的次数,则fedavg中的e》1。这样,在本地设备上,并行的运行e次随机梯度下降独立更新模型;更新完成后将模型同时回传给全局服务器,在全局的服务器上聚合不同设备商更新的本地模型。针对聚合就有以下两种方案:一是聚合所有客户端,服务器端每次将新的全局模型发送给全部客户端,并且聚合全部的客户端的模型参数;二是仅聚合被选中的客户端,服务器只是将当前更新的参数传递给被选中的模型,并且只是聚合被选中客户端的模型参数。
[0060]
fedavg的详细步骤如下所示:
[0061]
假设有k个客户端参与联邦学习,则每个客户在第(t+1)次全局迭代(回合)中具有多个nk训练数据点和局部模型权重fedavg框架中的汇总如下:
[0062][0063]
其中:w
t+1
表示全局模型权重更新(及局盒模型权重更新);n表示k个客户端的数据点总数,有w表示模型参数。客户端本地更新为:w表示模型参数。客户端本地更新为:η为本地学习率。
[0064]
如图2所示,本发明分为离线阶段和在线阶段。对采集到的数据首先进行预处理操作,形成训练数据库,接着在设置本地数据客户端利用联邦学习中的经典算法fedavg进行多层联邦学习,fedavg算法的介绍如上文所示。利用fedavg算法后可得到一个最终的全局模型。在线阶段将测量值输入到这个全局模型便可以得到一个电力负荷预测值。
[0065]
首先先对测量值进行数据预处理,本发明采用的数据预处理技术为为min-max归一化。原始数据进行数据规一化处理后,各指标趋于同一数量级,落入一个特定的区域,便于进行综合对比评价。
[0066]
min-max归一化又称为最大最小标准化,它是通过将不同量级的数据统一转化为同一个量级,利用线性函数将原始数据线性化的方法转换到[0,1]的范围,计算结果为归一化后的数据,能够适用在数值比较集中的场景下。具体计算公式如下:
[0067][0068]
其中xn,x'n为待处理数据在归一化前和归一化后的值,x
max
,x
min
为数据的最大值和最小值。
[0069]
最大最小标准化最大的优点就是简单,容易计算,能够应用于数值型的数据,并且不受数据量级的影响。
[0070]
本发明中联邦学习的参数更新示意图如图3所示,将经过预处理后的数据划分为多个客户端和中间层服务器。首先本地客户端先和第一层中间层服务器进行联邦学习,本地客户端采用深度学习中的长短期记忆神经网络(lstm)进行训练,得到初步的预测参数,考虑到本地训练样本数对网络参数的影响,在一级聚合时,需要确定各个初步模型的参数;第第i个本地客户端的权重参数设置如下其中mi是第i个本地客户端的训练样本数目,之后利用fedavg算法对参数进行聚合;中间层的电力负荷预测模型参数表示如下:其中wi为第i个客户端训练得到的电力负荷初步模型的参数。将中间层的电力负荷预测模型,下发给各自对应的本地客户端,本地客户端基于当前的参数和本地数据进行训练,更新本地模型的参数,重复以上步骤,直至满足训练条件即可,每一轮参数传递称为一次通信。至此完成本地客户端与第一层中间服务器之间的联邦学习过程。之后再将中间层服务器看作本地客户端,将得到的模型送到上一层的中间层服务器,再次进行权重更新。最后将最后一层的中间层服务器与系统全局服务器进行通信,完成最上层服务器与系统服务器之间的联邦学习,得到最终的电力负荷预测模型。
[0071]
下面以两层联邦学习为例,具体阐述这个算法。首先假设本地有四个客户端,编号分别为client1,client2,client3,client4。从归一化后的样本数据中为四个客户端分配训练数据。其中每个客户端的样本数量为n1,n2,n3,n4,并且本地数据都是自己所独有,且不被其他客户端所共享,每个客户端的本地训练模型均为长短期记忆神经网络(lstm)。将四个本地客户端划分为两组,不妨假设client1,client2为第一组,client3,client4为第二组。对这两组本地客户端分别进行联邦学习,利用联邦学习当中的fedavg算法对客户端模型的参数进行一级聚合。在第一组当中,client1,client2经过一次训练后,得到两个本
地模型,分别提取这两个lstm的本地模型的参数记为w1,w2,之后将参数送到一个中间层服务器server1,对client1和client2的参数进行一级聚合。在参数聚合的过程中应该考虑到不同客户端所占的权重,因此一级聚合公式为:w
f1
为服务器server1的参数,之后将参数w
f1
下发给client1,client2。client1和client2基于当前的参数再在本地数据上进行训练,之后再将训练好的参数上传给中间层服务器server1进行一级聚合,以此往复进行客户端和中间层服务器之间进行通信,得到client1和client2联邦学习最终中间层server1模型。同理,在client3,client4之间进行同样的操作,得到联邦学习后的中间层服务器server2模型。
[0072]
基于两个中间层服务器server1,server2,可以将它们再看成两个本地客户端,从而再进行联邦学习,利用fedavg算法对server1和server2的参数进行二级聚合。server1,server2接着分别在另一组本地数据上进行训练,其中数据样本个数为m1,m2,这两组数据与四个本地客户端的数据互不重叠。server1经过训练得到的模型参数为w
f1
,server2进行训练得到的模型参数为w
f2
,将参数送到全局服务器,再次利用进行参数的二次聚合,之后在全局服务器和中间层服务器之server1,server2进行通信,得到最终的一个全局模型。
[0073]
为了验证算法性能,我们对算法进行了电力负荷预测的实验。我们分别实验直接本地训练、一层联邦学习、二层联邦学习、三层联邦学习的平均绝对误差(mae)、均方根误差(rmse)。实验结果如图4所示,随着联邦学习层数的引入,mae与rmse逐渐变少,我们发现该算法能够满足实际电力负荷预测的结果。
[0074]
实施例二:
[0075]
本实施例提供提供一种基于分层联邦学习的电力负荷预测装置,所述装置包括:
[0076]
预处理模块:用于获取时间和气象数据信息,对得到的时间和气象数据信息进行数据预处理,构建测量数据的指纹信息;
[0077]
预测模块:用于将所述指纹信息分成多个向量形式,送入电力负荷预测模型,得到电力负荷预测值;
[0078]
所述预测模块包括四个模块,分别为中心节点模块、云计算节点模块、边缘计算节点(ec)模块和通信网。
[0079]
中心节点(cn)模块:中心节点部署在服务侧,在联邦学习过程中起着核心作用。它与边缘节点通信以收集更新参与训练的边缘节点预测模型参数,并根据参数融合算法更新模型。为了获得高精度和高效率的预测模型,中心节点应该具有存储、评估数据质量、自主选择、可信计算和通信能力。
[0080]
云计算中心(cc)模块:云计算中心与中心节点直接相连,为中心节点服务,具有自主选择、数据融合和计算能力。可以执行中心节点的联邦学习加解密、训练任务。为了更好参与训练,云计算中心需初始化模型并下发至边缘节点,选择参与预测模型训练的边缘节点,加解密模型参数,根据参数融合算法更新模型,给边缘节点分发更新后的模型。
[0081]
边缘计算节点(ec)模块:边缘节点部署在用户侧,配有容纳存储空间、计算和通信资源。边缘计算节点可以进行数据预处理,并缓存在本地存储空间中。在接收到来自中心节
点的请求后,边缘计算节点用它们的本地数据分别训练本地联邦学习模型,将每一次完成指定迭代次数后的模型参数通过加密传输至中心节点,在下一次训练开始之前接收并解密中心节点的参数以更新模型。
[0082]
通信网:通信网连接中心节点和边缘计算节点,传输加密后的模型参数,在联邦学习过程中起着双向通信的作用。
[0083]
实施例三:
[0084]
本发明还提供了一个基于分层联邦学习的电力负荷预测装置。该实施例的基于分层联邦学习的电力负荷预测装置包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。所述处理器执行所述计算机程序时实现上述方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各实施例中各模块/单元的功能。
[0085]
所述基于分层联邦学习的电力负荷预测装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述基于分层联邦学习的电力负荷预测装置可包括,但不仅限于,处理器、存储器。所述处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电(application specific integrated circuit,asic)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述基于分层联邦学习的电力负荷预测装置的各种功能。所述基于分层联邦学习的电力负荷预测装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0086]
实施例四:
[0087]
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例一所述方法的步骤:
[0088]
本地客户端先和第一层中间层服务器进行联邦学习,本地客户端采用深度学习中的长短期记忆神经网络(lstm)进行训练,得到初步的预测参数,在一级聚合时,需要确定各个初步模型的参数;第i个本地客户端的权重参数设置如下其中mi是第i个本地客户端的训练样本数目,之后利用fedavg算法对参数进行聚合;中间层的电力负荷预测模
型参数表示如下:其中wi为第i个客户端训练得到的电力负荷初步模型的参数。将中间层的电力负荷预测模型,下发给各自对应的本地客户端,本地客户端基于当前的参数和本地数据进行训练,更新本地模型的参数,重复以上步骤,直至满足训练条件即可,每一轮参数传递称为一次通信。至此完成本地客户端与第一层中间服务器之间的联邦学习过程。之后再将中间层服务器看作本地客户端,将得到的模型送到上一层的中间层服务器,再次进行权重更新。最后将最后一层的中间层服务器与系统全局服务器进行通信,完成最上层服务器与系统服务器之间的联邦学习,得到最终的电力负荷预测模型。
[0089]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0090]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0091]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0092]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0093]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1