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

基于横向联邦学习的电力数据共享方法与流程

2023-03-19 21:36:40 来源:中国专利 TAG:


1.本发明属于电力数据共享技术领域,具体涉及基于横向联邦学习的电力数据共享方法。


背景技术:

2.近年来,电力数据作为特殊的高价值基础数据之一,正以体量大、增长快、价值密度高等特点成为社会经济运行的“晴雨表”,客观地反映着国民经济的发展态势。因此,电力数据的开放共享以释放更大社会价值成为电力行业的发展共识。但是,电力数据共享面临着诸多挑战,除了数据流通机制不完善、数据质量标准不统一之外,最主要的问题是在数据共享中缺乏成熟的隐私保护方案,参与数据共享的各方存在数据隐私泄露的隐患。
3.传统的集中式模型训练是各参与方将自身的原始数据全部上传至服务器,在服务器端汇总进行集中式训练,最终达到训练要求。这种集中式模型训练方式存在弊端:无法保证参与方的数据隐私。服务商将参与方的原始数据全部收集到服务器上进行统一管理,这种监管对企业数据隐私管控越来越严的情况下,会越来越受限。
4.为了解决上述弊端,提出了联邦学习技术,其为一种分布式的机器学习技术,进行分布式模型训练,用户数据不出本地,所有的模型训练都是在本地进行。本地模型训练完毕后将得到的参数,经同态加密上传至服务器端,服务器端接收到各方上传的参数后进行统一聚合,然后将新的训练要求再次下发到参与方,本地更新得到一个全新模型,如此反复直至达到训练要求。联邦学习可以有效地解决数据孤岛问题,其最大的特点是将用户将自身数据保存在本地,这样在模型联合训练过程中不会泄露各个参与方的原始数据,能做到整个训练过程只移动模型,不移动数据,只要使用联邦学习框架进行建模就可以保证多机构的数据在安全不泄露隐私的前提下进行共同建模,实现数据的协同共享。


技术实现要素:

5.本发明所要解决的技术问题是针对上述现有技术的不足,提供基于横向联邦学习的电力数据共享方法,以电力业务数据为保护对象,基于横向联邦学习的分布式学习实现多机构之间的数据协同共享,在共享时,既不影响数据的使用,同时也保护了各参与方的隐私信息,具有很好的抗攻击性能,能解决电力数据的数据融合及共享安全问题。
6.为实现上述技术目的,本发明采取的技术方案为:
7.基于横向联邦学习的电力数据共享方法,包括:
8.首先构建c/s通信模式的横向联邦学习框架,并进行如下分布式训练:
9.横向联邦学习框架下,服务器将模型参数发送给各客户端;
10.各客户端构建bp神经网络并采用本地数据集进行本地训练,本地训练完成后的参数采用同态加密技术进行处理后上传;
11.服务器对多个客户端上传的参数进行聚合评估,结果作为全局参数返回到各个客户端进行本地模型的更新,直至达到训练需求或模型收敛为止;
12.其次根据测试数据对分布式训练完成的模型进行验证测试与评估,实现数据的精准预测。
13.为优化上述技术方案,采取的具体措施还包括:
14.上述所构建的横向联邦学习框架在整个训练过程只移动模型,不移动数据,以确保多方数据安全的前提下进行共同建模,实现数据的协同共享。
15.上述的客户端构建bp神经网络模型,并采用多元回归算法实现本地训练。
16.上述的客户端首先进行本地数据预处理,确保特征空间和数据适应模型的需要;其次,设置bp神经网络,同时定义损失函数,使其具有参数最优解;最后等待服务器端下达任务,参与协同训练。
17.上述的本地训练过程包括:神经网络定义一个损失函数l(θ;x),使用注入随机梯度下降算法最小化l(θ;x)的值,使得l(θ;x)值最小的θ*即为参数最优解;神经网络逐层之间的神经元全连接,各层内部神经元无连接,每层神经元通过算法赋予的权重阈值逐步向输出层前进,当到达输出层,得到预测输出时,与真实输出值相对比,将误差反向进行传递,根据误差大小反向调整各层权重阈值,最终使得预测输出不断逼近真实输出值,实现是不断优化学习。
18.上述的服务器通过模型初始化,管理在线客户、设置训练任务、选用预测算法、下发训练命令、聚合各方参数进行模型评估。
19.上述的服务器首先进行模型初始化,生成公私密钥对;然后,启动监听,等待客户端连接,监听数据流的传输,设置训练任务、下发训练任务;接收,各个客户端上传的参数,进行聚合评估,实现模型的更新,如此反复,直到达到训练要求或模型收敛。
20.上述的服务器采用的聚合算法为fedavg算法。
21.所述分布式训练过程包括:
22.(1)服务器初始化隐私保护模型及其参数;
23.(2)各个参与的客户端进行数据的预处理,同时初始化bp神经网络;
24.(3)通过服务器使全局数据归一化;
25.(4)将服务器的特征i的权重wi下发到各个客户端;
26.每个客户端计算对应特征i的模型参数f
c,i

27.f
c,i
=f(wi,dc)
28.其中,dc表示客户端c的本地数据集,c=1,2,

,k,k为客户端总数;
29.(5)将各个客户端对应特征i的模型参数相加得到特征i的总模型参数fi:
[0030][0031]
(6)服务器通过特征i的模型参数fi更新全局模型;
[0032]
(7)判断是否满足条件,若满足则结束训练,否则转到步骤(4)继续更新模型;
[0033]
(8)全局模型训练完成,服务器将符合要求的参数下发到各个本地模型。
[0034]
上述的模型评估指标包括平均绝对值误差,均方误差和均方根误差。
[0035]
本发明具有以下有益效果:
[0036]
提出基于联邦学习的具有数据隐私保护功能的共享模型,各个参与方可在不披露底层数据和其加密形态的前提下,可在复杂的网络环境下协同共建模型,实现数据不动、模型动的“可用不可见”共享模式,为电力数据的跨界融合和创新应用做好保驾护航,实现电
力数据的协同共享,打破电力机构的数据孤岛,解决数据隐私保护问题。本发明的这种电力数据协同共享模型,可以用在复杂网络环境下,实现电力数据共享的同时不泄露参与方数据隐私。不仅保证了各参与方原始数据的安全,而且也对通信中传递的参数进行了同态加密保护,实现了数据不出本地,多方参与的协同数据共享。整个方案具有高安全、抗攻击的特征,在实际应用中,可以应用于电力系统中实现电力数据共享中的隐私保护,为电力数据跨域融合及协同共享奠定了基础。
[0037]
基于c/s模式的横向联邦学习框架,实现了模型移动,数据不动的安全训练模式,适用于保护本地数据隐私,又想实现协同共享的数据领域,分布式机器学习不仅解决了数据样本量少、数量质量差的问题,而且多方参与、多样本的联合训练更能提升预测精度。
[0038]
在客户端构建bp神经网络模型,以及同态加密技术的引入,为协同训练及数据共享提供了安全保障,其中,为了保证协同训练效果,在客户端搭建了bp神经网络模型采用多元线性回归算法进行本地训练,这为协同训练的共享模型打下坚实基础;同态加密技术的引入实现了对分布式机器学习中c/s通信中参数的安全保护,保证了通信中参数的安全性。
[0039]
在服务器端进行的一系列初始化、训练、测试及评估任务,是数据安全共享的核心。它不仅保护了各参与方的数据隐私,也实现协同训练及数据共享。
[0040]
为了验证数据共享模型的性能,进行的一系列测试及指标评估,进一步验证了理论的可行性和方法的执行效果。
附图说明
[0041]
图1为基于横向联邦学习的数据安全共享方法的总体架构设计图;
[0042]
图2为用户数据的自相关图;
[0043]
图3为横向联邦学习框架系统流程图;
[0044]
图4为反向传播算法流程图;
[0045]
图5为联邦学习服务器端训练过程展示界面图;
[0046]
图6为联邦学习客户端训练过程展示界面图;
[0047]
图7为不同的本地训练次数对模型的影响;
[0048]
图8为不同的数据集样本量对模型的影响;
[0049]
图9为不同的训练要求对模型的影响。
具体实施方式
[0050]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0051]
本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组合。
[0052]
结合图1,本发明基于横向联邦学习的电力数据共享方法,包括:
[0053]
首先构建c/s通信模式的横向联邦学习框架,并进行如下分布式训练:
[0054]
横向联邦学习框架下,服务器将模型参数发送给各客户端;
[0055]
各客户端构建bp神经网络并进行本地训练,本地训练完成后的参数采用同态加密技术进行处理后上传;
[0056]
服务器对多个客户端上传的参数进行聚合评估,结果作为全局参数返回到各个客户端进行本地模型的更新,如果未达到训练要求,则继续发送训练任务到各个客户端,经过若干轮的循环反复直至达到训练需求或模型收敛为止;
[0057]
其次根据测试数据对分布式训练完成的模型进行验证测试与评估,实现数据的精准预测。
[0058]
选取了一个地区近五年来用户用电数据信息,采用上述方法集中多家机构的用户数据进行联合分析与学习,表明能够对未来的用电数据做出精准预测。对本发明方案具体介绍如下:
[0059]
一、总体模型架构:所构建的横向联邦学习框架在整个训练过程只移动模型,不移动数据,以确保多方数据安全的前提下进行共同建模,实现数据的协同共享。具体的:
[0060]
横向联邦学习可以通过联合多家机构共同建模以提高训练模型的数据量,解决数据少、数据质量差的问题。系统总体采用c/s模式,整体设计框架如图1所示,系统流程如图3所示。
[0061]
在客户端,首先考虑对数据集进行预处理使得数据能够更好的被模型适用。基于bp神经网络,将本地数据集部署到客户端,结合多元线性回归算法进行模型训练,在客户端训练完成后用同态加密算法对参数加密处理后上传给服务器进行聚合,进行模型更新或下一轮任务的学习,直到达到训练要求。
[0062]
在服务器端,其主要功能包括模型参数处理方式的选取、客户端在线列表显示、客户端上传的参数聚合。各种参数配置以及对测试集进行预测,同时在训练过程中实时显示迭代轮数、实时误差等信息。最后,针对联邦学习模型,从本地训练次数、数据集样本量、训练要求等方面进行了测试与评估,进一步验证了模型的性能,实现数据的安全预测。
[0063]
二、本地客户端:客户端构建bp神经网络模型,并采用多元回归算法实现本地训练,客户端要实现横向联邦学习,务必保证所有参与方的数据集具有相同的特征空间,所以首先要实现本地数据的预处理,确保特征空间和数据适应模型的需要,最大程度地反应电力数据特征;其次,设置bp神经网络,同时定义本地的一个损失函数,使其具有参数最优解;最后等待服务器端下达任务,参与协同训练。具体的:
[0064]
客户端是整个横向联邦学习架构的基础,每个客户端都维护着一个本地模型,它在训练结束后将同态加密的参数发送给服务器,服务器对各方上传的参数进行聚合计算,其结果作为全局参数返回到各个客户端用于更新本地模型。客户端具体执行步骤如下:
[0065]
第一步:确定参与方的电力数据维度,保证维度相同,特征相同,然后客户端对各自的本地电力数据做预处理,总体评估数据样本信息,保证各参与方具有相同的数据特征,具体数据特征样例如表1所示,样本自相关性如图2所示。
[0066]
表1对原始数据进行预处理后的数据
[0067]
datemwh*1000000festivalweekendother2015-01-0114.569010

2015-01-0213.341100

……
01

2020-12-3011.556910

2020-12-3112.4430
………
[0068]
第二步:搭建bp神经网络模型,确定输入、输出及隐藏层神经元个数,准备接收服务器端发送的训练命令。当接收到训练命令后,基于bp神经网络以及反向传播算法,通过权重更新与迭代完成数据的本地训练。
[0069]
在bp神经网络中,xi表示每个输入到神经元的信号大小,i=1,2,

,n。有多个信号输入到神经元,oj表示将之前的多个输入进行某种运算然后得到单个输出值,对于每个神经元来说,对每个输入附上一个权重w
ij
。o
ij
为j个神经元第i个的输出,bj为神经网络的偏置,表示此时所有输入对神经元的作用大小,如式(1)所示。
[0070]oij
=w
ij
xi bjꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0071]
神经元的输入需要达到一定阈值才会触发输出,所以神经元在计算完输入之后需要通过一个激活函数f来处理输入的信息。因此,对上述的第j个神经元的输出oj的数学表达式如式(2)所示。
[0072][0073]
第三步:具体训练过程。利用网络中的各权值,求出损失函数的梯度。本地神经网络通常会先定义一个损失函数l(θ;x)然后使用注入随机梯度下降等最优化算法最小化l(θ;x)的值,使得l(θ;x)值最小的θ
*
就是参数最优解。该梯度将被反馈至最佳化的方法,用于对权重进行修正,使损失函数最小化。bp神经网络逐层之间的神经元全连接,各层内部神经元无连接,每层神经元通过算法赋予的权重阈值逐步向输出层前进,当到达输出层,得到预测输出时,与真实输出值相对比,将误差反向进行传递,根据误差大小反向调整各层权重阈值,最终使得预测输出不断逼近真实输出值,这个过程就是不断优化学习的过程。具体反向传播算法流程如图4所示。
[0074]
三、服务器端:服务器端通过模型初始化,管理在线客户、设置训练任务、选用预测算法、下发训练命令、聚合各方参数进行模型评估等任务。服务器端首先进行各种初始化任务:模型初始化,生成公私密钥对等;然后,启动监听,等待客户端连接,监听数据流的传输,设置训练任务、下发训练任务等;接收,各个客户端上传的参数,进行聚合评估,实现模型的更新,如此反复,直到达到训练要求或模型收敛。具体的:
[0075]
服务器端是模型的核心部分,主要完成初始化任务,将模型参数发送给各个客户端,客户端各自训练本地数据然后将训练的结果经同态加密后上传给服务器进行聚合计算,模型聚合算法使用fedavg算法,其结果作为全局参数返回到各个客户端进行本地模型的更新,不断重复这一过程,直到模型收敛或达到最大迭代次数。这种训练方法使得服务器只起到参数聚合计算作用,并不会直接参与建模,保护了数据隐私和安全。
[0076]
在服务器端,当模型训练完成后,为了测试模型性能的好坏,根据上述训练结果,设置最佳模型参数,对测试数据进行预测,观测其预测精度及评估指标,对共享模型的性能进行整体评估。
[0077]
四、整体分布式训练过程包括:
[0078]
设客户端共有k个,其中c=1,2,

,k。具体隐私保护模型的训练步骤如下:
[0079]
(1)服务器初始化隐私保护模型及其参数;
[0080]
(2)各个参与的客户端进行数据的预处理,同时初始化bp神经网络;
[0081]
(3)通过中央服务器使全局数据归一化;
[0082]
(4)将服务器的特征i的权重wi下发到各个客户端;
[0083]
每个客户端计算对应特征i的模型参数f
c,i
,如式(3)所示
[0084]fc,i
=f(wi,dc)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0085]
其中,dc表示客户端c的本地数据集。
[0086]
(5)将各个客户端对应特征i的模型参数相加得到特征i的总模型参数fi,如式(4)所示。
[0087][0088]
(6)服务器通过特征i的模型参数fi更新全局模型。
[0089]
(7)判断是否满足条件,若满足则结束训练,否则转到步骤(4)继续更新模型。
[0090]
(8)全局模型训练完成,服务器将符合要求的参数下发到各个本地模型。
[0091]
通过使用联邦学习的思想训练隐私保护模型,保证了各方数据不出本地就能共同训练模型,解决了数据样本量少,数据质量差的问题。
[0092]
五、c/s双端具体操作步骤
[0093]
1)服务器界面“启动服务器”,客户端界面输入服务器地址后“连接服务器”与服务器建立通信连接。
[0094]
2)服务器界面选择训练指标“loss下限”输入训练目标,打开测试集文件后,选择“同态加密”作为模型参数处理方式,“线性回归”作为预测算法,点击“信息获取”,完成服务器端的设置。
[0095]
3)客户端界面选择训练集文件后,设置本地训练次数、样本数和学习率,点击“信息获取”,完成客户端的设置。
[0096]
4)服务器端“下发命令”,客户端“开始训练”,等待训练完成。
[0097]
5)模型训练完成后,客户端点击“作图”查看训练结果。具体服务器及客户端展示界面如图5和图6所示。
[0098]
六、测试与分析
[0099]
(1)评估指标
[0100]
对于共享模型,评价它的好坏,就是看它的预测结果与真实结果的差异大小。最常用的模型评估指标有:平均绝对值误差,均方误差,均方根误差等。
[0101]
1)平均绝对值误差(mae)
[0102]
计算每一个样本的预测值和真实值的差的绝对值,然后求和再取平均值。其公式如式(5)所示,其中,yi为真实值,f(xi)和为模型预测值。
[0103][0104]
2)均方误差(mse)
[0105]
计算每一个样本的预测值与真实值差的平方,然后求和再取平均值,具体如(6)所示。
[0106]
[0107]
3)均方根误差(rmse)
[0108]
均方根误差就是在均方误差的基础上再开方,具体如式(7)所示。
[0109][0110]
具体实施时选用rmse作为评估指标来衡量模型的性能。
[0111]
(2)测试与分析过程
[0112]
1)本地训练次数对模型的影响
[0113]
设置loss值为0.3,本地训练集样本数600,学习率0.001,在相同的测试条件下,变换本地训练次数来对模型进行评估,具体如表2所示。
[0114]
训练完成后,分别用这4种设置对测试集样本进行预测,预测结果与实际情况对比如图7所示,其中横坐标为预测值,纵坐标为实际值。
[0115]
表2本地训练次数对模型的影响
[0116]
本地训练次数全局训练轮数训练耗时rmse完成情况1100轮264秒0.7248未完成10100轮265秒0.4697未完成10032轮84秒0.2997已完成10009轮25秒0.2840已完成
[0117]
2)数据集样本量对模型的影响
[0118]
分别取数据集样本量为100,200,500,1000,然后保持其他参数不变,即本地训练次数为1000,rmse下限取0.3,学习率设为0.001,具体配置如表3所示。
[0119]
随着样本量的增加,训练轮数及耗时显著下降,模型训练效率显著提高。对4种方式测试的模型预测结果与实际情况对比如图8所示。
[0120]
表3数据集样本量对模型的影响
[0121]
数据集样本量全局训练轮数训练耗时rmse完成情况10044轮118秒0.2994已完成20016轮43秒0.2992已完成5006轮17秒0.2980已完成10005轮15秒0.2959已完成
[0122]
3)训练要求对模型的影响
[0123]
参数设置如表4所示,分别对rmse设置为0.4,0.3,0.25,0.2时模型训练结果进行记录。
[0124]
随着预设的rmse下限逐渐下降,即训练要求越来越高时,所需训练轮数显著提升,训练耗时也大大增加。具体预测结果与实际情况如图9所示。
[0125]
表4训练要求对模型的影响
[0126]
[0127][0128]
通过以上实验,分析了不同的指标对模型训练的影响,这就需要在模型训练时对各个参数的选择进行取舍,如:训练耗时与模型准确度的取舍,数据集样本与全局训练轮数的取舍,学习率的设置与训练隐私保护模型的取舍等。
[0129]
综上所述,随着能源数字化转型的深入推进,电力数据跨界汇聚融合和创新应用日益广泛。但是,要实现电力数据的协同共享将不可避免地带来隐私泄露风险。因此,如何在保障电力数据安全的基础上促进数据的开发利用,建立一种安全可信模型具有重要意义。本发明以电力业务数据为基础,基于联邦学习技术,设计出由多方共同参与且能够保护隐私的一种联邦学习模型,解决由于电力业务数据敏感所导致的数据少或数据质量差、多个电力企业或机构无法联合建模的问题。与现有隐私保护模型相比,此方法不仅具有方便、高效、安全的特性,而且该方法具有良好的抗攻击性,在发挥电力业务数据协同共享的同时,保护了各参与方的数据隐私,实现了电力数据的精准预测。
[0130]
与现有技术相比,本发明的有益效果有:
[0131]
1、构建基于横向联邦学习框架,并设置c/s通信模式,这是数据共享模型的基础:所构建的横向联邦学习框架在整个训练过程只移动模型,不移动数据,这样在联合训练中不会泄露各参与方的数据,确保多方数据安全的前提下进行共同建模,实现数据的协同共享;
[0132]
2、在客户端构建bp神经网络,并进行本地模型训练,这是数据共享模型的关键:在客户端构建bp神经网络,实现本地训练,这是整个协同训练好坏的关键,对上传的参数进行的同态加密确保了参数传输的安全性。
[0133]
3、在服务器端进行模型的训练,测试及评估,这是数据共享模型的核心:服务器端担负着整个模型的核心任务,它负责训练任务的统筹、训练命令的下发、参数的聚合计算及模型的更新及收敛判断等任务,是联邦学习的核心部件。
[0134]
4、为了测试模型性能的好坏,根据上述训练结果,设置最佳模型参数,对测试数据进行预测,观测其预测精度及评估指标,作为共享模型性能评估的主要依据,对共享模型的性能进行整体评估。
[0135]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
[0136]
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献