联邦学习与中心化学习的主要区别在于模型训练过程中数据存储、处理和通信的方式。在中心化学习中,所有训练数据都被收集并存储在单个服务器或数据中心上。模型直接在这个中心化数据集上进行训练,这需要将原始数据从各个设备或来源传输到服务器。相比之下,联邦学习保持数据去中心化:训练在设备本地(例如,智能手机、物联网传感器)或边缘服务器上进行,只有模型更新(如梯度或权重)发送到中心协调器。这种方法避免了移动原始数据,解决了隐私和带宽限制问题。
例如,考虑一个医疗保健应用。在中心化学习中,来自多家医院的患者记录需要汇集到一个位置,这会引发隐私和监管方面的担忧。通过联邦学习,每家医院在其本地数据上训练一个模型,只共享模型学习到的参数。中心服务器汇总这些更新以创建全局模型,而无需访问原始患者数据。这种去中心化的过程减少了数据泄露的风险,并符合 GDPR 或 HIPAA 等法规。
然而,联邦学习引入了中心化方法所避免的挑战。通信开销增加,因为中心服务器必须跨多个设备同步更新,这些设备可能连接不稳定。数据异质性——本地数据集的分布差异很大(例如,用户在智能手机上的打字习惯)——如果处理不当,可能导致模型偏差。中心化学习通过在统一可访问的数据上进行训练来避免这些问题,从而简化了调试和优化。例如,集中训练推荐系统允许开发人员检查整个数据集是否存在不平衡,而联邦学习需要联邦平均或差分隐私等技术来缓解数据质量不均的问题。
总而言之,联邦学习通过将数据保留在设备上,优先考虑数据隐私和减少带宽使用;而中心化学习则提供了简单性和对训练数据的直接控制。开发人员必须根据其用例进行选择:联邦学习适用于敏感或地理分散的数据(例如,智能键盘在不共享用户文本的情况下进行改进),而中心化学习适用于数据聚合可行且隐私风险可控的场景(例如,内部企业分析)。