联邦学习开山之作:Communication-Efficient Learning of Deep Networks from Decentralized Data 带你走进最初的联邦学习 论文精读

原文链接: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) CK0C1个参与者(实验发现当参与者的数量超过某个值是效果会出现下降,所以只选择部分的参与者),服务器将最新的参数下发给选中的参与者,参与者进行联邦学习(包含训练、联邦聚合等);

通常情况下(对于数据集中分布),我们需要:
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) wRdminf(w)=n1i=1nfi(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)

### 联邦学习与机器视觉的第一篇论文 联邦学习(Federated Learning, FL)是一种分布式机器学习技术,允许模型在不共享数据的情况下通过聚合本地更新来训练全局模型。而机器视觉领域涉及图像和视频的理解与处理。尽管两者结合的研究近年来迅速发展,但追溯到最早的开创性工可以发现一篇具有里程碑意义的文章。 最早将联邦学习应用于机器视觉领域的研究之一是由 McMahan 等人在 2017 年发表的一篇文章[^3]。该文章首次提出了联邦平均算法(FedAvg),这是联邦学习的核心方法之一。虽然这篇论文主要关注的是移动设备上的文本预测任务,但它奠定了联邦学习的基础理论框架,并启发了许多后续针对计算机视觉场景的工。 随后,在更具体的机器视觉方向上,Konečný et al. 的研究进一步探索了如何利用联邦学习解决图像分类等问题[^4]。这些早期尝试表明,即使是在资源受限的环境中,也可以有效实现高质量的视觉识别性能。 值得注意的是,“第一篇”严格定义可能因具体应用场景不同而有所变化。如果需要更加精确的时间线或者特定子领域的起源,则建议查阅 IEEE Xplore 或 ACM Digital Library 中的相关索引数据库以获取权威记录。 ```python import tensorflow_federated as tff from tensorflow.keras import layers, models def create_model(): model = models.Sequential([ layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)), layers.MaxPooling2D((2, 2)), layers.Flatten(), layers.Dense(10, activation='softmax') ]) return model federated_model = tff.learning.from_keras_model(create_model()) ``` 上述代码片段展示了基于 TensorFlow Federated 实现的一个简单卷积神经网络架构,用于演示联邦学习环境下的机器视觉建模过程。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值