一种高效的强隐私保护联邦学习系统及方法

文档序号:37099651发布日期:2024-02-22 20:57阅读:14来源:国知局
一种高效的强隐私保护联邦学习系统及方法

本发明涉及联邦学习,具体涉及一种高效的强隐私保护联邦学习系统及方法。


背景技术:

1、联邦学习作为一种隐私保护机器学习框架,凭借其“数据不动模型动,数据可用不可见”的特点,实现了不同机构私有数据的联合建模,为解决“数据孤岛”问题提供了可行的解决路径。然而,仅通过保留本地数据而上传模型的基本模式并不安全。针对局部模型的隐私攻击仍可以获取训练数据的部分隐私信息,这对联邦学习中的隐私保护提出了新的要求,尤其在大型机构合作训练的跨筒仓场景中,要求局部模型仅数据拥有者可见。同时考虑到模型的商业价值,模型聚合结果不允许被任何第三方访问,并且允许合法参与者独立校验聚合模型的正确性。

2、现有技术使用差分隐私、同态加密、掩码和秘密共享等技术保护联邦学习的隐私安全。但仍存在无法抵抗合谋攻击的威胁以及以明文形式存在的聚合结果可能遭受隐私分析攻击的问题,无法保障联邦学习的强隐私安全。因此,如何在保障模型强隐私性和正确性的前提下,开展高效的合作训练,对联邦学习在跨筒仓场景下的应用实践具有重要的意义。


技术实现思路

1、为了解决上述现有技术中存在的问题,本发明拟提供了一种高效的强隐私保护联邦学习系统及方法,拟解决现有技术无法在保障模型强隐私性和正确性的前提下,开展高效的合作训练的问题。

2、一种高效的强隐私保护联邦学习系统,包括参数服务器、聚合服务器和训练参与者,其中

3、参数服务器用于初始化训练模型和同态伪随机序列发生器,生成重加密密钥;

4、聚合服务器用于对多个参与者上传的密文梯度更新做聚合运算;对多个参与者密文态下的伪随机序列种子做聚合运算,然后与所有在线者进行一轮交互后,将重加密后的聚合种子反馈给所有在线参与者;对多个校验参数做聚合计算,将计算结果返回给参与者。

5、优选的,所述训练参与者用于:

6、在局部模型进行加密前,对本地梯度执行量化;在全局模型更新前,对服务器反馈的结果执行反量化;

7、挑选一个随机种子,使其通过shprg得到一个掩码向量,用掩码向量加密共享梯度后上传服务器;

8、用联合公钥加密随机种子后上传;在服务器聚合种子后,还需要与服务器交互一轮,对种子的聚合结果进行重加密;

9、利用参数服务器的辅助向量,从本轮的本地更新中生成一个校验参数上传;

10、得到聚合服务器所有的反馈后,解密聚合模型,执行校验流程,校验通过后,才可更新全局模型。

11、一种高效的强隐私保护联邦学习方法,包括以下步骤:

12、s1、初始化阶段:参数服务器生成初始化模型model发送给聚合服务器,同时生成公共参数发送给所有训练参与者;而后所有训练参与者生成密钥对并与参数服务器交互生成联合公钥,最后参数服务器生成重加密密钥对再发送给所有训练参与者;

13、s2、本地训练阶段:训练参与者在本地数据集上训练初始化模型model,训练结束后分别加密模型掩码、伪随机序列种子以及生成验证参数得到模型掩码密文、伪随机序列种子密文和校验参数;

14、s3、中心聚合阶段:聚合服务器在规定时间内收到多个训练参与者的模型掩码密文、伪随机序列种子密文和校验参数后,分别进行掩码模型聚合、校验参数聚合和掩码种子聚合;

15、s4、重加密阶段:聚合服务器计算同态密文,和所有训练参与者执行密钥交换协议,完成对密文的重加密;

16、s5、全局模型更新阶段:训练参与者解密掩码种子聚合结果并且通过伪随机序列发生器解密获得模型;而后训练参与者计算并判断聚合的模型的验证值是否与聚合的校验参数相同,若相同则校验通过完成全局模型更新。

17、优选的,所述s1包括:

18、s101:参数服务器初始化有m个参数的初始化模型model发送给聚合服务器;

19、s102:参数服务器生成一个q阶循环群g,其生成元为g,从g中随机抽样出d个不同的元素组成向量g=(g1,g2,...,gd),并在范围[1,m]内随机采样d个不同的数字组成向量c=(c1,c2,...,cd)、生成一个种子同态伪随机序列发生器shprg、生成一组公共参数pp={n,q,χ,ψ,φ,a},而后全部发送给所有的训练参与者;

20、s103:训练参与者生成一对密钥对{ski,pki},并将公钥pki发送给参数服务器;当参数服务器收集到所有训练参与者的公钥后,将公钥集合{pki|1≤i≤n}发送给所有训练参与者,那么在线参与者就可以计算联合公钥cpk;

21、s104:参数服务器生成一对重加密公私钥(skr,pkr)=(s′,(p′0,p′1))发送给所有训练参与者。

22、优选的,所述s2包括:

23、s201:训练参与者在本地训练集上对初始化模型model进行训练;

24、s202:模型掩码加密;参与者pi从循环群g上随机采样一个掩码种子seedi作为shprg的输入,从而得到了一个m维的掩码向量ri,然后执行掩码加密

25、s203:伪随机序列种子加密;训练参与者调用mkbfv.enc(cpk,seedi)函数,使用联合公钥cpk=(p0,p1)加密自己的随机种子seedi得到

26、s204:验证参数生成;训练参与者根据本轮本地模型更新xi来生成校验参数hi;

27、s205:训练参与者将(yi,cti,hi)上传给聚合服务器。

28、优选的,所述s3包括:

29、s301:掩码模型聚合:由以下公式对多个yi值进行聚合操作:

30、

31、s302:校验参数聚合:

32、s303:掩码种子聚合:调用mkbfv.eval(ct1,ct2,...,ctn,f(g))函数实现密文状态下的掩码种子聚合,得到聚合密文:

33、

34、优选的,所述s4包括:

35、s401:训练参与者:参与者pi对聚合服务器s返回的同态密文ct=(c0,c1)执行重加密计算并将计算结果(h0,i,h1,i)上传到聚合服务器

36、(h0,i,h1,i)=(sic1+u′ip′0+e′0,i,u′ip′1+e′1,i);

37、s402:聚合服务器等待与cpk相关的所有参与者返回重加密结果(h0,i,h1,i)后,进行聚合计算:

38、h0=∑ih0,i,h1=∑ih1,i,

39、然后返回重加密后的新密文:

40、ct′=(c′0,c′1)=(c0+h0,h1)。

41、优选的,所述s5包括:

42、s501:训练参与者调用mkbfv.dec(skr,ct′)函数解密出掩码种子结果然后将通过伪随机序列发生器得到r,最后得到聚合模型密文:

43、

44、s502:训练参与者pi计算聚合模型的验证值如果h=h*,则校验通过,训练参与者利用z完成本轮全局模型更新。

45、优选的,还包括模型的量化和反量化,具体的:

46、s503:参与者在对本地模型更新执行加密操作前,需要对其进行量化处理;量化操作会将每个有界局部模型更新转换为w-bit整数;对于一个模型更新x∈[xmin,xmax),x的量化结果为:

47、

48、量化后模型的聚合结果满足:

49、

50、为保证聚合后结果不会溢出,有限循环群的阶需要满足:

51、q>n(2w-1)

52、s504:对于聚合结果z,反量化操作为:

53、q-1(z)=2-w(xmax-xmin)z+nxmin。

54、本发明的有益效果包括:

55、1、使用shprg产生的掩码向量加密模型,使得加密效率有较大提升。

56、2、使用mkbfv方案保护每个参与方的随机种子,并通过重加密手段使得模型具备抗n-2合谋攻击的能力,且具有聚合模型不可见的特点。同时由于对局部模型的加密由掩码实现,mkhe技术仅作用于shprg的种子加密效率远高于将mkhe方案直接作用于局部模型。

57、3、利用同态哈希函数设计了一种高效的聚合结果校验机制,可以防范服务器返回伪造的聚合结果。

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