1.一种基于模型权重更迭的联邦学习搭便车防御方法,其特征在于,具体包括以下步骤:
(1)初始化联邦学习训练环境;
(2)服务器将初始的全局模型下发给各个客户端,开始联邦学习训练;
(3)各个客户端进行联邦训练,并生成本地模型,在本地训练结束后,保存模型参数并计算本地模型倒数第二层的权重W在每次训练时的更新变化频率F矩阵;
(4)各个客户端本地训练完成后将本地模型参数和权重变化频率矩阵上传至服务端;
服务端通过聚合算法得到全局模型,并计算各个客户端间的欧式距离和计算各自权重的平均变化频率,并对欧式距离和平均频率异常的客户端进行标记;
(5)服务端下发给各个客户端更新后的全局模型,继续进行联邦学习训练;
(6)重复上述步骤(2)~(5),客户端每上传一次参数,服务端进行一次筛查,当某客户端被异常标记3次,则认为其是搭便车攻击者,将其踢出联邦学习训练。
2.根据权利要求1所述的基于模型权重更迭的联邦学习搭便车防御方法,其特征在于,步骤(3)中各个客户端进行联邦训练,并生成本地模型,得到模型参数的步骤具体为:参与训练的正常客户端,进行每轮训练,得到更新的本地训练的模型参数为:其中,(x,y)分别是Dk数据集中的数据和标签,L用来计算预测结果与真实结果的交叉熵损失函数, 为本地训练后 模型的权重参数, 为下发的后的客户端本地模型;
参与训练的恶意客户端,前三轮正常的训练,三轮后通过添加当前服务器下发的全局模型Mj和上一轮服务器下发的全局模型Mj‑1参数差;得到搭便车攻击客户端模型的更新参f
数G为:
f
G=Mj‑Mj‑1
将更新参数添加到本轮服务器下发的模型中进行伪装;生成新的本地模型 公式如下:
3.根据权利要求1所述的基于模型权重更迭的联邦学习搭便车防御方法,其特征在于,所述计算本地模型倒数第二层的权重W在每次训练时的更新变化频率F矩阵的步骤具体为:首先选取本地模型倒数第二层的权重,根据权重数量初始化一个数值全为0的矩阵用来记录每次本地模型训练时的权重变化频率次数;
然后本地训练每一轮记录每个权重在每轮训练中的更新参数的绝对值;对所有权重更新参数的绝对值求和并除以权重个数来计算动态阈值TV;
再统计每个权重的变化频率,权重变化数值大于阈值则本轮该权重变化频次加1,小于阈值则本轮该权重变化频次不变,以此更新频率矩阵;
最后更新本地权重变化的总体频率矩阵,第i轮的权重变化频率矩阵等于前i轮的权重变化频率矩阵的总和。
4.根据权利要求1所述的基于模型权重更迭的联邦学习搭便车防御方法,其特征在于,步骤(4)中所述的模型聚合公式如下:t+1 t
其中,G 为服务器端聚合后的聚合模型,G 为上一轮训练聚合后的聚合模型, 为本地训练模型, 为模型权重缩放。
5.根据权利要求1所述的基于模型权重更迭的联邦学习搭便车防御方法,其特征在于,所述步骤(4)中计算各个客户端间的欧式距离d和计算各自权重的平均变化频率favg,具体公式如下:
其中,x和y是两个不同的客户端权重变化频率矩阵;
其中,Fi是矩阵中每一个权重的变化次数,n为权重的个数。
6.一种基于模型权重更迭的联邦学习搭便车防御装置,其特征在于,包括一个或多个处理器,用于实现权利要求1‑5中任一项所述的基于模型权重更迭的联邦学习搭便车防御方法。
7.一种计算机可读存储介质,其上存储有程序,其特征在于,该程序被处理器执行时,用于实现权利要求1‑5中任一项所述的基于模型权重更迭的联邦学习搭便车防御方法。