标准联邦学习算法(FedAvg):(1)服务器将当前模型发送给选定的参与者,(2)每个参与者在其本地数据上训练模型若干步,(3)参与者将更新后的模型权重(而非数据)发送回服务器,(4)服务器对更新取平均并创建新的全局模型,(5)重复。核心属性:原始数据永远不离开参与者的设备。
非独立同分布数据:参与者通常具有非常不同的数据分布(东京的医院与圣保罗的医院有不同的患者人口统计)。这使训练不稳定——来自不同参与者的更新可能相互冲突。通信成本:通过网络发送模型更新(可能数十亿参数)成本很高,特别是对移动设备。搭便车者:接收改进模型但贡献低质量更新的参与者。这些挑战使联邦学习比集中式训练更困难,尽管每个问题都有积极的解决方案。
Apple使用联邦学习进行键盘预测(从你的输入中学习而不将你的文字发送给Apple)。Google使用它来改进搜索建议。医疗保健联盟使用它进行多医院模型训练。该技术在以下情况最有价值:数据确实敏感(医疗、金融)、法规禁止数据共享(GDPR、HIPAA)、或数据太大无法集中(数十亿移动设备交互)。