一种联邦学习投毒攻击防御方法

专利2026-07-24  5


本发明属于安全聚合,尤其涉及一种联邦学习投毒攻击防御方法。


背景技术:

1、联邦学习是一种分布式机器学习方法,用于在保护数据隐私的前提下进行模型训练。在传统的集中式机器学习中,数据通常集中在中央服务器上进行训练,但涉及敏感数据时存在隐私和安全风险。联邦学习通过在本地设备上进行模型训练,仅共享模型参数而不共享原始数据,保护了用户隐私。

2、但是联邦学习也面临着诸多安全的问题,联邦学习涉及多个设备或参与者,在分布式环境中协同完成模型训练,这种分布性增加了攻击的风险,因为有可能存在恶意参与者。例如投毒攻击,极易出现在联邦学习中。投毒攻击方式主要有两类,(1)篡改训练数据,防止模型收敛,这称为数据投毒攻击;(2)构建恶意梯度或者恶意模型,参与全局模型聚合,这称为模型投毒攻击。恶意参与者可以通过传递虚假的模型更新,或者篡改训练数据,构建异常局部模型,进而干扰全局模型的训练,破坏模型的准确性。

3、现有的算法为了保证训练的收敛性和准确性,往往会简单地丢弃大部分的梯度信息。这可能导致部分梯度的重要性被忽视,而且一些恶意节点可能会伪装的非常巧妙难以识别和处理,从而影响最终模型的性能。例如krum算法,选择欧式距离近的梯度进行聚合,以排除恶意或异常的梯度。然而,这种过滤器方式可能会导致大量的梯度信息丢失,降低训练的准确性和收敛性。因此,在投毒攻击方式下,如何提高联邦学习的聚合效果,是本方案要解决的研究问题。


技术实现思路

1、为了解决现有技术中,投毒攻击的恶意节点难以检测,以及保证大量的梯度信息不丢失的情况,本文提供一种联邦学习投毒攻击防御方法。包括服务器和联邦学习客户端,具体步骤为:

2、s1:服务器初始化全局模型以及学习率η并将其广播给各客户端。

3、s2:客户端接收服务器的全局模型wt,使用本地的数据计算局部梯度和损失值,再将局部梯度和损失值上传到服务器。

4、2.1参与联邦学习的第i个客户端ci下载全局模型wt,作为第t次全局迭代中客户端的训练模型。

5、2.2参与联邦学习的第i个客户端ci根据自己的数据集di,使用全局模型wt,计算第t次全局迭代中第i个客户端的梯度和损失值fi(wt)。

6、2.3参与联邦学习的第i个客户端ci将梯度和损失值fi(wt)上传到服务器。

7、s3:根据梯度服务器使用局部离群因子算法剔除恶意参数簇,保留正常参数簇。

8、3.1求各个客户端梯度的单位化梯度,记第t次全局迭代中第i个客户端梯度的单位化梯度为计算过程如下:

9、第t次全局迭代中第i个客户端的梯度为对各个客户端的梯度进行单位化,第i个客户端的单位化梯度式中||·||2为l2范数。

10、3.2对于每个客户端,计算客户端单位化梯度与第l距离邻域内各个点的可达距离,记客户端单位化梯度为点o,记点o的第l距离邻域内客户端单位化梯度为点p,记点o到点p的第l可达距离为reachdistl(o,p),reachdistl(o,p)计算公式如下:

11、reachdistl(o,p)=max{dl(o),d(o,p)}

12、式中dl(o)为领域点o的第l距离,d(o,p)为领域点o到p的距离。

13、其中领域点o到p的距离领域点o的第l距离dl(o)定义为:dl(o)=d(o,p),满足:在集合中至少有不包括o在内的l个点p′,使得d(o,p′)≤d(o,p);在集合中至多有不包括o点在内的l-1个点p′,使得d(o,p′)<d(o,p)。

14、3.3对于每个客户端,计算客户端单位化梯度的第l局部可达密度,记客户端单位化梯度为点o,记点o的第l局部可达密度为lrdl(o),lrdl(o)计算公式如下:

15、

16、式中nl(o)是数据点o的第l距离邻域,指点o的第l距离内所有点的集合,包括第l距离上的点,|nl(o)|指nl(o)内数据点的个数,且|nl(o)|≥l。

17、3.4对于每个客户端,计算客户端单位化梯度的第l局部离群因子,记客户端单位化梯度为点o,记点o的局部离群因子为lofl(o),lofl(o)计算公式如下:

18、

19、3.5将局部离群因子由大到小排序,选择前10%个lofl(o)的点聚为恶意参数簇,其他的点聚为正常参数簇。或者如果lofl(o)小于等于1说明点o为密集点,lofl(o)大于1说明点o为稀疏点,将稀疏点聚为恶意参数簇,密集点聚为正常参数簇。

20、s4:全局梯度聚合,服务器再通过正常参数簇中的各个客户端上传的梯度和损失值fk(wt),执行得分计算,并计算第t+1轮的全局模型wt+1。

21、4.1对正常参数簇中各个客户端单位化梯度进行求和得到向量vt。

22、4.2计算正常参数簇中各个客户端梯度与求和向量vt之间的余弦距离,记第t次全局迭代中第k个客户端的梯度与求和向量vt之间的余弦距离为

23、4.3将进行归一化处理,记第t次全局迭代中第k个客户端的归一化结果为

24、4.4将正常参数簇中的各个客户端的损失值fk(wt)进行归一化处理,记第t次全局迭代中第k个客户端损失值归一化结果为fk(wt)′。

25、4.5计算正常参数簇中的各个客户端的得分情况,记第t次全局迭代中第k个客户端的得分为计算公式如下:

26、

27、4.6计算第t+1轮的全局模型wt+1,计算公式如下:

28、

29、式中为第t次全局迭代中第k个客户端的得分值,wt为第t次全局迭代中客户端的训练模型权重,η为客户端训练的学习率,为第t次全局迭代中第k个客户端的梯度。由上式可知,当客户端模型梯度向量与求和梯度向量之间的差异量越小,模型权重就越大,当损失值越小时,模型权重就越大,实现降低投毒攻击节点的权重,增加模型的鲁棒性。

30、s5、不断迭代步骤s2至步骤s4,直到学习模型满足所需的性能或达到最大迭代次数t。

31、本发明有益效果:

32、保真性:在没有攻击的情况下,本发明提出的算法的全局模型准确率和fedavg、krum等算法基本一致,均能取得较好的效果。提高联邦学习的聚合效果,能够准确的进行投毒攻击防御。

33、鲁棒性:在针对10%的参与方进行毒害的情况下,本发明提出的算法的全局模型准确率优于fedavg、krum等算法,在针对30%的参与方进行毒害的情况下,本文提出的算法的全局模型准确率优于fedavg算法,与krum算法基本一致。



技术特征:

1.一种联邦学习投毒攻击防御方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的联邦学习投毒攻击防御方法,其特征在于,所述步骤s2具体过程如下:

3.根据权利要求2所述的联邦学习投毒攻击防御方法,其特征在于,步骤s3具体过程如下:

4.根据权利要求3所述的联邦学习投毒攻击防御方法,其特征在于,步骤3.5还能够通过如下方式实现:

5.根据权利要求3或4所述的联邦学习投毒攻击防御方法,其特征在于,步骤s4具体过程如下:


技术总结
本发明公开了一种联邦学习投毒攻击防御方法,该方法首先参数初始化,服务器初始化全局模型和学习率,并广播给各客户端。其次客户端接收服务器的全局模型,使用本地的数据计算局部梯度和损失值,再将局部梯度和损失值上传到服务器。然后根据梯度,服务器使用局部离群因子算法剔除恶意参数簇,保留正常参数簇。最后服务器通过正常参数簇中的各个客户端上传的梯度和损失值,执行得分计算,并计算第t+1轮的全局模型,并不断迭代更新。本发明提高联邦学习的聚合效果,能够准确的进行投毒攻击防御。

技术研发人员:李伟,孙曜
受保护的技术使用者:杭州电子科技大学
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1831985.html

最新回复(0)