SCAFFOLD: Stochastic Controlled Averaging for On-Device Federated Learning
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文。
arXiv:1910.06378v1 [cs.LG] 14 Oct 2019

Abstract
联邦学习是现代大规模机器学习中的一个关键场景。在这种情况下,训练数据仍然分布在大量的客户机上,这些客户机可能是电话、其他移动设备或网络传感器,并且在不通过网络传输客户机数据的情况下学习集中式模型。此方案中使用的标准优化算法是联邦平均(FedAvg)。然而,当客户端数据是异质的(这在应用程序中是典型的)时,FedAvg并不能保证良好的收敛性。这是因为客户机上的本地更新可能会发散开来,这也解释了FedAvg在实践中的缓慢收敛和难以调整的特性。本文提出了一种新的随机控制平均算法(SCAFFOLD),该算法利用控制变量来减少不同客户之间的漂移。我们证明了该算法需要的通信次数明显减少,并且有良好的收敛性保证。
1. Introduction
在现代大规模应用程序中起关键作用的学习场景是联邦学习。与标准设置不同,标准设置使用存储在中央服务器中的大型数据集训练模型(Dean et al., 2012; Iandola et al., 2016; Goyal et al., 2017),在联邦学习中,训练数据仍然分布在大量客户机上,这些客户机可能是电话、其他移动设备、网络传感器或其他本地信息源(Konečn`y et al., 2016b,a; McMahan et al., 2017b; Mohri et al., 2019)。在不通过网络传输客户端数据的情况下,对集中式模型进行学习,从而确保了基本的隐私级别并限制了网络通信。
这种集中式模型受益于所有客户机数据,通常可以带来更优的性能,如在多个任务中所报告的,包括下一个单词预测(Hard et al., 2018; Yang et al., 2018),emoji预测(Ramaswamy et al., 2019),解码模型(Chen et al.,2019b),词汇估计(Chen et al., 2019a),低延迟车对车通信(Samarakoon et al., 2018)和健康预测模型(Brisimi et al., 2018)。尽管如此,联邦学习提出了几种类型的问题,并已成为多个研究工作的主题,研究该场景中的学习和泛化特性(Mohri et al., 2019),系统、网络和通信瓶颈问题,这些问题是由于中央服务器和客户机之间频繁的交换造成的,具有不可靠或相对较慢的网络连接(McMahan et al., 2017a)和许多其他连接。
本文讨论了联邦学习中优化任务的关键问题,特别是设计一个具有收敛性保证的高效优化解的关键问题。联邦学习中的优化问题一直是众多研究工作的主题。包括设计更有效的沟通策略(Konečn`y et al., 2016b,a; Suresh et al., 2017; Stich et al., 2018; Karimireddy et al., 2019; Basu et al., 2019),具有依赖图的并行随机优化的下界研究(Woodworth et al., 2018b),利用差异隐私保证设计高效的分布式优化方法(Agarwal et al., 2018),不可知公式的随机优化解决方案(Mohri et al.,2019),以及结合密码技术(Bonawitz et al.,2017),参见(Li et al.,2019a)以深入了解联邦学习的最新工作。
联邦学习的训练通常包括交替的通讯和本地更新。在每一轮中,客户机的子集被采样,每个采样的客户机接收共享的全局模型。然后,客户机对该模型执行本地更新,仅涉及其本地训练数据。然后,在回合结束时,采样的客户机将其更新发送到服务器,服务器聚合更新以形成新的全局模型。区分联邦学习和并行或分布式训练的关键有三个方面:(1)不同客户机上的数据以及损失函数可能非常异质,这远远不能代表联合数据;(2)只有中央服务器选择的设备的一小部分参与每一轮;(3)服务器从不跟踪任何单个客户端信息,只使用聚合来确保隐私。
SCAFFOLD: Stochastic Controlled Averaging for On-Device Federated Learning的更多相关文章
- 【流行前沿】联邦学习 Partial Model Averaging in Federated Learning: Performance Guarantees and Benefits
Sunwoo Lee, , Anit Kumar Sahu, Chaoyang He, and Salman Avestimehr. "Partial Model Averaging in ...
- 【流行前沿】联邦学习 Federated Learning with Only Positive Labels
核心问题:如果每个用户只有一类数据,如何进行联邦学习? Felix X. Yu, , Ankit Singh Rawat, Aditya Krishna Menon, and Sanjiv Kumar ...
- Local Model Poisoning Attacks to Byzantine-Robust Federated Learning
In federated learning, multiple client devices jointly learn a machine learning model: each client d ...
- 【论文笔记】A Survey on Federated Learning: The Journey From Centralized to Distributed On-Site Learning and Beyond(综述)
A Survey on Federated Learning: The Journey From Centralized to Distributed On-Site Learning and Bey ...
- 联邦学习(Federated Learning)
联邦学习简介 联邦学习(Federated Learning)是一种新兴的人工智能基础技术,在 2016 年由谷歌最先提出,原本用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是 ...
- 联邦学习 Federated Learning 相关资料整理
本文链接:https://blog.csdn.net/Sinsa110/article/details/90697728代码微众银行+杨强教授团队的联邦学习FATE框架代码:https://githu ...
- Advances and Open Problems in Federated Learning
挖个大坑,等有空了再回来填.心心念念的大综述呀(吐血三升)! 郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 项目地址:https://github.com/open-intellige ...
- Federated Learning: Challenges, Methods, and Future Directions
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:1908.07873v1 [cs.LG] 21 Aug 2019 Abstract 联邦学习包括通过远程设备或孤立的数据中心( ...
- Overcoming Forgetting in Federated Learning on Non-IID Data
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文. NeurIPS 2019 Workshop on Federated Learning ...
随机推荐
- JVM系列之:String.intern的性能
目录 简介 String.intern和G1字符串去重的区别 String.intern的性能 举个例子 简介 String对象有个特殊的StringTable字符串常量池,为了减少Heap中生成的字 ...
- PHP is_bool() 函数
is_bool() 函数用于检测变量是否是布尔型.高佣联盟 www.cgewang.com PHP 版本要求:PHP 4, PHP 5, PHP 7 语法 bool is_bool ( mixed $ ...
- PHP preg_last_error() 函数
preg_last_error 函数用于返回最后一个 PCRE 正则执行产生的错误代码.高佣联盟 www.cgewang.com 语法 int preg_last_error ( void ) 实例 ...
- PHP strpbrk() 函数
实例 在字符串中搜索字符 "oe",并返回字符串中从指定字符第一次出现的位置开始的剩余部分: <?php高佣联盟 www.cgewang.comecho strpbrk(&q ...
- PDOStatement::errorCode
PDOStatement::errorCode — 获取跟上一次语句句柄操作相关的 SQLSTATE(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 st ...
- bzoj 3790 神奇项链 回文串 manacher|PAM
LINK:神奇项链 存在两个操作:1. 一个操作可以生成所有形式的回文串 2.一个操作可以将两个串给合并起来 如果前缀和后缀相同还可以将其并起来. 多组询问 每次询问合成一个串所需最少多少次2操作. ...
- 【02python基础-函数,类】
1.函数中的全局变量与局部变量全局变量:在函数和类定义之外声明的变量.作用域为定义的模块,从定义位置开始到模块结束.全局变量降低了函数的通用性和可读性,要尽量避免全局变量的使用.全局边个两一般作为常量 ...
- Linux进程间通信之《共享内存》入门
目录 简述 代码 写端代码 读取端代码 编译 运行 简述 共享内存是Linux系统进程间通信常用的方式,通常用于数据量较大的情况,如果只是用于不同的进程间消息通知,那不如用消息队列或者socket.之 ...
- Spring IOC 剖析
模拟实现 Spring Ioc 控制反转功能 使用 => 原理 => 源码 => 模拟实现 使用:了解 原理:熟悉 源码 And 模拟实现: 精通 对照 Spring 功能点 Spr ...
- 微信小程序多列选择器
wxml <picker mode="multiSelector" bindchange="bindMultiPickerChange2" bindcol ...