FedProx和SCAFFOLD等算法通过修改核心聚合或局部目标函数,进行静态调整(例如固定的近端项$\mu$或常量控制变量)来处理联邦学习中的异质性。然而,联邦网络通常是动态变化的。客户端可能加入或退出,网络条件可能波动,数据分布可能随时间变化,并且不同客户端的学习速度可能不同。在这样的变化环境中,依赖预设的固定超参数(用于学习率、聚合权重或局部计算量)可能不是最佳选择。自适应联邦优化方法会根据训练过程中的观测状态动态调整相关方面,例如网络状态、客户端行为或模型收敛情况。这种调整能力旨在与静态方法相比,提高收敛速度、系统稳定性和整体性能。为何调整?静态参数的局限标准联邦算法常采用统一的全局超参数:全局学习率: 单一的服务器端或客户端学习率($\eta$)对某些客户端可能过于激进(导致发散),而对另一些客户端可能过于保守(收敛缓慢),尤其是在统计异质性情况下。固定聚合权重: FedAvg通常根据客户端数据集大小($n_k / N$)按比例分配权重。但如果某些客户端数据有噪声、计算速度较慢,或其更新在特定阶段对全局模型贡献较小,则这种做法可能不是最优的。统一局部训练轮次: 要求所有选定客户端执行固定数量的局部训练轮次($E$)可能会在系统异质环境中加剧“慢设备”问题,导致较慢的设备延迟整个通信轮次。随机客户端选择: 纯粹随机选择客户端可能错过优先选择那些当前数据或更新对提升全局模型最有价值的客户端。自适应方法旨在克服这些局限,通过使联邦学习过程的部分环节能对运行时条件做出响应。联邦学习中调整的维度联邦优化过程中,调整可以沿着多个方面进行:1. 自适应学习率受集中式深度学习中成功自适应优化器(如Adam、RMSProp、AdaGrad)的启发,联邦学习中的对应方法也旨在按参数或按客户端调整学习率。服务器端调整: FedAdam或FedAMSGrad等算法维护服务器端的自适应动量(类似于Adam),并用它们来调整从聚合客户端更新中得到的全局模型更新。这有助于归一化更新并加速收敛,尤其适用于稀疏梯度或不同特征尺度的情况。客户端端调整: 客户端在局部训练步骤中可以调整其局部学习率。然而,将其与全局聚合步骤有效协调会增加复杂性。更常见的是,服务器可能会根据过去的表现或其他启发式方法为客户端指定个性化的初始学习率,但这需要精心设计。核心思路是避免单一固定学习率在整个异质网络中的局限性。2. 自适应聚合权重自适应聚合不再仅仅根据数据比例($n_k/N$)来加权客户端k的更新($w_k^{t+1}$),而是根据其他信号调整权重:基于性能的加权: 客户端的更新如果在服务器持有的验证集上(或根据其他指标)带来更大改进,可以赋予更高权重。这要求服务器具备评估潜在更新的机制,会增加额外负担。基于损失的加权: 局部损失较高的客户端可能被区别加权(如果怀疑发散,则可能降低权重;如果代表难度大的数据,则可能提高权重)。基于过时程度的加权(异步联邦学习): 在异步设置中,根据旧全局模型版本计算的客户端更新可能会被降低权重。信誉或可靠性: 在易出现不可靠或对抗性客户端的环境中,权重可以根据客户端的历史行为或异常检测分数进行调整(这与拜占庭容错相关联)。例如,一个简化的自适应加权方案可能会调整标准的FedAvg公式:$$ w^{t+1} = \sum_{k=1}^{K} \alpha_k^t \cdot w_k^{t+1} $$其中$\alpha_k^t$是第$t$轮为客户端$k$动态计算的权重,满足$\sum_k \alpha_k^t = 1$。挑战在于定义一种有意义且高效的方式来计算$\alpha_k^t$。3. 自适应客户端选择超越随机抽样,自适应选择策略旨在每轮更智能地选择客户端:优先选择高损失客户端: 选择当前局部损失高的客户端可能通过聚焦全局模型难以处理的数据分布部分来加速收敛。公平性感知选择: 为避免偏见,选择时可确保优先考虑来自代表不足群体或近期未参与的客户端。资源感知选择(Oort): 像Oort这样的系统根据客户端的计算能力和数据效用对其进行概况分析,然后优先选择以在给定时间预算内最大化模型改进,从而有效地管理系统异质性。基于聚类的选择: 如果客户端已聚类(参见第4章),则选择可能会根据训练目标侧重于特定聚类。4. 自适应局部计算局部训练轮次($E$)的数量代表了计算与通信之间的权衡。静态的$E$值可能效率不高。客户端决定的训练轮次: 客户端可以执行局部训练直到达到局部收敛标准,而不是固定的训练轮次。这允许更快的客户端提前完成,但需要仔细的聚合(如FedNova)来处理不同的工作量。服务器引导的训练轮次: 服务器可以根据客户端的设备能力或服务器对所需局部训练量的评估,为客户端分配不同的$E$值。收敛比较示例自适应方法通常旨在实现比静态方法更快的收敛或更好的最终准确性,尤其是在异质环境中。{"data":[{"type":"scatter","mode":"lines","name":"FedAvg","x":[0,5,10,15,20,25,30,35,40,45,50],"y":[0.1,0.3,0.45,0.55,0.62,0.67,0.71,0.74,0.76,0.77,0.78],"line":{"color":"#4dabf7"}},{"type":"scatter","mode":"lines","name":"FedProx (固定 \u03bc)","x":[0,5,10,15,20,25,30,35,40,45,50],"y":[0.1,0.32,0.48,0.59,0.66,0.71,0.75,0.78,0.80,0.81,0.82],"line":{"color":"#20c997"}},{"type":"scatter","mode":"lines","name":"自适应联邦学习","x":[0,5,10,15,20,25,30,35,40,45,50],"y":[0.1,0.38,0.55,0.68,0.75,0.80,0.83,0.85,0.86,0.87,0.875],"line":{"color":"#be4bdb"}}],"layout":{"title":{"text":"收敛性比较"},"xaxis":{"title":{"text":"通信轮次"}},"yaxis":{"title":{"text":"全局模型准确率"},"range":[0,1]},"legend":{"yanchor":"bottom","y":0.01,"xanchor":"right","x":0.99},"margin":{"l":50,"r":10,"t":40,"b":40}}}收敛速度的比较。与使用固定超参数(如FedAvg或带有静态近端项的FedProx)的方法相比,自适应技术通常旨在通过动态调整参数来更快地实现更高的准确性。挑战与考量自适应技术虽然强大,但也带来了自身的一系列挑战:复杂性: 自适应算法在设计、实现和调整上本质上比静态算法更复杂。额外开销: 收集调整所需信息(例如客户端损失、系统统计数据)可能会增加通信或计算开销。在服务器端评估潜在更新会增加计算负担。稳定性: 设计不当的调整机制可能导致不稳定、振荡或发散。例如,过于激进的学习率调整可能引起问题。超-超参数: 自适应方法通常用控制调整过程本身的新参数(例如Adam优化器的参数、加权方案的灵敏度)取代原始超参数(如$\eta$),从而转移了调优负担。“自适应联邦优化是一种精巧的方法,用于应对联邦学习的动态变化和异质性。通过允许学习率、聚合权重和客户端参与等部分根据运行时反馈动态变化,这些技术有可能在收敛性、系统稳定性和效率方面比静态方法带来显著提升,尽管会增加实现复杂性。对于在非理想化模拟环境下构建高性能联邦学习系统的实践者来说,它们是一个重要的工具。”