CN117910047A - 一种多密钥联邦学习方法、装置、终端设备及介质 - Google Patents
一种多密钥联邦学习方法、装置、终端设备及介质 Download PDFInfo
- Publication number
- CN117910047A CN117910047A CN202410316929.9A CN202410316929A CN117910047A CN 117910047 A CN117910047 A CN 117910047A CN 202410316929 A CN202410316929 A CN 202410316929A CN 117910047 A CN117910047 A CN 117910047A
- Authority
- CN
- China
- Prior art keywords
- energy
- key
- local model
- weight
- sum
- 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 39
- 238000012549 training Methods 0.000 claims abstract description 150
- 238000009826 distribution Methods 0.000 claims abstract description 114
- 239000013598 vector Substances 0.000 claims abstract description 33
- 238000005070 sampling Methods 0.000 claims description 65
- 230000002776 aggregation Effects 0.000 claims description 29
- 238000004220 aggregation Methods 0.000 claims description 29
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种多密钥联邦学***均权重以及各能源设备本地模型所对应的训练样本对各能源设备本地模型进行训练,通过实施本发明提高了多密钥联邦学习的效率和安全性。
Description
技术领域
本发明涉及联邦学习隐私保护技术领域,尤其涉及一种多密钥联邦学习方法、装置、终端设备及介质。
背景技术
联邦学习是一种协作训练和分享方法,它消除了访问原始分布式能源数据的必要性,符合分散收集和数据最小化原则,更新与中央服务器或协调员共享。这种分散的方法遵循数据最小化原则,消除了集中式数据收集的需求。原始数据仍然安全地存储在个体设备上,无法直接访问。联邦学习在每个设备上实现本地模型训练,同时仅上传模型更新到中央服务器,但是,分布式能源设备的本地能源数据的私有信息仍然可能从模型更新中泄漏,任何能够观察和分析这些更新的参与者都可能对其他能源设备的隐私保护利益构成威胁,导致私人数据的隐私泄露,所有分布式能源设备都共享相同的加密密钥,同时共享相同的解密密钥,能源设备的信息可以被任何其他能源设备解密,导致联邦学习的效率低和安全性低。
发明内容
本发明实施例提供一种多密钥联邦学习方法、装置、终端设备及介质,能有效解决现有技术联邦学习的效率低和安全性低的问题。
本发明一实施例提供一种多密钥联邦学习方法,包括:
获取密钥分布、误差分布、密文模数,将所述密钥分布、误差分布、密文模数以及预设的随机向量发送给各能源设备,以使各能源设备生成私钥及公钥;
根据各能源设备的公钥计算得到聚合公钥;
根据所述密钥分布、误差分布、密文模数、预设的随机向量以及聚合公钥,重复执行迭代训练操作,直至各能源设备本地模型均收敛;
其中,所述迭代训练操作,包括:
获取当前各能源设备本地模型的当前权重;
对各所述当前权重进行编码,得到每一所述当前权重所对应的当前权重编码;
对于每一能源设备本地模型,根据当前权重编码、聚合公钥、从密钥分布中进行采样后得到的第一采样值以及从误差分布中进行采样后得到的第一误差项计算能源设备本地模型所对应第一密文;根据所述第一采样值、预设的随机向量以及从误差分布中进行采样后得到的第二误差项计算能源设备本地模型所对应第二密文;
计算所有所述第一密文之和得到第一加密权重总和;计算所有所述第二密文之和得到第二加密权重总和;并将第二加密权重总和发送给各能源设备;
根据各能源设备的私钥、第二加密权重总和以及误差分布,以使各能源设备计算各解密份额;根据密文模数、各能源设备的解密份额以及第一加密权重总和,计算得到明文总和;
对所述明文总和进行解码得到权重总和,根据所述权重总和计算得到平均权重;
将所述平均权重作为下一次迭代训练操作时各能源设备本地模型的当前权重,并根据所述平均权重以及各能源设备本地模型所对应的训练样本对各能源设备本地模型进行训练。
进一步地,根据所述平均权重以及各能源设备本地模型所对应的训练样本对各能源设备本地模型进行训练,包括:
获取每一能源设备本地模型的训练样本量,将每一能源设备本地模型的训练样本量相加得到训练样本总量;
根据每一能源设备本地模型的训练样本量以及训练样本总量得到每一能源设备本地模型的样本量比值,将每一能源设备本地模型的样本量比值与预设阈值进行比较;将样本量比值小于预设阈值的能源设备本地模型作为第一能源设备本地模型,将样本量比值大于预设阈值的能源设备本地模型作为第二能源设备本地模型;
对于每一第一能源设备本地模型,根据第一能源设备本地模型所对应的训练样本以及平均权重,对第一能源设备本地模型进行训练;
对于每一第二能源设备本地模型,从第二能源设备本地模型所对应的训练样本中随机选取若干训练样本作为当前目标样本;根据所述当前目标样本以及平均权重,对第二能源设备本地模型进行训练。
进一步地,根据所述当前目标样本以及平均权重,对第二能源设备本地模型进行训练之后,还包括:
计算当前目标样本的总体方差;
根据所述总体方差以及当前目标样本大小得到第一比值,将第一比值与预设值比较;
若第一比值小于或等于预设值,则当前目标样本的样本量符合训练要求,并在下一次从第二能源设备所对应的训练样本中随机选取若干训练样本作为当前目标样本时,选取同等数量的训练样本;
若第一比值大于预设值,则当前目标样本的样本量不符合训练要求,并增加下一次从第二能源设备所对应的训练样本中随机选取若干训练样本作为当前目标样本的样本量。
进一步地,通过以下公式计算得到第一密文:
;
其中,为从密钥分布中进行采样后得到的第一采样值;/>为聚合公钥;/>为当前权重编码;/>为从误差分布中进行采样后得到的第一误差项;/>为密文模数;
通过以下公式计算得到第二密文:
;
其中,为从密钥分布中进行采样后得到的第一采样值;/>为预设的随机向量;为从误差分布中进行采样后得到的第二误差项;/>为密文模数。
进一步地,根据各能源设备的私钥、第二加密权重总和以及误差分布,以使各能源设备计算各解密份额,包括:
从误差分布中进行采样后得到噪声;
根据各能源设备的私钥、第二加密权重总和以及所述噪声,以使各能源设备计算各解密份额:
;
其中,为各能源设备的私钥;/>为第二加密权重总和;/>为噪声。
进一步地,根据密文模数、各能源设备的解密份额以及第一加密权重总和,计算得到明文总和,包括:
通过以下公式计算得到明文总和:
;
其中,为第一加密权重总和;/>为各能源设备的解密份额;/>为密文模数。
作为上述方案的改进,本发明另一实施例对应提供了一种多密钥联邦学习装置,包括:
私钥及公钥生成模块,用于获取密钥分布、误差分布、密文模数,将所述密钥分布、误差分布、密文模数以及预设的随机向量发送给各能源设备,以使各能源设备生成私钥及公钥;
聚合公钥计算模块,用于根据各能源设备的公钥计算得到聚合公钥;
迭代训练操作模块,用于根据所述密钥分布、误差分布、密文模数、预设的随机向量以及聚合公钥,重复执行迭代训练操作,直至各能源设备本地模型均收敛;
其中,所述迭代操作模块包括:
当前权重获取单元,用于获取当前各能源设备本地模型的当前权重;
当前权重编码获取单元,用于对各所述当前权重进行编码,得到每一所述当前权重所对应的当前权重编码;
密文计算单元,用于对于每一能源设备本地模型,根据当前权重编码、聚合公钥、从密钥分布中进行采样后得到的第一采样值以及从误差分布中进行采样后得到的第一误差项计算能源设备本地模型所对应第一密文;根据所述第一采样值、预设的随机向量以及从误差分布中进行采样后得到的第二误差项计算能源设备本地模型所对应第二密文;
加密权重总和计算单元,用于计算所有所述第一密文之和得到第一加密权重总和;计算所有所述第二密文之和得到第二加密权重总和;并将第二加密权重总和发送给各能源设备;
明文总和计算单元,用于根据各能源设备的私钥、第二加密权重总和以及误差分布,以使各能源设备计算各解密份额;根据密文模数、各能源设备的解密份额以及第一加密权重总和,计算得到明文总和;
平均权重计算单元,用于对所述明文总和进行解码得到权重总和,根据所述权重总和计算得到平均权重;
模型训练单元,用于将所述平均权重作为下一次迭代训练操作时各能源设备本地模型的当前权重,并根据所述平均权重以及各能源设备本地模型所对应的训练样本对各能源设备本地模型进行训练。
本发明另一实施例提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述实施例中所述的一种多密钥联邦学习方法。
本发明另一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述实施例所述的一种多密钥联邦学习方法。
通过实施本发明,至少具有如下有益效果:
本发明提供一种多密钥联邦学***均权重;将所述平均权重作为下一次迭代训练操作时各能源设备本地模型的当前权重,并根据所述平均权重以及各能源设备本地模型所对应的训练样本对各能源设备本地模型进行训练。解决了一般的多密钥同态加密方案中存在的服务器通过解密单个模型更新从而了解私人数据的隐私泄露问题,通过定义聚合公钥和解密份额,使服务器只能解密各能源设备的解密份额,从而掩盖了来自所有其他分布式能源设备的单个模型更新,保持了强大的隐私保护功能,防止数据泄露,提高了联邦学习的效率和安全性。
附图说明
图1是本发明一实施例提供的一种多密钥联邦学习方法的流程示意图。
图2是本发明一实施例提供的一种多密钥联邦学习装置的第一结构示意图。
图3是本发明一实施例提供的一种多密钥联邦学习装置的第二结构示意图。
图4是本发明一实施例提供的一种多密钥联邦学习方法的服务器和能源设备交互示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明一实施例提供的一种多密钥联邦学习方法的流程示意图,包括:
S1、获取密钥分布、误差分布、密文模数,将所述密钥分布、误差分布、密文模数以及预设的随机向量发送给各能源设备,以使各能源设备生成私钥及公钥;
具体地,能源设备包括充电桩、电池储能等分布式能源设备,可安装在用户端的高效冷/热电联供***;多密钥同态加密是一种基于环误差学习(RLWE)的同态加密方案,是一个分圆环,其中n 为二维幂,/>为整数系数多项式环,R中的元素满足/>= -1;/>是R的剩余环,其系数以整数q为模。对于参数(n,q,/>,/>),RLWE假设:给定/>,形式的多项式,当预设的随机多项式向量ɑ从/>上均匀地随机选择,s从/>上的密钥分布/>选择,并且e从R上的误差分布/>得出时,项b在计算上与R的均匀随机元素不可区分。现在给定一个安全参数/>,设置RLWE维数n、密文模数q、密钥分布/>和R上的误差分布/>和/>,生成随机向量ɑ←/>,返回公共参数(n,q,/>,/>,/>,ɑ)。每个分布式能源设备/>生成其私钥/>←/>,并计算其公钥为/>=-,这里/>是一个从R上的误差分布/>中抽取的误差向量。
S2、根据各能源设备的公钥计算得到聚合公钥;
具体地,所有能源设备协作计算聚合公钥,根据各能源设备的公钥计算得到聚合公钥,使用如下公式:
;
其中,为各能源设备的公钥;/>为各能源设备的私钥;ɑ为预设的随机向量;N为能源设备的总数;/>为一个从R上的误差分布/>中抽取的误差向量;q是为密文模数;mod为取余运算。
S3、根据所述密钥分布、误差分布、密文模数、预设的随机向量以及聚合公钥,重复执行迭代训练操作,直至各能源设备本地模型均收敛;
其中,所述迭代训练操作,包括:
获取当前各能源设备本地模型的当前权重;
对各所述当前权重进行编码,得到每一所述当前权重所对应的当前权重编码;
对于每一能源设备本地模型,根据当前权重编码、聚合公钥、从密钥分布中进行采样后得到的第一采样值以及从误差分布中进行采样后得到的第一误差项计算能源设备本地模型所对应第一密文;根据所述第一采样值、预设的随机向量以及从误差分布中进行采样后得到的第二误差项计算能源设备本地模型所对应第二密文;
计算所有所述第一密文之和得到第一加密权重总和;计算所有所述第二密文之和得到第二加密权重总和;并将第二加密权重总和发送给各能源设备;
根据各能源设备的私钥、第二加密权重总和以及误差分布,以使各能源设备计算各解密份额;根据密文模数、各能源设备的解密份额以及第一加密权重总和,计算得到明文总和;
对所述明文总和进行解码得到权重总和,根据所述权重总和计算得到平均权重;
将所述平均权重作为下一次迭代训练操作时各能源设备本地模型的当前权重,并根据所述平均权重以及各能源设备本地模型所对应的训练样本对各能源设备本地模型进行训练。
具体地,获取当前各能源设备本地模型的当前权重,然后对各所述当前权重进行编码,得到每一所述当前权重所对应的当前权重编码,将当前权重编码作为明文输入,对于每一能源设备本地模型,根据当前权重编码、聚合公钥、从密钥分布中进行采样后得到的第一采样值以及从误差分布中进行采样后得到的第一误差项计算能源设备本地模型所对应第一密文;根据所述第一采样值、预设的随机向量以及从误差分布中进行采样后得到的第二误差项计算能源设备本地模型所对应第二密文;
通过以下公式计算得到第一密文:
;
其中,为从密钥分布中进行采样后得到的第一采样值;/>为聚合公钥;/>为当前权重编码;/>为从误差分布中进行采样后得到的第一误差项;/>为密文模数;
通过以下公式计算得到第二密文:
;
其中,为从密钥分布中进行采样后得到的第一采样值;/>为预设的随机向量;为从误差分布中进行采样后得到的第二误差项;/>为密文模数;/>;***/>这两个小的误差是为了确保安全性,并且它们可以在执行同态运算之后通过舍入运算来移除,最后各能源设备/>向服务器上传密文/>;
计算所有所述第一密文之和得到第一加密权重总和/>;计算所有所述第二密文/>之和得到第二加密权重总和/>;并将第二加密权重总和发送给各能源设备;其中加密总和可以表示为:
;
根据各能源设备的私钥、第二加密权重总和以及误差分布,以使各能源设备计算各解密份额;所有能源设备都需要参与到多密钥密文的解密工作中来,为此,每个能源设备都要计算其解密份额/>并将其发送给服务器,解密份额的计算需要用到上一个步骤由服务器发来的第二加密权重总和/>,根据各能源设备的私钥、第二加密权重总和以及误差分布,以使各能源设备计算各解密份额,包括:
从误差分布中进行采样后得到噪声;
根据各能源设备的私钥、第二加密权重总和以及所述噪声,以使各能源设备计算各解密份额:
;
其中,为各能源设备的私钥;/>为第二加密权重总和;/>为噪声;各解密份额也可以表示为:/>。这里设置的噪声/>从误差分布/>中取样得来,并假设分布/>比基本方案的标准误差分布具有更大的方差,/>在这里也称作安全误差,/>的存在,使得对任何其他密文(包括个人密文)的解密都是无用的;
根据密文模数、各能源设备的解密份额以及第一加密权重总和,计算得到明文总和,包括:
通过以下公式计算得到明文总和:
;
其中,为第一加密权重总和;/>为各能源设备的解密份额;/>为密文模数。服务器收到所有的解密份额后,合并所有能源设备的解密份额/>并附带上/>,明文总和就可以被恢复,具体演算过程如下:
最后,服务器对铭文总和进行解码,得到权重总和/>,然后通过FedAvg算法计算出平均权重/>,将平均权重作为下一轮迭代训练操作时各能源设备本地模型的当前权重,并根据所述平均权重以及各能源设备本地模型所对应的训练样本对各能源设备本地模型进行训练,如果聚合后所有能源设备本地模型趋于收敛,则停止面向分布式能源数据的多密钥同态加密联邦学习迭代训练操作。
具体地,根据所述平均权重以及各能源设备本地模型所对应的训练样本对各能源设备本地模型进行训练,包括:
获取每一能源设备本地模型的训练样本量,将每一能源设备本地模型的训练样本量相加得到训练样本总量;
根据每一能源设备本地模型的训练样本量以及训练样本总量得到每一能源设备本地模型的样本量比值,将每一能源设备本地模型的样本量比值与预设阈值进行比较;将样本量比值小于预设阈值的能源设备本地模型作为第一能源设备本地模型,将样本量比值大于预设阈值的能源设备本地模型作为第二能源设备本地模型;
对于每一第一能源设备本地模型,根据第一能源设备本地模型所对应的训练样本以及平均权重,对第一能源设备本地模型进行训练;
对于每一第二能源设备本地模型,从第二能源设备本地模型所对应的训练样本中随机选取若干训练样本作为当前目标样本;根据所述当前目标样本以及平均权重,对第二能源设备本地模型进行训练。
示意性地,如图4所示,服务器和各能源设备之间存在数据交互,各能源设备的能源数据包括能源计量仪表读数、能源发货/收货单据、能源统计报表、能源费用账单、能耗在线监测***数据记录、能耗检测数据等,由于联邦异构性,不同能源设备中产生的数据资源并不是均匀分布的,因此需要量化数据异构性来分析联邦学习的性能,从而加速联邦学习中具有大量数据集的能源设备的本地模型收敛。数据量的分布满足帕累托原则,即80/20定则(帕累托原则),就是通常只有20% 的少数能源设备包含“大数据集”,而80%的大多数能源设备上只有少量数据。如果数据量过多,使用FedAvg算法迭代的成本可能会增加,因为在这些能源设备上,如果直接使用所有可用样本,每轮能源设备本地模型更新都要用到大量数据集,这会花费很高的计算成本,并且本地模型收敛速度会很低,所以必须筛选出这些能源设备并根据动态样本选择策略选择样本,使得算法可以在早期阶段使用少量训练样本快速计算,然后逐渐增加训练样本量以达到计算精度;
依据80/20定则设置一个分界点来划分能源设备的本地数据集,设置分界点的阈值,即预设阈值为1/5,获取每一能源设备的能源数据量作为能源设备本地模型的训练样本量/>,将每一能源设备本地模型的训练样本量/>相加得到训练样本总量/>;根据每一能源设备本地模型的训练样本量/>以及训练样本总量/>得到每一能源设备本地模型的样本量比值/>,将每一能源设备本地模型的样本量比值/>与预设阈值/>进行比较;如果,说明该能源设备只含有少量的能源数据集,则将样本量比值小于预设阈值的能源设备本地模型作为第一能源设备本地模型;如果/>,说明该能源设备含有大量的能源数据集,则将样本量比值大于预设阈值的能源设备本地模型作为第二能源设备本地模型;对于每一第一能源设备本地模型,根据第一能源设备本地模型所对应的所有训练样本以及平均权重,对第一能源设备本地模型进行训练;对于每一第二能源设备本地模型,从第二能源设备本地模型所对应的训练样本中随机选取若干训练样本作为当前目标样本,且随机选取若干训练样本为第二能源设备本地模型所对应的全部训练样本其中的一小部分,其样本量远小于第二能源设备本地模型全部训练样本量;根据所述当前目标样本以及平均权重,对第二能源设备本地模型进行训练。
优选地,根据所述当前目标样本以及平均权重,对第二能源设备本地模型进行训练之后,还包括:
计算当前目标样本的总体方差;
根据所述总体方差以及当前目标样本大小得到第一比值,将第一比值与预设值比较;
若第一比值小于或等于预设值,则当前目标样本的样本量符合训练要求,并在下一次从第二能源设备所对应的训练样本中随机选取若干训练样本作为当前目标样本时,选取同等数量的训练样本;
若第一比值大于预设值,则当前目标样本的样本量不符合训练要求,并增加下一次从第二能源设备所对应的训练样本中随机选取若干训练样本作为当前目标样本的样本量;
计算当前目标样本的总体方差,将总体方差作为样本误差的近似值:,/>为当前目标样本的样本量;根据所述总体方差以及当前目标样本大小得到第一比值/>,将第一比值与预设值比较;若第一比值小于或等于预设值/>,则当前目标样本的样本量符合训练要求,并在下一次从第二能源设备所对应的训练样本中随机选取若干训练样本作为当前目标样本时,选取同等数量的训练样本;若第一比值大于预设值,则当前目标样本的样本量不符合训练要求,并增加下一次从第二能源设备所对应的训练样本中随机选取若干训练样本作为当前目标样本的样本量,下一次选取的样本量。
示意性地,执行动态样本选择算法进行能源设备本地模型更新:随机从第二能源设备本地模型所对应的训练样本中选取若干训练样本作为当前目标样本,且满足/></>,初始化/>;本地模型的最小化损失函数:/>,计算下降梯度/>求解最小化损失函数,其中/>为能源设备本地模型迭代训练的轮次,/>为能源设备本地模型的当前权重,/>为输入的当前目标样本,/>为当前目标样本标签对应的真实值,当最小化损失函数收敛时,能源设备本地模型收敛;然后更新本地模型权重,其中t为能源设备和服务器通信的轮次,/>是学习率;增加轮次;然后选择一个相对较小的样本量/>,选择方法为取值上一个样本量大小,即
;对/>计算总体方差作为样本误差的近似值:
;判断选择的样本量是否对损失函数有改善,依据判断条件/>进行判断,因为将总体方差近似为样本方差,判断条件可以进一步表示成/>,如果所选样本量使损失函数有改善,则这个样本量|/>|在下一次迭代训练中不会改变,继续执行下一轮迭代训练;否则,设置较大的样本量|/>|,并执行下一轮迭代训练,其中,较大的|/>|值由以下公式得出/>。
通过实施本实施例,能够在迭代训练操作中,筛选出含有大量能源数据的能源设备,即筛选出含有大量训练样本的能源设备本地模型,让它们随机在大量训练样本中选择小量训练样本进行训练,无需使用大量训练样本,以加速能源设备本地模型收敛,提高联邦学习整体的性能,减少能源设备本地模型训练次数,使得总体计算成本降低。且根据服务器和分布式能源设备形成的全局模型,提供更加准确的预测,进而用于智能电网中分布式能源数据场景下的决策,即全局能源的优化,例如在分布式能源网络中调整能源的分配与利用,一个地区可能有特定的能源使用模式,而另一个地区可能受不同的天气或能源政策的影响,通过考虑各个不同地区或用户的能源数据,全局模型可以预测,从而进行决策以更好协调各个分布式能源设备,优化能源的分布,提高电力***的整体效率。本发明所考虑到的多密钥同态加密相较于一般的同态加密,能够抵御来自内部诚实但好奇能源设备的攻击以及能源设备与服务器之间的合谋攻击;解决了一般的多密钥同态加密方案存在的服务器能通过解密单个模型更新从而了解私人数据的隐私泄露问题,通过定义聚合公钥和解密份额,使服务器只能解密各能源设备本地模型更新的解密份额,从而掩盖来自所有其他远程参与设备的单个模型的更新,保持了强大的隐私保护功能,也简化了多密钥同态加密的加密解密过程。
参见图2,是本发明一实施例提供的一种多密钥联邦学习装置的第一结构示意图,包括:
私钥及公钥生成模块,用于获取密钥分布、误差分布、密文模数,将所述密钥分布、误差分布、密文模数以及预设的随机向量发送给各能源设备,以使各能源设备生成私钥及公钥;
聚合公钥计算模块,用于根据各能源设备的公钥计算得到聚合公钥;
迭代训练操作模块,用于根据所述密钥分布、误差分布、密文模数、预设的随机向量以及聚合公钥,重复执行迭代训练操作,直至各能源设备本地模型均收敛;
其中,所述迭代操作模块包括,如图3所示:
当前权重获取单元,用于获取当前各能源设备本地模型的当前权重;
当前权重编码获取单元,用于对各所述当前权重进行编码,得到每一所述当前权重所对应的当前权重编码;
密文计算单元,用于对于每一能源设备本地模型,根据当前权重编码、聚合公钥、从密钥分布中进行采样后得到的第一采样值以及从误差分布中进行采样后得到的第一误差项计算能源设备本地模型所对应第一密文;根据所述第一采样值、预设的随机向量以及从误差分布中进行采样后得到的第二误差项计算能源设备本地模型所对应第二密文;
加密权重总和计算单元,用于计算所有所述第一密文之和得到第一加密权重总和;计算所有所述第二密文之和得到第二加密权重总和;并将第二加密权重总和发送给各能源设备;
明文总和计算单元,用于根据各能源设备的私钥、第二加密权重总和以及误差分布,以使各能源设备计算各解密份额;根据密文模数、各能源设备的解密份额以及第一加密权重总和,计算得到明文总和;
平均权重计算单元,用于对所述明文总和进行解码得到权重总和,根据所述权重总和计算得到平均权重;
模型训练单元,用于将所述平均权重作为下一次迭代训练操作时各能源设备本地模型的当前权重,并根据所述平均权重以及各能源设备本地模型所对应的训练样本对各能源设备本地模型进行训练。
本发明提供了一种多密钥联邦学***均权重计算单元,对所述明文总和进行解码得到权重总和,根据所述权重总和计算得到平均权重;通过模型训练单元,将所述平均权重作为下一次迭代训练操作时各能源设备本地模型的当前权重,并根据所述平均权重以及各能源设备本地模型所对应的训练样本对各能源设备本地模型进行训练。通过定义聚合公钥和解密份额,使服务器只能解密各能源设备的解密份额,从而掩盖了来自所有其他分布式能源设备的单个模型更新,保持了强大的隐私保护功能,防止数据泄露,提高了联邦学习的效率和安全性。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
所属领域的技术人员可以清楚地了解到,为了方便和简洁,上述描述的装置的具体工作过程,可参考前述方法实施例中对应的过程,在此不再赘述。
本发明另一实施例还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述实施例中所述的一种多密钥联邦学习方法。所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。
所述处理器可以是中央处理单元(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 (9)
1.一种多密钥联邦学习方法,其特征在于,包括:
获取密钥分布、误差分布、密文模数,将所述密钥分布、误差分布、密文模数以及预设的随机向量发送给各能源设备,以使各能源设备生成私钥及公钥;
根据各能源设备的公钥计算得到聚合公钥;
根据所述密钥分布、误差分布、密文模数、预设的随机向量以及聚合公钥,重复执行迭代训练操作,直至各能源设备本地模型均收敛;
其中,所述迭代训练操作,包括:
获取当前各能源设备本地模型的当前权重;
对各所述当前权重进行编码,得到每一所述当前权重所对应的当前权重编码;
对于每一能源设备本地模型,根据当前权重编码、聚合公钥、从密钥分布中进行采样后得到的第一采样值以及从误差分布中进行采样后得到的第一误差项计算能源设备本地模型所对应第一密文;根据所述第一采样值、预设的随机向量以及从误差分布中进行采样后得到的第二误差项计算能源设备本地模型所对应第二密文;
计算所有所述第一密文之和得到第一加密权重总和;计算所有所述第二密文之和得到第二加密权重总和;并将第二加密权重总和发送给各能源设备;
根据各能源设备的私钥、第二加密权重总和以及误差分布,以使各能源设备计算各解密份额;根据密文模数、各能源设备的解密份额以及第一加密权重总和,计算得到明文总和;
对所述明文总和进行解码得到权重总和,根据所述权重总和计算得到平均权重;
将所述平均权重作为下一次迭代训练操作时各能源设备本地模型的当前权重,并根据所述平均权重以及各能源设备本地模型所对应的训练样本对各能源设备本地模型进行训练。
2.如权利要求1所述的一种多密钥联邦学***均权重以及各能源设备本地模型所对应的训练样本对各能源设备本地模型进行训练,包括:
获取每一能源设备本地模型的训练样本量,将每一能源设备本地模型的训练样本量相加得到训练样本总量;
根据每一能源设备本地模型的训练样本量以及训练样本总量得到每一能源设备本地模型的样本量比值,将每一能源设备本地模型的样本量比值与预设阈值进行比较;将样本量比值小于预设阈值的能源设备本地模型作为第一能源设备本地模型,将样本量比值大于预设阈值的能源设备本地模型作为第二能源设备本地模型;
对于每一第一能源设备本地模型,根据第一能源设备本地模型所对应的训练样本以及平均权重,对第一能源设备本地模型进行训练;
对于每一第二能源设备本地模型,从第二能源设备本地模型所对应的训练样本中随机选取若干训练样本作为当前目标样本;根据所述当前目标样本以及平均权重,对第二能源设备本地模型进行训练。
3.如权利要求2所述的一种多密钥联邦学***均权重,对第二能源设备本地模型进行训练之后,还包括:
计算当前目标样本的总体方差;
根据所述总体方差以及当前目标样本大小得到第一比值,将第一比值与预设值比较;
若第一比值小于或等于预设值,则当前目标样本的样本量符合训练要求,并在下一次从第二能源设备所对应的训练样本中随机选取若干训练样本作为当前目标样本时,选取同等数量的训练样本;
若第一比值大于预设值,则当前目标样本的样本量不符合训练要求,并增加下一次从第二能源设备所对应的训练样本中随机选取若干训练样本作为当前目标样本的样本量。
4.如权利要求1所述的一种多密钥联邦学习方法,其特征在于,
通过以下公式计算得到第一密文:
;
其中,为从密钥分布中进行采样后得到的第一采样值;/>为聚合公钥;/>为当前权重编码;/>为从误差分布中进行采样后得到的第一误差项;/>为密文模数;
通过以下公式计算得到第二密文:
;
其中,为预设的随机向量;/>为从误差分布中进行采样后得到的第二误差项。
5.如权利要求1所述的一种多密钥联邦学习方法,其特征在于,根据各能源设备的私钥、第二加密权重总和以及误差分布,以使各能源设备计算各解密份额,包括:
从误差分布中进行采样后得到噪声;
根据各能源设备的私钥、第二加密权重总和以及所述噪声,以使各能源设备计算各解密份额:
;
其中,为各能源设备的私钥;/>为第二加密权重总和;/>为噪声。
6.如权利要求1所述的一种多密钥联邦学习方法,其特征在于,根据密文模数、各能源设备的解密份额以及第一加密权重总和,计算得到明文总和,包括:
通过以下公式计算得到明文总和:
;
其中,为第一加密权重总和;/>为各能源设备的解密份额;/>为密文模数。
7.一种多密钥联邦学习装置,其特征在于,包括:
私钥及公钥生成模块,用于获取密钥分布、误差分布、密文模数,将所述密钥分布、误差分布、密文模数以及预设的随机向量发送给各能源设备,以使各能源设备生成私钥及公钥;
聚合公钥计算模块,用于根据各能源设备的公钥计算得到聚合公钥;
迭代训练操作模块,用于根据所述密钥分布、误差分布、密文模数、预设的随机向量以及聚合公钥,重复执行迭代训练操作,直至各能源设备本地模型均收敛;
其中,所述迭代训练操作模块包括:
当前权重获取单元,用于获取当前各能源设备本地模型的当前权重;
当前权重编码获取单元,用于对各所述当前权重进行编码,得到每一所述当前权重所对应的当前权重编码;
密文计算单元,用于对于每一能源设备本地模型,根据当前权重编码、聚合公钥、从密钥分布中进行采样后得到的第一采样值以及从误差分布中进行采样后得到的第一误差项计算能源设备本地模型所对应第一密文;根据所述第一采样值、预设的随机向量以及从误差分布中进行采样后得到的第二误差项计算能源设备本地模型所对应第二密文;
加密权重总和计算单元,用于计算所有所述第一密文之和得到第一加密权重总和;计算所有所述第二密文之和得到第二加密权重总和;并将第二加密权重总和发送给各能源设备;
明文总和计算单元,用于根据各能源设备的私钥、第二加密权重总和以及误差分布,以使各能源设备计算各解密份额;根据密文模数、各能源设备的解密份额以及第一加密权重总和,计算得到明文总和;
平均权重计算单元,用于对所述明文总和进行解码得到权重总和,根据所述权重总和计算得到平均权重;
模型训练单元,用于将所述平均权重作为下一次迭代训练操作时各能源设备本地模型的当前权重,并根据所述平均权重以及各能源设备本地模型所对应的训练样本对各能源设备本地模型进行训练。
8.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任意一项所述的一种多密钥联邦学习方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至6中任意一项所述的一种多密钥联邦学习方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410316929.9A CN117910047A (zh) | 2024-03-20 | 2024-03-20 | 一种多密钥联邦学习方法、装置、终端设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410316929.9A CN117910047A (zh) | 2024-03-20 | 2024-03-20 | 一种多密钥联邦学习方法、装置、终端设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117910047A true CN117910047A (zh) | 2024-04-19 |
Family
ID=90686212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410316929.9A Pending CN117910047A (zh) | 2024-03-20 | 2024-03-20 | 一种多密钥联邦学习方法、装置、终端设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117910047A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051590A (zh) * | 2021-03-19 | 2021-06-29 | 华为技术有限公司 | 一种数据处理方法和相关设备 |
CN114117468A (zh) * | 2021-11-04 | 2022-03-01 | 浪潮云信息技术股份公司 | 一种基于ElGamal的多重解密方法及*** |
CN114175568A (zh) * | 2020-02-14 | 2022-03-11 | 谷歌有限责任公司 | 安全的多方到达率和频率估算 |
CN114398950A (zh) * | 2021-12-13 | 2022-04-26 | 广东盈峰智能环卫科技有限公司 | 垃圾识别分类方法、计算机可读存储介质和机器人 |
CN116882524A (zh) * | 2023-06-14 | 2023-10-13 | 哈尔滨工程大学 | 一种满足参与方的个性化隐私保护需求的联邦学习方法和*** |
CN117195306A (zh) * | 2023-10-08 | 2023-12-08 | 国网智能电网研究院有限公司 | 基于多方能源数据隐私计算的恶意参与行为检出方法 |
CN117220891A (zh) * | 2023-10-09 | 2023-12-12 | 山东大学 | 基于非交互分布式密钥的门限ecdsa签名方法及*** |
CN117540426A (zh) * | 2023-11-27 | 2024-02-09 | 广东电网有限责任公司 | 基于同态加密和联邦学习的能源电力数据共享方法及装置 |
CN117676385A (zh) * | 2023-12-11 | 2024-03-08 | 长春工业大学 | 横向聚类lstm联邦学习下充电站负荷预测***及方法 |
-
2024
- 2024-03-20 CN CN202410316929.9A patent/CN117910047A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114175568A (zh) * | 2020-02-14 | 2022-03-11 | 谷歌有限责任公司 | 安全的多方到达率和频率估算 |
CN113051590A (zh) * | 2021-03-19 | 2021-06-29 | 华为技术有限公司 | 一种数据处理方法和相关设备 |
CN114117468A (zh) * | 2021-11-04 | 2022-03-01 | 浪潮云信息技术股份公司 | 一种基于ElGamal的多重解密方法及*** |
CN114398950A (zh) * | 2021-12-13 | 2022-04-26 | 广东盈峰智能环卫科技有限公司 | 垃圾识别分类方法、计算机可读存储介质和机器人 |
CN116882524A (zh) * | 2023-06-14 | 2023-10-13 | 哈尔滨工程大学 | 一种满足参与方的个性化隐私保护需求的联邦学习方法和*** |
CN117195306A (zh) * | 2023-10-08 | 2023-12-08 | 国网智能电网研究院有限公司 | 基于多方能源数据隐私计算的恶意参与行为检出方法 |
CN117220891A (zh) * | 2023-10-09 | 2023-12-12 | 山东大学 | 基于非交互分布式密钥的门限ecdsa签名方法及*** |
CN117540426A (zh) * | 2023-11-27 | 2024-02-09 | 广东电网有限责任公司 | 基于同态加密和联邦学习的能源电力数据共享方法及装置 |
CN117676385A (zh) * | 2023-12-11 | 2024-03-08 | 长春工业大学 | 横向聚类lstm联邦学习下充电站负荷预测***及方法 |
Non-Patent Citations (2)
Title |
---|
代逸生;杨永升;: "基于LVQ神经网络的电信企业客户流失预测模型研究", 价值工程, no. 13, 8 May 2011 (2011-05-08) * |
李丹;薛锐;陈驰;邹洪;陈力;: "基于透明加解密的密文云存储***设计与实现", 网络新媒体技术, no. 05, 15 September 2015 (2015-09-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | An efficient privacy-preserving outsourced calculation toolkit with multiple keys | |
CN110008717B (zh) | 支持隐私保护的决策树分类服务***及方法 | |
CN110536259B (zh) | 一种基于雾计算的轻量级隐私保护数据多级聚合方法 | |
Liu et al. | Efficient and privacy-preserving outsourced calculation of rational numbers | |
Wang et al. | An efficient and privacy-preserving outsourced support vector machine training for internet of medical things | |
CN107145791B (zh) | 一种具有隐私保护的K-means聚类方法及*** | |
CN110611662B (zh) | 一种基于属性基加密的雾协同云数据共享方法 | |
Heikkilä et al. | Differentially private cross-silo federated learning | |
CN115065555B (zh) | 一种信息安全处理方法、*** | |
CN113051590A (zh) | 一种数据处理方法和相关设备 | |
CN111581648B (zh) | 在不规则用户中保留隐私的联邦学习的方法 | |
CN116523074A (zh) | 动态化公平性的隐私保护联邦深度学习方法 | |
CN114125831B (zh) | 基于代理重加密的5g智能电网用户侧数据获取方法及*** | |
CN113792890B (zh) | 一种基于联邦学习的模型训练方法及相关设备 | |
CN116882524A (zh) | 一种满足参与方的个性化隐私保护需求的联邦学习方法和*** | |
CN117540426A (zh) | 基于同态加密和联邦学习的能源电力数据共享方法及装置 | |
CN117349685A (zh) | 一种通信数据的聚类方法、***、终端及介质 | |
Li et al. | Look-up table based FHE system for privacy preserving anomaly detection in smart grids | |
CN116170142B (zh) | 分布式协同解密方法、设备和存储介质 | |
Zhao et al. | Local differentially private federated learning with homomorphic encryption | |
CN117675270A (zh) | 面向纵向联邦学习的多模态数据加密传输方法及*** | |
CN117034287A (zh) | 基于隐私计算互联互通技术的多方联合建模安全增强方法 | |
Chen et al. | Cryptanalysis and improvement of DeepPAR: Privacy-preserving and asynchronous deep learning for industrial IoT | |
Järvinen et al. | Faster privacy‐preserving location proximity schemes for circles and polygons | |
CN116865938A (zh) | 基于秘密共享和同态加密的多服务器联邦学习方法 |
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 |