【技术实现步骤摘要】
一种数据处理方法和相关设备
[0001]本申请涉及人工智能领域,尤其涉及一种数据处理方法和相关设备。
技术介绍
[0002]分布式学习系统包括服务器和多个不同的客户端设备(亦称为数据拥有者)。其中,客户端设备在本地完成模型的学习,然后把学习后得到的模型参数上传给服务器,使得服务器进一步处理,以得到更好的学习模型。客户端设备可以为专门用于分布式学习的设备,也可以为普通的用户设备。若客户端设备为普通的用户设备,这样的分布式学习系统亦称为联邦学习(federated learning)系统。
[0003]在联邦学习系统中,服务器又称为参数服务器,由于客户端设备上传的模型参数包含隐私信息,因此需要进行隐私保护。当前,有企业提出算术平均随机梯度下降算法,以保护客户端设备的隐私信息。该算术平均随机梯度下降算法中,客户端设备只需要向服务器提交模型的梯度信息,服务器计算梯度信息的均值以更新全局模型。经过多次迭代后,服务器可以获得训练的全局模型。那么,客户端设备的模型参数可以保留在本地,有利于对模型参数的隐私保护。
[0004]但是,梯度信息中还是包含着客户端设备的敏感信息,攻击者可以通过模型逆向攻击、特征向量攻击或从梯度信息中反推出模型参数的原始数据,这不利于对联邦学习系统的隐私保护。
技术实现思路
[0005]本申请实施例提供了一种数据处理方法和相关设备,用于在联邦学习的过程中更好地保护客户端设备的隐私信息。
[0006]第一方面,本申请实施例提供一种数据处理方法,包括:第一客户端设备获取并 ...
【技术保护点】
【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:第一客户端设备获取N2个秘密份额,所述N2个秘密份额来自N2个客户端设备,所述N2个客户端设备包括第二客户端设备,来自所述第二客户端设备的秘密份额包括私钥秘密和随机噪声秘密,所述私钥秘密为所述第二客户端设备的第一私钥的多份私钥秘密中的一份,N2为大于等于2的整数;所述第一客户端设备获取聚合密文的第一部分所述聚合密文由分别来自N3个客户端设备的密文聚合得到,所述N2个客户端设备包括所述N3个客户端设备,所述N3个客户端设备包括所述第二客户端设备,来自所述第二客户端设备的密文是使用加密公钥加密所述第二客户端设备的明文数据得到,所述加密公钥由所述N2个客户端设备的第一公钥聚合得到;所述第一客户端设备聚合所述N2个秘密份额,以得到所述第一客户端设备的秘密分享向量,所述第一客户端设备的秘密分享向量包括聚合私钥秘密ssk
u
和聚合随机噪声秘密所述聚合私钥秘密ssk
u
由所述N2个秘密份额中每一份秘密份额的私钥秘密聚合得到,所述聚合随机噪声秘密由所述N2个秘密份额中每一份秘密份额的随机噪声秘密聚合得到;所述第一客户端设备使用所述聚合私钥秘密ssk
u
和所述聚合随机噪声秘密解密所述所述聚合密文的第一部分以得到部分解密密文所述第一客户端设备向服务器发送所述部分解密密文2.根据权利要求1所述方法,其特征在于,其中,h为预设参数,表示密文的多项式系数的模数。3.根据权利要求1或2所述方法,其特征在于,所述第二客户端设备的第一公钥由所述第二客户端设备根据所述第二客户端设备的第一私钥生成。4.根据权利要求1
‑
3中任一项所述方法,其特征在于,所述方法还包括:所述第一客户端设备获取来自N1个客户端设备的N1个第一公钥,所述N1个客户端设备包括所述N2个客户端设备;所述第一客户端设备聚合所述N1个第一公钥中来自所述N2个客户端设备的第一公钥,以得到所述加密公钥;所述第一客户端设备使用所述加密公钥加密所述第一客户端设备的明文数据,以得到所述第一客户端设备的密文;所述第一客户端设备向所述服务器发送所述第一客户端设备的密文。5.根据权利要求1
‑
4中任一项所述方法,其特征在于,所述方法还包括:所述第一客户端设备向所述N1个客户端设备中的各个客户端设备发送所述第一客户端设备的第一公钥。6.根据权利要求1
‑
5中任一项所述方法,其特征在于,所述方法还包括:所述第一客户端设备生成第一随机噪声;所述第一客户端设备生成所述第一客户端设备的第一私钥的N1份私钥秘密和所述第一随机噪声的N1份随机噪声秘密,以得到N1份秘密份额,一份所述秘密份额包括一份所述私钥
秘密和一份所述随机噪声秘密;所述第一客户端设备向所述N1个客户端设备中的各个客户端设备分别发送所述N1份秘密份额中的一份秘密份额,发送给不同客户端设备的秘密份额不同。7.根据权利要求1
‑
3中任一项所述方法,其特征在于,所述第一客户端设备和所述第二客户端设备具有区块链账户,所述第二客户端设备与所述第一客户端设备为不同的客户端设备。8.根据权利要求7所述方法,其特征在于,所述第一客户端设备通过区块链网络获取所述第一部分9.根据权利要求7或8所述的方法,其特征在于,还包括:所述第一客户端设备确定所述N2个客户端设备中每个客户端设备的区块链账户;所述第一客户端设备通过所述每个客户端设备的区块链账户查询所述每个客户端设备的区块链账户,以得到所述每个客户端设备的第一公钥;所述第一客户端设备聚合所述N2个客户端设备的第一公钥,以得到所述加密公钥;所述第一客户端设备使用所述加密公钥加密所述第一客户端设备的明文数据,以得到所述第一客户端设备的密文;所述第一客户端设备通过所述第一客户端设备的区块链账户向所述区块链网络发送所述第一客户端设备的密文。10.根据权利要求7
‑
9中任一项所述方法,其特征在于,还包括:所述第一客户端设备通过所述第一客户端设备的区块链账户公开所述第一客户端设备的第一公钥。11.根据权利要求1
‑
10中任一项所述方法,其特征在于,所述聚合为模加运算。12.根据权利要求1
‑
11中任一项所述方法,其特征在于,所述明文数据包括模型参数。13.一种数据处理方法,其特征在于,包括:服务器获取N3个密文c
u
,所述N3个密文c
u
来自N3个客户端设备,所述密文c
u
包括第一部分密文c
u0
和第二部分密文c
u1
,所述N3为大于等于2的整数;所述服务器聚合所述N3个密文c
u
,以得到聚合密文所述聚合密文包括第一部分和第二部分所述第一部分由所述N3个密文c
u
中的第一部分c
u0
聚合得到,所述第二部分由所述N3个密文c
u
中的第二部分c
u1
聚合得到;所述服务器向所述N3个客户端设备中各个客户端设备发送所述第一部分所述服务器获取N4个部分解密密文所述N4个部分解密密文来自N4个客户端设备,所述N3个客户端设备包括所述N4个客户端设备;所述服务器根据所述第二部分和所述N4个部分解密密文中的t个部分解密密文进行解密,以得到最终解密密文m,t为预设的门限值,t小于等于N4。14.根据权利要求13所述方法,其特征在于,所述服务器根据所述第二部分和所述N4个部分解密密文中的t个部分解密密文进行解密,以得到最终解密密文m,包括:所述服务器使用预设的最终解密算法对所述t个部分解密密文和所述第二部分进行解密计算,以得到多项式t1;
所述服务器对所述多项式t1中各系数进行四舍五入处理,以得到以多项式t2;所述服务器使用所述多项式t2中各系数模l,以得到所述最终解密密文m,l为预设参数,表示明文数据的多项式系数的模数。15.根据权利要求13或14所述方法,其特征在于,还包括:所述服务器获取N1个第一公钥,所述N1个第一公钥来自N1个客户端设备,所述N1个客户端设备包括所述N3个客户端设备;所述服务器向所述N1个客户端设备广播所述N1个第一公钥。16.根据权利要求15所述的方法,其特征在于,所述方法还包括:所述服务器获取来自N2个客户端设备的秘密份额,所述N1个客户端设备包括所述N2个客户端设备,来自所述N2个客户端设备中的任意一个客户端设备的秘密份额包括与所述N1个客户端设备对应的N1份秘密份额;所述服务器根据接收方的身份标识将所述秘密份额发送给所述N1个客户端。17.根据权利要求13或14所述方法,其特征在于,所述服务器和所述N3个客户端设备具有区块链账户。18.根据权利要求17所述方法,其特征在于,所述服务器获取N3个密文c
u
包括所述服务器通过所述服务器的区块链账户从区块链网络中获取所述N3个密文c
u
;所述服务器向所述N3个客户端设备中各个客户端设备发送所述第一部分包括所述服务器通过所述服务器的区块链账户通过所述区块链网络向所述N3个客户端设备中各个客户端设备发送所述第一部分19.根据权利要求18所述方法,其特征在于,所述方法还包括:所述服务器通过所述服务器的区块链账户在区块链网络中部署智能合约,所述智能合约包括记录函数和检查函数;所述记录函数用于记录所述N3个密文c
u
;所述检查函数用于检查所述服务器聚合所述N3个密文c
u
的步骤是否被执行。20.根据权利要求19所述方法,其特征在于,所述所述检查函数用于检查所述服务器聚合所述N3个密文c
u
的步骤是否被执行,包括:所述检查函数还用于执行聚合所述N3个密文c
u
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。