READ-2203 FLDetector: Defending Federated Learning Against Model Poisoning Attacks via Detecting Mal

READ-2203 FLDetector: Defending Federated Learning Against Model Poisoning Attacks via Detecting Malicious Clients

论文名称FLDetector: Defending Federated Learning Against Model Poisoning Attacks via Detecting Malicious Clients
作者Zaixi Zhang, Xiaoyu Cao, Jinyuan Jia, Neil Zhenqiang Gong
来源SIGKDD2022
领域Machine Learning – Federal learning – Against Poisoning Attacks
问题防御中毒攻击主要依赖于拜占庭鲁棒或可证明鲁棒的FL方法,其目的是学习精确的全局模型,但是,它们只能抵抗少数恶意客户端。FLDetector就解决了大量恶意客户端的模型投毒攻击的挑战
方法服务器根据历史模型更新在每次迭代中预测客户端的模型更新,如果从客户端接收到的模型更新与预测的模型更新在多个迭代中不一致,则将客户端标记为恶意。FLDetector检测并删除大部分恶意客户端,这样拜占庭鲁棒或可证明鲁棒的FL方法就可以使用剩余的客户端学习准确的全局模型
创新基于无监督方法,计算预测模型更新和客户端真实更新的相似度,以检测恶意客户端

阅读记录

一、基本概念
  1. Byzantine-robust FL
    拜占庭鲁棒FL方法理论上可以约束由恶意客户端引起的全局模型参数的变化,而证明鲁棒FL方法可以保证测试精度的下界。
    (1)Krum:从欧式距离的角度,选择最接近n-k-2轮全局模型更新的客户端更新作为本轮全局更新。
    (2)Trimmed-Mean and Median:对于全局模型的每个维度,将所有客户端模型在该维度上的更新进行排序,去除最大和最小的k个更新,计算剩余n-2k个更新的均值或中位数作为该维度上的更新。
    (3)FLTrust:在服务器上设置验证集,若客户端更新的方向远偏离于服务器上的更新,则拥有较低的信任分数。
  2. 攻击模型
    (1)客户端:攻击者控制m个恶意客户端,其中恶意客户端要么是受攻击者控制的真实客户端,要么是由攻击者安插的假客户端。
    (2)服务器:非恶意
    (3)攻击者:拥有恶意客户端的本地数据、模型更新、损失函数、学习率
    (4)攻击:良性客户端发送真实模型更新,恶意客户端发送修改过的更新
  3. 问题定义:在每轮更新中,利用客户端当前和之前的模型更新进行分类
  4. 目标:尽早发现恶意客户端,从而使拜占庭健壮的FL可以抵御少量恶意客户端的攻击
二、FLDetection
  1. 模型更新一致性
    (1)客户端本地更新
    客户端更新
    为客户端前后两轮通信时的局部梯度建立联系,其中H为Hessian矩阵
    note
    Hessian矩阵是二阶偏导方阵,决定了最佳学习率的下界。如果海森矩阵的条件数很大的话,损失函数在最陡峭的方向的梯度相较于其他方向非常小,将导致下降极慢。其中,一阶导数衡量梯度,二阶导数衡量曲率,当二阶导大于零时原曲线下凹。
    (2)预测客户端更新
    由于服务器难以计算客户端Hessian矩阵,采用L-BFGS算法进行近似计算H
    客户端更新
    利用L-BFGS算法近似计算后,预测的客户端更新为:
    预测更新

  2. 检测恶意客户端
    (1)计算每个客户端可疑分数

    • 计算客户端更新和预测更新之间的欧氏距离
    • 标准化的第t轮迭代n个客户端的欧氏距离,用标准化的欧氏距离来合并不同迭代里模型更新的一致性
    • 计算过去N轮标准化欧氏距离的均值

    (2)通过k-means进行无监督检测

    • 使用怀疑分数进行聚类,用间隔统计决定聚类的数量

    • 如果基于间隔统计产生的聚类数大于1,则使用k-means进行二分类

      间隔统计:将集群内的分散度变化与参考分布(如正态分布)下的预期变化进行比较,从而决定聚类数。
      <1> 在聚类范围内,改变聚类数,使用k-means对可疑分数进行聚类。计算不同聚类数下,用户可疑分数与其均值差的和
      <2> 生成B个参考数据集(与每轮参与通信的客户端数一样),使用k-means对每个数据集进行聚类。使用参考数据集生成预估的间隔统计
      <3> 计算标准差
      <4> 选择符合条件的聚类数。若聚类数大于1,则标识符设置为正,表示存在恶意客户端
      算法2

    • 拥有更高可疑分数均值的那一类被视为恶意的

    • 若至少有一个用户在当前通信轮次被视作恶意的,服务器将移除被视作恶意的客户端并重新本轮训练
      算法3

  3. 对可疑分数的分析
    (1)L-smooth
    如果损失函数满足下式,则是L光滑的:
    4

(2)FLDetection的可用性
如果每个客户端的损失函数都是L光滑的,将FedAvg作为聚合函数,客户端的数据集是独立同分布的,学习率满足以下条件,假设恶意客户端通过翻转真实模型更新进行投毒攻击,那么本算法希望良性客户端的可疑分数小于恶意客户端。
5
4. 适应性攻击
对损失函数添加额外的正则项进行攻击。该正则项用于测量本地模型更新和预测模型更新发欧氏距离。

6


实验结果

一、检测恶意客户端的结果

实验一

  • FLDetector可以检测大多数恶意客户端
  • FLDetector错误地将一小部分良性客户端检测为恶意客户端
  • 在FEMNIST上,FLDetector在不同的攻击和FL方法上优于VAE;在MNIST和CIFAR10上FLDetector在大多数情况下优于VAE
  • FLDetector在大多数情况下优于这两种变体,而在其余情况下实现了可比的性能,这意味着模型更新一致性和Hessian向量乘积对检测恶意客户端方面具有信息性
  • 与FedAvg相比,FLDetector在拜占庭稳健FL方法中实现了更高的DACC。原因可能是拜占庭稳健FL方法提供了攻击下全局模型更新的更稳健估计,这使得Hessian和FLDetector的估计更准确。

二、检测全局模型的性能

“no attack”是指使用其余72%的良性客户学习全球模型;“w/o FLDetector”是指使用所有客户端(包括良性和恶意客户端)学习全局模型;“w/FLDetector”表示服务器使用FLDetectors检测恶意客户端,在检测到恶意客户端后,服务器删除它们并使用剩余客户端重新启动FL训练。
实验二

  • 使用部署在不同攻击下的FLDetector学习的全球模型与在无攻击下学习的模型一样准确
  • 通过部署FLDetector学习的全球模型的ASR非常小。这是因为在FLDetector检测并删除大多数恶意客户端之后,拜占庭式的FL方法可以抵御少数未检测到的恶意客户端。

三、检测恶意客户端对FLDetection的影响

实验三
FLDetector的DACC在恶意客户端的数量大于某个阈值或非iid程度大于某一阈值后开始下降,但这些阈值依赖于攻击。

四、检测客户端数据non-iid程度对FLDetection的影响

实验四

  • 针对不同数量的恶意客户端和非iid程度,部署FLDetector后学习的全局模型比未部署FLDetective时学习的全局模式更准确
  • 在部署FLDetector的情况下,学习的全球模式的ASR远小于未部署FLInspector的全球模型

五、检测随着恶意客户端进行周期性攻击时,客户端可疑分数的变化

实验五
在FLDetector不知道攻击何时开始或结束的情况下:

  • 恶意客户端的平均可疑分数在攻击开始时快速增长,而在攻击停止时下降到与良性客户端的平均值大致相同。
  • 可以根据可疑分数很好地区分恶意和良性客户端
  • FLDetector可以在大约60次迭代时检测恶意客户端
  • 在有攻击(或没有攻击)的迭代中,良性客户端的平均可疑分数降低(或增加)

六、检测适应性攻击和超参数选择对FLDetection的影响

实验六

  • 显示了将缩放攻击应用于FLDetector时的性能:DACC随着正则化因子减小而减少。然而,ASR仍然很低,因为来自恶意客户端的本地模型更新在试图逃避检测时攻击效果较差
  • 显示了检测迭代的影响:尽管早期迭代具有不稳定性,FLDetector启动较早时DACC略有下降,但FLDetector仍然可以通过删除大多数恶意客户端来抵御缩放攻击
  • 探讨了超参数N的影响:当N较小时DACC有略微的下降,这是因为可疑分数在少数几个回合内波动
  • 探讨了超参数B的影响:考虑到检测精度和计算复杂性之间的权衡,在实验中,选择N=10、B=20作为默认设置。

总结

针对中毒攻击,本文提出了FLDetection的防御方案,是对拜占庭健壮的联邦学习的加强。文章通过无监督学习寻找恶意客户端,去除恶意客户端后重新进行学习。从本文的实验结果上看,虽然文章可以很好的去除恶意客户端,但是也带走了部分良性客户端,这可能是由于在聚类过程中,FLDetection仅使用了预测更新和实际更新的距离作为聚类标准,无法较好的区分恶意客户端和良性客户端的特征。

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 课程大作业基于联邦学习模型的对抗攻击python源码+详细注释+模型.zip课程大作业基于联邦学习模型的对抗攻击python源码+详细注释+模型.zip课程大作业基于联邦学习模型的对抗攻击python源码+详细注释+模型.zip课程大作业基于联邦学习模型的对抗攻击python源码+详细注释+模型.zip课程大作业基于联邦学习模型的对抗攻击python源码+详细注释+模型.zip 课程大作业基于联邦学习模型的对抗攻击python源码+详细注释+模型.zip 课程大作业基于联邦学习模型的对抗攻击python源码+详细注释+模型.zip课程大作业基于联邦学习模型的对抗攻击python源码+详细注释+模型.zip课程大作业基于联邦学习模型的对抗攻击python源码+详细注释+模型.zip课程大作业基于联邦学习模型的对抗攻击python源码+详细注释+模型.zip 课程大作业基于联邦学习模型的对抗攻击python源码+详细注释+模型.zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值