要解决的问题

训练机器学习模型需要数据。但数据往往分散在不同机构、不同设备上,且不能直接集中:

  • 隐私法规:医疗数据、金融数据受严格监管;
  • 商业竞争:机构之间不愿共享数据资产;
  • 用户隐私:手机上的使用数据不应上传到服务器。

核心思路

不把数据搬到模型那里,而是把模型搬到数据那里。

  1. 中心服务器把当前的模型参数下发给各参与方;
  2. 各参与方在自己的本地数据上训练,计算参数更新(梯度);
  3. 只把参数更新(而非原始数据)上传回服务器;
  4. 服务器聚合所有参与方的更新,得到新的全局模型;
  5. 重复,直到收敛。

最经典的算法叫 FedAvg(联邦平均):按各参与方的数据量加权平均它们的模型参数。

分类

横向联邦:参与方的数据特征相同、样本不同。

比如两地的银行,业务类似(特征相同),但客户群体不同(样本不同)。

纵向联邦:参与方的样本重叠、特征不同。

比如同一城市的银行和电商,用户群有重叠,但掌握的数据维度不同(一个知道金融行为,一个知道购物偏好)。

联邦迁移学习:样本和特征重叠都很少的情况。

技术挑战

一、通信开销。

模型参数可能很大(大模型甚至达数百 GB)。在每轮训练后上传这些参数,通信成本极高,尤其是参与方在移动网络环境下。

优化:

  • 模型压缩(量化、稀疏化)后上传;
  • 多轮本地训练后再同步(减少通信轮次);
  • 只上传部分参数或用低秩分解。

二、数据异构(Non-IID)。

各参与方的数据分布可能差异很大。比如,不同用户的手机使用习惯千差万别。

这会导致:

  • 各参与方的本地更新方向不一致("客户端漂移");
  • 全局模型收敛变慢,甚至在某些参与方上表现很差。

应对:改进聚合算法(如 FedProx 加入近端项限制本地更新幅度)、个性化联邦学习(为每个参与方保留一定的个性化层)。

三、系统与设备异构。

参与设备性能、网络条件、可用性差异巨大。有的设备可能在训练过程中掉线。

四、隐私并未自动保证。

这是最关键的误解:联邦学习不上传原始数据,但梯度本身也可能泄露信息。

研究者已经证明,通过梯度反演攻击,可以从梯度中重建出训练样本的部分信息(甚至图像)。

因此需要额外保护:

  • 安全聚合(Secure Aggregation):用密码学协议让服务器只能看到聚合后的结果,看不到单个参与方的更新;
  • 差分隐私(Differential Privacy):在上传的更新中加入精心校准的噪声,使得无法从输出推断出任何单个样本的信息;
  • 同态加密:在加密状态下计算,但计算开销大。

这些技术都有代价:通信开销、计算开销,或模型精度损失。

现实应用

  • 手机输入法:在本地学习用户的输入习惯,改进下一词预测(如 Gboard);
  • 医疗:多家医院联合训练模型,不共享病历;
  • 金融:多家机构联合建模风控或反欺诈。

一句话

联邦学习是隐私保护的一种手段,但不是银弹。它的价值在于把"必须集中数据"变成了"可以只集中模型更新",但要真正保护隐私,还需要差分隐私、安全聚合等配套技术。

说明:本文为隐私计算的知识整理。