基于BLS签名和梯度稀疏化的可验证联邦学习方法

文档序号:36001495发布日期:2023-11-16 14:24阅读:32来源:国知局
基于BLS签名和梯度稀疏化的可验证联邦学习方法

本发明涉及信息安全和人工智能交叉,具体涉及一种基于bls签名和梯度稀疏化的可验证联邦学习聚合协议。


背景技术:

1、联邦学习(federated learning)作为一种新型的协作学习方法,它允许多个客户端协作开发深度学习模型,客户端将模型参数上传到云服务器,云服务器聚合上传的模型参数以更新全局模型,而无需访问客户端本地数据。

2、然而,在实际应用中,联邦学习显示出了一些安全问题。一方面,联邦学习系统中云服务器聚合结果的正确性无法保证。在非法利益的驱使下,恶意的云服务器可能会进行错误聚合,并向客户端返回错误的聚合结果。在这种情况下,全局模型性能将受到影响。别有用心的云服务器可能会故意向特定的客户端发送设计好的结果,以便分析该客户端数据的特征。另一方面,联邦系统可能会存在不可靠客户端。如果不可靠客户端上传的模型参数参与模型聚合,全局模型可能会中毒,梯度聚合协议可能会被破坏。


技术实现思路

1、本发明目的是提供一种基于bls签名和梯度稀疏化的可验证联邦学习方法,旨在解决联邦学习系统中存在的云服务器恶意聚合以及不可靠客户端投毒的问题。

2、本发明的技术方案如下

3、基于bls签名和梯度稀疏化的可验证联邦学习方法,应用于包括第三方可信机构、云服务器与k个客户端的联邦学习系统,其中k>1,且k为整数,所述方法是在联邦学习训练的第i次迭代中,执行如下操作:

4、第1、所述云服务器将全局模型发送给客户端,所述模型对应类型包括神经网络模型、卷积神经网络模型、lstm神经网络模型、gan神经网络模型或深度信念神经网络模型;

5、第2、第k个客户端接收到云服务器发送的全局模型enc(wglo)后,对enc(wglo)解密,得到全局模型参数wglo;

6、第3、第k个客户端将全局模型参数wglo加载到本地,并使用优化算法(包括:梯度下降法、动量梯度下降法、sgd算法、adam算法、adagrad算法或rmsprop等)基于本地数据集进行训练,得到本地模型参数wa,k;具体包括:

7、第3.1、第k个客户端从本地数据集中随机抽取批次大小为batchk的训练样本,其中batchk大于0并且小于等于该客户端所有数据样本的个数;

8、第3.2、第k个客户端进行本地模型训练,得到梯度参数▽wa,k,然后使用优化算法,计算本地模型的权重参数wa,k;

9、第4、第k个客户端使用基于梯度稀疏化的模型压缩算法对本地模型进行压缩得到sparse(wa,k);具体包括:

10、第4.1、第k个客户端从所述云服务器中下载稀疏化率ρ,其中0≤ρ<1;

11、第4.2、第k个客户端根据稀疏化率ρ计算模型梯度阈值θ,其中θ大于模型梯度绝对值最小值,小于模型梯度绝对值最大值;

12、第4.3、第k个客户端选择梯度绝对值超过θ的模型参数得到sparse(wa,k)和稀疏化模型参数的索引idxk;

13、第5、第k个客户端使用同态加密算法对压缩后的模型参数进行加密得到enc(sparse(wa,k)),所述的同态加密算法具体包括:ckks算法、paillier算法或rsa算法;

14、第6、第k个客户端基于bls签名的验证协议生成辅助验证信息,并将enc(sparse(wa,k))和辅助验证信息发送给云服务器;具体包括:

15、第6.1、第k个客户端将加密的稀疏化模型参数分成n个数据块,每块分成s个数据段得到

16、第6.2、第k个客户端计算标记和签名计算公式为其中h是单向散列函数,是处理后的稀疏化模型参数;spσ(k)计算公式为其中是生成的标记,skk是第三方可信机构分发给第k个客户端私钥,g是循环群g、g1的生成元,是处理后的稀疏化模型参数,λi是第i个数据块的公开参数;

17、第6.3、第k个客户端将enc(sparse(wa,k)),标记和签名发送给所述云服务器;

18、第7、所述的第三方可信机构联合云服务器对各所述客户端上传参数的完整性进行验证;具体包括:

19、第7.1、第三方可信机构使用随机数生成器生成c个整数组成的挑战信息序列{β1,β2,…,βc},并将挑战信息序列发送给云服务器,其中1<c<n;

20、第7.2、所述云服务器根据挑战信息序列生成证明信息

21、第7.3、所述第三方可信机构进行完整性验证,计算是否成立,e是双线性配对映射,等式成立则通过完整性验证,不成立则未通过完整性验证,所述云服务器拒绝使用该客户端上传的模型进行聚合;

22、第8、云服务器对通过验证的本地模型进行聚合,将聚合结果返回各客户端;

23、第9、所述第三方可信机构联合各所述客户端对聚合结果正确性进行验证;具体包括:

24、第9.1、第k个客户端将加密的本地模型参数分成n个数据块,每块分成s个数据段得到其中n>0,且n是一个整数,s>0,且s是一个整数;

25、第9.2、第k个客户端计算标记和签名的计算公式为其中h是单向散列函数,是处理后的本地模型参数;的计算公式其中是生成的标记,skk是第三方可信机构分发给第k个客户端私钥,g是循环群g、g1的生成元,是处理后的本地模型参数,λi是第i个数据块的公开参数;

26、第9.3、第k个客户端将标记和签名发送给所述云服务器;

27、第9.4、第三方可信机构使用随机数生成器生成c个整数组成的挑战信息序列{β1,β2,…,βc},并将挑战信息发送给各所述客户端,其中1<c<n;

28、第9.5、各客户端根据挑战信息生成证明信息发送给所述第三方可信机构;其中c是挑战信息数量,g是循环群g、g1的生成元,是处理后的全局模型参数,λi是第i个数据块的公开参数

29、第9.6、所述第三方可信机构计算如果等式成立,则说明聚合结果正确,如果等式不成立,则说明云服务器进行了不正确的聚合。

30、第10、各客户端对接收到的全局模型enc(wglo)进行解密,并将全局模型wglo加载到本地,进行下一次训练。

31、本发明同时提供了一种联邦学习系统,包括第三方可信机构、云服务器与k个客户端,其中k>1,且k为整数;

32、所述第三方可信机构,在本地模型参与聚合前,对客户端上传本地模型参数的完整性进行验证;在云服务器聚合全局模型后,对云服务器聚合结果的正确性进行验证;

33、所述云服务器,根据各客户端上传的enc(sparse(wa,k))聚合模型参数,得到enc(wglo),并将enc(wglo)分发给各客户端;

34、第k个客户端,对enc(wglo)进行解密得到wglo,将wglo加载入本地模型,使用优化算法对本地模型进行训练,得到本地模型更新后的参数wa,k;使用基于梯度稀疏化的模型压缩算法对本地模型参数进行稀疏化得到sparse(wa,k),然后对加密得到enc(sparse(wa,k)),再上传至参数服务器。

35、本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如上所述的方法。

36、由于基于bls签名的验证协议不会对模型的性能造成影响,即验证过程不会对模型性能造成影响,因此,这使得可以对云服务器聚合结果正确性和客户端上传参数完整性进行验证的同时,保证模型精确度。

37、由于基于梯度稀疏化的模型压缩算法具有自适应性,即可以根据模型训练状态自适应调节稀疏化率,因此,可以在保证模型性能与减少资源开销之间达到很好的平衡。

38、本发明的优点和有益效果:

39、(一):相比于传统的联邦算法,本发明算法在此基础上引入基于bls签名的聚合协议,从而验证云服务器聚合结果正确性和客户端上传参数完整性,保护客户端权益,防止模型收到恶意云服务器和不可信客户端的攻击。

40、(二):本发明使用控制领域中的反馈调节方法设计基于梯度稀疏化的模型压缩算法,通过对本地模型参数进行模型压缩,从而进一步降低资源开销,并且保证模型的性能。

41、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。

42、此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。

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