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方法就可以使用剩余的客户端学习准确的全局模型 |
创新 | 基于无监督方法,计算预测模型更新和客户端真实更新的相似度,以检测恶意客户端 |
阅读记录
一、基本概念
- Byzantine-robust FL
拜占庭鲁棒FL方法理论上可以约束由恶意客户端引起的全局模型参数的变化,而证明鲁棒FL方法可以保证测试精度的下界。
(1)Krum:从欧式距离的角度,选择最接近n-k-2轮全局模型更新的客户端更新作为本轮全局更新。
(2)Trimmed-Mean and Median:对于全局模型的每个维度,将所有客户端模型在该维度上的更新进行排序,去除最大和最小的k个更新,计算剩余n-2k个更新的均值或中位数作为该维度上的更新。
(3)FLTrust:在服务器上设置验证集,若客户端更新的方向远偏离于服务器上的更新,则拥有较低的信任分数。 - 攻击模型
(1)客户端:攻击者控制m个恶意客户端,其中恶意客户端要么是受攻击者控制的真实客户端,要么是由攻击者安插的假客户端。
(2)服务器:非恶意
(3)攻击者:拥有恶意客户端的本地数据、模型更新、损失函数、学习率
(4)攻击:良性客户端发送真实模型更新,恶意客户端发送修改过的更新 - 问题定义:在每轮更新中,利用客户端当前和之前的模型更新进行分类
- 目标:尽早发现恶意客户端,从而使拜占庭健壮的FL可以抵御少量恶意客户端的攻击
二、FLDetection
模型更新一致性
(1)客户端本地更新
为客户端前后两轮通信时的局部梯度建立联系,其中H为Hessian矩阵
note
Hessian矩阵是二阶偏导方阵,决定了最佳学习率的下界。如果海森矩阵的条件数很大的话,损失函数在最陡峭的方向的梯度相较于其他方向非常小,将导致下降极慢。其中,一阶导数衡量梯度,二阶导数衡量曲率,当二阶导大于零时原曲线下凹。
(2)预测客户端更新
由于服务器难以计算客户端Hessian矩阵,采用L-BFGS算法进行近似计算H
利用L-BFGS算法近似计算后,预测的客户端更新为:
检测恶意客户端
(1)计算每个客户端可疑分数- 计算客户端更新和预测更新之间的欧氏距离
- 标准化的第t轮迭代n个客户端的欧氏距离,用标准化的欧氏距离来合并不同迭代里模型更新的一致性
- 计算过去N轮标准化欧氏距离的均值
(2)通过k-means进行无监督检测
使用怀疑分数进行聚类,用间隔统计决定聚类的数量
如果基于间隔统计产生的聚类数大于1,则使用k-means进行二分类
间隔统计:将集群内的分散度变化与参考分布(如正态分布)下的预期变化进行比较,从而决定聚类数。
<1> 在聚类范围内,改变聚类数,使用k-means对可疑分数进行聚类。计算不同聚类数下,用户可疑分数与其均值差的和
<2> 生成B个参考数据集(与每轮参与通信的客户端数一样),使用k-means对每个数据集进行聚类。使用参考数据集生成预估的间隔统计
<3> 计算标准差
<4> 选择符合条件的聚类数。若聚类数大于1,则标识符设置为正,表示存在恶意客户端
拥有更高可疑分数均值的那一类被视为恶意的
若至少有一个用户在当前通信轮次被视作恶意的,服务器将移除被视作恶意的客户端并重新本轮训练
对可疑分数的分析
(1)L-smooth
如果损失函数满足下式,则是L光滑的:
(2)FLDetection的可用性
如果每个客户端的损失函数都是L光滑的,将FedAvg作为聚合函数,客户端的数据集是独立同分布的,学习率满足以下条件,假设恶意客户端通过翻转真实模型更新进行投毒攻击,那么本算法希望良性客户端的可疑分数小于恶意客户端。
4. 适应性攻击
对损失函数添加额外的正则项进行攻击。该正则项用于测量本地模型更新和预测模型更新发欧氏距离。
实验结果
一、检测恶意客户端的结果
- 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仅使用了预测更新和实际更新的距离作为聚类标准,无法较好的区分恶意客户端和良性客户端的特征。
READ-2203 FLDetector: Defending Federated Learning Against Model Poisoning Attacks via Detecting Mal相关推荐
- READ-2204 FL-WBC Enhancing Robustness against Model Poisoning Attacks in Federated Learning
READ-2204 FL-WBC Enhancing Robustness against Model Poisoning Attacks in Federated Learning from a C ...
- Decentralized Federated Learning Preserves Model and Data Privacy
背景 今天介绍的还是一篇关于去中心化联邦的论文,这篇论文与之前的区别在于并不是从网络的协议入手,而是利用了迁移学习中的知识蒸馏方法来实现去中心化.这种方法虽然创新性不是很足,但是也许可以与其他架构结合 ...
- 【阅读笔记】Towards Personalized Federated Learning个性化联邦综述
文章目录 前言 1 背景 1.1 机器学习.联邦学习 1.2 促进个性化联邦学习的动机 2 个性化联邦学习的策略 2.1 全局模型个性化 2.1.1 基于数据的方法 2.1.1.1 数据增强 Data ...
- 【个性化联邦学习】Towards Personalized Federated Learning 论文笔记整理
Towards Personalized Federated Learning 一.背景 二.解决策略 2.1 策略一.全局模型个性化 2.2 策略二.学习个性化模型 三.具体方案 3.1 全局模型个 ...
- 【COPOD】Suppressing Poisoning Attacks on Federated Learning for Medical Imaging
Suppressing Poisoning Attacks on Federated Learning for Medical Imaging 抑制针对医学影像联邦学习的毒化攻击 论文 Abstrac ...
- 顶会论文笔记:联邦学习——ATPFL: Automatic Trajectory Prediction Model Design under Federated Learning Framework
ATPFL: Automatic Trajectory Prediction Model Design under Federated Learning Framework 文章目录 ATPFL: A ...
- PDGAN: A Novel Poisoning Defense Method in Federated Learning Using Generative Adversarial Network笔记
前言 论文 "PDGAN: A Novel Poisoning Defense Method in Federated Learning Using Generative Adversari ...
- 【译】Federated Learning: Bringing Machine Learning to the edge with Kotlin and Android
采用机器学习模式需要数据. 我们越多越好. 但是,数据并不便宜,更重要的是,数据可能包含敏感的个人信息. 以新法律形式作为GDPR以及提高用户和公民对其数据价值的认识的最新隐私发展正在产生对实施更多隐 ...
- 初识联邦学习(Federated learning)
联邦学习(Federated learning)最早在2016由谷歌提出,并在之后受到大量的关注.本文旨在简要介绍联邦学习,了解联邦学习的背景,而不关注联邦学习具体的实现方案.希望能解释通如下几个 ...
最新文章
- 新浪微博应用 IE下面框架嵌套框架的问题解决
- 9000亿投资浪费在数字化转型,罪魁祸首在DevOps?
- IntelliJ IDEA安装主题详细步骤
- react.JS并非完全开源,百度、Wordpress等带头弃之
- 打印product所assign的product category和hierarchy的小工具
- Maven中使用本地JAR包
- 程序员如何跟领导提离职_员工辞职不交接工作被领导怒怼:我不批离职,跟你耗着,结果蒙了...
- 2019-02-25 SQL:cast(itemvalue as decimal(19,4))
- 北京联通IPTV机顶盒管理密码
- 几率大的多线程面试题(含答案)
- 对Python的深度学习库Theano的介绍
- 计算机毕业设计ssm高校学报管理系统lt10k系统+程序+源码+lw+远程部署
- 第一行代码第二版6.4.1小节创建数据库中遇到adb shell出错的问题
- 什么时候能被好运眷顾一次:快手前端三面,败在智力题称砝码重量...
- xml读取出现中文乱码
- Cloudera Manager拓展SPARK2-2.3.0.cloudera3-1.cdh5.6.0.p0.1-el6.parcel
- ThinkPad T400重装win7系统
- 我的STM32 IAP BOOT跳转到APP进入HardFault_Handler解决方案
- 微信jsapi开发教程之如何获取jsapi_ticket(第二课)
- MyDocument.exe病毒查杀方法
热门文章
- 向量空间模型简介及算法
- 汽车汽配行业电子采购系统降低采购成本,增强企业竞争优势
- js判断多个数组之间是否存在交集
- 霸屏中关村,脑海链让KOL们身份倍增!
- kaggle maching learning笔记
- Mission Planner初学者安装调试教程指南(APM或PIX飞控)6——富斯i6通过mission planner设置飞行模式(结合二挡三挡开关设置六种飞行模式)及主要飞行模式简介
- AV-TEST杀毒软件能力测试(2018年1月-12月)杀毒软件排名
- 【每天一个Python小知识】NumPy中的np.any
- GEANT4学习资料-G4手册(steven walton)
- freekan源码v3.8.4完美版 全自动采集+自动尝鲜+会员全局+后台模板