一种隐私保护的横向联邦学习安全聚合方法、系统、设备及介质

文档序号:35270028发布日期:2023-08-30 12:55阅读:50来源:国知局
一种隐私保护的横向联邦学习安全聚合方法、系统、设备及介质

本发明属于网络空间安全,尤其涉及一种隐私保护的横向联邦学习安全聚合方法、系统、设备及介质。


背景技术:

1、现有的研究表明,在模型聚合过程中,攻击者可以通过各参与方上传的本地模型信息来推断参与方的隐私数据信息。为了抵御这种攻击,产生了多种隐私保护的联邦学习算法,这些算法主要利用了同态加密、差分隐私和安全多方计算技术等对本地模型与全局模型进行隐私保护。

2、由于分布式协作和隐私保护的特性,联邦学习可能会受到各种安全威胁。如现有多数联邦学习算法通常假设各参与方均为诚实的,然而实际环境中这种假设并非总是成立。参与方可以修改其真实本地模型或直接上传随机本地模型信息至服务器,从而导致聚合得到的全局模型性能下降,我们将这类参与方称为拜占庭节点或恶意参与方。如何有效地识别出恶意参与方,避免或减少其对全局模型精度的不良影响是现如今亟待解决的问题。

3、当联邦学习系统中的本地模型信息与全局模型信息均通过同态加密技术进行隐私保护时,拜占庭节点的检测将变得异常困难。针对这一问题,有学者提出了解决方案来检测拜占庭节点,核心思想为:参与方首先计算全局模型信息与自身的本地模型信息之差来得到其他参与方的模型聚合结果,然后将自身的本地模型与其他参与方的模型聚合结果之间的差异上传至聚合服务器,接着聚合服务器根据所有参与方上传的模型差异信息进行异常点检测,从而发现拜占庭节点(称为a防御方案)。该方案的有效性依赖于敌手只能发起随机生成本地模型的投毒攻击(称为α攻击)。

4、对于拜占庭节点不再随机生成本地模型,而是首先计算模型中各参数的重要性,基于计算结果,将本地模型中重要性高的参数设置为随机值,将其他参数设置为真实参数值,然后将拥有部分随机值参数的本地模型上传至服务器,从而减小了其本地模型与其他良性本地模型之间的差异。在上传其本地模型与其他参与方的聚合模型之间的差异时,将给定比例的数值设定为0,其余数值为差异计算结果的真实值。这种攻击方式(称为β攻击)的隐蔽性更强,无法被上文所述的现有拜占庭节点检测方案(a防御方案)防御。


技术实现思路

1、为了克服上述现有技术的不足,本发明的目的在于提供一种隐私保护的横向联邦学习安全聚合方法、系统、设备及介质,首先,服务器s基于接收到的加密本地模型按照系统所采用的聚合方法进行全局模型聚合,并将真实聚合结果分发给各参与方;参与方对加密全局模型参数进行解密,得到全局模型参数;参与方基于全局模型参数及其本地数据进行本地模型训练,并对本地模型加密与上传;服务器接收到各参与方发送的加密本地模型后,聚合各参与方的加密本地模型,得到更新后的全局模型;由参与方本地计算模型差异信息并上传至服务器,代替服务器直接计算模型差异度的传统方法;服务器s将各参与方发送的模型差异集合存储于模型距离数据库,通过dbscan聚类算法或constrained k-means聚类算法进行异常检测;最后,服务器s根据异常检测结果,更新其用于存放异常节点身份标识的异常节点列表(bnl);能够有效抵御α攻击与β攻击这两种攻击方式,使全局模型精度最终稳定收敛在一个较高的精度范围内;同时,相较于原本隐私保护联邦学习系统所产生的计算开销和通信开销;本发明产生的额外开销较小,不会对系统的资源开销带来过多负担。

2、为了实现上述目的,本发明采用如下技术方案:

3、一种隐私保护的横向联邦学习安全聚合方法,利用服务器s基于接收到的加密本地模型按照系统所采用的聚合方法进行全局模型聚合,并将真实聚合结果分发给各参与方;参与方对加密全局模型参数进行解密,得到全局模型参数;参与方基于全局模型参数及其本地数据进行本地模型训练,并对本地模型加密与上传;服务器接收到各参与方发送的加密本地模型后,聚合各参与方的加密本地模型,得到更新后的全局模型;由参与方本地计算模型差异信息并上传至服务器,代替服务器直接计算模型差异度的现有方法;服务器s将各参与方发送的模型差异集合存储于模型距离数据库,通过基于聚类的离群点检测算法进行异常检测;最后,服务器s根据异常检测结果,更新其用于存放异常节点身份标识的异常节点列表bnl。

4、所述聚类的离群点检测算法包括dbscan聚类算法或constrained k-means聚类算法。

5、一种隐私保护的横向联邦学习安全聚合方法,具体包括以下步骤:

6、step1全局模型分发

7、服务器s在联邦学习训练开始前随机生成初始全局模型参数g0并利用参与方共享公钥对其加密获得eg0=enc(pk,g0),然后向各参与方分发eg0;在后续训练过程中,服务器s将基于接收到的加密本地模型参数根据安全聚合规则进行全局模型参数聚合得到更新的加密全局模型参数egt(t∈[1,p]);各参与方利用服务器s发送的全局模型参数egt以及自身本地数据执行下一轮本地模型训练;

8、step2全局模型解密

9、参与方ui收到egt(t∈[0,p-1])后,执行gt=dec(sk,egt)对加密全局模型参数进行解密,得到全局模型参数gt;

10、step3本地模型训练

11、参与方ui基于gt及其本地数据进行本地模型训练,得到本地模型其中,本地模型的参数组成本地模型向量p为联邦学习训练轮数,m为神经网络模型层数;

12、step4本地模型加密与上传

13、参与方ui利用公式3对本地模型向量中所有元素进行加密:

14、

15、令上传加密本地模型参数至服务器s;

16、step5全局模型安全聚合

17、服务器s接收到各参与方发送的加密本地模型后,利用公式4聚合各参与方的加密本地模型,得到更新后的全局模型

18、

19、其中,add()为paillier同态加密算法中的同态加法函数,为加密本地模型的第j层参数;

20、step6模型加权差异计算与上传

21、由参与方本地计算模型差异信息并上传至服务器s,代替服务器直接计算模型差异度的传统方法,实现隐私保护的异常检测;

22、step7异常检测

23、服务器s将各参与方发送的模型差异集合存储于模型距离数据库,通过dbscan聚类算法或constrained k-means聚类算法进行异常检测,被检测出的离群节点将被视为拜占庭节点;

24、step8异常节点更新

25、服务器s根据异常检测结果,更新其用于存放异常节点身份标识的异常节点列表(bnl),该列表中的节点后续所上传的本地模型将被丢弃,不参与下一轮全局模型的聚合过程;在联邦学习训练开始前,异常节点列表默认为空。

26、所述step6的具体方法为:

27、首先,参与方ui对egt(t∈[1,p])进行解密得到gt,利用参与方ui的本地模型及gt计算其余参与方的本地模型的聚合结果,计算过程如公式5与公式6所示:

28、

29、

30、其中,为本地模型向量的第j层参数,为除ui以外其余参与方的本地模型聚合结果,该结果为明文形式,为其余参与方聚合模型的第j层参数;

31、根据公式7和8计算与ui本地模型的差异信息;

32、

33、

34、各参与方根据公式9和10计算参与方ui第t(t∈[1,p])轮本地模型各层l1范数并将其归一化得到各层重要性

35、

36、其中,zj为第j层元素总数,为本地模型向量的第j层、第k个元素;

37、

38、最后,根据公式11计算加权差异信息并上传至服务器s;

39、

40、为加权差异信息;

41、为第t轮参与方ui本地模型中第j层重要性;

42、基于上述的横向联邦学习安全聚合方法的隐私保护的横向联邦学习安全聚合系统,包括:

43、横向联邦学习参与方训练模块,基于所述的step2,使各参与方使用本地数据,对接收到的全局模型参数进行训练,然后得到自身的本地模型;

44、横向联邦学习参与方隐私保护模块,基于所述的step4,各参与方在对自身的本地模型使用paillier同态加密算法进行加密,得到密文本地模型并上传至服务器s;

45、横向联邦学习服务器模型聚合模块,基于所述的step5,服务器s对接收到的密文本地模型执行安全的fedavg本地模型聚合算法,得到密文全局模型并下发至各个参与方。

46、所述隐私保护的横向联邦学习安全聚合系统,满足:

47、1)服务器s是诚实但好奇的,能够观察到各个参与方上传的加密本地模型参数,基于接收到的加密本地模型,执行所述的step5,按照系统所采用的基于paillier同态加密的安全聚合规则进行全局模型聚合,并将真实聚合结果分发给各参与方;

48、2)系统中共有n名参与方,参与方集合为{u1,u2……,un},参与方的本地数据分别为{d1,d2……,dn},所有参与方的数据表示为d;系统中的恶意参与方的数量小于正常参与方数量;各个参与方的本地神经网络模型的类型和结构相同,模型层数为m,本地数据集满足独立同分布,即满足在不同参与方的本地数据集内,每种标签的出现频率相同;

49、3)正常参与方诚实且遵守基于paillier同态加密算法的安全聚合规则,其执行所述的step2,利用本地数据集进行神经网络训练并诚实地执行paillier同态加密算法,执行所述的step4,将进行同态加密隐私保护的模型参数上传至服务器s,并执行所述的step6,计算并上传异常检测所需的模型加权差异数据信息;

50、4)系统采用paillier同态加密技术进行隐私保护;系统中的参与方可在联邦学习模型训练开始前协商生成同态加密密钥(pub,pri),私钥pri只有各参与方可知,公钥pub为公开参数。

51、基于上述横向联邦学习安全聚合方法的隐私保护的横向联邦学习安全聚合设备,包括:

52、存储器,用于存储计算机程序;

53、处理器,用于执行所述计算机程序时实现step1至step8所述的隐私保护的横向联邦学习安全聚合方法。

54、一种计算机可读存储介质,所述计算机可读存储介质用来存储计算机程序,所述计算机程序被处理器执行时能够对基于step1至step8所述的隐私保护的横向联邦学习安全聚合方法,进行投毒攻击的检测和防御。

55、本发明与现有技术相比,具有如下优点:

56、本发明通过新的拜占庭节点检测方案(b防御方案),利用服务器s基于接收到的加密本地模型严格按照系统所采用的聚合方法进行全局模型聚合,并将真实聚合结果分发给各参与方;参与方对加密全局模型参数进行解密,得到全局模型参数;参与方基于全局模型参数及其本地数据进行本地模型训练,并对本地模型加密与上传;服务器接收到各参与方发送的加密本地模型后,聚合各参与方的加密本地模型,得到更新后的全局模型;由参与方本地计算模型差异信息并上传至服务器,代替服务器直接计算模型差异度的传统方法;服务器s将各参与方发送的模型差异集合存储于模型距离数据库,通过dbscan聚类算法或constrained k-means聚类算法进行异常检测;最后,服务器s根据异常检测结果,更新其用于存放异常节点身份标识的异常节点列表(bnl)。

57、本发明可以有效抵御α攻击与β攻击这两种攻击方式,使全局模型精度最终稳定收敛在一个较高的精度范围内。同时,相较于原本隐私保护联邦学习系统所产生的计算开销和通信开销,本方案产生的额外开销较小,不会对系统的资源开销带来过多负担。

58、对于本发明(b防御方案),无论是α攻击还是β攻击,无论使用dbscan算法还是constrained k-means算法,系统的全局模型精度整体趋势均为不断提升,并且最终可以收敛在一个较高的范围内,说明恶意参与方可以被有效检测出,最终可以得到一个高精度的全局模型;且本发明在不同规模的参与方下均可以有效的检测出系统中的拜占庭参与方,并消除其上传的异常本地模型对全局模型的影响。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1