联邦学习:无需共享原始数据的模型训练技术

本文深入探讨联邦学习技术,这是一种分布式机器学习方法,允许在保护数据隐私的前提下协作训练模型。文章详细介绍了联邦学习的工作原理、技术架构、隐私保护机制以及在医疗、金融等领域的实际应用案例。

联邦学习:无需共享原始数据的模型训练

随着机器学习程序需要越来越大的数据集进行训练和改进,传统的集中式训练方法在隐私要求、操作效率和日益增长的消费者怀疑论面前显得力不从心。医疗记录或支付历史等敏感信息由于伦理和法律限制,无法轻易集中收集。

联邦学习(FL)提供了不同的解决方案。它不是将数据发送到模型,而是将模型发送到数据所在处。机构和设备在本地用自己的数据训练模型,仅转发学习到的更新,而不是原始数据。

这不仅保护了机密性,还允许曾经孤立的一方之间进行协作。

理解问题

集中式数据管道推动了许多AI的重大进展;然而,这种方法伴随着重大风险:

  • 隐私泄露:匿名化数据可能被重新识别。医疗信息、财务信息和个人通信极其敏感。
  • 监管限制:GDPR、HIPAA和印度DPDP法案等立法对数据收集、存储和传输设置了严格限制。
  • 操作效率低下:通过网络复制TB级数据既耗时又昂贵。
  • 高基础设施成本:存储、保护和处理大规模集中数据集需要昂贵的基础设施,这是较小机构无法承担的。
  • 偏见放大:集中存储会过度代表特定群体或机构,因此训练的模型在众多现实环境中的泛化能力可能较差。

这些要求使得集中式训练在大多数现实场景中变得不可能。

新范式:联邦学习

联邦学习(FL)彻底颠覆了传统流程。原始数据不会在中心点积累,而是模型安装在每个客户端(设备、医院或机构)上。训练在本地进行,只有生成的模型更新(如权重或梯度)被传回。

下图显示了FL工作流程:客户端在本地训练模型并与中央服务器共享更新,服务器将更新组合成全局模型。

(来源:Qiang, 2022)

谷歌在2016年首次使用此策略来增强Gboard的下一词预测功能,而不会泄露用户击键。键盘在设备本地学习,仅发送模型更新,这些更新被编译成一个全局模型。随着时间的推移,这使得谷歌能够在数百万设备上提高预测准确性——从未以个人击键为代价。

(来源:ar5iv)

随着这一突破,FL获得了关注。2016年谷歌论文中使用的联邦平均(FedAvg)算法构成了大多数当代FL系统的主干。研究人员在2018年通过压缩方案和安全聚合解决了通信开销和隐私挑战。从2019年开始,FL进入了医疗、金融和制药等敏感领域,这些领域的协作基于严格的数据隐私。

通过使敏感信息保留在源头,联邦学习将这一概念扩展到移动键盘之外,使以前独立的孤岛之间能够进行协作智能——在不牺牲隐私的情况下开辟新的可能性。

“联邦学习不是单一的配方,而是一个灵活的框架,适应数据的分布方式——跨用户、特征或领域。” Peter, 2019

为隐私而构建

联邦学习是隐私优先的。原始数据永远不必离开源;训练始终在设备或机构服务器上进行本地处理。这种设计使FL默认符合GDPR和HIPAA,使组织能够在不违反数据法律的情况下进行创新。

最重要的是,FL释放了历史悠久的孤岛(如医院记录或银行交易历史)的价值,这些数据以前因担心隐私侵犯而无法集中。同时,它无缝扩展,在数百万设备上实时同步训练。

由于敏感信息是分布式持有的,系统不太容易受到破坏;一台服务器上的破坏无法危及整个数据库。最后,FL允许个性化而不牺牲隐私。本地模型学习特定行为——键盘使用或语音模式——而聚合的全局模型对所有用户都保持改进。

一个有趣的案例研究是医疗保健:一组医院使用FL预测败血症风险。每家医院在本地学习并仅交换匿名信息,这在所有医院都实现了更好的预测性能,同时完全不影响患者隐私合规性(Rodolfo, 2022)。

由于数据是本地的,公共更新仍可能泄露敏感模式。差分隐私(DP)通过引入受控噪声来救援,使得难以将更新回溯到用户。

安全多方计算(SMPC)和同态加密(HE)在聚合时保护更新,使得即使服务器也不知道原始贡献。

对抗性攻击仍然是一个问题:模型中毒允许注入恶意更新,推理攻击可能试图获取机密信息。防御方法涉及强大的聚合规则、异常检测和隐私保护方法,以平衡安全性和模型的有用性。

联邦学习的类型

联邦学习不是一刀切的。它依赖于机构的数据分布。有时,不同群体收集关于不同用户的相似信息,有时他们收集关于相似用户的不同信息,有时甚至用户和特征部分重叠。为了解决所有这些场景,联邦学习专门分为三类:横向、纵向和迁移学习。

(来源:ResearchGate)

横向联邦学习

横向联邦学习涉及多个组织,其数据具有相同的特征,但覆盖不同的用户群体。例如,不同的医院可以从相同的患者信息(如年龄、血压和血糖水平)中受益,但来自不同的患者群体。通过模型在本地学习并传输参数更新(而非数据),组织可以共同构建更好的全局模型而不共享信息,但仍能更好地泛化(Jose, 2024)。

纵向联邦学习

纵向联邦学习涉及不同组织拥有相同的客户但提取独特的特征。例如,银行可能拥有客户的资金历史,而电子商务公司可能拥有同一客户的购买历史。他们可以通过安全渠道合并这些互补的数据集,以联合训练共享模型而不暴露原始数据。这样的过程为欺诈检测、风险评估和信用评分提供了强大的用例(Abdullah, 2025)。

联邦迁移学习

联邦迁移学习是一种专用方法,适用于各方共享主要不相交的数据集,用户和特征交集最小的情况。例如,一个实体可能拥有成像数据,而另一个实体在不同患者群体中拥有实验室数据。即使数据交集最小,联邦迁移学习通过使用联邦模型更新传输获取的表征的潜力,促进了机构之间的合作,而不共享敏感的原始数据。

根据Wei Guo(2024)的说法,他的方法将联邦学习推广到地理分散和异构设置,从而增强了跨行业和各种研究领域的隐私保护协作。

联邦学习的工作原理

联邦学习(FL)是一种分布式机器学习模式,其中许多客户端(即手机、医院或公司)在本地数据上本地训练模型。原始数据不上传到中间服务器;而是上传模型更新。

步骤1:客户端选择和模型初始化

中间服务器初始化全局模型并选择符合条件的客户端(可用、不忙且有足够数据)。

步骤2:本地训练

他们使用常见算法(如小批量梯度下降)在本地数据上获取的模型进行训练。

可选隐私保护:安全飞地(基于硬件的保护)或差分隐私(添加噪声)。

步骤3:模型更新共享

客户端不发送原始数据;而是发送参数更新(梯度/权重)。这些可以通过安全聚合进行加密或掩码。

步骤4:中心聚合(FedAvg)

服务器使用联邦平均(FedAvg)聚合客户端更新:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
global_model = initialize_model()

for round in range(num_rounds):
    client_weights = []
    client_sizes = []
    
    # 每个客户端在本地训练
    for client in clients:
        local_model = copy(global_model)
        local_data = client.get_data()
        
        # 本地训练(例如,几个周期的SGD)
        local_model.train(local_data)
        
        # 收集权重和数据大小
        client_weights.append(local_model.get_weights())
        client_sizes.append(len(local_data))
    
    # 加权平均聚合
    total_size = sum(client_sizes)
    avg_weights = sum((size/total_size) * weights 
                      for size, weights in zip(client_sizes, client_weights))
    
    # 更新全局模型
    global_model.set_weights(avg_weights)
    
    print(f"Completed round {round+1}, global model updated.")

其中Nk是客户端k数据集的大小。

大规模部署可以使用异步或分层聚合以提高效率。

步骤5:全局模型分发和迭代

新生成的全局模型重新分发以执行另一轮训练。迭代持续直到模型收敛或达到性能目标。

实践示例

谷歌的"Hey Google"语音查询使用FL,使得语音数据在每个手机上本地处理。手机仅传输模型更新——而不是声音本身——保证更好的模型而不牺牲隐私(Jianyu, 2021)。

核心技术组件

联邦学习使多个分散的客户端能够协作学习机器学习模型而不共享原始数据。分布式模型依赖于几个技术组件,这些组件管理计算、通信、聚合和安全。总的来说,联邦学习范式是可扩展、高效和隐私保护的,因为这些组成部分的协同作用。

1. 联邦平均(FedAvg)

联邦平均(FedAvg)是联邦学习的核心。其中,每个客户端在本地对其数据训练模型,并将参数更新发送到中央服务器,而不是模型。服务器将这些更新组合——通常通过平均——成全局模型。该过程在训练轮次中迭代直到收敛。

以下摘录提到了基本步骤:客户端数据的本地训练,独立传输更新(但不是原始数据)到服务器,以及服务器平均更新以改进全局模型准确性。

2. 同步机制

有两种同步模型更新的方法:

  • 同步训练:服务器保持空闲直到所有客户端完成并平均其更新。它提供一致性但可能基于较慢的设备增加延迟(“掉队者问题”)。
  • 异步训练:服务器在更新到达时更新,工作更快但偶尔处理稍微过时的参数。

3. 客户端设备

客户端构成联邦学习的骨干。它们范围从智能手机和物联网设备到大型企业服务器。每个客户端在私有数据上本地训练模型并仅共享更新,这有助于保护隐私,同时捕获参与者间非IID(非独立同分布)数据集的多样性。

4. 中央服务器(聚合器)

聚合器处理训练。它提供初始全局模型,从客户收集更新,组合它们,并重新分发改进的模型。它还必须处理现实世界的挑战,如客户退出、变化的硬件能力和不平衡的参与水平。

5. 通信效率

由于联邦学习在大多数情况下在带宽受限的设备和网络上运行,需要最小化通信开销。模型压缩、稀疏化和量化等方法在相同模型性能下降低数据传输成本。

6. 处理异构性

客户端设备在数据分布、计算和网络稳定性方面高度异构。为了解决这个问题,个性化联邦学习和FedProx优化等方法使模型在动态条件下表现良好,促进公平性和鲁棒性。

7. 容错和鲁棒性

最后,联邦学习系统被设计为能够抵抗故障甚至主动恶意尝试。客户端采样、退出管理、异常检测和声誉评级等技术确保即使在动荡环境中的可靠性。

效率技术

联邦学习通过压缩模型更新的方法最小化通信成本。稀疏化、量化和压缩减小数据大小而不牺牲模型准确性,使得即使在低带宽设备上也可以进行训练。

压缩

压缩方法通过较少冗余地表示信息,最小化客户端和服务器之间传输的模型更新的大小。例如,预测编码移除模型梯度中的冗余,显著降低通信成本而不影响学习性能。

(来源:ScienceDirect)

量化

量化通过用较少位(如8位值而非标准32位浮点数)近似模型权重或梯度来减少通信开销。最近的方法引入误差补偿方法以保持精度损失最小,这使得量化成为带宽受限联邦学习系统的可行解决方案。

稀疏化

稀疏化通过仅发送最重要的模型更新来降低通信负载,省略较小的梯度更新,这些更新对模型改进贡献不大。在实践中,这种选择性发送大大降低了开销,并且与量化结合,可以提供更 drastic 的压缩比。

构建隐私优先的未来

联邦学习不仅是一种在原始数据不可用时训练模型的方法,而且是对AI系统中数据、协作和信任管理的重新构想。

数据主权

通过保留关于起源机构或机器的信息,FL可以满足高度限制性的隐私法规,如GDPR和HIPAA,并 enable 多国合作而不开放敏感数据透明度。

NVIDIA与伦敦国王学院和Owkin合作,使用FL在不同医院训练脑肿瘤分割模型。每个站点在从BraTS 2018数据集中检索的MRI扫描上进行本地训练,并仅共享匿名更新,通过使用差分隐私技术使其更加私密。联邦方法获得了与集中训练方法相同的优秀准确性,但患者信息未离开医院服务器。这清楚地表明识别特定面孔的能力属于医学领域(NVIDIA & King’s College London, 2019)。

民主化AI

小型机构和边缘设备也可以在现场使用共享模型进行训练。由于已经有此类设备的例子,如谷歌创建的Gboard,很明显它们有潜力帮助数百万设备增强系统,而不集中其数据。

鲁棒性和安全性

联邦学习通过引入安全聚合和差分隐私等技术增强保护。这些确保即使设备发送的微小模型更改也无法被反编译。也就是说,黑客甚至中央服务器无法使用共享参数拼凑敏感本地数据。

更公平的代表性

FL在各种分散数据点上学习,因此最小化了否则会来自小规模集中数据训练的偏见。这增加了模型在各种人群中的代表性,增强了医疗、金融服务和教育等领域的公平性。

结论

联邦学习证明隐私和性能不必相互冲突。通过保持数据在起源处同时仍 enable 集体智能,FL解决了AI一些最困难的挑战:合规性、信任、公平性和安全性。从数百万智能手机改进预测键盘到医院共同改善患者结果,该技术已经在重塑智能构建的方式。

AI的未来不再是拆除隐私围栏的问题,而是在其后构建智能系统。联邦学习不仅仅是技术解决方案——它是通往更安全、更民主和更具代表性的人工智能未来的路线图。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计