机器学习模型更新的方法和装置制造方法及图纸

技术编号:34001052 阅读:30 留言:0更新日期:2022-07-02 12:09
本申请的实施例提供一种机器学习模型的更新方法,应用于人工智能领域。该方法包括:第一装置根据第一数据子集生成第一中间结果。第一装置接收第二装置发送的加密后的第二中间结果,所述第二中间结果根据第二装置对应的第二数据子集生成。第一装置获得第一模型的第一梯度,所述第一模型的第一梯度根据所述第一中间结果和加密后的所述第二中间结果生成。所述第一模型的第一梯度在使用第二私钥进行解密后,用于更新第一模型,所述第二私钥为所述第二装置生成的用于同态加密的解密密钥。通过本方法,在纵向联邦学习的场景下,第一装置使用第二装置的数据进行模型更新时,可以保护第二装置的数据安全,比如表二中的age,job,sex等用户数据不会被获取,从而保护用户隐私。从而保护用户隐私。从而保护用户隐私。

【技术实现步骤摘要】
机器学习模型更新的方法和装置


[0001]本申请涉及机器学习
,尤其涉及模型方法和装置。

技术介绍

[0002]联邦学习(federated learning)是一种分布式机器学习技术。每个联邦学习客户端(federated learning client,FLC),如联邦学习装置1、2、3
……
k,利用本地计算资源和本地网络业务数据进行模型训练,并将本地训练过程中产生的模型参数更新信息Δω,如Δω1、Δω2、Δω3……
Δω
k
,发送给联邦学习服务端(federated learning server,FLS)。联邦学习服务端基于模型更新参数采用汇聚算法进行模型汇聚,得到汇聚机器学习模型。汇聚机器学习模型作为联邦学习装置下一次执行模型训练的初始模型。联邦学习装置和联邦学习服务端多次执行上述模型训练过程,直到得到的汇聚机器学习模型满足预设条件时,停止训练。
[0003]在联邦学习的技术中,有可能有位于不同实体的具有不同特征的数据需要进行聚合后训练模型,以增强模型的学习能力。对于使用不同实体的具有不同特征的数据进行聚合后进行的模型训练的方法称为纵向联邦学习。
[0004]现有的纵向联邦学习的可参考图1所示,装置B和装置A接收服务器的公钥和私钥对,并根据客户端A和客户端B发送的模型的梯度更新模型,并将更新后的模型的分别发送给客户端A和客户端B。
[0005]现有的纵向联邦学习需要依赖的服务器,但由于公钥和私钥由服务器生成,因此服务器是否可信是一个重要的问题。如果服务器为不可信任实体,则会对数据安全造成较大的威胁。如何提高纵向联邦学习的安全性成为需要解决的问题。

技术实现思路

[0006]本申请提供了一种机器学习模型的更新方法、装置和系统,提高纵向联邦学习的安全性。
[0007]为了达到上述目的,本申请的实施例提供以下技术方案:
[0008]第一方面,本申请的实施例提供一种机器学习模型的更新方法。该方法包括:第一装置根据第一数据子集生成第一中间结果。第一装置接收第二装置发送的加密后的第二中间结果,所述第二中间结果根据第二装置对应的第二数据子集生成。第一装置获得第一模型的第一梯度,所述第一模型的第一梯度根据所述第一中间结果和加密后的所述第二中间结果生成。所述第一模型的第一梯度在使用第二私钥进行解密后,用于更新第一模型,所述第二私钥为所述第二装置生成的用于同态加密的解密密钥。通过本方法,由拥有第二数据子集的第二装置使用第二装置生成的密钥(比如公钥)对发送给第一装置的第二中间结果进行同态加密,并由第二装置使用第二装置生成的私钥对梯度进行解密。从而使得在纵向联邦学习的场景下,第一装置使用第二装置的数据进行模型更新时,可以保护第二装置的数据安全,比如表二中的age,job,sex等用户数据不会被获取,从而保护用户隐私。
[0009]示例性的,第一梯度可以由第一装置确定,也可以其它的装置根据第一中间结果和加密后的第二中间结果确定。
[0010]在一种可能的设计中,所述第二中间结果使用所述第二装置生成的用于同态加密的第二公钥加密。所述第一装置生成用于同态加密的第一公钥和第一私钥。所述第一装置使用所述第一公钥对所述第一中间结果进行加密。通过本方法,由第一装置和第二装置分别生成对各自数据子集的数据进行加密或解密,可以保证各自数据子集的数据安全。
[0011]在一种可能的设计中,所述第一装置将所述加密后的第一中间结果发送给所述第二装置,从而使得第二装置可以使用第一装置的数据进行模型训练,并能保证第一装置的数据的安全。
[0012]在一种可能的设计中,所述第一模型的第一梯度根据所述第一中间结果和加密后的所述第二中间结果确定具体为:所述第一模型的第一梯度根据加密后的所述第一中间结果和加密后的所述第二中间结果确定。所述第一装置使用所述第一私钥对所述第一模型的第一梯度解密。通过本方法,使得第一装置在需要都加密的数据进行训练时,保证训练数据的安全。
[0013]在一种可能的设计中,所述第一装置生成第一模型的第一梯度的第一噪声;所述第一装置将包含所述第一噪声的第一梯度发送给所述第二装置;所述第一装置接收使用所述第二私钥解密后的第一梯度,所述解密后的梯度包含所述第一噪声。通过本方法,对第一梯度增加噪声。在将第一梯度发送给第二装置进行解密的情况下,仍能保证第一装置的第一数据子集的数据安全。
[0014]在一种可能的设计中,所述第一装置接收所述第二装置发送的第二模型的第二参数。所述第一装置根据所述加密后第一中间结果和加密后的所述第二中间结果,以及所述第二模型的第二参数集确定所述第二模型的第二梯度。所述第一装置将所述第二模型的第二梯度发送给所述第二装置。通过本方法,由第一装置根据第二装置的第二数据子集和第一装置的第一数据子集确定第二模型的第二梯度,由于使用加密的第二数据子集的中间结果,保证了第二数据子集的数据安全。
[0015]在一种可能的设计中,所述第一装置确定所述第二梯度的第二噪声。所述发送给所述第二装置的第二梯度包含所述第二噪声。通过本方法,在第一装置更新第二装置的第二模型的场景下,第一装置对第二梯度增加第二噪声,可以保证第一装置的第一数据子集的安全。
[0016]在一种可能的设计中,所述第一装置接收包含所述第二噪声的更新后的第二参数,所述第二参数集为用所述第二梯度更新所述第二模型的参数集;所述第一装置去除包含在所述更新后的第二参数中的第二噪声。通过本方法,在第一装置更新第二装置的第二模型的场景下,第一装置对第二参数解除噪声,从而实现由第一装置更新第二模型时也能保证第一数据子集的安全。
[0017]在一种可能的设计中,所述第一装置接收至少两个用于同态加密的所述第二公钥,所述至少两个第二公钥由至少两个第二装置生成。所述第一装置根据接收到所述至少两个第二公钥以及所述第一公钥生成用于同态加密的公共公钥;所述公共公钥用于加密所述第二中间结果和/或所述第一中间结果。通过本方法,当由多个装置的数据参与机器学习模型的更新时,可以保证各方数据的安全。
[0018]在一种可能的设计中,所述第一模型的第一梯度使用第二私钥进行解密包括:
[0019]所述第一装置将所述第一模型的第一梯度依次发送给所述至少两个第二装置,并接收所述至少两个第二装置分别使用对应的第二私钥解密后的第一模型的第一梯度。通过本方法,当由多个装置的数据参与机器学习模型的更新时,可以保证各方数据的安全。
[0020]在一种可能的设计中,所述第一装置使用所述第一私钥对所述第一模型的第一梯度解密。
[0021]第二方面,本申请的实施例提供一种机器学习模型的更新方法。该方法包括:第一装置发送加密后的第一数据子集以及加密后的第一模型的第一参数,所述加密后的第一数据子集以及加密后的第一参数用于确定加密后的第一中间结果。所述第一装置接收加密后所述第一模型的第一梯度,所述第一模型的第一梯度根据所述加密后的第一中间结果,所述加密后的第一参数以及加密后的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种机器学习模型的更新方法,其特征在于,包括:第一装置根据第一数据子集和第一模型生成第一中间结果;第一装置接收第二装置发送的加密后的第二中间结果,所述第二中间结果根据第二装置对应的第二数据子集和第二模型生成;第一装置获得所述第一模型的第一梯度,所述第一梯度根据所述第一中间结果和加密后的所述第二中间结果生成;所述第一梯度在使用第二私钥进行解密后,用于更新所述第一模型,所述第二私钥为所述第二装置生成的用于同态加密的解密密钥。2.根据权利要求1所述的方法,其特征在于,所述第二中间结果使用所述第二装置生成的用于同态加密的第二公钥加密,该方法进一步包括:所述第一装置生成用于同态加密的第一公钥和第一私钥;所述第一装置使用所述第一公钥对所述第一中间结果进行加密。3.根据权利要求2所述的方法,其特征在于,所述第一装置将所述加密后的第一中间结果发送给所述第二装置。4.根据权利要求2所述的方法,其特征在于,所述第一模型的第一梯度根据所述第一中间结果和加密后的所述第二中间结果确定具体为:所述第一模型的第一梯度根据加密后的所述第一中间结果和加密后的所述第二中间结果确定,该方法进一步包括:所述第一装置使用所述第一私钥对所述第一模型的第一梯度解密。5.根据权利要求1

4任一所述的方法,其特征在于,该方法进一步包括:所述第一装置生成所述第一模型的第一梯度的第一噪声;所述第一装置将包含所述第一噪声的第一梯度发送给所述第二装置;所述第一装置接收使用所述第二私钥解密后的第一梯度,所述解密后的梯度包含所述第一噪声。6.根据权利要求1

5任一所述的方法,该方法进一步包括:所述第一装置接收所述第二装置发送的第二模型的第二参数;所述第一装置根据所述加密后第一中间结果和加密后的所述第二中间结果,以及所述第二模型的第二参数集确定所述第二模型的第二梯度;所述第一装置将所述第二模型的第二梯度发送给所述第二装置。7.根据权利要求6所述的方法,其特征在于,该方法进一步包括:所述第一装置确定所述第二梯度的第二噪声;所述发送给所述第二装置的第二梯度包含所述第二噪声。8.根据权利要求6或7所述的方法,其特征在于,该方法进一步包括:所述第一装置接收包含所述第二噪声的更新后的第二参数,所述第二参数集为用所述第二梯度更新所述第二模型的参数集;所述第一装置去除包含在所述更新后的第二参数中的第二噪声。9.根据权利要求1

8任一所述的方法,其特征在于,所述第一装置接收至少两个用于同态加密的所述第二公钥,所述至少两个第二公钥由至少两个第二装置生成;所述第一装置根据接收到所述至少两个第二公钥以及所述第一公钥生成用于同态加
密的公共公钥;所述公共公钥用于加密所述第二中间结果和/或所述第一中间结果。10.根据权利要求9所述的方法,其特征在于:所述第一模型的第一梯度使用第二私钥进行解密包括:所述第一装置将所述第一模型的第一梯度依次发送给所述至少两个第二装置,并接收所述至少两个第二装置分别使用对应的第二私钥解密后的第一模型的第一梯度。11.根据权利要求9或10所述的方法,其特征在于:该方法进一步包括:所述第一装置使用所述第一私钥对所述第一模型的第一梯度解密。12.一种机器学习模型的更新方法,其特征在于,包括:第一装置发送加密后的第一数据子集以及加密后的第一模型的第一参数,所述加密后的第一数据子集以及加密后的第一参数用于确定加密后的第一中间结果;所述第一装置接收加密后所述第一模型的第一梯度,所述第一模型的第一梯度根据所述加密后的第一中间结果,所述加密后的第一参数以及加密后的第二中间结果确定;所述第一装置对所述加密后的第一梯度使用第一私钥进行解密,所述解密后的第一模型的第一梯度用于更新所述第一模型。13.根据权利要求12所述的方法,其特征在于,该方法进一步包括:所述第一装置接收加密后的第二模型的第二梯度,所述加密后的第二梯度根据所述加密后的第一中间结果和加密后的第二中间结果确定,所述第二中间结果根据第二装置的第二数据子集和第二装置的第二模型的参数确定,所述加密后第二中间结果由所述第二装置对所述第二中间结果进行同态加密得到;所述第一装置使用所述第一私钥解密所述第二梯度;所述第一装置向所述第二装置发送经所述第一私钥解密后的第二梯度,所述解密后的第二梯度用于更新所述第二模型。14.根据权利要求12或13的方法,其特征在于,所述第一装置接收的第一梯度包含第一噪声,所述解密后的第一梯度包含所述第一噪声,所述更新后的第一模型的参数包含所第一噪声。15.根据权利要求12

14任一所述的方法,其特征在于,该方法进一步包括:所述第一装置根据所述解密后的第一梯度更新所述第一模型;或所述第一装置发送所述解密后的第一梯度。16.根据权利要求12

15任一所述的方法,其特征在于,该方法进一步包括:所述第一装置接收至少两个用于同态加密的所述第二公钥,所述至少两个第二公钥由至少两个第二装置生成;所述第一装置根据接收到所述至少两个第二公钥以及所述第一公钥生成用于同态加密的公共公钥;所述公共公钥用于加密所述第二中间结果和/或所述第一中间结果。17.一种机器学习模型的更新方法,其特征在于:接收加密后的第一中间结果和加密后的第二中间结果,所述加密后的第一中间结果根据第一装置的加密后的第一数据子集和第一模型生成,所述加密后的第二中间结果根据第二装置的加密后的第二数据子集和第二模型生成;接收第一模型的参数;根据所述加密后的第一中间结果和所述加密后的第二中间结果,以及第一模型的参数
确定第...

【专利技术属性】
技术研发人员:邵云峰李秉帅吴骏田海博
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1