1.一种基于聚类的联邦学习搭便车攻击防御方法,其特征在于,包括以下步骤:
服务端将客户端训练得到的更新模型作为变分自编码器的输入,计算变分自编码器对更新模型的重建概率,依据该重建概率进行搭便车攻击客户端的第一次筛选滤除;
针对每个客户端,服务端对多轮训练的更新模型的重建概率进行聚类,依据时间域上聚类结果的相似度进行搭便车攻击客户端的第二次筛选滤除;
服务端对经过二次筛选滤除剩下的更新模型进行聚合得到全局模型,并将全局模型分配至客户端进行下一轮训练,客户端在对全局模型进行下一轮训练时上传利用本地样本数据对全局模型的测试精度,依据测试精度实现对搭便车攻击客户端的第三次筛选滤除;其中,依据公式(1)计算变分自编码器对模型参数的重建概率:(i) (i)
其中,pθ(x )表示输入变分自编码器的第i个数据点x 的对数似然函数值,该似然函数值作为重建概率,z表示数据x经过参数为θ的编码器编码得到的隐变量概率分布中采样的隐变量,pθ(z)表示隐变量z的先验概率分布, 表示隐变量z通过参数为 的解码器的近似后验概率分布,DKL(·)表示KL散度,用于衡量两个概率分布的相似程度,L(·)表示第i个数据点的对数似然函数的变分下界,其计算公式为:(i)
其中, 表示针对数据点x 的隐变量z通过参数为 的解码器的近似后验概率分布,pθ(x|z)表示给定潜在变量z的数据x的可能性概率分布, 表示通过近似后验概率分布 编码和可能性概率分布pθ(x|z)解码来重建数据x的期望。
2.如权利要求1所述的基于聚类的联邦学习搭便车攻击防御方法,其特征在于,依据该重建概率进行搭便车攻击客户端的第一次筛选滤除时,比较每个客户端的更新模型对应的重建概率,将重建概率与所有重建概率的均值之差大于设定阈值的重建概率对应的客户端作为搭便车攻击客户端并滤除,实现搭便车攻击客户端的第一次筛选滤除。
3.如权利要求1所述的基于聚类的联邦学习搭便车攻击防御方法,其特征在于,依据该重建概率进行搭便车攻击客户端的第一次筛选滤除时,将客户端的更新模型对应的重建概率排序,依据排序结果将与相邻重建概率相差大于容忍阈值的重建概率对应的客户端作为搭便车攻击客户端并滤除,实现搭便车攻击客户端的第一次筛选滤除。
4.如权利要求1所述的基于聚类的联邦学习搭便车攻击防御方法,其特征在于,采用t‑SNE算法对多轮训练的更新模型的重建概率进行聚类,依据时间域上聚类结果的相似度进行搭便车攻击客户端的第二次筛选滤除。
5.如权利要求4所述的基于聚类的联邦学习搭便车攻击防御方法,其特征在于,采用t‑SNE算法对每个客户端的多轮训练的更新模型进行聚类并依据聚类结果进行搭便车攻击客户端的第二次筛选滤除的过程为:首先,初始化K个聚类中心,则重建概率距离聚类中心的距离满足t‑分布;
其中,zi表示第i个的重建概率,μj表示第j个聚类中心,μj′表示第j′个聚类中心,||·|2
|表示距离的平方,α表示分配自由度,qi,j表示重建概率zi属于聚类中心μj的概率;
然后,规范每个聚类中心的损失贡献,以防大类扭曲重建概率,则:
其中, 用来规范每个聚类中心的损失贡献,以防大类扭曲
重建概率,N为每个客户端到当前轮次为止已经训练的轮次数,也就每个客户端到当前轮次为止对应的重建概率的总个数,pi,j表示重建概率zi属于聚类中心μj的辅助概率;
接下来,依据KL散度来衡量概率qi,j和辅助概率pi,j的相似度L:
最后,比较每个客户端的相邻两个轮次的相似度L,若两个轮次的相似度L之差大于设定阈值,则认为客户端为搭便车攻击客户端并滤除,实现搭便车攻击客户端的第二次筛选滤除。
6.如权利要求1所述的基于聚类的联邦学习搭便车攻击防御方法,其特征在于,服务端采用以下两种方式对经过二次筛选滤除剩下的更新模型进行聚合,得到全局模型;
方式一:平均聚合方式,即对所有客户端的更新模型参数取平均值获得全局模型参数;
方式二:加权聚合方式,即为每个客户端的更新模型参数赋予权重,然后加权求和所有客户端的更新模型参数获得全局模型参数。
7.如权利要求1所述的基于聚类的联邦学习搭便车攻击防御方法,其特征在于,依据测试精度实现对搭便车攻击客户端的第三次筛选滤除时,若客户端无法生成测试精度且没有上传测试精度,则认为该客户端为搭便车攻击客户端并滤除,实现对搭便车攻击客户端的第三次筛选滤除。
8.如权利要求1所述的基于聚类的联邦学习搭便车攻击防御方法,其特征在于,在每轮训练时,对客户端均采用三次筛选滤除,直到连续多次没有检测出搭便车攻击客户端,停止筛选滤除操作。