郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文。

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的更多相关文章

  1. 【流行前沿】联邦学习 Partial Model Averaging in Federated Learning: Performance Guarantees and Benefits

    Sunwoo Lee, , Anit Kumar Sahu, Chaoyang He, and Salman Avestimehr. "Partial Model Averaging in ...

  2. 【流行前沿】联邦学习 Federated Learning with Only Positive Labels

    核心问题:如果每个用户只有一类数据,如何进行联邦学习? Felix X. Yu, , Ankit Singh Rawat, Aditya Krishna Menon, and Sanjiv Kumar ...

  3. Local Model Poisoning Attacks to Byzantine-Robust Federated Learning

    In federated learning, multiple client devices jointly learn a machine learning model: each client d ...

  4. 【论文笔记】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 ...

  5. 联邦学习(Federated Learning)

    联邦学习简介        联邦学习(Federated Learning)是一种新兴的人工智能基础技术,在 2016 年由谷歌最先提出,原本用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是 ...

  6. 联邦学习 Federated Learning 相关资料整理

    本文链接:https://blog.csdn.net/Sinsa110/article/details/90697728代码微众银行+杨强教授团队的联邦学习FATE框架代码:https://githu ...

  7. Advances and Open Problems in Federated Learning

    挖个大坑,等有空了再回来填.心心念念的大综述呀(吐血三升)! 郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 项目地址:https://github.com/open-intellige ...

  8. Federated Learning: Challenges, Methods, and Future Directions

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:1908.07873v1 [cs.LG] 21 Aug 2019 Abstract 联邦学习包括通过远程设备或孤立的数据中心( ...

  9. Overcoming Forgetting in Federated Learning on Non-IID Data

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文. NeurIPS 2019 Workshop on Federated Learning ...

随机推荐

  1. luogu P5470 [NOI2019]序列 dp 贪心 费用流 模拟费用流

    LINK:序列 考虑前20分 容易想到爆搜. 考虑dp 容易设\(f_{i,j,k,l}\)表示前i个位置 选了j对 且此时A选择了k个 B选择了l个的最大值.期望得分28. code //#incl ...

  2. js 读取word和txt(react版) + 正则分割段落

    show the code 前提:需要mammoth包~ import React, { useState, useReducer } from 'react'; import { Button, A ...

  3. 云服务器远程连接mysql数据库

    首先需要在云服务器上,下载安装好mysql与Navicat. mysql下载好以后,打开云端的开始,找到mysql的命令窗,进入输入自己的mysql密码,稍等片刻进入mysql数据库 进入之后输入下列 ...

  4. 《RabbitMQ》如何保证消息不被重复消费

    一 重复消息 为什么会出现消息重复?消息重复的原因有两个:1.生产时消息重复,2.消费时消息重复. 1.1 生产时消息重复 由于生产者发送消息给MQ,在MQ确认的时候出现了网络波动,生产者没有收到确认 ...

  5. java循环语句while与do-while

    一 while循环 while循环语句和选择结构if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句. 区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执 ...

  6. C++字符串转整形、浮点型stof()、atoi()、strtol()等

    头文件:#include<stdlib.h>string str;stof:float val=stof(str);atoi:int val=atoi(str);atol:long val ...

  7. C#LeetCode刷题-二分查找​​​​​​​

    二分查找篇 # 题名 刷题 通过率 难度 4 两个排序数组的中位数 C#LeetCode刷题之#4-两个排序数组的中位数(Median of Two Sorted Arrays)-该题未达最优解 30 ...

  8. golang的fmt

    前言 不做文字搬运工,多做思路整理 就是为了能速览标准库,只整理我自己看过的...... 注意!!!!!!!!!! 单词都是连着的,我是为了看着方便.理解方便才分开的 1.fmt 中文文档 [英文文档 ...

  9. Window C盘 占满原因之一

    最近一段时间,突然C盘 莫名奇妙的满了 ,也没有中毒. 最后查找是因为安装了SQL Reporting  的原因 C:\Program Files\Microsoft SQL Server Repor ...

  10. markdown基础使用技巧

    markdown基础使用技巧 通过``创建代码形式,不同形式可以叠加(比如:斜体+加粗) 块级元素 通过return/Enter实现切换段落/创建段落 通过shift+return/enter 实现换 ...