【论文笔记 | 异步联邦】FedSA

FedSA:一种处理 non-IID 数据 过时感知 异步联邦算法

1. 论文信息

FedSA:A staleness-aware asynchronous Federated Learning algorithm with non-IID data,Future Generation Computer Systems,2021.7,ccfc

是 AFL 的经典 baseline 之一

2. Introduction

背景:异步联邦学习中,不同设备计算、通信资源不同,数据分布也不同,在这种情况下,各个设备的模型训练效率不同,导致这些模型更新上传到服务器的时间也不同。一些更新可能基于较早的全局模型,不能很好的反映当前的模型状态,就认为是“过时”。
挑战:

  • 跨设备的 non-iid 数据
  • 慢收敛,过时问题

贡献点:

  • 通过使用一个异步相关参数 统一同步和异步更新方案 重新定义 FL 。从理论上分析了这种新形式,并找到了实用的优化策略。
    • 1) 两阶段训练策略,一阶段加速训练、减少通信开销;二阶段强调模型稳定性和准确性;
    • 2) 各阶段关键超参数的最优选择策略,保证效率和鲁棒性。
  • 在理论保证基础上,提出一种新的异步联邦学习算法 FedSA
  • 在非 IID 和 IID 数据上实验,在陈旧设备上达到了卓越鲁棒性,也得到了 sota( state-of-the-art) 的 收敛速度

3. 问题描述:System model/架构/对问题的形式化描述

同步FL

异步FL

4. 解决方法

4.1. 执行流程:

4.2. 挑战问题怎么解决:

4.2.1. 两阶段的训练策略

initial stage:此阶段 局部误差 对 全局误差的影响最大,要尽可能地降低局部误差的影响。客户端选用 较大的本地周期 E

,保证客户端能进行充足的训练,减少通信开销,快速逼近全局最优

convergence stage:随着局部模型逐渐逼近最优模型,局部误差的减少将放缓,而局部-全局误差开始变得更加显著。一旦模型更新之间的相似度降低到某个阈值以下

,表明初始化阶段已经完成,算法进入收敛阶段。FedSA算法开始更加关注陈旧性问题,通过 减小本地周期 E 和使用 衰减学习率 来精细化调整模型参数,同时,τ参数开始发挥更直接的作用,根据设备的计算和通信成本来动态调整上传频率,以减少陈旧性的影响,实现更精确的全局模型。

4.2.2. 陈旧感知

一阶段:计算相似性

二阶段:根据

4.3. 性能保证(performance guarantee):理论分析,使用什么理论,怎么分析/解决

尝试推导,还是不太行

定理1

在训练过程的开始阶段,局部误差占全局误差的主导地位,即局部误差足够大于局部-全局误差:

  • 减少局部误差可以在早期有效地减少全局误差,并且由于ω ti和ω∗i都是设备中的局部模型,因此局部误差可以在不通信的情况下局部优化。
  • 当局部误差完全最小化时,不再支配全局误差。因此,优化局部-全局误差在之后变得至关重要。然而,当假设5成立时,ω∗和ω∗i是唯一的(即给定特定问题的常数),不能被优化。因此,这意味着应该在需要通信的地方直接优化全局误差。
    • 初始阶段最小化局部误差:在初始阶段结束之前设置任意大的 E。
    • 然而,在没有任何通信的情况下,很难感知到这个阶段的何时停止时刻。为了保持足够的通信,需要一个相对较小的历元数。最后,需要一个指标来决定何时通过这些通信停止初始阶段。
    • 收敛阶段的策略
      • 局部历元E的数量,
      • I 中与异步相关的参数τ
      • 学习率
      • 选择这些参数的动机是:1)I中的E和τ之间存在相互作用,2)对于非iidness的同步FL(即FedAvg),可以通过学习率衰减来保证收敛,这也适用于异步模型。

定理2:

设假设 1-4 满足,定义c、β、σi、χ。我们用F *和F * i分别表示目标函数 F 和 Fi 的最小值。我们将收敛阶段开始时的全局模型定义为 ω t0。然后给定最大时间步长 T,对于任意固定个数的局部历元 E,以及 固定的学习率η¯≤1/4 β,扩展FL形式的误差满足该界

定理3:

设定理2中除固定学习率条件外,其余条件成立,其中定义γ和ν。对于所有t = 1,2,…,将 学习率衰减

,则扩展FL形式的误差满足该界

定理 2 和定理 3 分别证明了 固定学习率 和 衰减学习率 下扩展FL形式的收敛界。定理3 证实了在 非iid 和异步情况下,采用衰减学习率ηt = 2/c (γ + T), FL的扩展形式达到了与 标准SGD 相似的收敛速率 O(1/t) (被认为是最优的)。此外,当 χ 接近于零(即IID情况)时,得到与 O(1/t) 相同阶的收敛速率。定理3 采用衰减学习率 对 IID 和 非IID 情况都适用。

定理4:

设定理3中的条件成立。将 Tε 表示为达到给定误差界的最小全局历元数(ε > 0)。给定 Tε ,假设扩展FL形式的误差界满足

通信轮次

可以被 E 最小化

定理4 给出了 E 的最佳选择,减少与非iid数据的 通信开销 (即χ i = 0)。在整个训练过程中,E 的选择不是静态的。初始阶段结束时,E 与全局误差∥ω t0−ω∗∥成正比。表明在收敛阶段,由于∥ω t0−ω∗∥<∥ω 0−ω∗∥,我们将选择一个较小的E。

到目前为止,上述定理和评论主要集中在统计异质性的收敛和通信上。从定理4可知,在 Rϵ (E) 通信轮之后,最优间隙的期望将收敛到一个 ϵ 邻域。为估计实现 ϵ 界所需的总体训练时间,定义 ∆tgi为局部优化器一次更新的时间成本,∆tci为设备i与服务器之间一次通信的时间成本,对于所有设备,定义客户i的总时间成本为

,整个FL系统的总时间成本为

定理5:设假设1 ~ 4成立,通过选择最优τi,得到最小时间代价

定理5 给出了选择 τ 的策略。实际上,当设备的连接速度较慢 (即∆tci较高) 时,可以通过设置较大的 τ 来减少通信次数,而当设备速度较慢 (即∆tgi较高) 时,选择较小的τ。此外,当设备具有较大的数据量 (即 pi 很大) 时,设置较小的τ,较大的τ可能会降低训练质量。

5. 效果:重点是实验设计,每一部分实验在验证论文中的什么结论

5.1. 实验设置

5.2. 超参数确定实验

对每个算法的超参组合进行网格搜索,找到表现最佳的一组,进行接下来的实验

5.3. 对比实验

左边是non-iid 右边是iid

验证FedSA在收敛和通信方面的效率。图2、图3、图4展示了在陈旧设备占90%的情况下,FedSA和四个基线在非IID和IID数据上的测试精度。FedSA在收敛和通信方面都优于其他基线,特别是在非iid情况下。FedSA在非IID情况下的表现与IID情况下保持相同的水平,而其他基线在非IID情况下与IID情况相比恶化了很多。

在定理3中,当χ接近于零(即IID情况)时,我们得到与标准SGD相似的O(1 T)收敛速率,这被认为是最优的。

此外,FedSA在初始阶段和收敛阶段之间的过渡阶段,即在训练刚开始的时候,准确率急剧提高,这大大减少了训练早期的通信时间

图5(a)测试了初始阶段不同 E 的性能。

结果验证了定理1和备注1中得到的选择较大E(例如¯E = 150)的有效性。最后,

图5(b)在收敛阶段验证了学习率衰减策略,显示了不同γ′对学习率ηt的影响,验证了定理3,即学习率衰减是收敛的关键。

综上所述,上述实验验证了所提出的两阶段训练方法的可行性和合理性

用陈旧的设备验证了鲁棒性。图6 (a)和(b)显示了不同陈旧设备数量下的性能。可以看出,即使在90%的设备陈旧的情况下,FedSA仍然是稳定的,并且在测试精度和全局训练时间上都优于AFL基线(即FedAsync)。当陈旧设备从60%增加到90%时,测试精度的绝对损失仅小于2%。

当设备陈旧率超过20%时,FedSA的总训练时间小于基线。通过定理5和注释4中提出的自适应τ,验证了FedSA对过期效应的鲁棒性。

6. (备选)自己的思考

  • 因为相似性的判断是针对已经到达服务器并处于等待聚合状态的模型进行的。文章的设定条件是 Q 队列中只要有两个及以上的模型更新就进行相似性比较,相似时间到达的模型更新直觉上资源以及计算能力都是相似的(让最相似的达到最不相似,训练充分)

可不可以从比较相似性的条件入手(模型更新数量,或者新的比较条件)

  • 缺点:超参很多,感觉受超参影响很大
  • 学不明白,讲不明白,这次汇报只要比上周好一点就是进步!欣宝加油!!!
     

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

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

相关文章

RHEL之网络接口的绑定

前言 这些步骤最好都在虚拟机中完成 网络接口绑定是将多个网络接口逻辑地连接在一起&#xff0c;目的一是避免网络接口的单点故障&#xff0c;二是提高带宽以提高吞吐率 具体步骤 1.用ip link查看有哪些网络接口 2.添加一个类型bond的连接 nmcli con add type bond con-nam…

【汇编】算术指令

一、加法指令 &#xff08;一&#xff09;各加法指令的格式及操作 加法指令可做字或字节运算 &#xff08;1&#xff09;加法指令 ADD 格式&#xff1a;ADD DST,SRC执行的操作&#xff1a;(DST) ← (SRC)(DST) &#xff08;2&#xff09;带进位加法指令 ADC 格式&#xf…

AIGC岗位需求增长超300%,平均年薪超40万元

AI圈最近又发生了啥&#xff1f; AIGC 应用爆发&#xff0c;相关岗位需求增长超 300%、平均招聘年薪超 40 万元 随着 AI应用的爆发&#xff0c;生成式人工智能(AIGC)的招聘市场十分火爆。数据显示今年一季度&#xff0c;生成式人工智能相关职位需求同比增长超三倍。从全平台增…

Scala编程基础6:连接mysql数据库、在scala中使用fastJson

一、scala连接mysql数据库 /*** scala连接mysql数据库*/ object JDBCDEmo8 {def main(args: Array[String]): Unit {//加载驱动Class.forName("com.mysql.jdbc.Driver")//创建与数据库连接对象val conn: Connection DriverManager.getConnection("jdbc:mysql…

功能安全如何在公司顺利开展?-亚远景科技

亚远景功能安全主题线上会议报名开启&#xff01; 随着汽车技术的不断发展&#xff0c;汽车系统的复杂性和交互性大幅增加&#xff0c;功能安全成为确保驾驶员、乘客及行人安全的关键。 本场功能安全线上会议&#xff0c;亚远景为汽车行业的相关人员准备了以下内容&#xff1a…

Linux|基础IO

Linux|基础IO 回顾c语言的文件操作提炼对文件的理解系统调用初始open函数返回值fd为什么我们向fd一个整数写就写入文件了呢&#xff1f;怎么理解读写操作总结open函数有哪些功能怎么理解往硬件&#xff08;显示器&#xff0c;键盘&#xff09;中读写数据如何理解FILE*访问文件 …

【C语言】自定义类型之---结构体超详解(结构体的定义使用、指针结构体,内存对齐,......代码详解)

目录 前言&#xff1a; 一&#xff1a;结构体 1.1&#xff1a;什么是结构体&#xff1f; 1.2&#xff1a;结构体类型的声明 1.3&#xff1a;结构体变量的定义 1.4&#xff1a;结构体的内存对齐 1.5&#xff1a;结构体传参 二&#xff1a;位段 2.1&#xff1a;位段是什…

2024年【金属非金属矿山(露天矿山)安全管理人员】模拟考试题库及金属非金属矿山(露天矿山)安全管理人员作业模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 金属非金属矿山&#xff08;露天矿山&#xff09;安全管理人员模拟考试题库参考答案及金属非金属矿山&#xff08;露天矿山&#xff09;安全管理人员考试试题解析是安全生产模拟考试一点通题库老师及金属非金属矿山&a…

Google I/O 2024 干货全解读:Gemini AI 横空出世,智能未来触手可及!

Google I/O 2024 干货全解读&#xff1a;Gemini AI 横空出世&#xff0c;智能未来触手可及&#xff01; 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》…

面试前端随笔20240510

最近公司招聘前端开发人员有幸参与帮听&#xff0c;总结了三个有关vue的面试问题和答案&#xff0c;现在分享一下。 1.Vue2数据监听无法监听数组为啥&#xff1f;有啥解决方案&#xff1f;vue3中是如何处理这个问题&#xff1f; vue2的官方说明了defineProperty的一些限制&…

Oracle SQL Developer 脚本输出中文显示乱码

问题描述 在测试Oracle Select AI&#xff08;自然语言查询数据库&#xff09;时&#xff0c;发现Run Statement中文显示正常&#xff1a; 而Run Script中文显示乱码&#xff1a; 问题解决 进入菜单Tools>Preferences...>Environment&#xff0c; 修改SQL Developer…

JavaScript-JSON对象

JSON格式 JSON&#xff08;JavaScript Object Notation, JS对象简谱&#xff09;是一种轻量级的数据交换格式。它基于ECMAScript&#xff08;European Computer Manufacturers Association, 欧洲计算机协会的一个子集&#xff0c;采用完全独立于编程语言的文本格式来存储和表示…

spring基于XML的声明式事务控制

在Spring框架中&#xff0c;基于XML的声明式事务控制是一种通过配置来管理事务的方式&#xff0c;而无需在代码中显式编写事务逻辑。以下是如何在Spring中使用XML来配置声明式事务控制的步骤&#xff1a; 添加必要的依赖 确保你的项目中包含了Spring框架的核心包和Spring事务…

赶紧收藏!2024 年最常见 100道 Java 基础面试题(四十八)

上一篇地址&#xff1a;赶紧收藏&#xff01;2024 年最常见 100道 Java 基础面试题&#xff08;四十七&#xff09;-CSDN博客 九十五、spring支持几种bean的作用域&#xff1f; Spring框架支持多种Bean的作用域&#xff0c;每种作用域都定义了Spring容器如何管理和创建Bean的…

论文:论面向服务的架构设计

题目 在面向服务的架构&#xff08;Service-Oriented Architecture&#xff0c;SOA&#xff09;中&#xff0c;服务的概念有了延伸&#xff0c;泛指系 统对外提供的功能集。例如&#xff0c;在一个大型企业内部&#xff0c;可能存在进销存、人事档案和财务等多个系统&#xff…

Java程序运行流程

Java运行流程 Java源代码 — 编译工具 —> Java字节码文件 — 运行工具 —> Java程序运行 Java程序的基本单位 类 Java程序执行入口 main方法

盘点那些年我们一起玩过的网络安全工具

一、反恶意代码软件 1.Malwarebytes 这是一个检测和删除恶意的软件&#xff0c;包括蠕虫&#xff0c;木马&#xff0c;后门&#xff0c;流氓&#xff0c;拨号器&#xff0c;间谍软件等等。快如闪电的扫描速度&#xff0c;具有隔离功能&#xff0c;并让您方便的恢复。包含额外…

项目中使用Elasticsearch的API相关介绍

项目中使用Elasticsearch的API相关介绍 0、域映射类型 text&#xff1a;会分词&#xff0c;不支持聚合对当前搜索关键词&#xff0c;先自身分词&#xff0c;分成多个词&#xff0c;然后去一个一个的词去利用倒排索引去查询es索引库一般应用在搜索关键字匹配的字段的类型。 商…

上海市计算机学会竞赛平台2020年8月月赛丙组促销骰子

题目描述 小爱的商店正在促销。顾客在付款的时候&#xff0c;有机会掷一次骰子&#xff0c;如果掷出 66&#xff0c;可以获得优惠&#xff0c;并且可以继续掷骰子&#xff0c;直到出现不是 66 的情况&#xff0c;或掷三次为止。获奖规则如下&#xff1a; 如果没有 66&#xf…

【C#】某AGV调度系统源码笔记(十二)

AGV调度服务的核心类库 小车事件参数 两个公共属性&#xff1a;车辆信息、事件描述。一个构造函数传入两个参数赋值给属性。 核心数据类 初始化及存储调度系统中所有的档案信息。 多个静态公共属性存储不同类型的系统数据&#xff1a;是否全局服务、数据库操作对象、系统参数集…