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

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. Java容器学习之List

    List接口继承了Collcetion接口,Collection接口又继承了超级接口Iterable,List是有序列表,实现类有ArrayList.LinkedList.Vector.Stack等. ...

  2. IDEA解决MAVEN下载插件慢问题

    原文链接:https://blog.csdn.net/qq_25983579/article/details/104398915 使用阿里的maven镜像 右键项目选中maven选项,然后选择“ope ...

  3. python数据处理书pdf版本|内附网盘链接直接提取|

    Python数据处理采用基于项目的方法,介绍用Python完成数据获取.数据清洗.数据探索.数据呈现.数据规模化和自动化的过程.主要内容包括:Python基础知识,如何从CSV.Excel.XML.J ...

  4. HTML <hr> 标签

    高佣联盟 www.cgewang.com HTML <hr> 标签 实例 当内容的主题发生变化时,使用 <hr> 标签进行分隔: <h1>HTML</h1&g ...

  5. PHP addAttribute() 函数

    实例 给根元素和 body 元素添加一个属性: <?php$note=<<<XML<note>高佣联盟 www.cgewang.com<to>Tove& ...

  6. 一、elasticsearch部署

    Elasticsearch官网: https://www.elastic.co/products/elasticsearch 一.Linux单节点部署 1. 解压elasticsearch-5.6.1 ...

  7. 用python包xlwt将数据写入Excel中

    一般用两种格式的数据写入,不多说放上demo. 1.列表形式写入 import xlwt def data_write(file_path, datas): f = xlwt.Workbook() s ...

  8. AutoMapper 9.0的改造

    AutoMapper于2019.8.12升级9.0 从此不再支持静态的对象转换 自己琢磨了一下,写了一套扩展 官方链接如下 https://github.com/AutoMapper/AutoMapp ...

  9. js如何从一个数组中随机取出n个不同且不重复的值

    前言 一位正在学习前端的菜鸟,虽菜,但还未放弃. 给大家画张图了解思路 以下是代码 function randomArr(arr,num){ let newArr = [];//创建一个新数组 for ...

  10. 查看 Linux 系统服务的 5 大方法

    Linux 系统服务有时也称为守护程序,是在Linux启动时自动加载并在Linux退出时自动停止的系统任务. 在本文中,良许将为大家介绍如何列出 Linux 系统里所有运行的服务,以及如何检查某个服务 ...