CN117540426A - 基于同态加密和联邦学习的能源电力数据共享方法及装置 - Google Patents
基于同态加密和联邦学习的能源电力数据共享方法及装置 Download PDFInfo
- Publication number
- CN117540426A CN117540426A CN202311595372.9A CN202311595372A CN117540426A CN 117540426 A CN117540426 A CN 117540426A CN 202311595372 A CN202311595372 A CN 202311595372A CN 117540426 A CN117540426 A CN 117540426A
- Authority
- CN
- China
- Prior art keywords
- power data
- energy power
- model
- global
- participating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012549 training Methods 0.000 claims description 44
- 238000004422 calculation algorithm Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 19
- 238000010276 construction Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于同态加密和联邦学习的能源电力数据共享方法及装置,所述方法包括:构建包括参与设备与服务器的初始能源电力数据共享模型;其中,所述参与设备为用于能源电力数据共享的各类移动终端;所述参与设备包含能源电力数据的局部模型;所述服务器包含能源电力数据的全局模型;所述服务器将全局模型的加密的初始化全局权重参数传输至参与设备;在所述参与设备接收到加密的初始化全局权重参数时,重复执行局部模型参数更新操作,直至所述全局模型收敛时,生成能源电力数据共享模型;根据所述能源电力数据共享模型完成模型中各参与设备与服务器间的能源电力数据共享。
Description
技术领域
本发明涉及数据共享技术领域,尤其涉及一种基于同态加密和联邦学习的能源电力数据共享方法及装置。
背景技术
联邦学习因为其具有数据共享和隐私保护的特性受到了广泛关注,其核心理念是建立基于分布在边缘设备上的数据集的机器学习模型,让模型信息在各设备间传递,且用于训练的数据集不会离开本地,以此来达到防止用户隐私泄露的目的。但是,在现有的电力系统的能源电力数据聚合和共享的过程中,在基于联邦学习方法在各设备上对各自的模型进行训练后,需要将设备上的局部模型参数传递到电力系统的服务器中进行全局参数的计算,现有技术方案在传递参数时对所传输的参数未经加密直接进行传输,这种传输方式在传输局部参数时仍存在隐私泄漏的风险,使得数据在传输过程存在对数据的隐私保护能力不足的问题。
发明内容
本发明实施例提供一种基于同态加密和联邦学习的能源电力数据共享方法及装置,能提高对传输数据的隐私保护能力,提高了数据传输的隐私性。
本发明一实施例提供一种基于同态加密和联邦学习的能源电力数据共享方法,包括:
构建包括参与设备与服务器的初始能源电力数据共享模型;其中,所述参与设备为用于能源电力数据共享的各类移动终端;所述参与设备包含能源电力数据的局部模型;所述服务器包含能源电力数据的全局模型;
所述服务器将全局模型的加密的初始化全局权重参数传输至参与设备;
在所述参与设备接收到加密的初始化全局权重参数时,重复执行局部模型参数更新操作,直至所述全局模型收敛时,生成能源电力数据共享模型;
根据所述能源电力数据共享模型完成模型中各参与设备与服务器间的能源电力数据共享;
其中,所述局部模型参数更新操作,包括:
所述参与设备根据全同态加密算法对加密的初始化全局权重参数进行解密,确定第一权重参数;
根据所述第一权重参数和参与设备的本地数据集对局部模型进行训练,直至局部模型收敛时,确定局部模型的第二权重参数和第一梯度参数,根据全同态加密算法对所述第二权重参数和第一梯度参数进行加密,生成第三权重参数和第二梯度参数,并将所述第三权重参数和第二梯度参数传输至服务器;
所述服务器基于所述第二梯度参数对所述第三权重参数进行聚合生成第四权重参数,并以所述第四权重参数更新加密的初始化全局权重参数;
根据加密的初始化全局权重参数对全局模型进行训练,若所述全局模型未收敛,将加密的初始化全局权重参数传输至参与设备。
进一步地,在所述服务器将全局模型的加密的初始化全局权重参数传输至参与设备之前,还包括:
初始化全局模型的模型参数;其中,所述全局模型的模型参数包括:学习率、达到训练目标的迭代次数、当前迭代次数、参与训练的参与设备数量、参与设备的本地数据集和初始化全局权重参数;
根据所述初始化全局模型的模型参数对全局模型进行初始化。
进一步地,根据所述能源电力数据共享模型完成模型中各参与设备与服务器间的能源电力数据共享,包括:
在第一参与设备和第二参与设备间进行能源电力数据共享时;
根据全同态加密算法生成一组密钥对;其中,所述密钥对中包括用于解密的私钥和用于加密的公钥;
获取第一参与设备的第一能源电力数据明文和第二参与设备的第二能源电力数据明文;
根据所述公钥对第一能源电力数据明文进行加密生成第一能源电力数据密文;
将所述第一能源电力数据密文传输至第二参与设备,以使第二参与设备根据第一能源电力数据密文和第二能源电力数据明文生成第三能源电力数据,并将所述第三能源电力数据传输至第一参与设备;
第一参与设备根据所述私钥对所述第三能源电力数据进行解密,得到第四能源电力数据。
进一步地,所述第二参与设备根据第一能源电力数据密文和第二能源电力数据明文生成第三能源电力数据,包括:
根据第一能源电力数据密文和第二能源电力数据明文生成第五能源电力数据;
在所述第二参与设备所在空间中随机选取一初始向量;
根据所述初始向量确定目标维度向量;
根据所述目标维度向量和所述第五能源电力数据生成第三能源电力数据。
在上述方法项实施例的基础上,本发明对应提供了装置项实施例;
本发明一实施例对应提供了一种基于同态加密和联邦学习的能源电力数据共享装置,包括:初始模型构建模块、模型参数更新模块以及数据共享模块;
所述初始模型构建模块,用于构建包括参与设备与服务器的初始能源电力数据共享模型;其中,所述参与设备为用于能源电力数据共享的各类移动终端;所述参与设备包含能源电力数据的局部模型;所述服务器包含能源电力数据的全局模型;
所述模型参数更新模块,用于所述服务器将全局模型的加密的初始化全局权重参数传输至参与设备;在所述参与设备接收到加密的初始化全局权重参数时,重复执行局部模型参数更新操作,直至所述全局模型收敛时,生成能源电力数据共享模型;其中,其中,所述局部模型参数更新操作,包括:所述参与设备根据全同态加密算法对加密的初始化全局权重参数进行解密,确定第一权重参数;根据所述第一权重参数和参与设备的本地数据集对局部模型进行训练,直至局部模型收敛时,确定局部模型的第二权重参数和第一梯度参数,根据全同态加密算法对所述第二权重参数和第一梯度参数进行加密,生成第三权重参数和第二梯度参数,并将所述第三权重参数和第二梯度参数传输至服务器;所述服务器基于所述第二梯度参数对所述第三权重参数进行聚合生成第四权重参数,并以所述第四权重参数更新加密的初始化全局权重参数;根据加密的初始化全局权重参数对全局模型进行训练,若所述全局模型未收敛,将加密的初始化全局权重参数传输至参与设备;
所述数据共享模块,用于根据所述能源电力数据共享模型完成模型中各参与设备与服务器间的能源电力数据共享。
进一步地,还包括初始化模块;
所述初始化模块,用于初始化全局模型的模型参数;其中,所述全局模型的模型参数包括:学习率、达到训练目标的迭代次数、当前迭代次数、参与训练的参与设备数量、参与设备的本地数据集和初始化全局权重参数;
根据所述初始化全局模型的模型参数对全局模型进行初始化。
进一步地,根据所述能源电力数据共享模型完成模型中各参与设备与服务器间的能源电力数据共享,包括:
在第一参与设备和第二参与设备间进行能源电力数据共享时;
根据全同态加密算法生成一组密钥对;其中,所述密钥对中包括用于解密的私钥和用于加密的公钥;
获取第一参与设备的第一能源电力数据明文和第二参与设备的第二能源电力数据明文;
根据所述公钥对第一能源电力数据明文进行加密生成第一能源电力数据密文;
将所述第一能源电力数据密文传输至第二参与设备,以使第二参与设备根据第一能源电力数据密文和第二能源电力数据明文生成第三能源电力数据,并将所述第三能源电力数据传输至第一参与设备;
第一参与设备根据所述私钥对所述第三能源电力数据进行解密,得到第四能源电力数据。
进一步地,所述第二参与设备根据第一能源电力数据密文和第二能源电力数据明文生成第三能源电力数据,包括:
根据第一能源电力数据密文和第二能源电力数据明文生成第五能源电力数据;
在所述第二参与设备所在空间中随机选取一初始向量;
根据所述初始向量确定目标维度向量;
根据所述目标维度向量和所述第五能源电力数据生成第三能源电力数据。
本发明另一实施例提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述发明实施例所述的一种基于同态加密和联邦学习的能源电力数据共享方法。
本发明另一实施例提供了一种存储介质,所述存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述存储介质所在设备执行上述发明实施例所述的一种基于同态加密和联邦学习的能源电力数据共享方法。
通过实施本发明具有如下有益效果:
本发明提供了一种基于同态加密和联邦学习的能源电力数据共享方法及装置,该数据共享方法通过构建包括参与设备和服务器的初始能源电力数据共享模型,基于联邦学习使服务器的全局模型的权重参数和参与设备的局部权重参数进行相互指导学习,并在对参与设备所在的局部模型进行训练后,除将局部权重参数传输至服务器外,还将对应的梯度参数传输至服务器中,以使服务器能基于所传输的梯度参数指导全局模型的权重参数的更新方向,以使全局模型的权重参数的更新更快,使全局模型能更快的收敛。继而在全局模型收敛时确定能源电力数据共享模型,基于所确定的能源电力数据共享模型实现在模型中各参与设备及服务器间的能源电力数据的共享。进一步地,本发明方法在局部模型和全局模型向外传递权重参数和梯度参数前,均通过全同态加密算法对所需传输的参数进行加密,以加密后的参数传输出去,进一步提高了对传输数据的隐私保护能力,提高了数据传输的隐私性。
附图说明
图1是本发明一实施例提供的一种基于同态加密和联邦学习的能源电力数据共享方法的流程示意图。
图2是本发明一实施例提供的一种基于同态加密和联邦学习的能源电力数据共享方法的框架示意图。
图3是本发明一实施例提供的基于全同态加密算法的向量内积隐私计算方法示意图。
图4是本发明一实施例提供的各方案间模型准确率对比示意图。
图5是本发明一实施例提供的一种基于同态加密和联邦学习的能源电力数据共享装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,是本发明一实施例提供的一种基于同态加密和联邦学习的能源电力数据共享方法,包括:
步骤S1:构建包括参与设备与服务器的初始能源电力数据共享模型;其中,所述参与设备为用于能源电力数据共享的各类移动终端;所述参与设备包含能源电力数据的局部模型;所述服务器包含能源电力数据的全局模型;
步骤S2:所述服务器将全局模型的加密的初始化全局权重参数传输至参与设备;
步骤S3:在所述参与设备接收到加密的初始化全局权重参数时,重复执行局部模型参数更新操作,直至所述全局模型收敛时,生成能源电力数据共享模型;
其中,所述局部模型参数更新操作,包括:
步骤S301:所述参与设备根据全同态加密算法对加密的初始化全局权重参数进行解密,确定第一权重参数;
步骤S302:根据所述第一权重参数和参与设备的本地数据集对局部模型进行训练,直至局部模型收敛时,确定局部模型的第二权重参数和第一梯度参数,根据全同态加密算法对所述第二权重参数和第一梯度参数进行加密,生成第三权重参数和第二梯度参数,并将所述第三权重参数和第二梯度参数传输至服务器;
步骤S303:所述服务器基于所述第二梯度参数对所述第三权重参数进行聚合生成第四权重参数,并以所述第四权重参数更新加密的初始化全局权重参数;
步骤S304:根据加密的初始化全局权重参数对全局模型进行训练,若所述全局模型未收敛,将加密的初始化全局权重参数传输至参与设备;
步骤S4:根据所述能源电力数据共享模型完成模型中各参与设备与服务器间的能源电力数据共享。
对于步骤S1、构建包括参与设备与服务器的初始能源电力数据共享模型;该模型的结构可参考电力系统结构设计,其中所包含的参与设备即对应电力系统的各参与方,通常为用于能源电力数据共享的各类移动终端;所包含的服务器即对应电力系统的服务器方,服务器为具有丰富的计算资源和存储资源的存在;参与设备运行在本地环境。在所构建的初始能源电力数据共享模型中进行联邦学习,以使各参与设备之间、各参与设备和服务器之间进行参数交互,相互指导各自的模型进行训练,以使服务器中的全局模型收敛。
在一个优选的实施例中,在所述服务器将全局模型的加密的初始化全局权重参数传输至参与设备之前,还包括:初始化全局模型的模型参数;其中,所述全局模型的模型参数包括:学习率、达到训练目标的迭代次数、当前迭代次数、参与训练的参与设备数量、参与设备的本地数据集和初始化全局权重参数;根据所述初始化全局模型的模型参数对全局模型进行初始化。
具体的,首先需对服务器中的全局模型的模型参数进行初始化;初始化的模型参数主要包括:学习率η、达到训练目标的迭代次数T、当前迭代次数t、每次参与训练的参与设备数量n、第i次迭代过程中参与设备的本地数据集的子集Si和初始化全局LR模型的权重参数
对于步骤S2和步骤S3、对服务器中的全局模型的初始化全局权重参数进行加密;优选的,该加密方法可采用全同态加密算法进行加密。将加密后的初始化全局权重参数传输至与服务器所关联的各参与设备,使每一接收到该加密后的初始化全局权重参数的参与设备,基于该初始化全局权重参数对自身所固有的本地局部模型的参数进行更新,并基于更新后的参数进行局部模型的训练,得到相应的局部模型参数后经加密传输给服务器,使服务器根据所传输的局部模型的参数进行聚合并得到新的模型参数,基于新的模型参数对全局模型进行训练,并查看全局模型是否收敛,若没有则重复将全局模型的模型参数传输给局部模型进行局部模型参数的更新和训练的操作,直至全局模型收敛或达到预设的训练目标时,即停止该模型参数相互学习的过程。以一参与设备与服务器间相互指导学习的角度来说,具体的交互步骤如下:
对于步骤S301、如图2所示,参与设备根据全同态加密算法对加密的初始化全局权重参数进行解密;由于全同态加密算法是通过一组密钥对的形式进行加密和解密的,因此,在对加密的初始化全局权重参数进行解密前,参与设备需先从服务器中获取与用于加密初始化全局权重参数的公钥处于同一秘钥对的私钥,继而根据所获取的私钥对初始化全局权重参数进行解密,得到解密后的初始化全局权重参数(即上述第一权重参数)。优选的,也可根据局部模型实际训练需求,从服务器中传输除初始化全局权重参数外的其余模型参数,但所传输的模型参数需遵循加密传输的原则,以保证传输过程中数据的隐私性。
对于步骤S302、参与设备根据解密后的初始化全局权重参数和本地数据集对局部模型进行训练;在每一次的迭代训练时,参与设备Pi选择本地数据集的子集运行所需训练的模型,并同时计算梯度;在局部模型收敛或达到训练目标时,即确定局部模型的权重参数(即上述第二权重参数)和梯度参数(即上述第一梯度参数)。
优选的,在参与设备的局部模型训练的过程中,对于每个参与设备i而言,首先在其本地数据集Di上定义相关的损失函数Lf(·),LR的对数损失函数,在明文状态下可以写为如下表述:
其中,L为损失函数;n为参与训练的参与设备数量;θ为模型参数;T为迭代次数。
对上面的式子进行求导,得到损失函数值L关于模型参数θ的梯度梯度需满足如下公式:
利用梯度下降可得到每一步的参数θ更新计算公式如下:
而本发明是基于同态加密的联邦学习方法,因此,要求在加密的状态下进行参数求解,也就是通常来说,传输的参数θ是一个加密后的值[[θ]],故可将损失函数可以改写为:
使用其中的二阶多项式来近似对数损失函数,并将z=yθTx代入泰勒展开的损失函数可以得到:
由于y2=1,故直接去掉y,对上式求导得到损失值L关于参数θ的梯度值为:
对应得到加密梯度为:
在计算加密梯度(即上述第二梯度参数)时,参与设备先根据初始化全局权重参数对本地的局部模型的模型参数进行更新,使局部模型的权重参数更新为初始化全局权重参数;在对局部模型的每一次迭代训练中,从本地数据集中随机选取大小不同的训练数据对局部模型进行训练,并根据上述公式在加密状态下求取加密梯度。
同时采用全同态加密算法对第二权重参数进行加密生成第三权重参数;将加密状态下的第三权重参数和加密梯度传输至服务器。
对于步骤S303、服务器根据加密梯度的指导,对第三权重参数进行聚合生成聚合后的加密状态下的第四权重参数,并将全局模型的初始化全局权重参数更新为第四权重参数。
对于步骤S304、根据更新后的加密的初始化全局权重参数对全局模型进行训练,若全局模型收敛或达到预设目标,则停止全局模型和局部模型的训练,此时得到最优的全局权重参数和最优的局部权重参数;若全局模型未收敛,则将加密的初始化全局权重参数传输到参与设备,以使参与设备在接收到初始化全局权重参数后,重复执行步骤S301-S304的步骤,直至全局模型收敛。
对于步骤S4、在全局模型收敛或达到预设目标时,生成基于联邦学习和同态加密的能源电力数据共享模型;根据所述能源电力数据共享模型完成模型中各参与设备与服务器间的能源电力数据共享。
在一个优选的实施例中,根据所述能源电力数据共享模型完成模型中各参与设备与服务器间的能源电力数据共享,包括:在第一参与设备和第二参与设备间进行能源电力数据共享时;根据全同态加密算法生成一组密钥对;其中,所述密钥对中包括用于解密的私钥和用于加密的公钥;获取第一参与设备的第一能源电力数据明文和第二参与设备的第二能源电力数据明文;根据所述公钥对第一能源电力数据明文进行加密生成第一能源电力数据密文;将所述第一能源电力数据密文传输至第二参与设备,以使第二参与设备根据第一能源电力数据密文和第二能源电力数据明文生成第三能源电力数据,并将所述第三能源电力数据传输至第一参与设备;第一参与设备根据所述私钥对所述第三能源电力数据进行解密,得到第四能源电力数据。
在一个优选的实施例中,所述第二参与设备根据第一能源电力数据密文和第二能源电力数据明文生成第三能源电力数据,包括:根据第一能源电力数据密文和第二能源电力数据明文生成第五能源电力数据;在所述第二参与设备所在空间中随机选取一初始向量;根据所述初始向量确定目标维度向量;根据所述目标维度向量和所述第五能源电力数据生成第三能源电力数据。
具体的,如图3所示,在已经完成联邦学习的能源电力数据共享模型中进行能源电力数据交互时,在数据加密和解密过程中均采用全同态加密的向量内积隐私计算方法进行计算。图3中参与方A即为上述第一参与设备,参与方B即为上述第二参与设备。在A和B之间进行能源电力数据共享时,需根据全通太加密算法生成一组用于二者之间能源电力数据加密和解密用的密钥对。
其中,密钥的生成,是根据预先选定的分布D1采样得解密用的私钥SK,根据预先选定的分布D2采样得到e,对多项式环Rq采样得到a,进而通过以下公式计算得到对应的公钥PK:
PK=([―a•SK+e]q,a)=(PK0,PK1)
其中,这里的f(x)=xn+1,q给定的模数链,D1和D2是以σ为方差的中心离散高斯分布,n和σ的设置会直接影响加密效果,在本实施例中设置n=8192,σ=3.2。
加密算法则是首先使用CKCS编码方案将明文消息m编码为明文多项式M,再对分布D1采样得μ,对分布D2采样得到e1,e2;再通过以下公式计算得到加密后的密文c:
c=([pk0·u+e1+M]q,[pk1·u+e2]q)
解密算法则是通过对应的CKCS解码方式使用私钥SK对密文数据c解密得到明文m;
根据上述密钥对生成原理、加密算法和解密算法的原理即可实现全同态加密算法对所需加密或解密的数据进行处理。
在数据共享的过程中,对于加密后的密文和解密后的明文均可进行内积运算。
如图3所示,在A中生成密钥对后,将A所拥有的能源电力数据的数据向量 作为A的输入明文(即上述第一能源电力数据明文);将A的公钥PKA作为输入密钥,使用全同态加密算法加密为第一能源电力数据密文Enc(VA);将Enc(VA)发送给B。将B所拥有的能源电力数据的数据向量/>通过密文乘明文方法生成第五源电力数据C=Enc(VA)*VB。同时参与方B在/>空间内随机选取/>维向量(即上述初始向量);计算n维向量/> n维向量E即为上述目标维度向量。根据密文加明文的方法计算目标维度向量和所述第五能源电力数据,生辰第三能源电力数据R=C+E;其中,/>―1。并将第三能源电力数据R发送给A,A使用与公钥PKA对应的私钥SKA并调用CKKS解码函数,解密R获得第四能源电力数据的数据向量VR=Dec(R)=r0,r1,…,rN―1。优选的,在A内部,A对自身提供向量内积计算公式,对数据维度和VR进行计算,得到向量内积:
其中,M是指隐私数据的向量维数,M是N的二倍,根据M可以计算N和n,即: j表示[0―N―1]的整数,因此对于任意的j,可以逐位分解成0和1组成的字串,其中每个位置是jl,分解方式是/>ξM=e―2πi/M,ξM仅与M有关,结合这些参数,可以通过如下公式计算bn―2:
优选的,在各参与设备中均可完成上述内积计算,并在每次内积计算完成后,将自身设备的bn―2值存储为固定的参数,在每次计算向量内积时,只需要令r与对应的固定参数相乘,再求和得内积结果S,能进一步提高内积计算的效率。
需要说明的是,本发明实施例在FATE的实验框架,使用MNIST数据集作为训练数据集,使用完全相同的软硬件平台,与使用Paillier加密算法和不使用加密算法进行联邦学习训练模型,在本地训练的每一轮迭代中,都随机挑选固定大小的训练数据进行训练。
如图4所示是本发明实施例提供的各方案间模型准确率对比示意图。从图中可以看出,结合了Paillier算法的联邦学习方案在迭代15轮后趋于收敛,准确率达到约96%,而采用本实例所提方法,在保持其他参数不变的情况下,在迭代13轮后趋于收敛,准确率达到约97%,而不采用同态加密的联邦学习方案,尽管能够较快的达到收敛,但准确率低于采用同态加密的方案。
此外,在明文数字的比例为浮点数0-1,整数0-100,重复次数为100的条件下,对比了Paillier、CKKS以及本发明三种同态算法的计算效率,时间单位为毫秒,其中C表示密文,P表示明文。
加密算法 | Key | 加密时间 | C+P | C+C | C*P | C*C | 解密时间 |
Paillier | 8192 | 627.37 | 2.05 | 0.72 | 3.45 | -- | 220.30 |
CKKS | 8192 | 12.13 | 0.41 | 0.58 | 3.58 | 12.08 | 2.10 |
本发明 | 8192 | 11.14 | 0.37 | 0.54 | 3.60 | 10.14 | 1.70 |
通过实验结果可以看出,本发明方案具有更高的计算效率和可靠性。
在上述方法项实施例的基础上,本发明对应提供了装置项实施例。
如图5所示,本发明一实施例提供了一种基于同态加密和联邦学习的能源电力数据共享装置,包括:初始模型构建模块、模型参数更新模块以及数据共享模块;
所述初始模型构建模块,用于构建包括参与设备与服务器的初始能源电力数据共享模型;其中,所述参与设备为用于能源电力数据共享的各类移动终端;所述参与设备包含能源电力数据的局部模型;所述服务器包含能源电力数据的全局模型;
所述模型参数更新模块,用于所述服务器将全局模型的加密的初始化全局权重参数传输至参与设备;在所述参与设备接收到加密的初始化全局权重参数时,重复执行局部模型参数更新操作,直至所述全局模型收敛时,生成能源电力数据共享模型;其中,其中,所述局部模型参数更新操作,包括:所述参与设备根据全同态加密算法对加密的初始化全局权重参数进行解密,确定第一权重参数;根据所述第一权重参数和参与设备的本地数据集对局部模型进行训练,直至局部模型收敛时,确定局部模型的第二权重参数和第一梯度参数,根据全同态加密算法对所述第二权重参数和第一梯度参数进行加密,生成第三权重参数和第二梯度参数,并将所述第三权重参数和第二梯度参数传输至服务器;所述服务器基于所述第二梯度参数对所述第三权重参数进行聚合生成第四权重参数,并以所述第四权重参数更新加密的初始化全局权重参数;根据加密的初始化全局权重参数对全局模型进行训练,若所述全局模型未收敛,将加密的初始化全局权重参数传输至参与设备;
所述数据共享模块,用于根据所述能源电力数据共享模型完成模型中各参与设备与服务器间的能源电力数据共享。
在一个优选的实施例中,还包括初始化模块;
所述初始化模块,用于初始化全局模型的模型参数;其中,所述全局模型的模型参数包括:学习率、达到训练目标的迭代次数、当前迭代次数、参与训练的参与设备数量、参与设备的本地数据集和初始化全局权重参数;
根据所述初始化全局模型的模型参数对全局模型进行初始化。
在一个优选的实施例中,根据所述能源电力数据共享模型完成模型中各参与设备与服务器间的能源电力数据共享,包括:
在第一参与设备和第二参与设备间进行能源电力数据共享时;
根据全同态加密算法生成一组密钥对;其中,所述密钥对中包括用于解密的私钥和用于加密的公钥;
获取第一参与设备的第一能源电力数据明文和第二参与设备的第二能源电力数据明文;
根据所述公钥对第一能源电力数据明文进行加密生成第一能源电力数据密文;
将所述第一能源电力数据密文传输至第二参与设备,以使第二参与设备根据第一能源电力数据密文和第二能源电力数据明文生成第三能源电力数据,并将所述第三能源电力数据传输至第一参与设备;
第一参与设备根据所述私钥对所述第三能源电力数据进行解密,得到第四能源电力数据。
在一个优选的实施例中,所述第二参与设备根据第一能源电力数据密文和第二能源电力数据明文生成第三能源电力数据,包括:
根据第一能源电力数据密文和第二能源电力数据明文生成第五能源电力数据;
在所述第二参与设备所在空间中随机选取一初始向量;
根据所述初始向量确定目标维度向量;
根据所述目标维度向量和所述第五能源电力数据生成第三能源电力数据。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
所述领域的技术人员可以清楚地了解到,为了方便和简洁,上述描述的装置的具体工作过程,可参考前述方法实施例中对应的过程,在此不再赘述。
在上述方法项实施例的基础上,本发明对应提供了终端设备项实施例。
本发明一实施例提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现本发明中任意一项所述的一种基于同态加密和联邦学习的能源电力数据共享方法。
终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
所述存储器可用于存储所述计算机程序,所述处理器通过运行或执行存储在所述存储器内的计算机程序,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在上述方法项实施例的基础上,本发明对应提供了存储介质项实施例。
本发明一实施例提供了一种存储介质,所述存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述存储介质所在设备执行本发明中任意一项所述的一种微电网的稳态运行控制方法。
所述存储介质为计算机可读存储介质,所述计算机程序存储在所述计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种基于同态加密和联邦学习的能源电力数据共享方法,其特征在于,包括:
构建包括参与设备与服务器的初始能源电力数据共享模型;其中,所述参与设备为用于能源电力数据共享的各类移动终端;所述参与设备包含能源电力数据的局部模型;所述服务器包含能源电力数据的全局模型;
所述服务器将全局模型的加密的初始化全局权重参数传输至参与设备;
在所述参与设备接收到加密的初始化全局权重参数时,重复执行局部模型参数更新操作,直至所述全局模型收敛时,生成能源电力数据共享模型;
根据所述能源电力数据共享模型完成模型中各参与设备与服务器间的能源电力数据共享;
其中,所述局部模型参数更新操作,包括:
所述参与设备根据全同态加密算法对加密的初始化全局权重参数进行解密,确定第一权重参数;
根据所述第一权重参数和参与设备的本地数据集对局部模型进行训练,直至局部模型收敛时,确定局部模型的第二权重参数和第一梯度参数,根据全同态加密算法对所述第二权重参数和第一梯度参数进行加密,生成第三权重参数和第二梯度参数,并将所述第三权重参数和第二梯度参数传输至服务器;
所述服务器基于所述第二梯度参数对所述第三权重参数进行聚合生成第四权重参数,并以所述第四权重参数更新加密的初始化全局权重参数;
根据加密的初始化全局权重参数对全局模型进行训练,若所述全局模型未收敛,将加密的初始化全局权重参数传输至参与设备。
2.如权利要求1所述的一种基于同态加密和联邦学习的能源电力数据共享方法,其特征在于,在所述服务器将全局模型的加密的初始化全局权重参数传输至参与设备之前,还包括:
初始化全局模型的模型参数;其中,所述全局模型的模型参数包括:学习率、达到训练目标的迭代次数、当前迭代次数、参与训练的参与设备数量、参与设备的本地数据集和初始化全局权重参数;
根据所述初始化全局模型的模型参数对全局模型进行初始化。
3.如权利要求2所述的一种基于同态加密和联邦学习的能源电力数据共享方法,其特征在于,根据所述能源电力数据共享模型完成模型中各参与设备与服务器间的能源电力数据共享,包括:
在第一参与设备和第二参与设备间进行能源电力数据共享时;
根据全同态加密算法生成一组密钥对;其中,所述密钥对中包括用于解密的私钥和用于加密的公钥;
获取第一参与设备的第一能源电力数据明文和第二参与设备的第二能源电力数据明文;
根据所述公钥对第一能源电力数据明文进行加密生成第一能源电力数据密文;
将所述第一能源电力数据密文传输至第二参与设备,以使第二参与设备根据第一能源电力数据密文和第二能源电力数据明文生成第三能源电力数据,并将所述第三能源电力数据传输至第一参与设备;
第一参与设备根据所述私钥对所述第三能源电力数据进行解密,得到第四能源电力数据。
4.如权利要求3所述的一种基于同态加密和联邦学习的能源电力数据共享方法,其特征在于,所述第二参与设备根据第一能源电力数据密文和第二能源电力数据明文生成第三能源电力数据,包括:
根据第一能源电力数据密文和第二能源电力数据明文生成第五能源电力数据;
在所述第二参与设备所在空间中随机选取一初始向量;
根据所述初始向量确定目标维度向量;
根据所述目标维度向量和所述第五能源电力数据生成第三能源电力数据。
5.一种基于同态加密和联邦学习的能源电力数据共享装置,其特征在于,包括:初始模型构建模块、模型参数更新模块以及数据共享模块;
所述初始模型构建模块,用于构建包括参与设备与服务器的初始能源电力数据共享模型;其中,所述参与设备为用于能源电力数据共享的各类移动终端;所述参与设备包含能源电力数据的局部模型;所述服务器包含能源电力数据的全局模型;
所述模型参数更新模块,用于所述服务器将全局模型的加密的初始化全局权重参数传输至参与设备;在所述参与设备接收到加密的初始化全局权重参数时,重复执行局部模型参数更新操作,直至所述全局模型收敛时,生成能源电力数据共享模型;其中,其中,所述局部模型参数更新操作,包括:所述参与设备根据全同态加密算法对加密的初始化全局权重参数进行解密,确定第一权重参数;根据所述第一权重参数和参与设备的本地数据集对局部模型进行训练,直至局部模型收敛时,确定局部模型的第二权重参数和第一梯度参数,根据全同态加密算法对所述第二权重参数和第一梯度参数进行加密,生成第三权重参数和第二梯度参数,并将所述第三权重参数和第二梯度参数传输至服务器;所述服务器基于所述第二梯度参数对所述第三权重参数进行聚合生成第四权重参数,并以所述第四权重参数更新加密的初始化全局权重参数;根据加密的初始化全局权重参数对全局模型进行训练,若所述全局模型未收敛,将加密的初始化全局权重参数传输至参与设备;
所述数据共享模块,用于根据所述能源电力数据共享模型完成模型中各参与设备与服务器间的能源电力数据共享。
6.如权利要求5所述的一种基于同态加密和联邦学习的能源电力数据共享装置,其特征在于,还包括初始化模块;
所述初始化模块,用于初始化全局模型的模型参数;其中,所述全局模型的模型参数包括:学习率、达到训练目标的迭代次数、当前迭代次数、参与训练的参与设备数量、参与设备的本地数据集和初始化全局权重参数;
根据所述初始化全局模型的模型参数对全局模型进行初始化。
7.如权利要求6所述的一种基于同态加密和联邦学习的能源电力数据共享装置,其特征在于,根据所述能源电力数据共享模型完成模型中各参与设备与服务器间的能源电力数据共享,包括:
在第一参与设备和第二参与设备间进行能源电力数据共享时;
根据全同态加密算法生成一组密钥对;其中,所述密钥对中包括用于解密的私钥和用于加密的公钥;
获取第一参与设备的第一能源电力数据明文和第二参与设备的第二能源电力数据明文;
根据所述公钥对第一能源电力数据明文进行加密生成第一能源电力数据密文;
将所述第一能源电力数据密文传输至第二参与设备,以使第二参与设备根据第一能源电力数据密文和第二能源电力数据明文生成第三能源电力数据,并将所述第三能源电力数据传输至第一参与设备;
第一参与设备根据所述私钥对所述第三能源电力数据进行解密,得到第四能源电力数据。
8.如权利要求7所述的一种基于同态加密和联邦学习的能源电力数据共享装置,其特征在于,所述第二参与设备根据第一能源电力数据密文和第二能源电力数据明文生成第三能源电力数据,包括:
根据第一能源电力数据密文和第二能源电力数据明文生成第五能源电力数据;
在所述第二参与设备所在空间中随机选取一初始向量;
根据所述初始向量确定目标维度向量;
根据所述目标维度向量和所述第五能源电力数据生成第三能源电力数据。
9.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4中任意一项所述的一种基于同态加密和联邦学习的能源电力数据共享方法。
10.一种存储介质,其特征在于,所述存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述存储介质所在设备执行如权利要求1至4中任意一项所述的一种基于同态加密和联邦学习的能源电力数据共享方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311595372.9A CN117540426A (zh) | 2023-11-27 | 2023-11-27 | 基于同态加密和联邦学习的能源电力数据共享方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311595372.9A CN117540426A (zh) | 2023-11-27 | 2023-11-27 | 基于同态加密和联邦学习的能源电力数据共享方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117540426A true CN117540426A (zh) | 2024-02-09 |
Family
ID=89789746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311595372.9A Pending CN117540426A (zh) | 2023-11-27 | 2023-11-27 | 基于同态加密和联邦学习的能源电力数据共享方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117540426A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117910047A (zh) * | 2024-03-20 | 2024-04-19 | 广东电网有限责任公司 | 一种多密钥联邦学习方法、装置、终端设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113420232A (zh) * | 2021-06-02 | 2021-09-21 | 杭州电子科技大学 | 一种面向隐私保护的图神经网络联邦推荐方法 |
CN115485700A (zh) * | 2021-01-28 | 2022-12-16 | 支付宝实验室(新加坡)有限公司 | 用于联邦学习的方法和系统 |
CN115549888A (zh) * | 2022-09-29 | 2022-12-30 | 南京邮电大学 | 一种基于区块链与同态加密的联邦学习隐私保护方法 |
CN115775010A (zh) * | 2022-11-23 | 2023-03-10 | 国网江苏省电力有限公司信息通信分公司 | 基于横向联邦学习的电力数据共享方法 |
-
2023
- 2023-11-27 CN CN202311595372.9A patent/CN117540426A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115485700A (zh) * | 2021-01-28 | 2022-12-16 | 支付宝实验室(新加坡)有限公司 | 用于联邦学习的方法和系统 |
CN113420232A (zh) * | 2021-06-02 | 2021-09-21 | 杭州电子科技大学 | 一种面向隐私保护的图神经网络联邦推荐方法 |
CN115549888A (zh) * | 2022-09-29 | 2022-12-30 | 南京邮电大学 | 一种基于区块链与同态加密的联邦学习隐私保护方法 |
CN115775010A (zh) * | 2022-11-23 | 2023-03-10 | 国网江苏省电力有限公司信息通信分公司 | 基于横向联邦学习的电力数据共享方法 |
Non-Patent Citations (1)
Title |
---|
XIULI HUANG 等: "Multi-Party Security Collaboration Model of Electric Power Data Based on Federated Learning", 2021 IEEE CONFREENCE ON TELECOMMUNICATIONS, OPTICS AND COMPUTER SCIENCE, 11 December 2021 (2021-12-11), pages 460 - 466, XP034072926, DOI: 10.1109/TOCS53301.2021.9688808 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117910047A (zh) * | 2024-03-20 | 2024-04-19 | 广东电网有限责任公司 | 一种多密钥联邦学习方法、装置、终端设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11595196B2 (en) | Quantum key distribution method and device, and storage medium | |
CN113033828B (zh) | 模型训练方法、使用方法、系统、可信节点及设备 | |
CN113435592B (zh) | 一种隐私保护的神经网络多方协作无损训练方法及系统 | |
JP7388445B2 (ja) | ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム | |
CN114219483B (zh) | 基于lwe-cpabe的区块链数据共享方法、设备和存储介质 | |
CN117540426A (zh) | 基于同态加密和联邦学习的能源电力数据共享方法及装置 | |
US20240163084A1 (en) | Method of data transmission, and electronic devic | |
CN113051586B (zh) | 联邦建模系统及方法、联邦模型预测方法、介质、设备 | |
US11853449B1 (en) | Data processing method based on secure multi-party computation, electronic device, and storage medium | |
CN114003950A (zh) | 基于安全计算的联邦机器学习方法、装置、设备及介质 | |
CN111586142B (zh) | 一种安全多方计算方法及系统 | |
WO2022213957A1 (zh) | 多源数据的数据处理方法、装置及电子设备、存储介质 | |
CN117349685A (zh) | 一种通信数据的聚类方法、系统、终端及介质 | |
CN116865938A (zh) | 基于秘密共享和同态加密的多服务器联邦学习方法 | |
CN113992393B (zh) | 用于纵向联邦学习的模型更新的方法、设备、系统和介质 | |
TWI782701B (zh) | 區塊鏈錢包的非互動式批核系統及其方法 | |
Liu et al. | Efficient and Privacy-Preserving Logistic Regression Scheme based on Leveled Fully Homomorphic Encryption | |
US20230269092A1 (en) | Distributed network having a plurality of subnets | |
CN115130568A (zh) | 支持多参与方的纵向联邦Softmax回归方法及系统 | |
CN116415267A (zh) | 一种联合学习模型迭代更新方法、装置、系统及存储介质 | |
CN116384461A (zh) | 基于联合学习的模型优化训练方法及装置 | |
Zhao et al. | ePMLF: Efficient and Privacy‐Preserving Machine Learning Framework Based on Fog Computing | |
TWI737956B (zh) | 基於秘密共享的門檻式簽章系統及其方法 | |
CN114095157B (zh) | 密钥管理方法、装置、计算机设备及可读存储介质 | |
Chen et al. | SECO: Secure Inference With Model Splitting Across Multi-Server Hierarchy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |