首页 > 其他分享 >论文总结-经典论文-联邦学习/Communication-Efficient Learning of Deep Networks from Decentralized Data

论文总结-经典论文-联邦学习/Communication-Efficient Learning of Deep Networks from Decentralized Data

时间:2024-12-03 19:59:14浏览次数:6  
标签:Decentralized 训练 Efficient 模型 论文 联邦 数据 我们 客户端

本文为《基于分布式数据的深度网络高效通信学习》的总结和原文翻译稿,原文由H. Brendan McMahan等人(Google团队)发表于Computing Research Repository (CoRR)(2016)。

该论文首次提出“联邦学习”(Federated Learning)的概念,解决的问题为保护用户数据隐私和避免合规风险。具体而言,移动设备上的隐私敏感数据不需要集中到数据中心,而是通过本地计算的更新聚合来学习共享模型,在保护用户隐私的同时减少了通信成本。这一方法对不平衡和非IID(独立同分布)数据分布具有较强的鲁棒性。

在8年后的今天,联邦学习已成为各个主要国家和地区解决数据隐私保护和跨设备数据共享的重要方向。特别是在欧盟GDPR和美国CCPA等法律监管的背景下,此文不论从技术点挖掘创新,还是法律合规管控的角度都值得反复深入研究和学习。

论文总结:

步骤1:设计去中心化的训练框架

去中心化训练框架 是联邦学习的核心。传统的机器学习方法需要将数据集中到一个服务器进行训练,而 联邦学习 通过以下方式避免了这一点:

  1. 分布式数据:每个客户端(例如智能手机、平板等设备)拥有自己的本地数据集,这些数据集不会上传到中央服务器。每个客户端的任务是计算并发送其本地训练模型的更新。

  2. 本地训练:每个客户端使用本地的数据进行模型训练,不直接上传原始数据,只上传模型更新(即本地计算得到的梯度或权重变化)。

  3. 更新聚合:服务器接收到来自各客户端的更新后,会将这些更新聚合起来,更新全局共享模型。聚合过程通常是加权平均,即对每个客户端的本地更新进行加权求和,并生成新的全局模型。

  4. 隐私保护:联邦学习的优势之一是能够有效减少隐私泄露的风险,因为原始数据从未离开本地设备,只传输模型的更新。


步骤2:定义并实现联邦平均算法(FedAvg)

联邦学习的关键算法是 联邦平均算法(FedAvg),这是一个迭代算法,步骤如下:

  1. 客户端训练

    • 每个客户端用本地数据集训练深度网络模型,通常是通过 随机梯度下降(SGD) 来进行优化。客户端根据自己的本地数据集计算梯度或更新(例如,权重变化)。
    • 训练过程可以是几轮的局部迭代,通常每个客户端只需训练少数轮,减少了需要传输的数据量。
  2. 更新传输

    • 每个客户端完成本地训练后,将计算得到的模型更新(而不是原始数据)发送给服务器。服务器在每轮中从多个客户端接收更新。
  3. 聚合更新

    • 服务器将所有客户端上传的更新进行加权平均(如每个客户端上传的更新权重与客户端数据量成正比),并使用这个加权平均值来更新全局共享模型。
  4. 模型更新与迭代

    • 服务器更新全局模型后,将新的全局模型发送回每个客户端,客户端使用更新后的模型进行下一轮训练。
    • 这个过程会持续多轮,直到模型达到收敛或达到预设的停止条件。

步骤3:处理非IID和不平衡数据

联邦学习面临的一个挑战是数据分布的非独立同分布(non-IID)性不平衡性,因为每个客户端的数据可能来自不同的用户群体,具有不同的特征和偏好。

论文中通过以下方法解决这一问题:

  1. 数据分布问题:论文模拟了两种数据分布情况:

    • IID(独立同分布)数据:数据在所有客户端之间随机分配,每个客户端的数据样本都是从同一总体分布中独立采样的。
    • 非IID数据:数据按照某些规则(例如,按标签进行排序)进行划分,导致每个客户端的数据不代表总体分布,某些客户端的数据可能偏向特定类别。
  2. 优化算法鲁棒性:联邦学习框架设计上就考虑到了这种数据不平衡和非IID的数据特征。实验表明,联邦学习能够处理这些不平衡和非IID数据,并且相比传统方法在此类数据上的表现更好。


步骤4:优化与实验评估

在模型训练过程中,通信成本(即每轮传输的数据量)是一个重要的约束。为了减少通信成本,论文提出了以下优化措施:

  1. 并行性增加:通过增加每轮训练中并行客户端的数量(客户端比例 C),可以减少每轮通信的频率,提升通信效率。

  2. 本地计算量增加:通过增加每个客户端的本地计算量(例如,增加每个客户端的训练轮数 E 或批量大小 B),减少了所需的通信轮次。这样,客户端在本地进行更多计算后,仅传输本地更新,降低了通信开销。

  3. 实验验证:论文在多个数据集(如 MNIST、CIFAR-10)上对联邦学习方法进行了广泛的实验验证。实验结果表明,联邦学习能够显著降低通信轮次,同时在非IID和不平衡数据的环境下仍能保持高效的训练和较好的模型精度。


步骤5:实验结果与分析

  1. 通信效率:实验结果表明,联邦学习方法显著降低了所需的通信轮次,与传统的同步随机梯度下降(SGD)相比,通信轮次减少了10-100倍。

  2. 隐私保护:与传统的集中式训练方法相比,联邦学习能够有效减少数据隐私泄露的风险。数据仅在本地进行计算,模型更新被传输到服务器,而原始数据始终保留在客户端设备上。

  3. 非IID和不平衡数据的鲁棒性:实验验证了联邦学习方法对非IID和不平衡数据具有鲁棒性,能够处理移动设备环境下常见的复杂数据分布。


步骤7:未来研究方向

  1. 结合差分隐私和安全多方计算:通过结合 差分隐私(Differential Privacy)安全多方计算(Secure Multi-party Computation) 等技术,可以进一步提高联邦学习的隐私保护能力。

  2. 扩展到更大规模的应用场景:实验主要集中在较小的数据集和有限的客户端数上,未来研究可以扩展到大规模客户端和复杂数据集上,进一步验证其在实际应用中的有效性。

论文主干部分翻译如下:

Communication-Efficient Learning of Deep Networks

from Decentralized Data

摘要

现代移动设备可以访问大量适合模型学习的数据,这些模型反过来可以极大地改善设备上的用户体验。例如,语言模型可以改善语音识别和文本输入,图像模型可以自动选择好照片。然而,这些丰富的数据通常涉及隐私敏感信息、数据量庞大,或两者兼而有之,我们提倡一种替代方案,即让训练数据分布在移动设备上,并通过聚合本地计算的更新来学习共享模型。我们将这种去中心化的方法称为联邦学习。我们提出了一种基于迭代模型平均的深度网络联邦学习实用方法,并进行了广泛的实证评估,考虑了五种不同的模型架构和四个数据集。这些实验表明,该方法对不平衡和非独立同分布 (non-IID) 数据分布具有鲁棒性。

一、引言

越来越多的人将手机和平板电脑作为主要的计算设备 [30, 2]。这些设备上强大的传感器(包括摄像头、麦克风和 GPS)以及人们经常携带它们的特性,意味着它们可以访问前所未有的海量数据,其中许多数据具有私密性。在这样的数据上训练的模型有望通过支持更智能的应用程序来极大地提高可用性,但数据的敏感性意味着将其存储在集中式位置存在风险和责任。

我们研究了一种学习技术,它允许用户共同享受从丰富数据中训练的共享模型带来的好处,而无需集中存储这些数据。我们将我们的方法称为联邦学习,因为学习任务是由一个松散的参与设备联盟(我们称之为客户端)解决的,这些设备由一个中央服务器协调。每个客户端都拥有一个本地训练数据集,该数据集永远不会上传到服务器。相反,每个客户端计算对服务器维护的当前全局模型的更新,并且只有此更新被通信。这是 2012 年白宫关于消费者数据隐私的报告 [39] 中提出的集中收集或数据最小化原则的直接应用。由于这些更新专门用于改进当前模型,因此在应用后无需存储它们。

这种方法的主要优势在于将模型训练与直接访问原始训练数据的需求解耦。显然,仍然需要对协调训练的服务器有一定的信任。然而,对于可以在每个客户端可用数据的基础上指定训练目标的应用而言,联邦学习可以通过将攻击面限制在设备本身,而不是设备和云端,从而显著降低隐私和安全风险。

我们的主要贡献是:

  1. 识别了在移动设备上训练分散数据的难题,将其作为重要的研究方向;
  2. 选择了一种简单实用的算法,可应用于此设置;
  3. 对所提出的方法进行了广泛的实证评估。更具体地说,我们引入了联邦平均算法,该算法将每个客户端上的局部随机梯度下降 (SGD) 与执行模型平均的服务器相结合。我们对该算法进行了广泛的实验,证明它对不平衡和非独立同分布 (non-IID) 数据分布具有鲁棒性,并且可以将训练深度网络在分散数据上所需的通信轮数减少几个数量级。

联邦学习:对于联邦学习的理想应用具有以下特性

  1. 在移动设备上的真实世界数据上进行训练,比在数据中心普遍可用的代理数据上进行训练具有明显的优势。
  2. 这些数据对隐私敏感或体积庞大(相对于模型的大小),因此最好不要将其记录到数据中心,仅仅是为了模型训练的目的(符合专注收集原则)。
  3. 对于监督任务,数据的标签可以从用户交互中自然推断出来。

许多为移动设备上的智能行为提供动力的模型符合上述标准。例如图像分类预测哪些照片在未来更有可能被多次查看或分享;以及语言模型可以用于通过改进解码、下一个词预测,甚至预测整个回复来改进触屏键盘上的语音识别和文本输入 [10]。用于这两项任务的潜在训练数据(用户拍摄的所有照片以及他们在手机键盘上输入的所有内容,包括密码、URL、消息等)都可能涉及隐私敏感信息。这些示例所来自的分布也可能与易于获得的代理数据集有很大差异:聊天和短信中的语言使用方式通常与标准语言语料库(例如维基百科和其他网络文档)有很大不同;人们用手机拍摄的照片可能与典型的 Flickr 照片有很大不同。最后,这些问题的标签可以直接获得:输入的文本本身就被标记用于训练语言模型,而照片标签可以通过用户与照片应用程序的自然交互来定义(哪些照片被删除、分享或查看)。

这两项任务都非常适合用神经网络学习。对于图像分类,前馈深度网络,特别是卷积网络,众所周知可以提供最先进的结果 [26, 25]。对于语言建模任务,循环神经网络,特别是 LSTM,已经取得了最先进的结果 [20, 5, 22]。

隐私:与数据中心对持久化数据的训练相比,联邦学习具有明显的隐私优势。即使持有“匿名化”数据集,也可能通过与其他数据的连接 [37] 来危及用户隐私。相比之下,联邦学习传输的信息是改进特定模型所需的最小更新(当然,隐私优势的强度取决于更新的内容)。1 更新本身可以(也应该)是短暂的。它们永远不会包含比原始训练数据更多信息(根据数据处理不等式),并且通常会包含的信息要少得多。此外,聚合算法不需要更新的来源,因此更新可以在不识别元数据的情况下通过诸如 Tor [7] 之类的混合网络或通过可信第三方进行传输。在本文的最后,我们简要讨论了将联邦学习与安全多方计算和差分隐私相结合的可能性。

联邦优化:我们将联邦学习中隐含的优化问题称为联邦优化,并将其与分布式优化进行对比。联邦优化具有几个关键特性,使其区别于典型的分布式优化问题:

• 非独立同分布 给定客户端上的训练数据通常基于特定用户对移动设备的使用情况,因此任何特定用户的本地数据集都不会代表总体分布。

• 不平衡 同样,一些用户会比其他用户更频繁地使用该服务或应用程序,导致本地训练数据的数量不同。

•大规模分布式 我们预计参与优化的客户端数量将远大于每个客户端的平均样本数量。

• 通信受限 移动设备经常处于离线状态,或连接速度慢或价格昂贵。

在这项工作中,我们重点关注优化中的非独立同分布(non-IID)和不平衡特性,以及通信约束的关键性。部署的联邦优化系统还必须解决许多实际问题:随着数据添加和删除而变化的客户端数据集;与本地数据分布以复杂方式相关的客户端可用性(例如,使用美式英语的手机可能与使用英式英语的手机在不同的时间段内插电);以及从未响应或发送损坏更新的客户端。

这些问题超出了当前工作的范畴;相反,我们使用一个适合实验的受控环境,但仍然解决了客户端可用性和不平衡和非IID数据的关键问题。我们假设一个同步更新方案,该方案以通信轮次进行。有一组固定的K客户端,每个客户端都有一个固定的本地数据集。在每一轮开始时,随机选择一部分C客户端,服务器将当前的全局算法状态发送给这些客户端(例如,当前的模型参数)。为了提高效率,我们只选择一小部分客户。我们的实验表明,在一定数量的客户之后,增加更多客户的收益会递减。每个选定的客户根据全局状态和本地数据集进行本地计算,并将更新发送到服务器。然后,服务器将这些更新应用到其全局状态,并重复此过程。

尽管我们关注非凸神经网络目标函数,但我们考虑的算法适用于任何形式为 的有限和目标函数。

(数学公式和公式调整略)

在数据中心优化中,通信成本相对较小,计算成本占主导地位,最近的重点是使用GPU来降低这些成本。相比之下,在联邦优化中,通信成本占主导地位——我们通常会受到1 MB/s或更低的上传带宽的限制。此外,客户通常只会在他们被充电、插入电源并连接到无计量 WiFi 时自愿参与优化。此外,我们预计每个客户每天只会参与少量更新轮次。另一方面,由于任何单个设备上的数据集都比总数据集小得多,而且现代智能手机拥有相对快速的处理器(包括 GPU),因此对于许多模型类型而言,计算成本与通信成本相比几乎可以忽略不计。因此,我们的目标是使用额外的计算来减少训练模型所需的通信轮次。我们可以通过两种主要方式增加计算量:1)增加并行度,即在每次通信轮次之间使用更多独立工作的客户;以及 2)增加每个客户的计算量,即在每次通信轮次之间,每个客户执行比简单梯度计算更复杂的计算。我们研究了这两种方法,但我们取得的加速主要归因于在使用一定程度的客户端并行性后,在每个客户端上增加了更多的计算。

相关工作:通过迭代平均本地训练模型来进行分布式训练,已经被 McDonald 等人 [28] 用于感知器,以及 Povey 等人 [31] 用于语音识别 DNNs。Zhang 等人 [42] 研究了一种使用“软”平均的异步方法。这些工作只考虑了集群/数据中心设置(最多 16 个工作节点,基于快速网络的挂钟时间),并没有考虑数据集的不平衡和非 IID 特性,而这些特性对于联邦学习设置至关重要。我们将这种算法风格改编到联邦环境中,并进行相应的实证评估。这与数据中心环境中的相关问题不同,需要不同的方法。

拥有与我们相似动机的研究中,Neverova 等人 [29] 也讨论了将敏感用户数据保留在设备上的优势。Shokri 和 Shmatikov 的工作 [35] 在多个方面相关:他们专注于训练深度网络,强调隐私的重要性,并通过在每轮通信中仅共享一部分参数来解决通信成本;然而,他们也没有考虑不平衡和非独立同分布(non-IID)数据,且实证评估有限。

在凸优化环境下,分布式优化和估计问题已受到广泛关注 [4, 15, 33],一些算法专门关注通信效率 [45, 34, 40, 27, 43]。除了假设凸性之外,现有工作通常还要求客户端数量远小于每个客户端的样本数量,数据以 IID 方式分布在客户端之间,并且每个节点具有相同数量的数据点——所有这些假设在联邦优化环境中都被违反。异步分布式 SGD 形式也已应用于神经网络训练,例如 Dean 等人 [12],但这些方法在联邦环境中需要大量的更新。分布式共识算法(例如 [41]) 放宽了 IID 假设,但仍然不适合在大量客户端上进行通信受限的优化。

我们考虑的(参数化)算法族的一个端点是简单的单次平均,其中每个客户端都求解最小化其本地数据上的(可能正则化的)损失的模型,然后对这些模型进行平均以生成最终的全局模型。这种方法在具有 IID 数据的凸情况下已被广泛研究,并且已知在最坏情况下,生成的全局模型不比在单个客户端上训练的模型好 [44, 3, 46]。

  • 联邦平均算法

最近深度学习成功应用的众多实例几乎完全依赖于随机梯度下降(SGD)的变体进行优化;事实上,许多进展可以理解为调整模型的结构(也包括损失函数),使其更适合通过简单的基于梯度的方法进行优化[16]。因此,从 SGD 开始构建联邦优化算法是自然而然的。

SGD 可以直接应用于联邦优化问题,其中每轮通信只进行一次批梯度计算(例如,在随机选择的客户端上)。这种方法计算效率高,但需要大量的训练轮次才能产生好的模型(例如,即使使用像批归一化这样的先进方法,Ioffe 和 Szegedy [21] 也在大小为 60 的小批量上训练 MNIST 50000 步)。我们在 CIFAR-10 实验中考虑了这个基线。

在联邦学习环境中,增加更多客户端几乎不会增加实际运行时间,因此我们使用大批量同步 SGD 作为基线;Chen 等人 [8] 的实验表明,这种方法在数据中心环境中处于领先地位,优于异步方法。为了在联邦环境中应用这种方法,我们在每一轮中选择 C 分数的客户端,并计算这些客户端所持所有数据的损失梯度。因此,C控制全局批次大小,其中 C = 1 对应于全批次(非随机)梯度下降。我们将这种基线算法称为联邦 SGD(或 FedSGD)。

(FedSGD 的典型实现和伪代码略)

对于一般的非凸目标函数,在参数空间中对模型进行平均可能会产生任意差的模型。

遵循 Goodfellow 等人 [17] 的方法,当我们对两个从不同初始条件训练的 MNIST 数字识别模型 3 进行平均时,我们观察到了这种不良行为(图 1,左)。对于此图,父模型 w 和 w′ 分别在来自 MNIST 训练集的 600 个非重叠 IID 样本上进行训练。训练使用 SGD,固定学习率为 0.1,在大小为 50 的小批量上进行 240 次更新(或 E = 20 次遍历大小为 600 的小数据集)。这大约是模型开始过拟合其本地数据集的训练量。

最近的研究表明,在实践中,参数化程度足够高的神经网络的损失函数表面出奇地表现良好,特别是比之前认为的更不容易陷入局部最小值 [11, 17, 9]。事实上,当我们从相同的随机初始化开始训练两个模型,然后分别在不同的数据子集上进行训练(如上所述),我们发现简单的参数平均效果出奇地好(图 1,右):这两个模型的平均值 1 2 w + 1 2 w′ 在完整的 MNIST 训练集上取得了显著低于在任何一个小型数据集上独立训练得到的最佳模型的损失。虽然图 1 从随机初始化开始,但请注意,每个 FedAvg 轮次都使用共享的起始模型 wt,因此相同的直觉适用。

  • 实验结果

我们受到图像分类和语言建模任务的双重驱动,其中良好的模型可以极大地提高移动设备的可用性。对于每个任务,我们首先选择了一个规模适中的代理数据集,以便我们可以彻底研究 FedAvg 算法的超参数。虽然每个单独的训练运行规模相对较小,但我们在这些实验中训练了超过 2000 个单独的模型。然后,我们在基准 CIFAR-10 图像分类任务上展示结果。最后,为了证明 FedAvg 在具有自然数据分区客户端的现实世界问题中的有效性,我们在大型语言建模任务上进行了评估。

我们的初步研究包括在两个数据集上进行的三种模型族。前两种用于 MNIST 数字识别任务 [26]:1) 一个简单的多层感知器,具有两个隐藏层,每个隐藏层有 200 个单元,使用 ReLu 激活函数(总共 199,210 个参数),我们将其称为 MNIST 2NN。2) 一个 CNN,具有两个 5x5 卷积层(第一个有 32 个通道,第二个有 64 个通道,每个后面都跟着 2x2 最大池化),一个具有 512 个单元和 ReLu 激活函数的全连接层,以及一个最终的 softmax 输出层(总共 1,663,370 个参数)。为了研究联邦优化,我们还需要指定数据如何在客户端之间分布。我们研究了两种将 MNIST 数据划分为客户端的方式:IID,其中数据被随机打乱,然后被划分为 100 个客户端,每个客户端接收 600 个样本;非 IID,其中我们首先按数字标签对数据进行排序,将其划分为 200 个大小为 300 的分片,并将每个 100 个客户端分配 2 个分片。这是一个病态的非独立同分布数据划分,因为大多数客户端只会拥有两个数字的样本,这让我们可以探索我们的算法在高度非独立同分布数据上的失效程度。这两个划分都是平衡的。

为了语言建模,我们从威廉·莎士比亚全集 [32] 中构建了一个数据集。我们为每个剧本中至少有两行台词的每个角色构建了一个客户端数据集。这产生了包含 1146 个客户端的数据集。对于每个客户端,我们将数据分成训练行集(角色的前 80% 行)和测试行集(最后 20%,向上取整到至少一行)。由此产生的数据集在训练集中包含 3,564,579 个字符,在测试集中包含 870,014 个字符。该数据极不平衡,许多角色只有几行台词,而少数角色却有大量台词。此外,请注意测试集并非随机抽取的台词样本,而是按每个剧本的时间顺序进行分离。使用相同的训练/测试划分,我们还形成了一个平衡且独立同分布 (IID) 的数据集版本,同样包含 1146 个客户端。

在这个数据集上,我们训练了一个堆叠的字符级 LSTM 语言模型,该模型在读取一行中的每个字符后,预测下一个字符 [22]。该模型以一系列字符作为输入,并将每个字符嵌入到一个学习到的 8 维空间中。嵌入字符随后通过两个 LSTM 层处理,每个层包含 256 个节点。最后,第二个 LSTM 层的输出被发送到一个 softmax 输出层,该层每个字符对应一个节点。完整模型包含 866,578 个参数,我们使用 80 个字符的展开长度进行训练。

SGD 对学习率参数的调整很敏感 η。这里报告的结果基于在足够宽的学习率范围内进行训练。我们检查以确保最佳学习率位于网格的中间,并且最佳学习率之间没有显著差异。除非另有说明,否则我们绘制针对每个 x 轴值单独选择的最佳性能率的指标。我们发现最优学习率的变化幅度并不大,与其他参数的关系并不显著。

提高并行度 我们首先实验客户端比例 C,它控制多客户端并行的程度。表 1 显示了改变 C 对 MNIST 模型的影响。我们报告了达到目标测试集准确率所需的通信轮数。为了计算这一点,我们为每组参数设置构建了一条学习曲线,如上所述优化 η,然后通过取所有先前轮次中达到的最佳测试集准确率来使每条曲线单调递增。然后,我们使用曲线形成的离散点之间的线性插值,计算曲线与目标准确率相交的轮数。这也许可以通过参考图 2 来更好地理解,其中灰色线显示了目标。(计算效率和收敛速度平衡过程讲解略,参数最终设置为C=0.1)

增加每个客户端的计算量 在本节中,我们固定 C = 0.1,并在每轮中增加每个客户端的计算量,或者减少 B,增加 E,或两者兼而有之。图 2 演示了每轮增加更多本地 SGD 更新可以显著降低通信成本,表 2 则量化了这些加速效果。每个客户端每轮的预期更新次数为 u = (E[nk]/B)E = nE/(KB),其中期望值是在随机客户端 k 的抽取上计算的。我们根据此统计数据对表 2 中每个部分的行进行排序。我们发现通过改变 E 和 B 来增加 u 是有效的。只要 B 足够大以充分利用客户端硬件上的并行性,降低它基本上不会带来计算时间上的成本,因此在实践中,这应该是第一个调整的参数。

对于MNIST数据的IID划分,增加每个客户端的计算量使得达到目标准确率所需的轮数减少了35倍(CNN)和46倍(2NN)(有关2NN的详细信息,请参见附录A中的表4)。对于病态划分非独立同分布数据,加速效果较小,但仍然显著(2.8-3.7 倍)。令人印象深刻的是,即使在对完全不同的数字对训练的模型参数进行简单平均时,平均仍然能提供优势(而不是发散)。因此,我们认为这有力地证明了这种方法的稳健性。

莎士比亚剧集(按角色在剧中的分布)的不平衡和非独立同分布(non-IID)特征更能代表我们对现实世界应用中数据分布的预期。令人鼓舞的是,对于这个问题,在非独立同分布和不平衡数据上学习实际上要容易得多(相较于平衡的独立同分布数据,速度提升为95倍,而不是13倍);我们推测这在很大程度上是由于某些角色拥有相对较大的本地数据集,这使得增加本地训练特别有价值。

对于所有三种模型类别,FedAvg 的测试集准确率收敛到比基线 FedSGD 模型更高的水平。即使将线条延伸到绘制范围之外,这一趋势仍然持续。例如,对于 CNN,B = ∞,E = 1 的 FedSGD 模型在 1200 轮后最终达到了 99.22% 的准确率(在 6000 轮后没有进一步改善),而 B = 10,E = 20 的 FedAvg 模型在 300 轮后达到了 99.44% 的准确率。我们推测,除了降低通信成本外,模型平均还产生了类似于 dropout [36] 所实现的正则化效益。

我们主要关注泛化性能,但FedAvg在优化训练损失方面也很有效,甚至超过了测试集准确率达到平稳的点。我们观察到所有三种模型类别都表现出类似的行为,并在附录A的图6中展示了MNIST CNN的图。

我们能否在客户端数据集上过度优化?当前的模型参数仅通过初始化影响每个 ClientUpdate 中的优化。因此,随着 E → ∞,至少对于一个凸问题,最终初始条件应该是无关紧要的,全球最小值将不受初始化的影响而被达到。即使对于非凸问题,人们也可能推测该算法会收敛到相同的局部最小值,只要初始化在同一个盆地中。也就是说,我们期望虽然一轮平均可能会产生一个合理的模型,但额外的通信轮次(和平均)不会产生进一步的改进。

图 3 展示了在莎士比亚 LSTM 问题中,初始训练期间较大的 E 对模型的影响。事实上,对于非常大量的本地 epoch 来说,FedAvg 可能达到平稳或发散。7 这个结果表明,对于某些模型,特别是在收敛的后期阶段,降低每轮的本地计算量(转向更小的 E 或更大的 B)可能是有用的,就像降低学习率一样。附录 A 中的图 8 给出了 MNIST CNN 的类似实验。有趣的是,对于这个模型,我们没有看到在 E 值较大的情况下收敛速度有明显下降。然而,对于下面描述的大规模语言建模任务,我们看到 E = 1 比 E = 5 的性能略好(参见附录 A 中的图 10)。

CIFAR 实验 我们还在 CIFAR-10 数据集 [24] 上进行了实验,以进一步验证 FedAvg。该数据集包含 10 类 32x32 的图像,每个图像有三个 RGB 通道。有 50,000 个训练样本和 10,000 个测试样本,我们将其划分为 100 个客户端,每个客户端包含 500 个训练样本和 100 个测试样本;由于该数据没有自然的用户划分,我们考虑了平衡和 IID 设置。模型架构来自 TensorFlow 教程 [38],它包含两个卷积层,接着是两个全连接层,最后是一个线性变换层来生成 logits,总共约 106 个参数。需要注意的是,最先进的方法在 CIFAR 上已经达到了 96.5% 的测试精度 [19];然而,我们使用的标准模型足以满足我们的需求,因为我们的目标是评估我们的优化方法,而不是在这个任务上获得最佳的精度。图像在训练输入管道中进行预处理,该管道包括将图像裁剪为 24x24,随机左右翻转以及调整对比度、亮度和白化。

在这些实验中,我们考虑了一个额外的基线,即在完整训练集上(没有用户划分)使用大小为 100 的小批量进行标准 SGD 训练。我们在 197,500 次小批量更新后(在联邦设置中,每次小批量更新都需要一次通信轮次)获得了 86% 的测试准确率。FedAvg 在仅 2,000 轮通信后就达到了 85% 的类似测试精度。对于所有算法,除了初始学习率之外,我们还调整了学习率衰减参数。表 3 给出了基线 SGD、FedSGD 和 FedAvg 达到三个不同精度目标的通信轮数,图 4 给出了 FedAvg 与 FedSGD 的学习率曲线。

通过对 SGD 和 FedAvg 运行大小为 B = 50 的小批量实验,我们还可以观察到准确率随此类小批量梯度计算次数的变化。我们预计 SGD 在这里会表现更好,因为在每次小批量计算之后都会进行一个顺序步骤。然而,如附录中的图 9 所示,对于 C 和 E 的适度值,FedAvg 在每个小批量计算中取得了类似的进展。此外,我们看到,标准 SGD 和每轮只有一个客户端的 FedAvg (C = 0) 都表现出明显的精度波动,而对更多客户端进行平均可以平滑这种波动。

大规模 LSTM 实验 我们在一个大规模的next-word prediction任务上进行了实验,以证明我们的方法在实际问题中的有效性。我们的训练数据集包含来自大型社交网络的 1000 万个公开帖子。我们将帖子按作者分组,总共超过 500,000 个客户。该数据集是用户移动设备上文本输入数据的真实代理。我们限制每个客户端数据集最多包含 5000 个单词,并在一个包含 1e5 个来自不同(非训练)作者的帖子的测试集上报告准确率(预测概率最高的单词是正确下一个单词的数据比例,在 10000 种可能性中)。我们的模型是在 10,000 个单词的词汇表上训练的 256 节点 LSTM。每个单词的输入和输出嵌入维度为 192,并与模型共同训练;总共有 4,950,544 个参数。我们使用了 10 个单词的展开。

这些实验需要大量的计算资源,因此我们没有对超参数进行彻底的探索:所有运行每轮都在 200 个客户端上进行训练;FedAvg 使用 B = 8 和 E = 1。我们探索了 FedAvg 和基线 FedSGD 的各种学习率。图 5 显示了最佳学习率下的单调学习曲线。FedSGD 在 η = 18.0 时需要 820 轮才能达到 10.5% 的准确率,而 FedAvg 在 η = 9.0 时仅需 35 轮通信(比 FedSGD 少 23 倍)就达到了 10.5% 的准确率。我们观察到 FedAvg 的测试准确率方差较低,参见附录 A 中的图 10。该图还包括 E = 5 的结果,其性能略低于 E = 1。

  • 结论与未来工作

实验表明,联邦学习具有实用性,因为 FedAvg 使用相对较少的通信轮次训练出高质量的模型,这在各种模型架构上的结果中得到了证明:多层感知器、两种不同的卷积神经网络、两层字符 LSTM 和一个大规模词级 LSTM。

虽然联邦学习提供了许多实用的隐私益处,但通过差分隐私(differential privacy) [14, 13, 1]、安全多方计算(secure multi-party computation ) [18] 或它们的组合来提供更强的保证是未来工作的一个有趣方向。需要注意的是,这两类技术最自然地适用于像 FedAvg 这样的同步算法。

翻译声明:

本文为《基于分布式数据的深度网络高效通信学习》(Communication-Efficient Learning of Deep Networks from Decentralized Data)的翻译稿,原文由 H. Brendan McMahan、Eider Moore、Daniel Ramage、Seth Hampson、Blaise Aguera y Arcas 发表,发表于 Computing Research Repository (CoRR)(2016)。本文遵循 Creative Commons Attribution 4.0 License (CC BY 4.0) 协议。所有原文版权归原作者及其出版单位所有,翻译仅供个人学习、研究与交流使用,禁止用于任何商业用途。若原文涉及任何版权问题,请及时联系原作者或出版单位。

译者声明:
本翻译工作仅作为学术性分享,不代表原作者或原出版单位的观点。翻译准确性由译者负责,但不保证与原文完全一致。如有任何版权争议或侵权问题,请通过论坛私信联系译者,翻译内容将在核实后立即删除。

原文信息:
标题: Communication-Efficient Learning of Deep Networks from Decentralized Data
作者: H. Brendan McMahan、Eider Moore、Daniel Ramage、Seth Hampson、Blaise Aguera y Arcas
单位: Google Inc.
发表平台: Computing Research Repository (CoRR)
年份:2016
相关链接:原接

标签:Decentralized,训练,Efficient,模型,论文,联邦,数据,我们,客户端
From: https://blog.csdn.net/2302_80569830/article/details/144218840

相关文章

  • 读论文《Bidirectionally Deformable Motion Modulation For Video-based Human Pose
    论文地址:2307.07754https://arxiv.org/pdf/2307.07754项目地址:rocketappslab/BDMM:OfficialPyTorchimplementationofBDMM:BidirectionallyDeformableMotionModulationForVideo-basedHumanPoseTransfer[ICCV2023]https://github.com/rocketappslab/bdmm项目已......
  • 基于springboot的在线骑行网站论文
    系统简介传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装在线骑行网站软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,在线骑行网站的......
  • 基于springboot高校教师科研管理系统论文
    系统简介社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。本次开发一套高校教师科研管理系统有管理员,教师,学院三个角色。管理员功能有个人中心,教师管理,学院管理......
  • 基于springboot善筹网众筹系统的论文
    系统简介信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管......
  • springboot基于Vue的MES生产制造执行系统论文.doc
    系统简介当下,如果还依然使用纸质文档来记录并且管理相关信息,可能会出现很多问题,比如原始文件的丢失,因为采用纸质文档,很容易受潮或者怕火,不容易备份,需要花费大量的人员和资金来管理用纸质文档存储的信息,最重要的是数据出现问题寻找起来很麻烦,并且修改也困难,如果还这样操作会......
  • python毕设 基于JavaEE的民宿预订平台程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景随着旅游业的蓬勃发展,民宿作为一种新兴的住宿方式在国内外都受到了广泛关注。关于民宿预订平台的研究,现有研究主要以大型酒店预订平台......
  • python毕设 宠物寄养管理系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容1.选题背景关于宠物寄养管理系统的研究,现有研究多侧重于宠物寄养业务的某一环节,如寄养家庭的选择或宠物健康监测等部分功能的实现。专门针对从用......
  • node.js毕设图书个性化推荐系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于图书个性化推荐系统的研究,现有研究主要以通用的推荐算法和系统架构为主。在国内外,很多研究集中在如电子商务、流媒体等领域的个性化推荐,针对图书领......
  • node.js毕设图书共享管理系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于图书共享管理系统的研究,现有研究主要以传统图书馆管理系统为主,专门针对图书共享管理系统的研究较少。在当今社会,随着共享经济的发展,图书共享的理念......
  • node.js毕设图书馆出版物预订系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于图书馆出版物预订系统的研究,现有研究主要以图书馆的数字化管理等方面为主,专门针对出版物预订系统从多个角色(如院系教务处、财务员等)协同的研究较少......