个人阅读笔记,如有错误欢迎指正。
ArXiv 2020 [2002.00211] Learning to Detect Malicious Clients for Robust Federated Learning (arxiv.org)
问题:
考虑两种攻击,无目标和有目标。无目标:降低整体性能,e.g. 拜占庭。有目标:后门,降低某一类别的精度。
分布式中对拜占庭攻击的防御不适用于FL,其目标是容忍对抗性攻击并通过更新减轻负面影响,而无法将恶意更新与正常更新区分开。且数据大多为IID
创新:
通过异常模型的低维嵌入来检测异常模型更新,去除了噪声和不相关的特征,同时保留了基本特征。(低维空间中恶意特征更容易被检测)
方法:
恶意检测:
使用encoder-decoder训练模型。encoder将原始数据实例作为输入,并输出低维嵌入。decoder基于嵌入重构原始数据实例并生成重构误差。然后利用重构误差优化encoder-decoder的参数,直到收敛。
在对正常情况进行训练后,模型能够识别异常情况,因为真实恶意模型触发的重建误差比正常情况高得多。
如果恶意客户端想要降低模型性能,则必须对其更新进行大量修改。因此,恶意客户端很容易被抓到,因为恶意更新会导致比良性更新更大的重建错误。此重建错误是检测恶意更新的关键。
绿:集中训练生成的无偏模型更新。蓝:FL良性模型的潜在向量。红:FL恶意模型的潜在向量。
去除恶意更新
将检测阈值设置为所有重建误差的平均值
重建误差高于阈值的更新被认为是恶意的,并且被排除在聚合步骤之外
聚合过程只考虑良性更新,每个良性更新的权重是根据其局部训练数据集的大小分配的
实验:
第一行CNN+FEMNIST;第二行LR+MNIST;第三行RNN+Sentiment140。前两列中30%和50%攻击者的加性噪声攻击。后两列30%和50%攻击者的符号翻转攻击。
MNIST FEMENIST Sentiment40 后门攻击
防御攻击的F1评分
总结
优点:
检测阈值是在接收到客户端的模型更新后动态更新的
低维特征能够很好的区分出恶意客户端
局限性:
需要额外的公共数据集和集中的训练过程来提供无偏见的模型更新,从而训练变分自编码器,而这在现实世界的联邦学习中是比较难实现的
牺牲了一定的隐私,与安全聚合不兼容。在安全聚合协议中,服务器无法知道用户局部更新的明文,服务器不能检测参与者对全局模型的异常贡献,这种方法无法使用