联邦聚合(FedAvg、FedProx、SCAFFOLD)

这篇具有很好参考价值的文章主要介绍了联邦聚合(FedAvg、FedProx、SCAFFOLD)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

联邦聚合算法对比(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掉线的实际情况。

联邦学习的目标是:

联邦聚合(FedAvg、FedProx、SCAFFOLD)

其中 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 w w 根据数据量占比进行聚合。算法流程如下:

联邦聚合(FedAvg、FedProx、SCAFFOLD)

FedProx

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

联邦聚合(FedAvg、FedProx、SCAFFOLD)

其中clients端的Loss为:

联邦聚合(FedAvg、FedProx、SCAFFOLD)

所以每轮下降的梯度为:

联邦聚合(FedAvg、FedProx、SCAFFOLD)

SCAFFOLD

思想与FedProx类似,也是对梯度进行修正:

联邦聚合(FedAvg、FedProx、SCAFFOLD)

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

实验结果

联邦聚合(FedAvg、FedProx、SCAFFOLD)

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

需要的迭代轮数,SCAFFOLD是最快的。这是SCAFFOLD论文中做的对比实验,看起来FedProx没有达到宣称的效果。文章来源地址https://www.toymoban.com/news/detail-404438.html

到了这里,关于联邦聚合(FedAvg、FedProx、SCAFFOLD)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据聚合和联邦学习,常见的聚合有三类

    目录 数据聚合和联邦学习 数据仓库方法 常见的聚合有三类:

    2024年02月07日
    浏览(38)
  • 《横向联邦学习中 PCA差分隐私数据发布算法》论文算法原理笔记

    论文地址:https://www.arocmag.com/article/01-2022-01-041.html 论文摘要      为了让不同组织在保护本地敏感数据和降维后发布数据隐私的前提下,联合使用 PCA进行降维和数据发布,提出 横向联邦 PCA差分隐私数据发布算法 。引入随机种子联合协商方案,在各站点之间以较少通信代

    2024年02月08日
    浏览(39)
  • 【FedProx】论文笔记&代码

    4月 得了甲流,症状不是很严重,但一直流鼻涕。回想去年到现在,我似乎只做了一点点东西,今年的压力还是蛮大的诶。好在是疫情放开了,西安这几天也逐渐暖和起来,去年的阴霾一扫而光,希望诸君能和我一起努力加油! 6月 又改了一下,之前读不懂现在懂了一些,反

    2024年02月17日
    浏览(41)
  • 【FedAvg论文笔记】&【代码复现】

    目录 一、FedAvg原始论文笔记 1、联邦优化问题:  2、联邦平均算法: FedSGD算法: FedAvg算法: 实验结果: 3、代码解释  3.1、main_fed.py主函数 3.2、Fed.py: 3.3、Nets.py:模型定义 3.4、option.py超参数设置 3.5、sampling.py: 3.6、update.py :局部更新 3.7、main_nn.py对照组 普通的nn 联邦平均算法

    2024年02月01日
    浏览(43)
  • Flutter——最详细(Scaffold)使用教程

    相当于界面的主体(类似于安卓最外层PhoneWindow),组件的展示都必须依附于它。 每一个界面都是脚手架,通过它来进行架构实现,优美的布局效果。 属性 作用 appBar 顶部的标题栏 body 显示整体布局 floatingActionButton 右下角按钮 floatingActionButtonLocation 按钮的位置 floatingActionB

    2024年02月06日
    浏览(38)
  • Android笔记(七)Android JetPack Compose组件搭建Scaffold脚手架

    在去年2022年曾发布一篇关于脚手架的文章:“Android JetPack Compose组件中Scaffold的应用” 。但是Android的版本从12变更到13及以上版本,导致一些细节的实现存在不同。在本文中,将从头开始介绍整个脚手架的搭建过程。 在Android Studio(版本是Graffie)中新建模块,选择“Empty Activ

    2024年02月04日
    浏览(47)
  • 掀起区块链开发狂潮!Scaffold-eth带你一键打造震撼DApp

    前面的文章传送🚪:hardhat入门 与 hardhat进阶 在之前的文章中,我们已经探讨了使用Hardhat框架来开发以太坊智能合约的方法。本文将介绍另一个强大的工具——Scaffold-eth,它更加注重全栈式的开发体验,提供了一个集成了Hardhat、React和其他工具的开发环境。帮助我们更轻松地

    2024年04月17日
    浏览(42)
  • 【算法】在vue3的ts代码中分组group聚合源数据列表

    有一个IListany()对象列表, 示例数据为[{id:\\\'1\\\',fieldName:\\\'field1\\\',value:\\\'1\\\'},{id:\\\'1\\\',fieldName:\\\'field2\\\',value:\\\'2\\\'},{id:\\\'2\\\',fieldName:\\\'field1\\\',value:\\\'1\\\'},{id:\\\'2\\\',fieldName:\\\'field2\\\',value:\\\'2\\\'}] 那么在ts中将它们根据id分组构建为两个dynamicObject,类推,如果id有n个,那需要自动构建n个dynamicObject。 算法实现: 在以

    2024年02月11日
    浏览(40)
  • 联邦学习是什么?联邦学习简介

    在大多数情况下,数据分散的保存在各个企业手中,而各个企业希望在不公开自己数据的情况下,联合其他企业(利用各个企业所持有的数据)一起训练一个模型,该模型能够帮助企业获取更大的利益。 对于收集零散的数据,传统的方法是通过搭建一个数据中心,在数据中心

    2023年04月16日
    浏览(42)
  • 深入理解联邦学习——纵向联邦学习

    分类目录:《深入理解联邦学习》总目录 假设进行联邦学习的数据提供方为 A A A 和 B B B ,第三方为 C C C ,则纵向联邦学习步骤如下: 在系统级做加密样本对齐,在企业感知层面不会暴露非交叉用户 对齐样本进行模型加密训练: 由第三方 C C C 向 A A A 和 B B B 发送公钥,用来

    2024年02月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包