1.一种抵御联邦学习标签翻转攻击的方法,其特征在于,包括以下步骤:S1:服务端训练生成网络,所述生成网络基于服务端本地的全局模型学习标签到潜在特征空间的映射关系;
S2:服务端将全局模型和生成网络广播给每个客户端,每个客户端基于全局模型和生成网络检测其数据质量;
S3:服务端根据每个客户端的数据质量,将客户端分为良性客户端集合和恶意客户端集合,并取消每个恶意客户端参与本轮训练的资格;
S4:每个良性客户端分别构建个性化模型,并以生成网络产生的潜在特征作为归纳偏置对本地训练进行调节;
S5:每个良性客户端完成本地训练后,分别将模型参数发送给服务端进行聚合,用于对服务端本地的全局模型进行更新;
S6:重复S1~S5,直至全局模型收敛或达到预设的停止条件,得到最终的全局模型,基于最终的全局模型抵御标签翻转攻击。
2.根据权利要求1所述的一种抵御联邦学习标签翻转攻击的方法,其特征在于,所述S1步骤中,在第一轮训练开始前,服务端初始化由参数化的全局模型和由参数化的生成网络,其中为特征提取模块,为预测模块;服务端训练生成网络的步骤包括:生成随机标签序列,将随机标签序列作为生成网络的训练样本;
将训练样本输入所述生成网络,生成网络输出训练样本的潜在特征,并结合所述潜在特征和全局模型中的预测模块,通过目标函数训练生成网络。
3.根据权利要求2所述的一种抵御联邦学习标签翻转攻击的方法,其特征在于,所述目标函数的表达式如下:其中,是预测模块的输出,为非负的凸损失函数;是一个产生随机标签序列的函数,表示由生成网络输出的关于随机标签序列的潜在特征,表示样本采样于数据分布,同理表示样本采样于数据分布,为机器学习中的代价函数。
4.根据权利要求1所述的一种抵御联邦学习标签翻转攻击的方法,其特征在于,所述S2步骤中,每个客户端基于全局模型和生成网络检测其数据质量的步骤包括:S21:计算全局模型的预测模块对客户端的本地数据标签所对应的潜在特征的预测值,该预测值为第一预测值;
S22:计算全局模型对客户端的本地数据样本的预测值,该预测值为第二预测值;
S23:计算所述第一预测值和第二预测值中相同元素个数,根据所述相同元素个数计算得到客户端的质量参数;
S24:客户端完成数据质量检测后,将质量参数返回给服务端。
5.根据权利要求4所述的一种抵御联邦学习标签翻转攻击的方法,其特征在于,所述S2步骤中,获取第个客户端的质量参数的表达式如下:其中,为客户端的本地数据,为其本地数据量,表示由生成网络输出的关于的潜在特征,是计算序列a和b中相同元素个数的函数,表示第一预测值,表示第二预测值。
6.根据权利要求1所述的一种抵御联邦学习标签翻转攻击的方法,其特征在于,所述S3步骤中,将客户端分类,并取消每个恶意客户端参与本轮训练的资格的步骤包括:服务端通过聚类算法根据客户端的质量参数将客户端分为两类;
分别计算每个类中质量参数的平均值;
比较两个类中质量参数的平均值,将平均值较低的类中的客户端作为恶意客户端集合,将平均值较高的集合作为良性客户端集合;
取消恶意节点集中每个恶意客户端参与本轮训练的资格。
7.根据权利要求1所述的一种抵御联邦学习标签翻转攻击的方法,其特征在于,所述S4步骤中,良性客户端构建个性化模型,优化本地模型的步骤包括:S41:良性客户端构建个性化模型,其中个性化模型包括用于提取本地特征的基础层和用于输出预测结果的个性化层;所述基础层采用全局模型的特征提取模块;所述个性化层采用良性客户端本地模型中的预测模块;
S42:计算良性客户端的个性化模型在其本地数据上的经验风险;
S43:通过在本地训练阶段对良性客户端中参与训练的本地数据标签进行计数,获得良性客户端本地数据标签的先验分布的经验近似值;
S44:每个良性客户端从生成网络中获得潜在特征作为增广表征,为本地训练引入归纳偏置,并根据经验近似值和经验风险对本地模型进行优化。
8.根据权利要求7所述的一种抵御联邦学习标签翻转攻击的方法,其特征在于,所述S42步骤中,计算良性客户端的个性化模型在其本地数据上的经验风险的表达式如下:其中,为良性客户端的本地数据,为其本地数据量,y为良性客户端的本地数据标签,为客户端的本地数据样本,为良性客户端的基础层,为良性客户端的个性化层,为非负的凸损失函数,为预测层,为个性化模型的特征提取模块对输入样本x的输出。
9.根据权利要求7或8所述的一种抵御联邦学习标签翻转攻击的方法,其特征在于,所述S44步骤中,基于生成网络和良性客户端的个性化模型在其本地数据上的经验风险优化本地模型的表达式如下:其中,为机器学习中的代价函数,表示样本采样于产生的数据分布空间。
10.一种抵御联邦学习标签翻转攻击的系统,应用于权利要求1~9任一项所述的抵御联邦学习标签翻转攻击的方法,其特征在于,包括:生成网络训练模块,用于在服务端训练生成网络,并基于服务端本地的全局模型学习标签到潜在特征空间的映射关系;
数据质量检测模块,用于在客户端基于全局模型和生成网络检测每个客户端的数据质量;
客户端分类模块,用于在服务端根据每个客户端的数据质量,将客户端分为良性客户端集合和恶意客户端集合,并取消每个恶意客户端参与本轮训练的资格;
客户端个性化模块,用于在客户端,每个良性客户端分别构建个性化模型,并以生成网络产生的增强表征作为归纳偏置对本地训练进行调节;
全局模型聚合模块,用于在服务端,对每个良性客户端完成本地训练后返回的模型参数进行聚合,根据经过聚合的模型参数对全局模型进行更新。