本文最后更新于 5 天前,其中的信息可能已经有所发展或是发生改变。
论文介绍
本篇是联邦学习开山之作
作者是谷歌的H.Brendan MeMahan等人
Abstract
问题:移动设备有大量数据,因其数据量大和隐私敏感性,无法上传到数据中心进行处理。即”数据孤岛“问题。
解决方案:提出了一种基于迭代模型平均的去中心化学习方法,即联邦学习(Federated Learning,FL),将训练数据分布在移动设备上训练,聚合计算结果后更新模型。
结果:对于不平衡和非独立同分布数据是稳健的。与同步随机梯度下降相比,通信轮次减少10-100倍,但是通信成本仍是FL主要限制因素。
Introduction
使用移动设备上的私人信息进行训练能极大提高模型可用性,但是数据的存储存在巨大的风险和责任。所以提出了联邦学习
为什么叫联邦学习:学习任务是由参与设备的松散联合解决的,这些设备由中央服务器协调。
什么是联邦学习:每个客户端都有一个本地训练数据集,该数据集永远不会上传到服务器。每个客户端都会计算对服务器维护的当前全局模型的更新,并且只上传此更新。由于这些更新专门用于改进当前模型,因此服务器只需要应用了这些更新,不必存储数据。
优点:将模型训练和直接访问原始训练数据解耦。
不足:不被信任的参与者可能对模型训练造成攻击。
应对:对于可以根据每个客户端上的可用数据指定训练目标的应用程序,联合学习可以通过将攻击面限制为仅设备,而不是设备和云,来显著降低隐私和安全风险。
本篇贡献:
- 将移动设备分散数据的培训问题确定为一个重要的研究方向
- 选择一种简单实用的算法应用于此设置
- 对所提出的方法进行了广泛的实证评价
- 提出了FederatedAveraging(FedAve)算法,即联邦平均化算法,该算法将每个客户端上的局部随机梯度下降(SGD)与执行模型平均化的服务器相结合。该算法对不平衡和非iid数据分布具有鲁棒性。并且可以将训练深度网络处理分散数据所需的通信次数减少几个数量级。
什么样的数据适合联邦学习:
- 对来自移动设备的真实数据进行培训,比对通常在数据中心可用的代理数据进行培训具有明显的优势。
- 最好不要纯粹为了模型培训的目的而将其记录到数据中心。
- 对于监督任务,数据上的标签可以从用户交互中自然地推断出来。
联邦学习具有明显的隐私优势,故永远不会包含比原始训练数据更多的信息。而且聚合算法不需要更新的源,因此可以在Tor等混合网络上或通过可信的第三方传输更新,而无需识别元数据。
我们将联邦学习中隐含的优化问题称为联邦优化,将其与分布式优化联系起来(并进行对比)。其具备几个属性: - non-IID。数据分布不平均
- 不平均。一些用户会比其他人更频繁地使用这项服务或应用程序,从而导致不同数量的本地培训数据。
- 大规模分布式。期望参与优化的客户端数量比每个客户端的平均示例数量多得多
- 通讯限制(网络)。
优化步骤(按照轮数进行迭代):
- 固定总数 K 个客户端,每个客户端都有本地数据集。
- 每次选取分数 C (比例)个客户端
- 服务器将当前的全局算法发送给每个客户端。
- 每个被选定的客户端执行本地计算,并将服务器更新。
经过实验,发现每次只选择一部分客户端效果更好
对于凸神经网络,有如下目标:
$$
minf(w)f(w)=1n∑i=1nfi(w)
$$
也就是说对于一般的机器学习 fi(w)=l(xi,yi,w) ,其损失函数 (xi,yi) 由 w 决定。假设数据分布在 K 个客户端, Pk 代表客户端 k 数据点的集合, nk 表示客户端 k 的数据个数集合。则上式可以写为:
$$
f(w)=∑k=1KnknFk(w)Fk(w)=1nk∑i∈Pkfi(w)
$$
如果划分 Pk 是所有用户数据的随机取样,则目标函数 f(w) 就等价于损失函数关于 Pk 的期望:
$$
EPk[Fk(w)]=f(w)
$$
这就是传统的分布式优化问题的独立同分布假设,对于Non-IID情况可以是 Fk 是 f 的任意坏的近似。
一般数据中心中,通讯占少数,计算占大头。但是在联邦优化中,通讯占主导地位:
- 我们通常会受到1 MB / s或更小的上传带宽的限制;
- 客户通常只会在充电,插入电源和不计量的Wi-Fi连接时自愿参与优化;
- 希望每个客户每天只参加少量的更新回合。
所以,我们希望减少通讯次数,具体做法是:
- 增加并行度,每一个轮中使用更多的客户端;
- 增加每个用户的计算量。
众多(参数化)算法中,我们最终考虑的一个是简单一次平均simple one-shot averaging,其中每个客户解决的模型将其本地数据的损失降到最低(可能是正则化的),然后将这些模型取平均值以生成最终的全局模型。