【论文导读】- Communication-Efficient Learning of Deep Networks from D

举报
1+1=王 发表于 2022/12/28 09:36:34 2022/12/28
【摘要】 【论文导读】- Communication-Efficient Learning of Deep Networks from Decentralized Data(高通信效率的去中心化的深度网络学习)

@[TOC]

论文信息

Communication-Efficient Learning of Deep Networksfrom Decentralized Data
在这里插入图片描述

Proceedings of the 20thInternational Conference on Artificial In-telligence and Statistics (AISTATS) 2017, Fort Lauderdale, Florida,USA. JMLR: W&CP volume 54. Copyright 2017 by the author(s).

原文地址:Communication-Efficient Learning of Deep Networks from Decentralized Data:http://proceedings.mlr.press/v54/mcmahan17a/mcmahan17a.pdf

摘要

Modern mobile devices have access to a wealth of data suitable for learning models, which in turn can greatly improve the user experience on the device. For example, language models can improve speech recognition and text entry, and image models can automatically select good photos.However, this rich data is often privacy sensitive,large in quantity, or both, which may preclude logging to the data center and training there using conventional approaches. We advocate an alternative that leaves the training data distributed onthe mobile devices, and learns a shared model by aggregating locally-computed updates. We term this decentralized approach Federated Learning.
We present a practical method for the federated learning of deep networks based on iterativemodel averaging, and conduct an extensive empirical evaluation, considering five different model architectures and four datasets. These experiments demonstrate the approach is robust to the unbalanced and non-IID data distributions that are adefining characteristic of this setting. Communication costs are the principal constraint, andwe show a reduction in required communicationrounds by 10–100× as compared to synchronized stochastic gradient descent.

现代移动设备可以获取大量适合学习模型的数据,而这些数据反过来又可以极大地改善设备上的用户体验。例如,语言模型可以提高语音识别和文本输入,图像模型可以自动选择好的照片。然而,这些丰富的数据往往是隐私敏感的,数量大,或者两者兼而有之,这可能妨碍使用常规方法登录数据中心和在那里进行培训。我们提倡一种替代方法,让训练数据分布在移动设备上,并通过聚集本地计算的更新来学习共享模型。我们将这种去中心化的学习方式称为联邦学习

我们提出了一种基于迭代模型平均的深度网络联邦学习的实用方法,并进行了广泛的实证评估,考虑了五种不同的模型架构和四个数据集。这些实验表明,该方法对不平衡和非IID数据分布具有鲁棒性,这些分布是该设置的一个定义特性。通信开销是主要约束,与同步随机梯度下降相比,所需的通信轮数减少了10 - 100 ×。

主要内容(contributions)

  1. 确定了从移动设备分散数据的训练问题作为一个重要的研究方向;
  2. 选择一个简单实用的算法可以应用到这个设定中;
  3. 对所提出的方法进行了广泛的实证评估。

引入了联邦平均算法,该算法将每个客户端上的局部随机梯度下降( SGD )与执行模型平均的服务器相结合。并对该算法进行了广泛的实验,证明了它对不平衡和非IID数据分布具有鲁棒性,并且可以将在分散数据上训练深度网络所需的通信轮数减少数量级。

FederatedAveraging

联邦学习

联邦学习的理想问题具有以下特性:

  • 对来自移动设备的真实世界数据进行训练比对数据中心中通常可用的代理数据进行训练具有明显优势;
  • 该数据对隐私敏感或数据量较大(对比了模型的大小),最好不要纯粹为了模型训练(服务于集中收集原则)而登录数据中心;
  • 对于有监督的任务,可以从用户交互中自然地推断数据上的标签。

隐私

与在数据中心持久化数据上的训练相比,联邦学习在隐私上拥有明显的优势。即使保有一个“匿名化”的数据集,仍然可能通过与其它数据联合而将用户隐私置于风险之中。相比之下,联邦学习中传输的信息则是改进特定模型所必须的最小更新(梯度)。它们所含有的信息,永远不会超过原始训练数据,并且通常会更少。进一步的,聚合算法并不需要知道更新的源,所以更新可以不识别元信息而在混合网络中传输或通过一个可信第三方。简要讨论了联邦学习与安全多方计算和差分隐私。

联邦优化

将联邦学习中隐含的优化问题称为联邦优化,它为分布式优化绘制了一个连接和对比。联邦优化有几个关键性质,使其区别于典型的分布式优化问题:

  • 非IID:给定客户端上的训练数据通常基于特定用户对移动设备的使用情况,因此任何特定用户的本地数据集都不能代表总体分布。
  • 不平衡:同样,一些用户会比其他用户更多地使用服务或应用程序,从而导致本地训练数据的数量不同。
  • 大规模分布:预计参与优化的客户端数量比每个客户端的平均示例数量要多得多。
  • 通信受限:移动设备经常离线或连接缓慢或昂贵。

该文重点关注优化的非IID和非平衡性质,以及通信约束的临界性质。一个已部署的联邦优化系统还必须解决大量的实际问题:随着数据的添加和删除而变化的客户端数据集;以复杂方式与本地数据分布关联的客户端可用性;以及从不响应或发送损坏的更新的客户端。

联邦平均算法(FedAVG)

在这里插入图片描述

  1. 假定在多轮通信中的一个同步更新方案,有一组K个客户端组成的固定集合,每个客户端都有一个固定的本地数据。

  2. 在每一轮开始,随机的一小部分比例 的客户端被选定,并且服务端把当前全局算法状态(当前的模型参数)发送给被选中的每一个客户端。【为了提高效率我们只选中一小部分客户端,因为我们的实验表明超过某一点继续增加客户端的数量回报就会持续衰减。】

  3. 基于全局模型参数以及本地数据集,每一个被选中的客户端开始执行本地计算,并再把更新发送到服务端。

  4. 而后服务端再把收到的这批更新应用给全局参数,然后就是不断重复执行这个过程。

weights_avg = local_w[0]
for k in weights_avg.keys():
    for i in range(1, len(local_w)):
        # weights_avg[k] += local_w[i][k] * weight
        weights_avg[k] = weights_avg[k] + local_w[i][k]
    weights_avg[k] = weights_avg[k] / len(local_w)
global_weights = weights_avg
model.load_state_dict(global_weights)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。