联邦聚合(FedAvg、FedProx、SCAFFOLD)

news2024/12/26 22:37:01

目录

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

在这里插入图片描述

其中 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没有达到宣称的效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/698638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在线预览文件

当我们前端小伙伴在码代码的时候,总会不约而同地遇到一个问题:上传文件。一旦文件成功上传,后端就会慷慨地给我们一个下载地址,这是怎么实现在线预览或者直接下载呢?fliencn 是后端给的地址这种是另外起一个标签页预览…

【Android Framework系列】第3章 Zygote进程相关

1 Zygote简介 Zygote是Android中最重要的一个进程,Zygote进程和Init进程、SystemServer进程是Android最重要的三大进程。Zygote是Android系统创建新进程的核心进程,负责启动Dalvik虚拟机,加载一些必要的系统资源和系统类,启动sys…

DevExpress WinForms日程/日历组件,可轻松创建信息管理解决方案!(一)

通过DevExpress WinForms完全可定制的Scheduler和Calendar组件,可以轻松地提供Outlook启发的调度/信息管理解决方案,Scheduler控件提供了多个日历视图选项(日、周、月、时间轴等),并包括一个全面的内置和完全可定制的编辑表单集合。 PS&…

项目经理专用-项目周报模板-yyyymmdd-大型公司可用项目

作为一个项目经理或者子项目经理,肯定要面对各种文档,尤其是各种 *了狗的周报月报,有的甚至有日报,不厌其烦。 这个时候,一套规整的周报模板就可以省我们太多事,而且看起来也很专业。 今天分享一套自己用…

5.7.2 UDP协议格式(一)——UDP差错控制

5.7.2 UDP协议格式(一)——UDP差错控制 前面我们学习了UDP数据报格式(5.7.1 UDP概述)我们知道UDP只是在IP数据报服务基础上增加了端口的复用和分用功能,以及差错控制的功能,这里我们就一起来学习一下UDP的…

破局之作:首部开源 AIGC 软件工程应用电子书《构筑大语言模型应用:应用开发与架构设计》...

TL;DR 版; 在线:https://aigc.phodal.com 下载 1:https://github.com/phodal/aigc/releases 下载 2:https://pan.baidu.com/s/1wGc75vVHaZwvZyHeltyt8w?pwdphod 2023 年的上半年里,我(phodal)和…

数据结构KMP算法详解

目录 1. KMP算法是什么? 2. KMP算法的由来 2.1 需要要解决的问题 2.2 一开始想到的方法 2.3 KMP算法诞生了 3.KMP算法的详解 4.KMP算法的实现 5.KMP算法的改进 1. KMP算法是什么? KMP算法是一种改进的字符串匹配算法,即可以快速的从主…

通用分页【下】(将分页封装成标签)

目录 一、debug调试 1、什么是debug调试? 2、debug调试步骤 3、实践 二、分页的核心 三、优化 分页工具类 编写servlet jsp代码页面: 分页工具类PageBean完整代码 四、分页标签 jsp代码 编写标签 tld文件 助手类 改写servlet 解析&…

Let's Learn .NET - Web 开发实战

点击蓝字 关注我们 编辑:Alan Wang 排版:Rani Sun Lets Learn .NET 系列 “Lets Learn .NET” 是面向全球的 .NET 初学者学习系列,旨在通过不同语言,帮助不同地区的开发者掌握最新的 .NET 开发知识与技能。 7月2日,“…

【文件传输FTP】网络杂谈(4)之文件传输协议FTP详解

涉及知识点 什么是 FTP,FTP的概念,FTP客户端程序cuteFTP,FTP客户程序浏览器,FTP的客户程序。深入了解FTP技术。 原创于:CSDN博主-《拄杖盲学轻声码》,更多内容可去其主页关注下哈,不胜感激 文章…

Tips--解决SquareLine Studio create页面中只有desktop选项

解决SquareLine Studio create页面中只有desktop选项 前言问题解决方法方法1方法2 前言 LVGL是一个强大的GUI框架,很多电子爱好者使用很多。SquareLine Studio是针对LVGL的一款非常强大的图形化设计平台,大大缩减了UI设计的时间。 问题 但是很多小伙…

(二十三)专题地图编制——布局设置

专题地图编制——布局设置 ArcMap地图模板是一种事先设计好的地图样式和布局,可以用于快速创建具有一致性和专业外观的地图。在ArcMap中,可以通过在地图窗口中创建新地图或导入现有地图的方式来使用地图模板。地图模板通常包括基础地图数据、图例、标签…

使用 Jetpack Compose 构建 Switch

欢迎来到这篇关于如何使用 Jetpack Compose 构建 Switch(开关)的博客。Jetpack Compose 是 Google 的现代 UI 工具包,主要用于构建 Android 界面。它以声明式的方式简化了 UI 的开发。 一、什么是 Switch? 在 Android 中&#xf…

HOT27-合并两个有序链表

leetcode原题链接:合并两个有序链表 题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2&#xff1…

React修改Antd组件的样式

修改默认的antd组件&#xff0c;需要使用global import React, { useState, useEffect } from react; import { Tabs, Rate, Steps } from antd; import styles from ./index.less;const Index (props) >{return (<div className{styles.class_steps}><Stepsprog…

ATA-2161高压放大器在微流控技术细胞分选中的应用

高压放大器是一种专业的电子测试设备&#xff0c;用于将低电压信号放大为高电压信号。它在许多领域中被广泛应用&#xff0c;就例如微流控领域。今天我们就给大家分享一下ATA-2161高压放大器在微流控技术细胞分选中的应用。 本次实验我们会用到ATA-2161高压放大器、示波器、信号…

4、Redis7 十大数据类型总结与十大常见应用场景

一、缓存 作为Key-Value形态的内存数据库&#xff0c;Redis 最先会被想到的应用场景便是作为数据缓存。目前这几乎是所有中大型网站都在用的必杀技&#xff0c;合理的利用缓存不仅能够提升网站访问速度&#xff0c;还能大大降低数据库的压力&#xff0c;而使用 Redis 缓存数据也…

SpringSecurity认证流程详解和代码实现

一、常见的登录校验流程 常见的登录&#xff0c;主要就是要做认证和授权。 从上面可以看到&#xff0c;登录校验的过程&#xff08;认证&#xff09;&#xff0c;主要就是围绕一个包含了用户信息的token来进行的。 至于授权的流程&#xff0c;也是由SpringSecurity来完成&…

访问PHP网页提示:将您重定向的次数过多,提示 301

访问PHP网页提示&#xff1a;将您重定向的次数过多,提示 301 chrome 浏览器 访问PHP网页提示&#xff1a;将您重定向的次数过多,提示 301 chrome 浏览器 去 chrome 浏览器设置&#xff0c;如下图 chrome://net-internals/#hsts

高性能计算培训价格 零基础入门 从入门到精通

大模型一出&#xff0c;各类企业的各类“模型”竞赛般的亮家伙&#xff0c;算力时代抢先到来。2023年4月超算互联网的正式部署&#xff0c;标志着&#xff0c;很快&#xff0c;越来越多的应用都需要巨大的计算资源。 这给传统的计算机体系结构带来了巨大的挑战&#xff0c;计算…