【论文翻译】AFLGuard: Byzantine-robust Asynchronous Federated Learning

提示:该论文标题为AFLGuard: Byzantine-robust Asynchronous Federated Learning,我将对其进行部分翻译,便于后续阅读。


AFLGuard:拜占庭鲁棒的异步联邦学习

ACM International Conference Proceeding Series, Pages 632-646, December 5, 2022


一、摘要

联邦学习(FL)是一种新兴的机器学习范式,在这种范式中,客户端在云服务器的帮助下共同学习模型。联邦学习的一个基本挑战是客户端通常是异构的,例如,它们具有不同的计算能力,因此客户端可能以不同的延迟向服务器发送模型更新。异步联邦学习旨在通过使服务器在接收到任何客户端的模型更新后立即更新模型,而无需等待其他客户端的模型更新来解决这个挑战。然而,与同步联邦学习一样,异步联邦学习也容易受到污染攻击,恶意客户端通过污染本地数据和/或发送给服务器的模型更新来操纵模型。拜占庭鲁棒的联邦学习旨在抵御污染攻击。特别是,即使某些客户端是恶意的并具有拜占庭行为,拜占庭鲁棒的联邦学习也能学习出准确的模型。然而,目前大多数关于拜占庭鲁棒联邦学习的研究集中在同步联邦学习上,导致异步联邦学习仍然未被充分探索。在本工作中,我们通过提出AFLGuard——一种拜占庭鲁棒的异步联邦学习方法,填补了这一空白。我们理论和实证上证明,AFLGuard对各种现有和自适应的污染攻击(包括非定向和定向攻击)具有鲁棒性。此外,AFLGuard在性能上优于现有的拜占庭鲁棒异步联邦学习方法。

二、引言

在本研究中,我们提出了AFLGuard,一种拜占庭鲁棒的异步联邦学习框架,旨在解决上述挑战。在AFLGuard中,我们处理异步复杂性的关键思想是为服务器配备一个小而干净的训练数据集,我们称之为受信数据集。服务器(例如,Meta、Google)可以手动收集该受信数据集以用于学习任务。当服务器接收到来自客户端的模型更新时,它基于受信数据集和当前全局模型计算一个模型更新(称为服务器模型更新)。只有当客户端的模型更新在方向和幅度上与服务器模型更新没有太大偏差时,服务器才会接受该更新。具体来说,如果客户端和服务器模型更新之间的差异向量的幅度小于服务器模型更新幅度的一定比例,则服务器会使用客户端的模型更新来更新全局模型。更新后的全局模型随后发送给客户端。

有趣的是,我们展示了AFLGuard这一简单直观的想法具有强大的理论保证。具体来说,在拜占庭鲁棒联邦学习社区广泛采用的温和假设下,

注:在拜占庭鲁棒的联邦学习方法中,服务器无法确定每个客户端的可信度或意图。因为服务器对客户端的行为和数据没有先验的信任基础,所以在服务器看来,每个客户端都可能是恶意的。

我们证明了在没有恶意客户端的情况下最优全局模型参数与AFLGuard在任意数量恶意客户端下学习的全局模型参数之间的差异是有界的。我们还进行了实证评估,将AFLGuard与最先进的拜占庭鲁棒异步联邦学习方法在一个合成数据集和五个真实数据集上进行了比较。实验结果表明,当大部分客户端是恶意的时,AFLGuard能够抵御各种现有和自适应的污染攻击。此外,AFLGuard在性能上显著优于现有的拜占庭鲁棒异步联邦学习方法。

我们总结了以下主要贡献:

  • 我们提出了一种名为AFLGuard的拜占庭鲁棒异步联邦学习框架,以抵御异步联邦学习中的污染攻击。
  • 我们理论上证明,在拜占庭鲁棒联邦学习社区普遍采用的温和假设下,AFLGuard对任意数量的恶意客户端具有鲁棒性。
### 什么是拜占庭鲁棒联邦学习中的恶意梯度过滤方法? 拜占庭鲁棒联邦学习(Byzantine-robust federated learning)旨在解决分布式机器学习环境中存在的恶意节点问题。这些恶意节点可能会发送错误或误导性的更新,从而破坏全局模型的性能[^1]。为了应对这一挑战,研究人员提出了多种基于恶意梯度过滤的方法来增强系统的安全性。 #### 方法概述 一种常见的策略是利用统计学技术过滤掉异常的梯度更新。例如,在FL中可以采用 **Krum** 或其变体算法来进行梯度筛选。Krum的核心思想是从多个客户端提交的梯度中选出最接近其他梯度的一个作为最终更新向量[^2]。这种方法假设大多数客户端都是诚实的,并且它们之间的梯度应该彼此相似。然而,当存在大量恶意客户端时,简单的多数投票机制可能失效,因此需要更复杂的防御手段。 另一种有效的方式是引入差分隐私与轻量级同态加密相结合的技术方案。该方案不仅能够保护用户数据免受泄露风险,还能抵御来自云服务器的好奇心窥探以及潜在合谋行为的影响。具体而言,通过对每个参与者的贡献施加噪声扰动处理后再进行加密传输,使得即使某些参与者联合起来也无法还原出原始敏感信息。 此外还有针对特定场景下的优化措施,比如对于那些希望从整体模型改进中有利可图但却又担心自己私密资料暴露出去的企业来说,则可通过设置不同类型的客户群体分类管理机制加以平衡利益关系;而对于防范推理攻击方面则需注意防止求解器和验证者之间共享过多细节以免造成额外安全隐患等问题[^3]。 ```python def krum_algorithm(gradients, num_malicious_clients=0): """ Selects the most representative gradient using Krum algorithm. Args: gradients (list): List of client-side computed gradients. num_malicious_clients (int): Number of expected malicious clients. Returns: np.ndarray: Selected gradient vector after applying Krum filter. """ import numpy as np distances = [] n_clients = len(gradients) # Compute pairwise distance matrix among all pairs of gradients for i in range(n_clients): dist_i = sum(np.linalg.norm(g - gradients[i]) for g in gradients if not np.array_equal(g, gradients[i])) distances.append(dist_i) sorted_indices = np.argsort(distances)[:n_clients-num_malicious_clients-2] filtered_gradients = [gradients[idx] for idx in sorted_indices] avg_gradient = np.mean(filtered_gradients, axis=0) return avg_gradient ``` 上述代码片段展示了如何实现基本版的Krum算法用于挑选最优代表梯度的过程。它计算每一对梯度间的欧几里得距离总和并选取最小值对应的那组参数作为输出结果之一。 #### 总结 综上所述,通过协作式的恶意梯度过滤达成拜占庭容错能力是一项复杂而重要的课题。这涉及到多方面的考量因素包括但不限于:选择合适的抗干扰算法框架、合理配置安全防护等级设定等等。未来随着更多实际应用场景需求涌现出来必将推动此领域进一步深入探索与发展。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虫本初阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值