Communication-Efficient Learning of Deep Networks from Decentralized Data

Communication-Efficient Learning of Deep Networks from Decentralized Data

  • rounds 通信次数

  • Client 客户端

  • C,每一轮中进行计算的客户端比例(C是小数)

  • E,每轮训练中训练更新的次数

  • B,用于客户端更新的局部小批量的大小

Abstract

现代的移动设备有大量的可以用来训练的数据,(通过这些数据来进行训练)可以极大的改善用户的体验。例如,语言模型可以提提升语言识别和文本输入,图像模型可以自动选择好的图片。但是,这些丰富的数据经常是比较隐私的,或者数据巨大的,或两者兼有,这可能会妨碍数据导入中心,然后用传统的途径去训练。我们提出了让训练的数据分散在移动设备上,通过聚合本地的计算来进行更新,去学习一个共享的模型。我们把这种去中心化的方法叫做联邦学习。

基于可迭代的模型聚合,我们提出了一个实用的模型,并且还进行了广泛的经验评估,考虑了五个不同的模型结构和四个数据集。这些实验证明了这种方法对于无偏且非独立同分布的数据是鲁棒的,通行的代价是最重要的限制,我们展示了,和同步的随机梯度下降相比,我们的通信减少了10-100倍。

1 Introduction

手机和平板电脑成为越来越多人的首要设备。因为经常被携带着,这些设备上的传感器收集了大量的隐私的数据。在这些数据上训练的模型承诺通过为更智能的应用程序提供支持来大大提高可用性。但是这些数据的敏感性意味着把它们放在一起是有风险且责任重大的。

我们提出了一个学习技术,允许全体用户从共享的模型(从大量数据中训练的)中获益,而不需要将数据集中起来。我们将我们的方法称为联邦学习,因为学习任务是由中央服务器协调的参与设备(我们称之为客户端 client)的松散联盟解决的。每个客户端都有一个从不上传到服务器的本地训练数据集。相反,每个客户端都会计算对服务器维护的当前全局模型的更新,并且仅传递此更新。这是对2012年白宫关于消费者数据隐私的报告提出的集中收集或数据最小化原则的直接应用。由于这些更新专门用于改进当前模型,因此在应用这些更新后没有理由存储它们。

这种方法的一个主要优点是将模型训练与直接访问原始训练数据的需求分离。但是仍然需要对服务器协调处理给予信任。对于训练目标的应用可以具体到每个拥有数据的设备上,联合学习可以通过将攻击面限制为仅设备,而不是设备和云来显着降低隐私和安全风险。

我们的主要贡献:

  1. 将移动设备的分散数据进行训练作为一个重要的研究方向;
  2. 选择可以应用于此设置的简单实用的算法;
  3. 对所提出方法的广泛实证评估。

具体的,我们提出了 FedAvg 算法,它将每个客户端上的随机梯度下降 (SGD) 与执行模型平均的服务器相结合。在这个算法上我们执行了大量的实验,证明了其对于非平衡和非独立同分布数据的鲁棒性,并且可以将训练分散数据上的深度网络所需的通信轮次减少几个数量级。

联邦学习 联邦学习的理想问题具有如下几个特点:

  1. 与在数据中心通常可用的代理数据上进行训练相比,对来自移动设备的真实世界数据的训练具有明显的优势。
  2. 这些数据对隐私敏感或数据量大(与模型的大小相比较),因此最好不要纯粹出于模型训练的目的将其记录到数据中心(为集中收集原则服务)
  3. 对于监督学习,数据上的标签可以从用户交互中自然推断出来。

许多支持移动设备智能行为的模型都符合上述标准。举两个例子,考虑图像识别,预测哪一张图片在未来是最可能被多次观看或分享的;和语言模型,可用于通过改进解码、下一个单词预测甚至预测整个回复来改进触摸屏键盘上的语音识别和文本输入。这两项任务的潜在训练数据(用户拍摄的所有照片以及他们在移动键盘上键入的所有内容,包括密码,URL,消息等)都可能对隐私敏感。
绘制这些示例的分布也可能与易于获得的代理数据集有很大不同:聊天和短信中的语言使用通常与标准语言语料库有很大不同,比如维基百科和其他网页文件;用户自己拍摄的照片也和典型的相册不同。
最后,这些数据的标签都是直接可用的:输入的文本是自标注的,用于学习语言模型,照片标签可以通过用户与其照片应用程序的交互来定义(哪些照片被删除,共享或查看)。

这两个任务都非常适合学习神经网络。对于图像分类的前馈神经网络,特别是卷积神经网络,都有很好的表现。对于语言模型的循环神经网络RNN,特别是LSTM也有很好的表现。

隐私 相比较于其余的把数据放在一起训练的模型,联邦学习有着不同的隐私优势。即使是用匿名化的数据,也可能通过与其他数据的联合使用而造成风险。相比之下,为联邦学习传输的信息是改进特定模型所需的最小更新(当然,隐私优势的强度取决于更新的内容)。更新本身可以(也应该)是短暂的。相对于原始数据,其绝不会包含更多的信息,而且一般包含的更少。此外,聚合算法不需要更新的来源,因此可以在不通过混合网络(如Tor [7])或通过受信任的第三方识别元数据的情况下传输更新。在本文末尾,我们简要讨论了将联合学习与安全的多方计算和差分隐私相结合的可能性。

联邦优化 我们将联邦学习中隐含的优化问题称为联邦优化,绘制与分布式优化的联系(和对比)。和典型的分布式优化相比,联邦优化有如下几个关键性质:

  1. 非独立同分布。在客户端上的训练数据是基于特定用户的移动设备,因此,任何用户的局部数据都不会代表总体的分布。
  2. 非平衡。类似的,一些用户一些用户使用的服务或者app可能比另一些用户更多,所以会产生更多的本地训练数据。
  3. 广泛分布。我们预计参与优化的客户端数量将远远大于每个客户端的平均示例数。
  4. 通信限制。移动设备经常处于离线状态,或者连接速度慢或成本高昂。

在我们的工作中,我们的着重点在于非独立同分布和非平衡的优化,以及通信限制的关键性质。
部署的联合优化系统还必须解决无数实际问题:
客户机的数据会随着增加和删除而改变;
以复杂方式与本地数据分发相关的客户端可用性(例如,来自美国英语使用者的电话可能会在与英国英语使用者不同的时间插入);
以及从不响应或发送损坏更新的客户端。

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

虽然我们专注于非凸神经网络目标,但我们认为的算法适用于以下形式的任何有限和目标:
min ⁡ w ∈ R d f ( w )  where  f ( w ) = def 1 n ∑ i = 1 n f i ( w ) (1) \min_{w \in \mathbb{R}^d} f(w) \quad \text{ where } \quad f(w) =^{\text{def}} \frac{1}{n} \sum_{i=1}^n f_i(w) \tag{1} wRdminf(w) where f(w)=defn1i=1nfi(w)(1)
对于机器学习的问题,典型的取 f i ( w ) = l ( x i , y i ; w ) f_i(w) = \mathcal{l}(x_i, y_i; w) fi(w)=l(xi,yi;w) ,即预测的损失和模型的参数 w w w有关。
假设有 K K K 个客户端,数据是分段的, P k \mathcal{P}_k Pk 是在每个客户端上的数据序列, n k = ∣ P k ∣ n_k = |\mathcal{P}_k| nk=Pk 。因此,我们可以把(1)式写为:
f ( w ) = ∑ k = 1 K n k n F k ( w )  where  F k ( w ) = 1 n k ∑ i ∈ P k f i ( w ) f(w)= \sum_{k=1}^K \frac{n_k}{n} F_k(w) \quad \text{ where } \quad F_k(w) = \frac{1}{n_k} \sum_{i\in \mathcal{P}_k} f_i(w) f(w)=k=1KnnkFk(w) where Fk(w)=nk1iPkfi(w)
如果分布 P k \mathcal{P}_k Pk是通过随机在客户端上均匀分布训练示例而形成的,那么就会有 E P k [ F k ( w ) ] = f ( w ) \mathbb{E}_{\mathcal{P}_k} [F_k (w)] = f(w) EPk[Fk(w)]=f(w) ,其中期望值超过分配给固定客户端 k k k 的示例集。这是在独立同分布下的分布优化算法;我们参考的这个设置在非独立同分布下并不适用(即 F k F_k Fk 可能是 f f f的一个较差的估计)。

在数据集中的优化里,通讯的代价是非常小的,计算的代价占据了大部分,最近的大部分重点是使用GPU来降低这些成本。
相反,联邦优化中,通讯占据了主导地位----我们通常会受到1 MB / s或更小的上传带宽的限制。
此外,客户通常只有在充电、接通电源和不计流量的 Wi-Fi 连接时才会自愿参与优化。
而且,我们预计每一个客户端在一天只会参与少量的更新轮次。
在另一方面,既然任意单一的的设备数据相比于总的数据大小来说很很小的,而且现代的智能手机有非常快速的处理器(包括GPU),对于大部分设备,相对于通信代价,计算变得非常容易。
因此,我们的目标是利用额外的计算,为了减少训练所需的通信的轮数。
有两种可以增加计算量的方法:

  1. 提高并行度,我们在每个通信轮次之间使用更多独立工作的客户端。
  2. 增加每个客户端的计算,而不是执行简单的计算,如梯度计算,每个客户端在每个通信轮次之间执行更复杂的计算。

我们研究了这两种方法,但是我们实现的加速主要是由于在每个客户端上添加了更多的计算,使用了客户端的最低并行度级别。

相关工作

McDonald等人已经研究了通过对本地训练模型进行迭代平均来进行分布式训练感知机(2010);
Povey等人研究了用于语音识别DNN(2015);
张等研究了一种具有 “软”平均的异步方法(2015)。

这些工作并没有考虑到数据是非平衡和非独立同分布的,这些性质恰好是联邦学习的设定。我们将这种算法风格适应联邦学习设定,并执行适当的实证评估,这提出了与数据中心设定中相关的问题不同的问题,并且需要不同的方法。

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

在凸设置中,分布式优化和估计也有大量的研究,一些算法特别注重通信效率。
除了假设凸性之外,这项现有工作通常还要求客户端数量远小于每个客户端的示例数量,数据以独立同分布的方式分布在客户端之间,并且每个节点都有一个独特的数量的数据点。所有的这些设定都和联邦学习设定相反。
SGD的同步分布式形式也被应用于训练神经网络,比如Dean et al [12],但但是这种方法需要在联邦学习中大量的更新。
分布式共识算法(例如,[41])放宽了IID假设,但仍然不适合在很多客户端上进行通信约束优化。

我们考虑的(参数化)算法系列的一个点是简单的一次性平均,其中每个客户端求解的模型最小化(可能正则化)其本地数据上的损失,并将这些模型平均以生成最终的全局模型。
这种方法已经在具有独立同分布数据的凸的情况下进行了广泛的研究,并且已知在最坏的情况下,生成的全局模型并不比在单个客户端上训练模型更好。

2 The FederatedAveraging Algorithm

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

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

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

FedSGD的典型实现是
C=1 ,并且对于每一个客户端,固定一个学习率 η \eta η ,计算的 g k = ▽ F k ( w t ) g_k = \triangledown F_k (w_t) gk=Fk(wt) 是在当前的模型 w t w_t wt下,本地数据上的平均梯度,
服务端聚合这些梯度,并且应用其来更新 w t + 1 ← w t − η ∑ k = 1 K n k n g k w_{t+1} \leftarrow w_t - \eta \sum_{k=1}^K \frac{n_k}{n} g_k wt+1wtηk=1Knnkgk ,因为 ∑ k = 1 K n k n g k = ▽ f ( w t ) \sum_{k=1}^K \frac{n_k}{n} g_k = \triangledown f(w_t) k=1Knnkgk=f(wt)
一个等价的更新是,对于任意 k , w t + 1 k ← w t − η g k k, w_{t+1}^k \leftarrow w_t - \eta g_k k,wt+1kwtηgk w t + 1 k ← w t − η ∑ k = 1 K n k n g k w_{t+1}^k \leftarrow w_t - \eta \sum_{k=1}^K \frac{n_k}{n} g_k wt+1kwtηk=1Knnkgk
也就是说,每一个客户端在本地的模型上进行一次梯度下降,服务端则对结果进行一次加权平均。
对于这样的模型,我们可以对于每一个客户端增加更多的本地更新次数,通过 w k ← w k − η ▽ F k ( w k ) w^k \leftarrow w^k - \eta \triangledown F_k (w^k) wkwkηFk(wk) ,在每次通讯前就迭代多次。我们把这种方法叫做 FederatedAveraging (or FedAvg).
计算的数量用几个关键的参数来控制:

  • C,每一轮中进行计算的客户端比例(C是小数)
  • E,每轮训练中训练更新的次数
  • B,用于客户端更新的局部小批量的大小

B = ∞ B=\infty B= 为完整的本地数据集被视为单个小批量处理。
则当 B = ∞ , E = 1 B=\infty, E=1 B=,E=1 时,FedAvg等价于FedSGD。
对于有 n k n_k nk 个客户端的例子,每轮训练中本地更新的次数为 u k = E n k B u_k = E_{\frac{n_k}{B}} uk=EBnk
完整的伪代码在算法一中给定。
在这里插入图片描述

对于一般的非凸目标函数,在参数空间中平均模型可能导致一个比较坏的结果。
在这里插入图片描述

按照Goodfellow等人(2015年)的方法 ,当我们平均两个从不同初始条件训练的MNIST数字识别模型时,我们恰好看到了这种不良结果(图1,左)。
最近的工作表明,在实践中,参数充分的神经网络效果良好,更不容易出现不好的局部极小值(Dauphin等,2014; Goodfellow等,2015; Choromanska等,2015)。
但是当我们开始从相同的随机初始化条件开始,然后将其独立的用在不同的数据子集上训练,我们发现简单的参数平均也有很好的表现。(图1,右):两个模型的平均 1 2 w + 1 2 w ′ \frac{1}{2}w + \frac{1}{2}w' 21w+21w 在手写数据集中有很好的损失下降,这个下降比在单独的小数据集上独立训练要好。

3 Experimental Results

图像处理和语言模型的良好模型都可以极大的提高移动设备的可用性。对于每一个模型,我们可以选择一个代理的数据集,以便于我们可以更好的研究FedAvg的超参数。虽然每次训练的规模都比较小,我们为这些实验训练了2000个个体模型。
然后,我们介绍了CIFAR-10图像分类的分类基准。
最后,未来证明FedAvg在真实问题和自然数据划分中的有效性,我们评估了大型的语言模型任务。

我们最初的训练包含了两个数据集上的三个模型。
MNIST手写数据集识别

  1. 多层感知机:2个隐藏层,200个节点,激活函数用Relu
  2. CNN:5x5的卷积层(第一层有32个通道,第二层64个,每一层有2x2的最大池化。一个512个节点的全连接层,总共1663370个参数。

为了学习联邦优化,我们也需要探索数据怎样分布在客户端。我们学习了两种在客户端划分MNIAST数据集的方法:

  1. IID:数据随机打乱,划分到100个客户端,每个客户端有600张图片
  2. 非IID:按照数字标签(0-9)对数据进行排序,然后划分为200个大小为300的”片段“,然后给100个clients分配2个”片段“。(每人600条数据,且最多有两个数字标签的数据)

通过这种方法就可以探索我们的算法在极度非独立同分布数据下的表现(每一种划分都是平衡的)。

探索用户批量与通信轮数(精度提升快慢或损失函数收敛速度)的关系
(2NN达到目标精度97%(E=1),CNN达到目标精度99%(E=5))
(基线:C=0,表示单个用户参与优化)

表格1

在这里插入图片描述

结果表明:当 B = ∞ B=\infty B=时(用户所有数据一次性地迭代优化),随着通信轮数增加,精度提升对参与用户数量不敏感;
B = 10 B=10 B=10时(小批量),随着通信轮数增加,精度提升对参与用户数量十分敏感(特别是Non-IID数据);
C = 0.1 C = 0.1 C=0.1时(每轮通信10个用户参与优化),可以达到计算效率和收敛速度的平衡(min(C*通信轮数),即最小化用户总计算量)。

莎士比亚全集 数据集

对于语言模型,我们在莎士比亚全集数据集上构建了模型。
用至少两行为每个剧中的每个角色构造一个客户数据集。
这种划分数据集的方法产生了1146个客户端。
对于每个客户端,我们划分了80%的行作为训练,20%的行作为测试。
训练集中有3,564,579个字符,在测试集中具有870,014个字符。
这个数据是相当不平衡的,很多角色只有几行数据,一些角色则有很多的数据。
然后,观察到测试集不是随机样本,而是每个剧本按时间顺序将行分为训练集与测试集。
此外,使用相同的训练/测试拆分,还构造了平衡的IID版本的数据集,也有1146个客户端。

我们的模型是stacked character-level LSTM lanuage model,在读取每一行的每个字符后,会预测下一个字符。

The model takes a series of characters as input and embeds each of these into a learned 8 dimensional space.
The embedded characters are then processed through 2 LSTM layers, each with 256 nodes.
Finally the output of the second LSTM layer is sent to a softmax output layer with one node per character.
The full model has 866,578 parameters, and we trained using an unroll length of 80 characters.

SGD对于超参数 η \eta η的调整很敏感。报告在这里的结果是基于广泛的网格搜索,我们确保了最优的学习率。

和 FedSGD 相比,达到 FedAvg 目标精度的通信轮数(FedSGD是第一行, E = 1 , B = ∞ E=1, B=\infty E=1,B=
u u u 列为 u = E n / ( K B ) u = E_n / (K B) u=En/(KB) ,为每轮的预期更新次数。

表格2
在这里插入图片描述

Increasing parallelism 提高并行性(fix E,analyze C & B)
我们首先实验了客户端的比例C,这控制了多个客户端并行计算的数量。表格1展示了改变C对于每一个MNIST模型的影响。
通信的次数影响了测试集的准确率。
为了计算这一点,我们为参数设置的每个组合构建一个学习曲线,如上所述优化 η \eta η,然后通过采用在之前所有回合中实现的测试集精度的最佳值来使每个曲线单调改进。
然后,我们使用形成曲线的离散点之间的线性插值来计算曲线与目标精度相交的回合数。
也许最好参考图2来理解这一点,其中灰线显示了目标。

图2

B = ∞ B=\infty B= 时(MNIST中每个客户端的600个数据每一轮作为一个批量),增加客户端的比例只有很小的优势。

B = 10 B=10 B=10 时,当 C ≥ 0.1 C \geq 0.1 C0.1 时有显著的提升,特别是对于独立同分布的情况。

基于这些结果,对于大多数实验,我们将 C = 0.1 C=0.1 C=0.1固定下来,这对于计算有效和收敛速度上面有很好的平衡。

B = 10 B=10 B=10 B = ∞ B=\infty B= 的通信次数比较,表格1中下降明显。(之后再探究)

在这里插入图片描述

Increasing computation per client 每个客户端提高计算量(固定 C=0.1),对于每轮通信次数,每个客户端需要提高计算量,要么提高 B, 要么提高 E, 或者都提高。
图 2 表明,每轮添加更多本地 SGD 更新可以显著降低通信成本,表格2则定量了加速的效果。
每一轮中,每个客户端期望的更新次数是 u = ( E [ n k ] / B ) E = n E / ( K B ) u = (\mathbb{E} [n_k] / B) E = nE/ (KB) u=(E[nk]/B)E=nE/(KB)
通过统计,我们对表格2进行了排序。
我们可以看见,增加 B 和增加 E 都可以增加 u u u 的值。
只要 B 足够大,可以充分利用客户端硬件上可用的并行性,降低它的计算时间基本上没有成本,因此在实践中,这应该是第一个调整的参数。

对于独立同分布的MNIST数据,在每一个客户端使用更多的计算量减少了达到所需的准确率的通信次数。(CNN提高了35倍,2NN提高了46倍)
对于非独立同分布的数据,加速的效果更小,基本上是2.8倍到3.7倍之间。

令人印象深刻的是,当我们简单地平均在完全不同的数字对上训练的模型的参数时,平均提供了一切优势(与实际上发散相比)。因此,我们认为这是这种方法稳健性的有力证据。

It is impressive that averaging provides any advantage (vs. actually diverg- ing) when we naively average the parameters of models trained on entirely different pairs of digits. Thus, we view this as strong evidence for the robustness of this approach.

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

对于所有三个模型类,FedAvg 收敛到比基线 FedSGD mod-els 更高的测试集准确性级别。
即使线超出绘制的范围,这种趋势也会继续。
例如,对于CNN,B = ∞,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? 当前模型参数仅影响通过初始化在每个客户端更新中形成的优化。
因此,正如E→ ∞,至少对于凸问题,初始条件最终应该是无关紧要的,并且无论初始化如何,都将达到全局最小值。

即使对于非凸问题,人们也可以推测,只要初始化位于同一盆地中,该算法就会收敛到相同的局部最小值。
也就是说,我们预计,虽然一轮平均可能会产生一个合理的模型,但额外的沟通(和平均)回合不会产生进一步的改进。

Even for a non-convex problem, one might conjecture the algorithm would converge to the same local minimum as long as the initialization was in the same basin. That is, we would expect that while one round of averaging might produce a reasonable model, additional rounds of communication (and averaging) would not produce further improvements.

图 3 显示了在初始训练期间比较大的E对莎士比亚 LSTM 问题的影响。
事实上,对于非常大量的局部训练epoch,FedAvg可以趋于稳定或发散.[6]
在这里插入图片描述

这一结果表明,对于某些模型,特别是在收敛的后期阶段,衰减每轮局部计算量(移动到较小的E或较大的B)可能是有用的,就像衰减学习速率可能是有用的。

有趣的是,对于这个模型,我们看到比较大的E值的收敛速率没有显着下降。
但是,对于下面描述的大型语言建模任务,我们看到 E = 1 的性能略好于 E = 5(参见附录 A 中的图 10)。
在这里插入图片描述

CIFAR experiments CIFAR实验
我们还对CIFAR-10数据集[24]进一步验证FedAvg。
数据集由 10 类 32x32 图像组成,其中 3 张RGB 通道。有 50,000 个训练示例,并且有10,000 个测试示例,我们将其划分为 100 个客户端,每个客户端包含 500 个训练和 100 个测试。
由于这些数据没有自然的用户分区,我们考虑了平衡和ID设置。
模型架构取自TensorFlow教程[38],它由两个卷积层后跟两个卷积层组成全连接层,然后是线性变换层以生成 logits,总共约 10的6次方个参数。

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

Note that state-of-the-art approaches have achieved a test accu- racy of 96.5% [19] for CIFAR; nevertheless, the standard model we use is sufficient for our needs, as our goal is to evaluate our optimization method, not achieve the best pos- sible accuracy on this task. The images are preprocessed as part of the training input pipeline, which consists of crop- ping the images to 24x24, randomly flipping left-right and adjusting the contrast, brightness and whitening.

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

通过对SGD和FedAvg进行尺寸为B = 50的小批量的实验,我们还可以将精度视为此类小批量梯度计算的函数。
我们预计SGD在这里做得更好,因为在每次小分量计算之后都会采取一个连续的步骤。
但是,如附录中的图 9 所示,对于 C 和 E 的适度值,FedAvg 对每个小分量计算的进度相似。此外,我们看到标准 SGD 和 FedAvg(每轮只有一个客户端(C = 0))都显示出显著的准确性振荡,而对更多客户端求平均值可以消除这种情况。

Large-scale LSTM experiments 大规模 LSTM 实验
我们在大规模下一个单词预测任务任务上运行了实验,以证明我们的方法在现实世界中的有效性。
我们的训练数据集包含来自大型社交网络的 1000 万个公开帖子。我们按作者对帖子进行了分组,总共有超过500,000个客户。
此数据集是用户移动设备上将存在的文本输入数据类型的实际代理。
我们将每个客户端数据集限制为最多 5000 个单词,并在来自不同(非训练型)作者的 1e5 个帖子的测试集上报告准确性(在 10000 个可能性中,预测概率最高的数据比例为正确的下一个单词)。

我们的模型是一个256节点的LSTM,词汇量为10,000个单词。
每个单词的输入和输出嵌入的维度为192,并与模型共同训练;
总共有4,950,544个参数。我们使用了10个单词的展开。

Our model is a 256 node LSTM on a vocabulary of 10,000 words. The input and output embeddings for each word were of dimension 192, and co-trained with the model; there are 4,950,544 parameters in all. We used an unroll of 10 words.

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

4 Conclusions and Featrue Work

我们的实验表明,联邦学习是可行的,因为FedAvg使用相对较少的通信次数训练高质量的模型,正如各种模型架构的结果所证明的那样:多层感知器,两个不同的卷积NN,一个双层字符LSTM和一个大规模的单词级LSTM。

虽然联邦学习提供了许多实用的隐私优势,但通过差分隐私[14,13,1]提供更强的保证,安全的多方计算[18],或者它们的组合是未来工作的一个有趣的方向。请注意,这两类技术最自然地适用于FedAvg.7等同步算法。

  • 10
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值