一种联邦学习中基于秘密共享的模型聚合方法
文献发布时间:2024-04-18 19:58:26
技术领域
本发明属于人工智能安全领域。
背景技术
为了能够提高机器学习的准确性,需要用到大量的数据进行训练。然而,受到各种因素的制约,不同的数据来源方无法直接共享数据进行训练,从而导致“数据孤岛”问题。为了解决该问题,联邦学习的概念被提出。在联邦学习中,不同的机构作为参与训练的客户端,可以单独在自己的本地数据集上训练模型,然后将训练得到的本地模型参数发送给中心服务器。中心服务器聚合来自不同客户端的模型参数得到中心模型,并下发给客户端。在这个过程中,客户端无需共享数据而能共同完成训练,一定程度上解决了数据孤岛以及数据隐私问题。
然而,客户端在上传本地模型参数时,如果不采取任何保密措施,极易导致客户端的本地模型被网络中的其他设备所获取。一些“不怀好意”的窃听者完全可以通过窃取的模型反推出用于训练的数据,从而威胁客户端的数据安全。
发明内容
技术问题:在联邦学习中,参与学习的客户端需要将每轮迭代训练出的模型参数发送给中心服务器进行聚合。然而,在传递模型的过程中,极易造成模型参数被不法分子所获取,进一步根据模型反推出客户端的训练数据,威胁其数据安全。因此,在聚合客户端的本地模型时,需要对模型参数实施一定的保护措施,使得其他方无法窃取客户端的本地模型,但同时不影响中心服务器对客户端模型进行聚合。
技术方案:为解决上述技术问题,本发明提供一种联邦学习中基于秘密共享的模型聚合方法,其特征在于该方法在联邦学习中聚合客户端的本地模型参数时,利用秘密共享技术,使得本地模型参数以加密的形式传输,除客户端自身以外的其他方(包括负责聚合模型的中心服务器)无从获知客户端的本地模型参数。
具体的,包括如下步骤:
步骤1,在联邦学习开始时,中心服务器选取参与下一轮迭代训练的客户端,并向所有选中的客户端下发一个初始全局模型参数;客户端在全局模型参数的基础上进行本地训练,得到新一轮的本地模型参数;
步骤2,
在每轮迭代训练中,中心服务器为每个参与本轮训练的客户端分配一个非零参数,参数的形式与客户端训练的模型参数的形式相统一并且是公开的,客户端将本轮训练出的本地模型参数构建成关于这些非零参数的秘密多项式,具体构建方法为:
假设参与本轮训练的客户端有N个,分别记为C
其中,D
步骤3,每个客户端将秘密多项式值发送给其它对应的客户端,每个客户端将所有与自身非零参数相关的多项式值相加,并将得到的和值传给中心服务器。
客户端C
并将得到的和值V
步骤4,中心服务器构建方程组,求解得到本轮训练的聚合模型参数,同时也是下一轮训练的全局模型参数。
中心服务器将接收到的来自所有客户端得到的和值构建如下方程组:
中心服务器求解方程组得到
重复步骤1至步骤4,直到达到整体的训练收敛目标。
有益效果:本发明充分考虑在联邦学习过程中可能存在的客户端本地模型泄露问题,提出在客户端上传本地模型给中心服务器进行聚合时,采用秘密共享的方式对模型参数进行加密传输。所提方法能够在不影响中心服务器聚合模型的同时,保证客户端的本地模型不被除自身以外的其他任意方所获知,有效保障了客户端的本地数据安全。
附图说明
图1是本发明提出的联邦学习中基于秘密共享的模型聚合方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
一种联邦学习中基于秘密共享的模型聚合方法,其特征在于该方法在联邦学习中聚合客户端的本地模型参数时,利用秘密共享技术,使得本地模型参数以加密的形式传输,除客户端自身以外的其他方(包括负责聚合模型的中心服务器)无从获知客户端的本地模型参数。
结合附图1及相关公式,对本发明方案设计作进一步的具体描述。
在联邦学习开始时,中心服务器选取参与下一轮迭代训练的客户端,并向所有选中的客户端下发一个初始全局模型参数。客户端在全局模型参数的基础上进行本地训练,得到新一轮的本地模型参数。
假设在联邦学习的第t轮训练时,共有N个客户端参与本轮训练,分别记为C
假设中心服务器分配给客户端C
其中,D
客户端C
其他客户端也可以按照同样的方法求得关于自身所持有的非零参数的多项式和值。
每个客户端将得到的多项式和值发送给中心服务器,中心服务器可以构建如下N个方程构成的方程组:
在这个方程组中共有N个未知数,
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。
- 基于秘密共享与联邦学习的多方XGBoost安全预测模型训练方法
- 基于秘密共享与联邦学习的多方XGBoost安全预测模型训练方法