FedAvg

分类: 训练优化

FedAvg

定义

FedAvg (Federated Averaging) 是 McMahan et al. (2017) 提出的联邦学习基础算法,各客户端在本地数据上训练多轮后将模型参数上传,服务器按数据量加权平均聚合。

数学形式

θt+1=k=1Knknθkt+1\boldsymbol{\theta}^{t+1} = \sum_{k=1}^{K} \frac{n_k}{n} \boldsymbol{\theta}_k^{t+1}

其中 θkt+1\boldsymbol{\theta}_k^{t+1} 为第 kk 个客户端本地训练后的参数,nk/nn_k/n 为数据量权重。

核心要点

联邦学习的事实标准基线算法

通信高效:每轮只传一次模型参数

Non-IID 数据分布下性能退化是主要挑战

后续工作(FedProx, SCAFFOLD 等)主要解决异构性问题

代表工作

McMahan et al. “Communication-Efficient Learning of Deep Networks from Decentralized Data” (AISTATS 2017)

相关概念

Hessian