On the Convergence of FedAvg on Non-IID Data
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!
arXiv:1907.02189v2 [stat.ML] 8 Oct 2019

Abstract
联邦学习使得大量的边缘计算设备在不共享数据的情况下共同学习模型。联邦平均法(FedAvg)是该算法中的一种主要算法,它在所有设备的一小部分上并行运行随机梯度下降(SGD),并每隔一段时间对序列进行平均。尽管它很简单,但在现实环境下却缺乏理论上的保障。本文分析了FedAvg在非iid数据上的收敛性,建立了强凸光滑问题的收敛速度O(1/T),其中T是SGDs的迭代次数。重要的是,我们的界证明了通信效率和收敛速度之间的权衡。由于用户设备可能与服务器断开连接,我们将设备完全参与的假设放宽到部分设备参与,并研究了不同的平均方案;在不严重降低学习速度的情况下,可以实现低设备参与率。我们的结果表明,数据的异质性减缓了收敛速度,这与经验观测相符。此外,我们还为FedAvg在非iid数据上的收敛性提供了一个必要条件:即使使用全梯度,学习率也必须下降;否则,解将偏离最优解。
1 Introduction
联邦学习(FL),也被称为联邦优化,它允许多方在不共享数据的情况下协同训练模型[10,29,20,9,26,48]。类似于中心化并行优化[7,14,15,28,42,22,24,25,31,46,30],FL允许用户设备(也称为工作节点)执行大部分计算,中心参数服务器使用用户设备返回的下降方向更新模型参数。然而,FL有三个特征,使其区别于标准的并行优化[16]。
首先,训练数据大量分布在大量设备上,中央服务器和设备之间的连接速度很慢。一个直接的结果是缓慢的通信,这激发了通信高效的FL算法[20,32,26,27]。联邦平均(FedAvg)是第一个,也许是最广泛使用的FL算法。它在一小部分采样的设备上并行运行E步SGD,然后每隔一段时间通过一个中央服务器对生成的模型更新进行平均。与SGD及其变体相比,FedAvg执行更多的本地计算和更少的通信。
其次,与传统的分布式学习系统不同,FL系统不能控制用户的设备。例如,当手机关闭或WiFi访问不可用时,中央服务器将失去与此设备的连接。当这种情况在训练过程中发生时,这种无响应/非活跃的设备(称为“掉队者”)看起来比其他设备慢得多。不幸的是,由于它无法控制设备,系统只能等待或忽略掉队者。等待所有设备响应显然是不可行的;因此要求所有设备都处于活跃状态是不切实际的。
再次,训练数据是非iid的,也就是说,设备的本地数据不能看作是从总体分布中提取的样本。本地可用的数据无法表示总体分布。这不仅给算法设计带来了挑战,也使得理论分析更加困难。虽然FedAvg在数据为非iid时确实有效[20],但即使在凸优化设置中,非iid数据上的FedAvg也缺乏理论保证。
在假设(1) 数据是iid和(2) 所有设备都是活跃的基础上,为FL算法的收敛性保证做了大量的工作。Khaled等人[8],Yu等人[40],Wang等人[36]做了后一种假设,而Zhou和Cong[47]、Stich[33]、Wang和Joshi[35]、Woodworth等人[38]做了两个假设。这两个假设显然违背了FL的第二和第三个特征。
On the Convergence of FedAvg on Non-IID Data的更多相关文章
- [Distributed ML] Parameter Server & Ring All-Reduce
Resource ParameterServer入门和理解[较为详细,涉及到另一个框架:ps-lite] 一文读懂「Parameter Server」的分布式机器学习训练原理 并行计算与机器学习[很有 ...
- 51nod 1065 最小正子段和 (贪心)
题目:传送门. 题意:中文题. 题解:求前缀和,并且标记每个数的下标,按照前缀和大小进行从小到大排序.随后进行遍历,如果满足下标data[i-1].id<data[i].id&& ...
- C#无限分级实现,前端WEB页面接收,后台提供层级Json数据
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Te ...
- Rx
more detailed in WIKI's document SDP :session description protocal book AAA AA-Answer 鉴权授权应答AAR AA-R ...
- K-means algorithm----PRML读书笔记
The K-means algorithm is based on the use of squared Euclidean distance as the measure of dissimila ...
- 此操作失败的原因是对 IID 为“{000208DA-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface
有些电脑报错,有些电脑正常. 环境:VS2010 WinForm程序, Office2007 C#操作Excel时报错.错误: 无法将类型为“System.__ComObject”的 COM 对象强制 ...
- (转)无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对 IID 为“{00020970-
HRESULT:0x80030002 无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft ...
- 无法将类型为“Excel.ApplicationClass”的 COM 对象强制转换为接口类 型“Excel._Application”。此操作失败的原因是对 IID 为“{000208D5 -0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 加载类型库/DLL 时出错。 (异常来 自 HRESULT:
无法将类型为“Excel.ApplicationClass”的 COM 对象强制转换为接口类 型“Excel._Application”.此操作失败的原因是对 IID 为“{000208D5 -000 ...
- 微软的COM中GUID和UUID、CLSID、IID
摘自:http://blog.csdn.net/zhongguoren666/article/details/6711396 当初微软设计com规范的时候,有两种选择来保证用户的设计的com组件可以全 ...
随机推荐
- 你不知道的JavaScript 上卷 2/11
第一部分——作用域和闭包 第一章 作用域是什么 1.几乎所有编程语言最基本的功能之一,就是能够储存变量当中的值,并且能在之后对这个值进行访问或修改.事实上,正是这种储存和访问变量的值的能力将状态带给了 ...
- luogu P2252 威佐夫博弈 模板 博弈
LINK:威佐夫博弈 四大博弈 我都没有好好整理 不过大致可以了解一下. 在这个博弈中 存在一些局面 先手遇到必胜. 不过由于后手必胜的局面更具规律性这里研究先手遇到的局面后手必胜的情况. 这些局面分 ...
- P2569 [SCOI2010]股票交易 dp 单调队列优化
LINK:股票交易 题目确实不算难 但是坑点挺多 关于初值的处理问题我就wa了两次. 所以来谢罪. 由于在手中的邮票的数量存在限制 且每次买入卖出也有限制. 必然要多开一维来存每天的邮票数量. 那么容 ...
- linux集群服务网络状态(netstat),服务端页面(图形字符页面)基本配置
Linux网络基础配置 yum -y install vim 安装vim 关闭的防火墙服务 iptables -F iptables -X iptables -Z systemctl s ...
- 谁说Cat不能做链路跟踪的,给我站出来
背景 链路跟踪,我们有很多可选项.常见的有 zipkin,pinpoint,skywalking,jaeger 等. 基本上都是根据谷歌的<Dapper 大规模分布式系统的跟踪系统>这篇论 ...
- RxJS 中的观察者和迭代器模式
目录 前言 观察者模式 迭代器模式 RxJS 中两种模式的结合和实现 小结 参考 1. 前言 RxJS 是一个库,它通过使用observable(可观察对象)序列来编写异步和基于事件的程序.其结合了观 ...
- 在IntelliJ IDEA中多线程并发代码的调试方法
通常来说,多线程的并发及条件断点的debug是很难完成的,或许本篇文章会给你提供一个友好的调试方法.让你在多线程开发过程中的调试更加的有的放矢. 我们将通过一个例子来学习.在这里,我编写了一个多线程程 ...
- String 的两种实例化方式
String 的两种实例化方式 隐式实例化:直接赋值 public class Demo { public static void main(String[] args) { String s = & ...
- Spring IOC 剖析
模拟实现 Spring Ioc 控制反转功能 使用 => 原理 => 源码 => 模拟实现 使用:了解 原理:熟悉 源码 And 模拟实现: 精通 对照 Spring 功能点 Spr ...
- 远程服务器的管理工具SSH
1.SSH是什么? SSH:Secure Shell 安全外壳协议 建立在应用层基础上的安全协议 可靠,专为远程登录会话和其他网络服务提供安全性的协议 有效防止远程管理过程中的信息泄露问题 SSH客户 ...