翻译: Communication-Efficient Learning of Deep Networks from Decentralized Data

本文主要是介绍翻译: Communication-Efficient Learning of Deep Networks from Decentralized Data,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

H. Brendan McMahan Eider Moore Daniel Ramage Seth Hampson Blaise Ag¨uera y Arcas
Google, Inc., 651 N 34th St., Seattle, WA 98103 USA

引用量:3025

2021.9.21翻译

~~~~联邦学习第一篇~~~~

摘要:

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

提出了一种基于迭代模型平均的深度网络联合学习方法,并结合5种不同的模型架构和4个数据集进行了广泛的经验评价。这些实验表明,该方法对于不平衡和非iid数据分布是健壮的,而非iid数据分布是该设置的定义特征。通信成本是主要的约束条件,与同步随机梯度下降相比,我们显示所需的通信轮数减少了10-100次。
   

引言

手机和平板电脑日益成为许多人的主要计算设备[30,2]。这些设备(包括相机、麦克风和GPS)上强大的传感器,加上它们经常携带的事实,意味着它们可以获取前所未有的大量数据,其中大部分是隐私数据。从这些数据中学习到的模型有望通过支持更智能的应用程序来极大地提高可用性,但数据的敏感性意味着将其存储在一个集中的位置存在风险和责任。
我们研究了一种学习技术,它允许用户从这些丰富的数据中获得共享模型的好处,而不需要集中存储它。我们称这种方法为联邦学习,因为学习任务是由参与设备(我们称之为客户机)的松散联盟解决的,这些设备由中央服务器协调。每个客户端都有一个本地的训练数据集,这个数据集永远不会上传到服务器。相反,每个客户端计算对服务器维护的当前全局模型的更新,并且只有这个更新是通信的。这是2012年白宫关于消费者数据隐私[39]报告中提出的集中收集或数据最小化原则的直接应用。由于这些更新是特定于改进当前模型的,所以一旦应用了它们,就没有理由存储它们。
这种方法的一个主要优点是将模型训练与直接访问原始训练数据的需求分离开来。显然,仍然需要对协调训练的服务器有一定的信任。然而,对于可以根据每个客户端上可用的数据指定训练目标的应用程序,联合学习可以将攻击面限制在设备上,而不是设备和云,从而显著降低隐私和安全风险。
我们的主要贡献是:
1)将移动设备分散数据训练问题的识别作为重要研究方向;
2)选择一种简单而实用的算法,可应用于此设置;
3)对所提出的方法进行广泛的实证评估。

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

Federated Learning 
对于联邦学习来说,理想的问题有以下几个特点:
1)使用来自移动设备的真实数据进行训练,比使用数据中心中通常可用的代理数据进行训练具有明显的优势。
2)该数据是隐私敏感的,或者大小较大(与模型的大小相比),所以最好不要将其记录到数据中心,纯粹为了模型训练的目的(服务于集中收集原则)。
3)对于监督任务,数据上的标签可以从用户交互中自然推断出来

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

这两项任务都非常适合学习神经网络。对于图像分类来说,前馈深度网络,特别是卷积网络,以提供最先进的结果而闻名[26,25]。特别是对于语言建模任务,递归神经网络LSTM已经取得了最先进的成果[20,5,22]。

Privacy  与针对持久化数据的数据中心训练相比,联邦学习具有明显的隐私优势。即使持有一个匿名的数据集,通过与其他数据[37]的连接,仍然会让用户的隐私面临风险。相比之下,联邦学习所传输的信息是改进特定模型所需的最小更新(自然,隐私利益的强度取决于更新的内容)*1。更新本身可以(也应该)是短暂的。它们永远不会包含比原始训练数据更多的信息(通过数据处理不平等),而且通常包含更少的信息。此外,聚合算法不需要更新的来源,因此更新可以在不识别元数据的情况下通过Tor[7]之类的混合网络或通过可信的第三方进行传输。最后简要讨论了将联邦学习与安全多方计算和差分隐私相结合的可能性。
*1例如,如果更新是所有本地数据丢失的总梯度,而特征是一个稀疏的单词包,那么非零梯度揭示了用户在设备上输入了哪些单词。相反,对于像CNN这样的密集模型,许多梯度的总和为寻找单个训练实例信息的攻击者提供了一个更难的目标(尽管攻击仍然是可能的)。

Federated Optimization  我们将联邦学习中隐含的优化问题称为联邦优化,将其与分布式优化联系起来(并进行对比)。联邦优化具有几个关键特性,这些特性与典型的分布式优化问题不同。

  • Non-IID  给定客户端的训练数据通常基于特定用户对移动设备的使用情况,因此任何特定用户的本地数据集都不能代表总体分布。
  • Unbalanced  类似地,一些用户会比其他人更频繁地使用服务或应用程序,从而导致不同数量的本地训练数据。
  • Massively distributed  我们期望参与优化的客户机数量要比每个客户机的平均示例数量大得多。
  • Limited communication  移动设备经常脱机,或使用缓慢或昂贵的连接。

在这项工作中,我们的重点是优化的非iid和不平衡属性,以及通信约束的关键性质。部署的联邦优化系统还必须解决大量的实际问题:随着数据的添加和删除而变化的客户端数据集;以复杂方式与本地数据分布相关的客户可用性(例如,使用美式英语的人与使用英式英语的人的电话接入时间可能不同);以及从不响应或发送损坏更新的客户端。

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

当我们关注于非凸神经网络目标时,我们考虑的算法适用于任何这种形式的有限和目标

 对于机器学习问题,我们通常会,即对例(xi;yi)由模型参数w制成。我们假设有K个客户机对数据进行分区,Pk是客户机K上数据点的索引集,。因此,我们可以将目标(1)重写为

如果分区Pk是通过将训练示例均匀随机地分布到客户端而形成的,那么我们将有,其中期望超过分配给固定客户端k的一组示例。这是分布式优化算法通常做出的IID假设;我们将这种情况称为非iid设置(即Fk可能是f的一个任意糟糕的f近似)。

在数据中心优化中,通信成本相对较小,计算成本占主导地位,最近的重点是使用gpu来降低这些成本。相反,在联邦优化中,通信成本占主导地位——我们通常会受到1MB /s或更少的上传带宽的限制。此外,客户通常只有在充电、插电和使用未计量的wi-fi连接时才会自愿参与优化。此外,我们希望每个客户端每天只参与少量的更新轮。另一方面,由于任何一个设备上的数据集相对于整个数据集的大小来说都很小,而且现代智能手机拥有相对较快的处理器(包括GPU),与许多型号的通信成本相比,计算基本上是免费的。因此,我们的目标是使用额外的计算,以减少训练模型所需的通信轮数。我们有两种主要的增加计算的方法:
1)增加并行性,在每一轮通信之间我们使用更多独立工作的客户端;
2)在每个客户端上增加计算,而不是执行一个简单的计算,如梯度计算,每个客户端执行一个更复杂的计算之间的每一轮通信。
我们研究了这两种方法,但我们实现的加速主要是由于在每个客户机上添加更多的计算,一旦在客户机上使用了最小的并行级别。

 Related Work

McDonald等人对感知机[28]和Povey等人对语音识别dnn进行了迭代平均局部训练模型的分布式训练研究。Zhang et al.[42]研究了一种采用“软”平均的异步方法。这些工作只考虑集群/数据中心设置(最多16个工人,基于快速网络的时钟时间),而不考虑不平衡和非iid的数据集,这些属性对于联邦学习设置是必不可少的。我们将这种算法风格适应于联邦设置,并执行适当的经验评估,这提出了不同于数据中心设置中的相关问题,并需要不同的方法。

采用与我们类似的动机,Neverova等人[29]还讨论了在设备上保存敏感用户数据的好处。Shokri和Shmatikov[35]的工作在几个方面有关联:他们专注于训练深度网络,强调隐私的重要性,并通过在每一轮通信中只共享参数的子集来解决通信成本;然而,他们也没有考虑不平衡和非iid数据,经验评估有限。

 在凸设置下,分布式优化和估计问题得到了极大的关注[4,15,33],一些算法确实特别关注通信效率[45,34,40,27,43]。除了假设是凸的,现有的工作通常要求客户机的数量要比每个客户机的示例数量小得多,数据以IID的方式分布在客户机上,每个节点都有相同数量的数据点,所有这些假设在联邦优化设置中都被违反了。异步分布式形式的SGD也被用于训练神经网络,例如Dean等人的[12],但这些方法需要在联邦设置中进行大量的更新。分布式共识算法(例如[41])放宽了IID假设,但仍然不适合在很多客户机上进行通信受限的优化。

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

2 The FederatedAveraging Algorithm

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

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

在联邦设置中,涉及更多客户机的挂钟时间成本很小,因此对于我们的基线,我们使用批量同步SGD;Chen等人[8]的实验表明,这种方法在数据中心设置中是最先进的,它优于异步方法。为了在联邦设置中应用这种方法,我们在每一轮中选择一个C-分数的客户端,并计算这些客户端所持有的所有数据的损失梯度。因此,C控制全局批量大小,C = 1对应全批(非随机)梯度下降我们将这个基线算法称为FederatedSGD(或FedSGD)。

一个典型的FedSGD实现,C = 1,学习速率固定有每个客户端k计算,在当前模型wt上对其本地数据的平均梯度,中央服务器聚合这些梯度并应用更新,因为。一个等价的更新由。也就是说,每个客户端使用其本地数据对当前模型进行一步梯度下降,然后服务器对得到的模型进行加权平均。一旦以这种方式编写了算法,我们就可以通过迭代本地更新向每个客户机添加更多的计算在取平均值之前多次。我们将这种方法称为FederatedAveraging(或FedAvg)。计算量由三个关键参数控制:C,每一轮执行计算的客户的比例;E,则每轮每个客户端通过其本地数据集的训练次数;B,用于客户机更新的本地迷你批处理大小。我们写入B =∞,表示整个本地数据集被视为单个minibatch。因此,在这个算法族的一个端点,我们可以取B = ∞和E = 1,它们恰好对应于FedSGD。对于带有nk本地示例的客户端,每轮本地更新的数量为;算法1给出了完整的伪代码。

 对于一般的非凸目标,参数空间中的平均模型可能产生任意坏模型。

 
图1:平均两个模型w和w'的参数生成的模型在完整MNIST训练集上的损失使用为50个均匀间隔的值。在不同的小数据集上使用SGD对模型w和w'进行训练。对于左边的图,w和w'使用不同的随机种子进行初始化;对于右边的图,使用共享的种子。注意不同的y轴比例。水平线给出w或w'所达到的最佳损耗(它们非常接近,对应于垂直线,对应于垂直线。使用共享初始化,平均模型可以显著减少总训练集上的损失(比任何父模型的损失都要好)。

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

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

 

3 Experimental Results 

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

我们最初的研究包括两个数据集上的三个模型族。前两个是用于MNIST数字识别任务[26]:1)一个简单的多层感知器,有2个隐藏层,每层有200个单元,使用ReLu激活(199,210个总参数),我们称之为MNIST 2NN。2)一个CNN有两个5x5的卷积层(第一个有32个通道,第二个有64个,每个都有2x2 max pooling),一个完全连接的层有512个单元和ReLu激活,最后一个softmax输出层(总共有1,663,370个参数)。要研究联邦优化,我们还需要指定数据如何在客户机上分布。我们研究两种方式MNIST分区数据客户:IID,数据被打乱,然后划分为100个客户收到600例,Non-IID,我们首先对数据排序数字标签,300年分成200碎片的大小,分配每个100客户2碎片。这是一个病态的数据非iid分区,因为大多数客户机只有两个数字的示例。因此,这让我们可以探索算法在高度非iid数据上的破坏程度。然而,这两个分区都是平衡的*4。*4我们对这些数据集的不平衡版本进行了额外的实验,发现它们实际上稍微容易一些FedAvg。

对于语言建模,我们从威廉·莎士比亚全集[32]中构建了一个数据集。我们为每部戏中的每个说话的角色构建一个至少有两行台词的客户端数据集。这将生成一个包含1146个客户端的数据集。对于每个客户端,我们将数据分割成一组训练行(角色的前80%的行)和测试行(最后20%,至少取整为一行)。结果数据集在训练集中有3,564,579个字符,在测试集中有870014个特征*5。这些数据基本上是不平衡的,许多角色只有几行,而少数角色有大量的行。此外,观察测试集并不是随机的线条样本,而是由每个游戏的时间顺序暂时分开的。使用相同的训练/测试分割,我们还形成了均衡的IID版本的数据集,同样有1146个客户端。*5我们总是用character来指一个字节串,用role来指剧中的一个角色。

 

SGD对学习率参数μ的调整非常敏感。这里报告的结果是基于在一个足够宽的学习速率网格上进行的训练(通常在分辨率为10⅓或10-1/6的乘法网格上,μ的值为11-13)。我们检查以确保最佳学习率在我们的网格中间,并且在最佳学习率之间没有显著差异。除非另有说明,我们为每个a轴值分别绘制最佳性能率的指标。我们发现,最优学习率作为其他参数的函数变化不大。

Increasing parallelism  我们首先使用客户端分数C进行实验,它控制多客户端并行度的数量。表1显示了不同的C对两种MNIST模型的影响。我们报告达到目标测试设定的准确性所需的沟通轮数。为了计算这一点,我们为每个参数设置组合构造了一条学习曲线,如上所述优化μ,然后通过取前几轮测试集精度的最佳值,使每条曲线单调地改进。然后,我们使用形成曲线的离散点之间的线性插值,计算曲线穿过目标精度的轮数。参考图2可以更好地理解这一点,图2中的灰线显示了目标。

使用(用于MNIST将所有600个客户端示例作为每轮单个批处理),增加客户端部分只有很小的优势。使用较小的批大小B = 10显示了使用的显著改进,特别是在非iid的情况下。基于这些结果,对于我们剩下的大部分实验,我们确定C= 0.1,这在计算效率和收敛速度之间取得了很好的平衡。比较表1中和B = 10列的轮数,可以看到显著的加速,这是我们接下来要研究的。

 

 Increasing computation per client  

在本节中,我们修正了C = 0:1,并在每一轮中为每个客户端增加更多的计算,或者减少B,增加E,或者两者同时增加。图2展示了每轮添加更多的本地SGD更新可以显著降低通信成本,表2量化了这些加速。每个客户端每轮的预期更新数量是,其中期望超过随机客户k的抽取。我们根据这个统计数据对表2的每个部分中的行进行排序。我们看到通过改变E和B来增加u是有效的。只要B足够大,能够充分利用客户端硬件上可用的并行性,那么降低并行性在计算时间上基本上是没有代价的,因此在实践中,这应该是第一个调优参数。

对于MNIST数据的IID分区,每个客户端使用更多的计算减少了轮数,CNN达到了35倍的目标精度,2NN达到了46倍的目标精度(关于2NN的详细信息,见附录A中的表4)。对于病理分区的非iid数据,速度提高幅度较小,但仍然相当大(2.8-3.7x)。令人印象深刻的是,当我们天真地对完全不同的数字对训练的模型参数进行平均时,平均提供了任何优势(相对于实际发散)。因此,我们认为这是该方法稳健性的有力证据。 

 

不平衡的和非iid的莎士比亚分布(根据戏剧中的角色)更能代表我们期望的真实应用程序的数据分布类型。令人鼓舞的是,对于这个问题,学习非IID和不平衡数据实际上要容易得多(平衡IID数据的加速是95x,而平衡IID数据的加速是13x);我们推测,这在很大程度上是由于某些角色具有相对较大的局部数据集,这使得增加局部训练特别有价值。

对于所有三个模型类,FedAvg收敛到比基准FedSGD模型更高的测试集精度水平。即使这些线延伸到标线范围之外,这种趋势也会继续。例如,对于CNN, , E=1 FedSGD模型在1200轮后最终达到了99.22%的精度(在6000轮后没有进一步提高),而B=10,E= 20 FedAvg模型在300发后达到了99.44%的精度。我们推测,除了降低通信成本外,模型平均还产生了与dropout[36]类似的正规化效益。

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

Can we over-optimize on the client datasets?  当前模型参数仅影响通过初始化在每个ClientUpdate中执行的优化。因此,如,至少对于一个凸问题,初始条件最终应该是无关的,无论初始化如何,都会达到全局最小值。即使对于一个非凸问题,只要初始化在同一个盆地内,算法也会收敛到相同的局部最小值。也就是说,虽然一轮平均可能会产生一个合理的模型,但额外的交流(和平均)不会产生进一步的改进。

图3显示了初始训练时大E对莎士比亚LSTM问题的影响。事实上,大量当地时代,FedAvg高原或发散。*6 这一结果表明,对于一些模型,特别是在后期收敛,它可能是有用的衰变的本地计算每轮(搬到小E或大B)以同样的方式学习衰减率可能是有用的。附录A中的图8给出了MNIST CNN的类似实验。有趣的是,对于这个模型,当E值较大时,收敛速度没有显著下降。然而,对于下面描述的大规模语言建模任务,我们看到E = 1比E = 5的性能稍好一些(参见附录A中的图10)。

 

 CIFAR experiments

我们还在CIFAR-10数据集[24]上进行了实验,进一步验证了FedAvg。该数据集由10类32 × 32图像组成,有3个RGB通道。我们有50,000个训练样例和10,000个测试样例,分成100个客户端,每个客户端包含500个训练样例和100个测试样例;由于该数据没有一个自然的用户分区,我们考虑了平衡和IID设置。模型架构取自TensorFlow教程[38],该教程由两个卷积层、两个完全连接层和一个线性转换层组成,用于生成logits,总共约106个参数。

值得注意的是,最先进的方法已经达到了96.5%[19]的CIFAR测试精度;然而,我们使用的标准模型已经足够满足我们的需求,因为我们的目标是评估我们的优化方法,而不是在这个任务上达到可能的最佳精度。作为训练输入管道的一部分,对图像进行预处理,包括将图像裁剪为24x24,左右随机翻转,调整对比度、亮度和白化。

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

 

通过对SGD和FedAvg进行大小为B=50的小批量实验,我们还可以看到这种小批量梯度计算的数量的函数的准确性。我们希望SGD在这里做得更好,因为在每次minibatch计算之后都要执行一个顺序步骤。然而。如附录中的图9所示,对于C和E的适中值,FedAvg在每次小批计算中都取得了类似的进展。此外,我们看到,在每轮只有一个客户的标准SGD和FedAvg (C=0)中,显示出显著的精度波动,而在更多客户的情况下进行平均可以消除这种波动。

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

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

4 Conclusions and Future Work

我们的实验表明,联邦学习是可行的,因为FedAvg使用相对较少的通信轮训练高质量的模型,这在各种模型体系结构上的结果表明:一个多层感知器,两个不同的卷积神经网络,一个两层字符LSTM,和一个大规模的单词级LSTM。

尽管联合学习提供了许多实用的隐私好处,但通过差分隐私[14,13,1]、安全多方计算[18]或它们的组合提供更强的保障是未来工作的一个有趣方向。请注意,这两类技术最自然地适用于像FedAvg.*7这样的同步算法。*7在此之后,Bonawitz等人[6]提出了一种高效的安全的联合学习协议,Konecny等人[23]提出了进一步降低通信成本的算法。

References

[1] Martin Abadi, Andy Chu, Ian Goodfellow, Brendan McMahan, Ilya Mironov, Kunal Talwar, and Li Zhang. Deep learning with differential privacy. In 23rd ACM Conference on Computer and Communications Security (ACM CCS), 2016.

[2] Monica Anderson. Technology device ownership: 2015. http://www. pewinternet.org/2015/10/29/ technology-device-ownership-2015/, 2015.

[3] Yossi Arjevani and Ohad Shamir. Communication complexity of distributed convex learning and optimization. In Advances in Neural Information Processing Systems 28. 2015.

[4] Maria-Florina Balcan, Avrim Blum, Shai Fine, and Yishay Mansour. Distributed learning, communication complexity and privacy. arXiv preprint arXiv:1204.3514, 2012.

[5] Yoshua Bengio, R´ejean Ducharme, Pascal Vincent, and Christian Janvin. A neural probabilistic language model. J. Mach. Learn. Res., 2003.

[6] Keith Bonawitz, Vladimir Ivanov, Ben Kreuter, Antonio Marcedone, H. Brendan McMahan, Sarvar Patel, Daniel Ramage, Aaron Segal, and Karn Seth. Practical secure aggregation for federated learning on user-held data. In NIPS Workshop on Private Multi-Party Machine Learning, 2016.

[7] David L. Chaum. Untraceable electronic mail, return addresses, and digital pseudonyms. Commun. ACM, 24(2), 1981.

[8] Jianmin Chen, Rajat Monga, Samy Bengio, and Rafal Jozefowicz. Revisiting distributed synchronous sgd. In ICLR Workshop Track, 2016.

[9] Anna Choromanska, Mikael Henaff, Micha¨el Mathieu, G´erard Ben Arous, and Yann LeCun. The loss surfaces of multilayer networks. In AISTATS, 2015.

[10] Greg Corrado. Computer, respond to this email. http:// googleresearch.blogspot.com/2015/ 11/computer-respond-to-this-email. html, November 2015.

[11] Yann N. Dauphin, Razvan Pascanu, C¸ aglar G¨ulc¸ehre, KyungHyun Cho, Surya Ganguli, and Yoshua Bengio. Identifying and attacking the saddle point problem in high-dimensional non-convex optimization. In NIPS, 2014.

[12] Jeffrey Dean, Greg S. Corrado, Rajat Monga, Kai Chen, Matthieu Devin, Quoc V. Le, Mark Z. Mao, Marc’Aurelio Ranzato, Andrew Senior, Paul Tucker, Ke Yang, and Andrew Y. Ng. Large scale distributed deep networks. In NIPS, 2012.

 [13] John Duchi, Michael I. Jordan, and Martin J. Wainwright. Privacy aware learning. Journal of the Association for Computing Machinery, 2014.

[14] Cynthia Dwork and Aaron Roth. The Algorithmic Foundations of Differential Privacy. Foundations and Trends in Theoretical Computer Science. Now Publishers, 2014.

[15] Olivier Fercoq, Zheng Qu, Peter Richt´arik, and Martin Tak´ac. Fast distributed coordinate descent for nonstrongly convex losses. In Machine Learning for Signal Processing (MLSP), 2014 IEEE International Workshop on, 2014.

[16] Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep learning. Book in preparation for MIT Press, 2016.

[17] Ian J. Goodfellow, Oriol Vinyals, and Andrew M. Saxe. Qualitatively characterizing neural network optimization problems. In ICLR, 2015.

[18] Slawomir Goryczka, Li Xiong, and Vaidy Sunderam. Secure multiparty aggregation with differential privacy: A comparative study. In Proceedings of the Joint EDBT/ICDT 2013 Workshops, 2013.

[19] Benjamin Graham. Fractional max-pooling. CoRR, abs/1412.6071, 2014. URL http://arxiv.org/ abs/1412.6071.

[20] Sepp Hochreiter and J¨urgen Schmidhuber. Long shortterm memory. Neural Computation, 9(8), November 1997.

[21] Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In ICML, 2015.

[22] Yoon Kim, Yacine Jernite, David Sontag, and Alexander M. Rush. Character-aware neural language models. CoRR, abs/1508.06615, 2015.

[23] Jakub Koneˇcn´y, H. Brendan McMahan, Felix X. Yu, Peter Richtarik, Ananda Theertha Suresh, and Dave Bacon. Federated learning: Strategies for improving communication efficiency. In NIPS Workshop on Private Multi-Party Machine Learning, 2016.

[24] Alex Krizhevsky. Learning multiple layers of features from tiny images. Technical report, 2009. [25] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS. 2012.

[26] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11), 1998.

[27] Chenxin Ma, Virginia Smith, Martin Jaggi, Michael I Jordan, Peter Richt´arik, and Martin Tak´aˇc. Adding vs. averaging in distributed primal-dual optimization. In ICML, 2015.

[28] Ryan McDonald, Keith Hall, and Gideon Mann. Distributed training strategies for the structured perceptron. In NAACL HLT, 2010.

[29] Natalia Neverova, Christian Wolf, Griffin Lacey, Lex Fridman, Deepak Chandra, Brandon Barbello, and Graham W. Taylor. Learning human identity from motion patterns. IEEE Access, 4:1810–1820, 2016.

[30] Jacob Poushter. Smartphone ownership and internet usage continues to climb in emerging economies. Pew Research Center Report, 2016.

[31] Daniel Povey, Xiaohui Zhang, and Sanjeev Khudanpur. Parallel training of deep neural networks with natural gradient and parameter averaging. In ICLR Workshop Track, 2015.

[32] William Shakespeare. The Complete Works of William Shakespeare. Publically available at https: //www.gutenberg.org/ebooks/100.

[33] Ohad Shamir and Nathan Srebro. Distributed stochastic optimization and learning. In Communication, Control, and Computing (Allerton), 2014.

[34] Ohad Shamir, Nathan Srebro, and Tong Zhang. Communication efficient distributed optimization using an approximate newton-type method. arXiv preprint arXiv:1312.7853, 2013.

[35] Reza Shokri and Vitaly Shmatikov. Privacy-preserving deep learning. In Proceedings of the 22Nd ACM SIGSAC Conference on Computer and Communications Security, CCS ’15, 2015.

[36] Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. Dropout: A simple way to prevent neural networks from overfitting. 15, 2014.

[37] Latanya Sweeney. Simple demographics often identify people uniquely. 2000.

[38] TensorFlow team. Tensorflow convolutional neural networks tutorial, 2016. http://www.tensorflow. org/tutorials/deep_cnn.

[39] White House Report. Consumer data privacy in a networked world: A framework for protecting privacy and promoting innovation in the global digital economy. Journal of Privacy and Confidentiality, 2013.

[40] Tianbao Yang. Trading computation for communication: Distributed stochastic dual coordinate ascent. In Advances in Neural Information Processing Systems, 2013.

[41] Ruiliang Zhang and James Kwok. Asynchronous distributed admm for consensus optimization. In ICML. JMLR Workshop and Conference Proceedings, 2014.

[42] Sixin Zhang, Anna E Choromanska, and Yann LeCun. Deep learning with elastic averaging sgd. In NIPS. 2015.

[43] Yuchen Zhang and Lin Xiao. Communication-efficient distributed optimization of self-concordant empirical loss. arXiv preprint arXiv:1501.00263, 2015.

[44] Yuchen Zhang, Martin J Wainwright, and John C Duchi. Communication-efficient algorithms for statistical optimization. In NIPS, 2012.

[45] Yuchen Zhang, John Duchi, Michael I Jordan, and Martin J Wainwright. Information-theoretic lower bounds for distributed statistical estimation with communication constraints. In Advances in Neural Information Processing Systems, 2013.

[46] Martin Zinkevich, Markus Weimer, Lihong Li, and Alex J. Smola. Parallelized stochastic gradient descent. In NIPS. 2010.

这篇关于翻译: Communication-Efficient Learning of Deep Networks from Decentralized Data的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/618335

相关文章

BD错误集锦3——ERROR: Can't get master address from ZooKeeper; znode data == null

hbase集群没启动,傻子!   启动集群 [s233 s234 s235]启动zk集群 $>zkServer.sh start $>zkServer.sh status   [s233] 启动dfs系统 $>start-dfs.sh 如果s237 namenode启动失败,则 [s237] $>hadoop-daemon.sh start namenode [s233]启动yarn集群

Deep Learning复习笔记0

Key Concept: Embedding: learned dense, continuous, low-dimensional representations of object 【将难以表示的对象(如图片,文本等)用连续的低维度的方式表示】 RNN: Recurrent Neural Network -> for processing sequential data (time se

Kimichat使用案例026:AI翻译英语PDF文档的3种方法

文章目录 一、介绍二、腾讯交互翻译TranSmart https://transmart.qq.com/三、沉浸式翻译三、谷歌网页翻译 一、介绍 短的文章,直接丢进kimichat、ChatGPT里面很快就可以翻译完成,而且效果很佳。但是,很长的PDF文档整篇需要翻译,怎么办呢? 二、腾讯交互翻译TranSmart https://transmart.qq.com/ 软件

游戏高度可配置化(一)通用数据引擎(data-e)及其在模块化游戏开发中的应用构想图解

游戏高度可配置化(一)通用数据引擎(data-e)及其在模块化游戏开发中的应用构想图解 码客 卢益贵 ygluu 关键词:游戏策划 可配置化 模块化配置 数据引擎 条件系统 红点系统 一、前言 在插件式模块化软件开发当中,既要模块高度独立(解耦)又要共享模块数据,最好的方法是有个中间平台(中间件)提供标准的接口来进行数据的交换,这在很多行业软件开发中已经广泛应用。但是,由于中间件的抽象和封

论文阅读--Efficient Hybrid Zoom using Camera Fusion on Mobile Phones

这是谷歌影像团队 2023 年发表在 Siggraph Asia 上的一篇文章,主要介绍的是利用多摄融合的思路进行变焦。 单反相机因为卓越的硬件性能,可以非常方便的实现光学变焦。不过目前的智能手机,受制于物理空间的限制,还不能做到像单反一样的光学变焦。目前主流的智能手机,都是采用多摄的设计,一般来说一个主摄搭配一个长焦,为了实现主摄与长焦之间的变焦,目前都是采用数字变焦的方式,数字变焦相比于光学

Creating custom and compound Views in Android - Tutorial(翻译)

Creating custom and compound Views in Android - Tutorial(翻译) 译前的: 之前做了三篇学习笔记,从知乎上面看到了这篇英文的推荐,总的来说可以是一篇导读,没有相关的学习,看这篇,可以作为一个学习脉络导向;有相关的学习底子,可以作为一个基础夯实、思维理清。没想到一翻译就是四个多小时…英语渣,很多词句都不太准确,幸好有之前的学习基础打底…

Core Data 网络应用实例

转自:http://www.cocoachina.com/applenews/devnews/2014/0430/8275.html 转自 answer_huang的博客 几乎每一个应用开发者都需要经历的就是将从 web service 获取到的数据转变到 Core Data 中。这篇文章阐述了如何去做。我们在这里讨论的每一个问题在之前的文章中都已经描述过了,并且 Apple 在

GIM: Learning Generalizable Image Matcher From Internet Videos

【引用格式】:Shen X, Yin W, Müller M, et al. GIM: Learning Generalizable Image Matcher From Internet Videos[C]//The Twelfth International Conference on Learning Representations. 2023. 【网址】:https://arxiv.or

spring-data-redis 连接池应用

具体配置看我的项目。用的是redisTemplate ,和jdbctemplate  是不是很相似。 真的不想吐槽csdn,钻钱眼里了,我想上传我的代码,免费都不行吗 想要测试代码可以私信,也可以模仿https://www.cnblogs.com/tankaixiong/p/3660075.html  这个链接下的。

redis翻译2

分区:如何在多个Redis实例之间分割数据。 分区是将您的数据分割为多个Redis实例的过程,因此每个实例只包含您的密钥的一个子集。本文档的第一部分将向您介绍分区的概念,第二部分将向您展示Redis分区的备选方案。 为什么分区很有用 在Redis中进行分区有两个主要目标: 它允许更大的数据库,使用许多计算机的内存总和。如果不进行分区,您仅限于单台计算机可支持的内存量。它允许将计算能力扩