趋近智
尽管联邦平均(FedAvg)提供了一种聚合客户端贡献的简单机制,但其对标准平均值计算的依赖使其极易受到干扰。FedAvg 很容易在一些参与方可能存在故障或主动恶意行为(即所谓的拜占庭客户端)的环境中被破坏。单个客户端提交一个精心构造的、任意大的或仅仅是无意义的更新,就能使全局模型严重偏离最优解,可能导致发散甚至引入隐藏后门。这种脆弱性需要专门设计聚合策略来抵御此类对抗行为。
拜占庭容错聚合的核心思想借鉴了鲁棒统计学。这些方法不使用对异常值敏感的算术平均值,而是采用受极端值影响较小的估计器。目标是识别并降低权重或丢弃与大多数更新相比显得异常的更新,假设拜占庭客户端是少数,并且其更新与诚实客户端提交的更新明显不同。
下面我们来考察几种聚合方法:
平均值最简单的替代方案可能是坐标级中位数。我们不按分量对更新向量进行平均,而是计算所有接收到的客户端更新中每个坐标的中位数。
假设我们接收到 n 个更新向量 v1,v2,...,vn,每个维度为 d。聚合更新 vagg 的计算方式是,其第 j 个分量(vagg,j)是所有接收到的更新的第 j 个分量的中位数:
vagg,j=中位数(v1,j,v2,j,...,vn,j)
对于每个维度 j=1,...,d。
这种方法计算效率高,明显快于几何中位数等更复杂的方法。尽管其理论保障有时较弱,但在实践中通常表现良好,并且在某些假设下可以容忍接近 50% 的拜占庭客户端比例。它的主要缺点是它独立处理每个维度,可能漏掉以关联方式跨多个维度构造的恶意更新。
截断均值提供了另一种计算上合理的方法。它的作用是丢弃一部分最可能是异常值的更新,然后计算剩余更新的平均值。
具体来说,对于每个坐标 j,服务器对值 v1,j,v2,j,...,vn,j 进行排序。假设预期的拜占庭客户端比例上限为 β,服务器会移除该坐标的 βn 个最小值和 βn 个最大值。聚合更新 vagg,j 的第 j 个分量是剩余 (1−2β)n 个值的平均值。
截断均值的效果取决于正确估计 β。如果 β 设置过低,聚合仍可能受到拜占庭影响。如果设置过高,诚实客户端的更新可能被不必要地丢弃,可能减缓收敛速度或降低模型质量,尤其是在高度异构(非独立同分布)的环境中,诚实更新可能自然存在较大差异。
Krum 采用了一种不同的方法,通过选择一个被认为是“最具代表性”或“最中心”的单个更新。它假设诚实客户端的更新在参数空间中彼此相对接近,而拜占庭更新将是异常值。
对于每个接收到的更新 vi,Krum 根据到其 k 个最近邻居(在其他更新中)的欧几里得距离平方和计算一个分数。令 Nk(i) 为与 vi 最接近的 k 个更新的索引集(不包括 vi 本身)。vi 的分数为:
score(i)=∑l∈Nk(i)∣∣vi−vl∣∣22
服务器选择分数最小的单个更新 vi∗ 作为本轮的聚合结果:
i∗=argminiscore(i) vagg=vi∗
参数 k 必须根据假设的拜占庭客户端最大数量 f 仔细选择,通常 k=n−f−2,以确保最佳诚实客户端的邻域计算排除所有拜占庭客户端。
如果拜占庭客户端数量小于 (n−k−1)/2,Krum 保证容错性。然而,仅选择一个更新可能导致收敛缓慢或不稳定。Multi-Krum 通过选择 Krum 分数最低的 m 个更新(通常 m 较小,例如 m=5 或 m=10)并对其进行平均来解决此问题。这通常在容错性和稳定性之间提供更好的平衡。
Krum 示意图。诚实更新(蓝色)聚集在一起,而拜占庭更新(红色)是异常值。Krum 识别出一个更新(例如,实心蓝色圆圈),其最近邻居距离很近,表明它可能是诚实的。
选择聚合器涉及多方面的权衡:
实践中,选择在很大程度上取决于具体应用、预期的威胁级别、服务器可用的计算资源以及客户端间的统计异构程度。如果拜占庭攻击是一个重要的考量,坐标级中位数、截断均值或 Multi-Krum 等方法的计算开销通常是值得的投入,相对于标准 FedAvg 可能的失败。这些高级聚合规则是构建可靠联邦学习系统在潜在对抗环境中的必要工具。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造