要解决的问题
训练机器学习模型需要数据。但数据往往分散在不同机构、不同设备上,且不能直接集中:
- 隐私法规:医疗数据、金融数据受严格监管;
- 商业竞争:机构之间不愿共享数据资产;
- 用户隐私:手机上的使用数据不应上传到服务器。
核心思路
不把数据搬到模型那里,而是把模型搬到数据那里。
- 中心服务器把当前的模型参数下发给各参与方;
- 各参与方在自己的本地数据上训练,计算参数更新(梯度);
- 只把参数更新(而非原始数据)上传回服务器;
- 服务器聚合所有参与方的更新,得到新的全局模型;
- 重复,直到收敛。
最经典的算法叫 FedAvg(联邦平均):按各参与方的数据量加权平均它们的模型参数。
分类
横向联邦:参与方的数据特征相同、样本不同。
比如两地的银行,业务类似(特征相同),但客户群体不同(样本不同)。
纵向联邦:参与方的样本重叠、特征不同。
比如同一城市的银行和电商,用户群有重叠,但掌握的数据维度不同(一个知道金融行为,一个知道购物偏好)。
联邦迁移学习:样本和特征重叠都很少的情况。
技术挑战
一、通信开销。
模型参数可能很大(大模型甚至达数百 GB)。在每轮训练后上传这些参数,通信成本极高,尤其是参与方在移动网络环境下。
优化:
- 模型压缩(量化、稀疏化)后上传;
- 多轮本地训练后再同步(减少通信轮次);
- 只上传部分参数或用低秩分解。
二、数据异构(Non-IID)。
各参与方的数据分布可能差异很大。比如,不同用户的手机使用习惯千差万别。
这会导致:
- 各参与方的本地更新方向不一致("客户端漂移");
- 全局模型收敛变慢,甚至在某些参与方上表现很差。
应对:改进聚合算法(如 FedProx 加入近端项限制本地更新幅度)、个性化联邦学习(为每个参与方保留一定的个性化层)。
三、系统与设备异构。
参与设备性能、网络条件、可用性差异巨大。有的设备可能在训练过程中掉线。
四、隐私并未自动保证。
这是最关键的误解:联邦学习不上传原始数据,但梯度本身也可能泄露信息。
研究者已经证明,通过梯度反演攻击,可以从梯度中重建出训练样本的部分信息(甚至图像)。
因此需要额外保护:
- 安全聚合(Secure Aggregation):用密码学协议让服务器只能看到聚合后的结果,看不到单个参与方的更新;
- 差分隐私(Differential Privacy):在上传的更新中加入精心校准的噪声,使得无法从输出推断出任何单个样本的信息;
- 同态加密:在加密状态下计算,但计算开销大。
这些技术都有代价:通信开销、计算开销,或模型精度损失。
现实应用
- 手机输入法:在本地学习用户的输入习惯,改进下一词预测(如 Gboard);
- 医疗:多家医院联合训练模型,不共享病历;
- 金融:多家机构联合建模风控或反欺诈。
一句话
联邦学习是隐私保护的一种手段,但不是银弹。它的价值在于把"必须集中数据"变成了"可以只集中模型更新",但要真正保护隐私,还需要差分隐私、安全聚合等配套技术。
说明:本文为隐私计算的知识整理。