个人阅读笔记,如有错误欢迎指出!
期刊:IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS(TII) A Stability-Enhanced Dynamic Backdoor Defense in Federated Learning for IIoT | IEEE Journals & Magazine | IEEE Xplore
问题:
1、在工业物联网领域由于设备和所收集到数据不同,存在非独立同分布问题
2、在非独立同分布场景下,现有的联邦后门防御策略难以区分具有较大异质性的良性客户端与恶意客户端
创新:
发现了客户端数据的异质性程度能反映在模型更新方向上
将非独立同分布场景切割成了多个内部近似独立同分布的簇,在切割后的簇上进行过滤
方法:
观察: 通过衡量四个客户端更新方向之间的余弦相似度,评估四个客户端模型在迭代训练过程中更新方向的一致性,图a为在MNIST数据集上四个客户端在各类别上的数据分布情况,图b为50轮余弦相似度热力图。得出结论数据分布越相似,模型在训练过程中更新方向越一致。
根据该发现,通过每轮观察余弦距离实现将非独立同分布场景切割为多个近似独立同分布簇,以下是对切割簇的定义
方法总览
方法分为三个步骤:动态客户端匹配、模型过滤、鲁棒聚合与更新。
动态客户端匹配:
具体方法为测量各客户端上传到服务器的梯度和全局模型梯度之间的余弦相似度
使用HDBSCAN对余弦相似度聚类,该聚类方法是根据点的密度聚类,不预先设定簇的个数,符合联邦现实场景,因为防御方无法先验的知道客户端的数据分布情况。由于是对梯度角度进行的,因此聚类得到的结果为对客户端的划分,簇内环境可以视为近似IID环境。(此外,由于恶意客户端被控制下植入相同的触发器和相同的训练模式,其模型更新也更相似,该步骤也能初步将恶意客户端聚类到一个簇中)
对每个簇进行初步聚类,得到簇内全局模型用于后续步骤。
模型过滤:
以相同的比例从动态匹配得到的各个簇采样(保证不同分布的客户端都能公平的参与联邦训练过程)
对采样到的客户端使用层次聚类,聚成两个簇,拥有点数更少的簇视为潜在的恶意客户端簇
对点数更多的良性簇使用基于统计的聚合方法(Median或Mean等)得到簇外全局模型
鲁棒聚合与更新:
将簇外全局模型下发到各个簇中,和簇内全局模型相聚合得到适配于该簇数据分布的个性化全局模型,下发至该簇内用于更新簇内客户端。
对于模型过滤中被过滤的客户端所在的簇,直接下发簇外全局模型,以避免第一部中被误分的良性客户端无法更新
实验
在不同攻击下的防御效果与对比试验
在不同non-IID场景下对比Median方法的稳定性
non-IID场景下结果
不同trigger下的防御效果
总结
切合工业物联网场景,思路还是很巧妙地,通过模型的更新方向将non-IID转换为多个近似IID场景