本发明属于信息安全,涉及一种联邦学习系统及方法,具体涉及一种基于生成对抗网络的安全高效联邦学习系统及方法。
背景技术:
1、联邦学习是目前分布式机器学习中最具前景的范例之一。与集中式机器学习不同,联邦学习使得多个客户端能够通过共享本地中间结果(如模型参数或梯度更新)来共同训练全局模型,同时保持原始数据在本地。它已经应用于多个实际应用领域,如网络安全、智能医疗和智能制造。在经典联邦学习方案设计中的一个主要挑战是不同客户端的数据往往是非独立同分布的。这可能会影响全局模型的准确性,甚至导致模型发散。为了处理非独立同分布的数据,先前的方法通常采用以模型为中心的学习,其中包括设计更好的本地损失函数或聚合方法。然而,由于局部经验损失最小化与全局经验损失最小化之间的根本区别,这些方案无法显著提高模型准确性。因此,越来越多的关注点集中在通过在客户端之间共享数据来平衡分布,这更有助于提高性能。由于共享原始数据违反了联邦学习的原则,因此常见的做法是共享使用生成对抗网络等方法生成的虚拟数据。
2、尽管直观上虚拟数据避免了关于原始数据的信息泄露,研究人员已经表明,仍然可以对虚拟数据应用成员推理攻击,以推断个别数据是否属于原始训练集。此外,更常见的发现是,可以从每个客户端上传的中间结果中提取有关原始数据的隐私信息,因为这些中间结果仅基于原始数据计算。为防止此类隐私泄露,一个常见的轻量级方法是将差分隐私,引入到生成对抗网络的训练以及联邦学习中的中间结果中。然而,引入的噪声显著降低了模型的准确率并增加了训练时间。
技术实现思路
1、本发明针对现有技术不足,提供了一种基于生成对抗网络的安全高效联邦学习系统及方法,基于生成对抗网络生成虚拟样本缓解了非独立同分布数据对模型训练的不利影响;保证在提供隐私保护能力情况下可以高效完成复杂模型的训练,避免了在生成对抗网络的训练以及联邦学习中引入过多噪声影响模型准确率;同时有效处理了虚拟样本和真实样本之间的模型训练关系。
2、本发明的方法所采用的技术方案是:一种基于生成对抗网络的安全高效联邦学习系统,包括一个服务器和n个客户端:
3、所述服务器,用于聚合虚拟样本、进行本地模型聚合和更新全局模型参数;每个客户端i用于存储本地私有真实数据集,生成虚拟样本并训练本地模型;
4、第i∈[n]个客户端拥有一个大小为ni的私有真实数据集和是分别是样本空间和标签空间,xi,j,yi,j分别表示第i个客户端第j个特征和标签,全局数据集dr通过将所有的本地数据集连接形成,是全局数据集的大小。
5、本发明的方法所采用的技术方案是:一种基于生成对抗网络的安全高效联邦学习方法,运用于基于生成对抗网络的安全高效联邦学习系统中:客户端本地模型的训练包括以下步骤:
6、步骤1:每个客户端i使用其本地真实数据集训练一个生成对抗网络;
7、步骤2:每个客户端i利用训练好的生成对抗网络生成指定数量的虚拟样本,并形成虚拟数据集之后上传至服务器;
8、步骤3:服务器汇总所有的虚拟数据集形成dv,并分发给所有客户端;
9、步骤4:利用真实数据和虚拟数据分别训练一个本地初始化的深度神经网络模型,并合并两个模型,以此学习本地数据集图像特征完成数据分类的任务;
10、步骤5:每个客户端添加噪声扰动梯度并上传到服务器;服务器聚合客户端上传的梯度以更新全局模型;
11、步骤6:客户端下载新的全局模型以更新其本地模型。
12、作为优选,步骤1的具体实现包括以下子步骤:
13、步骤1.1:初始化生成对抗网络的判别器和生成器模型参数和
14、步骤1.2:从正态分布中随机采样噪音向量z1,…,zb,其中b是批处理大小;
15、步骤1.3:从中随机采样得到真实样本(x1,y1),…,(xb,yb);生成虚拟样本其中b∈[b],为生成对抗网络的生成器;
16、步骤1.4:训练生成对抗网络的判别器
17、计算梯度梯度裁剪其中c为裁剪因子;
18、在批处理大小b中,度量真实样本(x1,y1),…,(xb,yb)和虚拟样本之间的fid为其中i∈[b];将进行归一化处理得到计算隐私噪声权重
19、计算自适应噪声其中表示高斯分布,其均值为0,方差为σ2c2i,σ为噪声因子,c为裁剪因子,i为单位矩阵;向梯度中添加噪声更新判别器其中η为学习率;
20、步骤1.5:训练生成对抗网络的生成器
21、计算梯度其中b∈[b];更新生成器其中η为学习率。
22、作为优选,步骤2中,记每个客户端i的真实数据集上每个类别的总数为n1,…,nu,平均数为其中u为全局数据集总类别数;为随机变量,其遵循正态分布均值为方差为客户端每个类别选择的虚拟标签的数量表示记为其中u∈[u],κ为共享比例因子;
23、客户端i确定所有虚拟标签,其中虚拟标签总数选择具体标签为利用训练好的生成对抗网络生成器生成虚拟标签对应的特征形成虚拟数据集并上传至服务器。
24、作为优选,步骤4中所述深度神经网络模型,是本地初始化好的深度神经网络模型;初始化过程具体实现包括以下子步骤:
25、步骤4.1:每个客户端i将虚拟数据集dv中相应类别的一半数据纳入本地真实数据集中;
26、步骤4.2:在第t轮模型训练中,客户端i分别使用其本地真实数据集和虚拟数据集dv各自训练深度神经网络模型,得到相应的梯度和
27、步骤4.3:利用余弦相似度衡量两个模型参数的相似性,余弦相似度其中为使用真实数据集训练得到的模型参数,为使用虚拟数据集训练得到的模型参数,·表示向量的点积,||·||表示向量的欧式范数;
28、步骤4.4:将余弦相似度进行归一化处理并计算模型合并后的真实梯度
29、作为优选,步骤5的具体实现包括以下子步骤:
30、步骤5.1:每个客户端i利用先验知识来预测当前迭代轮数t的全局梯度,并将其用作本轮裁剪因子ct,其中表示之前迭代轮数的全局梯度平方的指数加权平均值;先验知识的计算表达式为其中γ是超参数;分别表示第0、t-1、t-2轮的全局梯度;
31、步骤5.2:每个客户端i设定阈值h,如果则将裁剪因子设定为ct=c,否则将裁剪因子设定为其中,c表示梯度裁剪因子阈值。
32、步骤5.3:每个客户端i添加噪声扰动梯度并将扰动的梯度上传至服务器;其中,gi,t为第i个客户端第t轮模型合并后的真实梯度。
33、作为优选,步骤1中所述生成对抗网络,包含生成器和判别器其训练过程为生成器和判别器的零和博弈,生成器输入随机噪声向量,输出虚拟样本,其优化目标是尽可能让判别器将虚拟样本误判为真实样本;判别器输入真实样本和虚拟样本,输出每条样本是真实样本的概率,其优化目标是尽可能正确区分两类样本。
34、作为优选,步骤4中所述神经网络模型,为多层节点互联的卷积神经网络,包括输入层、一个或多个隐藏层和输出层;隐藏层包括一个或多个卷积层、池化层和全连接层;所述卷积层,执行卷积核与该层输入矩阵点积计算,其激活函数为relu,当卷积核沿着该层的输入矩阵滑动时,卷积操作生成一个特征图,进而贡献给下一层的输入。
35、相对于现有技术,本发明的有益效果包括:
36、(1)本发明设计了一种隐私保护的虚拟样本生成算法,该算法利用生成对抗网络生成虚拟样本,并共享它们以解决非独立同分布数据的问题。为了减轻差分隐私在提供隐私保护时对训练性能的负面影响,我们分别为生成对抗网络中的虚拟样本生成和联邦学习中的模型训练设计了自适应调整噪声算法。这两个算法基于两个指标减少噪声:虚拟样本的质量和梯度裁剪因子。此外,我们提出了一种分开训练和合并的算法,更好地处理虚拟样本和真实样本之间的训练关系。相对比以前的方案,本发明实现了更准确的全局模型并且显著减少了模型训练时间。