联邦学习(一)

Ryan Lu Lv4

背景

大数据和人工智能的发展带来了数据孤岛和隐私安全问题。由于企业系统和业务的封闭性,数据垄断和数据孤岛现象日益严重,加之以新的数据法律法规,导致人工智能中依赖数据共享的传统数据处理模型成本提高。联邦学习对上述问题提出了解决方案,在数据不共享的情况下进行联合建模。通过联邦系统中加密机制下的参数交换方式,联合全局共享模型,建好的模型在各参与方只为本地的目标服务。

什么是联邦学习

在 2019 年 Google 发表的《Advances and Open Problems in Federated Learning》中,这样提到,“联邦学习是一种机器学习范式,在一个中心服务器的协调下让多个客户端相互合作,即便在数据分散在客户端的情况下也可以得到一个完整的机器学习模型”。

特点归纳:

  • 有两个或两个以上的参与方联合构建机器学习模型。
  • 在模型训练过程中,原始数据不能离开参与方本地。
  • 训练模型的中间参数(模型参数,梯度信息等)以加密的方式在各参与方之间传输,并且任何一方不能根据中间参数反推出其他方的原始数据。
  • 数据不动模型动,数据可用不可见

联邦学习与分布式机器学习

联邦学习的提出是由于数据分布在不同的设备或不同的机构之间,存在数据孤岛问题,另一方面是旨在隐私保护,在不泄露原始数据的情况下联合建模,需要更多保护隐私的措施。

联邦学习的解决方案是数据不动模型动,数据可用不可见。通过交互模型的参数信息来完成模型的更新过程,并且在计算和传输过程中使用多方安全计算技术,防止通过参数泄露原始数据。

在联邦学习中,不同的参与方拥有的数据有着完全不同的分布,并且数据的大小也完全不同,即数据分布是非独立同分布的。两个参与方的模型参数更新方式也是不同的。

联邦学习中,客户和服务器间的通信依赖于现有的网络连接,例如,上行通信(客户端到服务端)通常比下行通信(服务端到客户端)要慢很多,尤其是使用移动网络进行连接时。除此之外,一些设备还存在断电,断网等失去网络连接的情况。

算法

训练流程如下:

第一步,随机采样 m 个 clients 参与本轮训练,并由 server 下发初始化 global model; 第二步,clients 在本地数据集上训练 E 轮,直到 local model 收敛,可以减少通信的次数; 第三步,本轮参与方将各自的 local model 变化量(原始论文是直接发参数,但发参数变化量是一个更加广泛采用的做法)发送至 server; 第四步,server 对这 m 个 local model 进行参数平均聚合,得到更新后的 global model。

vaseline555/Federated-Learning-in-PyTorch: Handy PyTorch implementation of Federated Learning (for your painless research)

应用场景

  • 跨行业数据融合重构用户画像
  • 金融领域:联合风控。个人征信,公司估值,价值投资,技术分析,提供高效服务,获取用户价值
  • 医疗领域:不同医疗机构化验检查数据联合建模,给病例量较小的医院带来较好的模型诊断效果,辅助医生诊断,减轻医生工作负担,提升诊断效率和准确率。
  • 边缘计算和物联网:移动边缘计算,智能手机和移动互联网的普及,使得大量数据产生在边缘设备,联邦学习可以在保护用户隐私数据的同时,利用多个边缘设备合作训练出全局机器学习模型
  • Title: 联邦学习(一)
  • Author: Ryan Lu
  • Created at : 2025-11-11 11:19:08
  • Updated at : 2025-11-13 03:13:49
  • Link: http://ryan-hub.site/50780ef9e452/
  • License: This work is licensed under CC BY-NC-SA 4.0.