前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >联邦聚合(FedAvg、FedProx、SCAFFOLD)

联邦聚合(FedAvg、FedProx、SCAFFOLD)

作者头像
zhangjiqun
发布2024-12-14 09:35:23
发布2024-12-14 09:35:23
2570
举报
文章被收录于专栏:计算机工具计算机工具

联邦聚合算法对比(FedAvg、FedProx、SCAFFOLD)

论文链接:

FedAvg:Communication-Efficient Learning of Deep Networks from Decentralized Data

FedProx: Federated Optimization in Heterogeneous Networks

SCAFFOLD: SCAFFOLD: Stochastic Controlled Averaging for Federated Learning

解决问题

联邦学习存在四个典型问题:

  1. server端以及device端的网络连接是有限的,在任何时刻,可能都只有部分节点参与训练。
  2. 数据是massively分布的,所以参与联邦学习的devices非常多
  3. 数据是异构的
  4. 数据分布是不均匀的

这几篇论文的重点都试图在解决上面四个问题,研究的重心是,如何在2、3、4的条件下, 提出一种communication rounds最少的方法。

FedAvg

假设一共有 K K K个clients,每个clients都有固定容量的数据。在每轮训练开始的时候,随机 C C C( C C C 表示占比)个clients参与训练。即考虑有clients掉线的实际情况。

其中 f i ( w ) = ℓ ( x i , y i ; w ) f_i(w) = \ell(x_i, y_i;w) fi​(w)=ℓ(xi​,yi​;w) 表示clients端的损失函数。

FedAvg算法就是在clients端进行多轮训练,然后server端对各个clients端的 w根据数据量占比进行聚合。算法流程如下:

FedProx

FedProx对clients端的Loss加了修正项,使得模型效果更好收敛更快:

其中clients端的Loss为:

所以每轮下降的梯度为:

SCAFFOLD

FedProx 与 SCAFFOLD都是用了一个全局模型去修正本地训练方向。

实验结果

上图展示了达到0.5的test accuracy,各方法所需要的迭代轮数,SCAFFOLD是最快的。这是SCAFFOLD论文中做的对比实验,看起来FedProx没有达到宣称的效果。

需要的迭代轮数,SCAFFOLD是最快的。这是SCAFFOLD论文中做的对比实验,看起来FedProx没有达到宣称的效果。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 联邦聚合算法对比(FedAvg、FedProx、SCAFFOLD)
  • 解决问题
  • FedAvg
  • FedProx
  • SCAFFOLD
  • 实验结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档