原文链接:Communication-Efficient Learning of Deep Networks from Decentralized Data (mlr.press)
该论文是最早提出联邦学习的论文,作者结合背景提出了联邦平均的算法,并作了相应验证实验。
ABS
随着移动设备的用户增加,产生了大量的分散数据。这些分散数据通常是涉及用户隐私的,所以想要将数据集中起来进行训练是不现实的,作者提出一种能够在各移动设备上训练一个联合模型的方法——Federated Learning。该方法同时能够提高通信效率,相比于同步的随机梯度下降(synchronized stochastic gradient descent),通信耗时下降到原来的 1 10 \frac 1 {10} 101至 1 100 \frac 1 {100} 1001。
1 INTRO
手机和平板用户的增多以及用户随身携带意味着会产生大量的数据,这些数据有着巨大的价值,可以通过对这些数据进行训练来提升用户的体验,但是这些数据是设计用户隐私的,将数据直接收集起来是不合法的。
联邦学习对模型训练与整体数据的需求进行解耦(各方独自训练),这样做一方面能够保护用户隐私,另一方面攻击方想要获得数据只能攻击各个用户,而不能直接攻击中心服务器(中心服务器没有用户的数据)。
本文的贡献:
- 指明了对于分散数据进行机器学习的方向(即提出了联邦学习);
- 一种联邦学习的方法(该方法是各个客户端进行SGD和服务器进行模型平均的有机组合);
- 对提出的方法进行广泛的具有实践意义的评价。
联邦学习的特点:
- 数据大都来自于真实数据训练效果更加贴合实际;
- 数据高度敏感且相对于单个用户来说,数据量非常大;
- 对于有监督学习,可以通过与用户的互动轻松对数据进行标号。
联邦学习对于隐私性的保护:
- 会进行通信的数据只有需要的更新,这保证了用户数据的安全;
- 更新数据不需要保存,一旦更新成功,更新数据将被丢失;
- 通过更新数据对原始数据的破解几乎不可能。
联邦学习与分布式学习有着几个显著的不同:
- 数据分布非独立同分布:不同的用户有着不同的行为;
- 数据分布不平衡:指某些参与者的数据可能很多,而某些参与者数据可能很少;
- 大量的参与者:一个软件的用户可能非常多(例如某款输入法);
- 受限的通信:参与者的信号可能非常差,甚至出现离线的情况;
联邦学习需要处理以下问题:
- 各个参与方的数据可能会发生改变(例如删除、添加、编辑照片);
- 参与方的数据分布非常复杂(不同的群体的手机使用情况差异可能会非常大)。
本论文的实验环境是一个可控的环境,主要用于解决非独立数据分布和不平衡数据分布的问题:
- 实验中固定有 K K K个参与者,参与者的数据集固定不发生更改;
- 每一轮开始时,选择 C ∗ K ( 0 ≤ C ≤ 1 ) C*K(0\le C\le1) C∗K(0≤C≤1)个参与者(实验发现当参与者的数量超过某个值是效果会出现下降,所以只选择部分的参与者),服务器将最新的参数下发给选中的参与者,参与者进行联邦学习(包含训练、联邦聚合等);
通常情况下(对于数据集中分布),我们需要:
m i n w ∈ R d f ( w ) = 1 n ∑ i = 1 n f i ( w ) \underset {w\in R^d}{min} f(w) = \frac 1 n\sum_{i=1}^nf_i(w) w∈Rdminf(w)=n1i=1∑nfi(w)
上式中的 f i ( w ) f_i(w) fi(w)代表样本 i i i的损失。
在联邦学习中,我们需要做出一定的变形:
f ( w ) = ∑ k = 1 K n k n F k ( w ) F k ( w ) = 1 n k ∑ i ∈ P k f i ( w ) \begin{aligned} &f(w) = \sum_{k=1}^K\frac {n_k} nF_k(w)\\ &F_k(w)=\frac 1 {n_k}\sum_{i \in P_k}f_i(w) \end{aligned} f(w)