联邦学习:隐私保护与效率平衡的艺术
在数字化时代,数据隐私和安全性成为了我们无法回避的话题。随着技术的发展,机器学习在各个领域的应用越来越广泛,但同时也带来了数据隐私的挑战。联邦学习作为一种新兴的机器学习范式,为我们提供了一种在保护数据隐私的同时进行模型训练的解决方案。
一、什么是联邦学习
联邦学习,也称为协同学习,是一种先进的机器学习范式,它通过在数据产生的设备上进行本地训练,确保了数据的隐私和安全性,因为敏感数据始终保留在数据所有者手中,不会被传输到外部服务器。各个参与者在本地完成数据收集和模型训练后,将模型更新(而非原始数据)发送给中央训练协调器。该协调器聚合这些更新以改进共享模型,从而在不访问实际敏感数据的情况下,实现跨多个数据源的协作学习,这不仅解决了数据隐私和安全性的问题,还增强了模型的泛化能力,使其能够从多样化的数据中学习并提高性能。
联邦学习本身并不能保证隐私(稍后我们将讨论联邦学习系统中的隐私破坏和修复),但它确实使隐私成为可能。
联邦学习的用例:
手机输入法的下一个词预测(e.g. McMahan et al. 2017, Hard et al. 2019)
- 健康研究(e.g. Kaissis et al. 2020, Sadilek et al. 2021)
- 汽车自动驾驶(e.g. Zeng et al. 2021, OpenMined 的文章)
- “智能家居”系统(e.g. Matchi et al. 2019, Wu et al. 2020)
因为隐私的问题所以对于个人来说,人们宁愿放弃他们的个人数据,也不会将数据提供给平台(平台有时候也想着白嫖 ),所以联邦学习几乎涵盖了所有以个人为单位进行预测的所有场景。
随着公众和政策制定者越来越意识到隐私的重要性,数据实践中对保护隐私的机器学习的需求也正在上升,对于数据的访问受到越来越多的审查,对联邦学习等尊重隐私的工具的研究也越来越活跃。 在理想情况下,联邦学习可以在保护个人和机构的隐私的前提下,使数据利益相关者之间的合作成为可能,因为以前商业机密、私人健康信息或数据泄露风险的通常使这种合作变得困难甚至无法进行。
欧盟《通用数据保护条例》或《加利福尼亚消费者隐私法》等政府法规使联邦学习等隐私保护策略成为希望保持合法运营的企业的有用工具。与此同时,在保持模型性能和效率的同时获得所需的隐私和安全程度,这本身就带来了大量技术挑战。
从个人数据生产者(我们都是其中的一员)的日常角度来看,至少在理论上是可以在私人健康和财务数据之间放置一些东西来屏蔽那种跟踪你在网上行为设置暴露你的个人隐私的所谓的大杂烩生态系统。
联邦学习的目的是训练来自多个数据源的单个模型,其约束条件是数据停留在数据源上,而不是由数据源(也称为节点、客户端)交换,也不是由中央服务器进行编排训练(如果存在的
二、联邦学习的关键技术
中央服务器与节点的协作
在典型的联邦学习方案中,中央服务器负责将模型参数发送到各节点,节点利用本地数据训练模型,并将训练后的权重发送回中央服务器。中央服务器通过对新模型参数求平均值来更新全局模型,这个过程通常与每个节点上执行的训练量有关。
去中心化的联邦学习
在某些特殊情况下,如医疗数据训练,可能需要取消训练的集中控制,采用去中心化的联邦学习方案。在这种方案中,单个节点可以分配中央管理器的角色,实现更加灵活的数据管理和模型训练。
异构设备的支持
联邦学习不仅限于同质设备,还可以支持异构设备。例如,HeteroFL允许在具有巨大差异的通信和计算能力的设备上训练单一的推理模型,甚至可以训练具有不同架构和参数数量的局部模型
三、关键点
数据隐私保护:数据不需要被传输到中央服务器,而是在本地进行训练,只有模型的更新(如梯度或权重更新)在参与者之间共享。
分布式训练:多个设备或参与者可以同时对模型进行训练,每个参与者使用自己的数据集。
模型一致性:尽管数据是分布式的,但所有参与者共同努力训练一个一致的模型,该模型能够反映所有参与者的数据特征。
异构数据:联邦学习可以处理来自不同来源的异构数据,这有助于提高模型的鲁棒性和准确性。
可扩展性:联邦学习模型可以轻松扩展到更多的参与者,每个新的参与者都可以为模型提供新的数据视角。
安全性:通过加密技术和其他安全措施,联邦学习可以确保在模型训练过程中数据不被泄露。
四、联邦学习的优势
节省带宽
由于训练数据集通常比模型要大得多,联邦学习通过发送模型而不是数据集来节省带宽。
隐私保护
联邦学习最重要的优势是隐私保护。通过不共享原始数据,可以在很大程度上保护用户的隐私。
五、应用领域
联邦学习在许多领域都有应用,例如医疗保健、金融服务、智能手机应用等,它允许这些领域在不违反数据隐私法规的情况下,利用大量分散的数据进行模型训练。
六、学习路线思维导图
【参考资料】
先了解 google 联邦学习最早提出时的 motivation 和基本定义,对这个范式的基本逻辑掌握清楚,顺带了解最基本的 FedAvg 的逻辑方法。(需要科学上网)
1、必读经典
1.开山之作
2.Privacy-Preserving Deep Learning
3.《2019-Federated machine learning: Concept and applications》
4.《Federated Learning: Challenges, Methods, and Future Directions》
5.Google GBoard 视频讲解: Making every phone smarter with Federated Learning
6.Google GBoard 介绍报道:Federated Learning: Collaborative Machine Learning without Centralized Training Data
7.Advances and Open Problems in Federated Learning
2、常用算法:
FedBN
FedPD
Federated Optimization in Heterogeneous Networks
SCAFFOLD
3、联邦学习论文笔记
4、联邦学习 Demo
工业领域 FATE API介绍
TensorFlow TFF 介绍 Introducing TensorFlow FederatedFedML
FedML 开源代码、 FedML视频教学、作者主页
5、大神文章
lokinko: 联邦学习论文分享
无知者: 联邦学习系统前沿
六三: 隐私计算、格密码理论与应用实践、同态加密的理论和实现
李天天: 零知识证明介绍、[同态加密介绍(https://zhuanlan.zhihu.com/p/77478956)、 密钥分享介绍、混淆电路介绍、 差分隐私介绍
安全保护相关领域
差分隐私(DP) / 多方安全计算(MPC) / 同态加密(HE)
Practical Secure Aggregation for Privacy-Preserving Machine Learning
通信 Communication Efficient
算法优化 / 收敛性证明
统计异构 Statistical Heterogeneity
Non-IID data / Domain-adaptation
联邦学习
lokinko/Federated-Learning按照不同子问题对联邦学习前沿论文做出了归纳整理。