联邦学习
联邦学习是一种不把数据集中到一处,而是由各设备或机构用自己的数据对模型做少量训练,只汇总“训练结果(变化量)”来构建一个公共模型的方法。
通俗解释 这类似于多位厨师各自在家试做同一份菜谱,不寄送食材,只把“盐少放一点”之类的改进笔记发给总部,以此不断修改菜谱。不过,仅凭笔记也能在一定程度上推测出食材,这一点在实际的联邦学习中同样是遗留的局限。
工作原理
首先,中央服务器把当前的公共模型分发给手机、医院等多个参与方。各参与方用自己持有的数据对模型做少量训练,不发送原始数据,只把模型的变化(变化量)发回服务器。服务器合并这些变化量,生成更好的公共模型,再重新分发给参与方。这一过程反复多次,模型逐步得到改进。
为什么重要
个人消息、医疗记录、金融交易等敏感数据,由于法律或信任问题,很难集中到一处。使用联邦学习,数据无需离开原来的位置,也能构建从大量数据中学习的模型。这为多家医院或银行在不互相交出数据的情况下开展合作开辟了道路。降低数据迁移的成本和风险也是其优点。
注意事项
即使只发送变化量,也可能从中部分推测出原始数据,因此通常会与差分隐私或加密技术结合使用。各参与方的数据性质差异很大,还会导致训练不均衡的问题。设备性能和网络状况参差不齐,运维较为复杂;还需要防范恶意参与方故意发送错误变化量的数据投毒攻击。
示例
智能手机键盘的下一个词推荐常被介绍为联邦学习的代表性应用案例。用户输入的句子不会离开手机,手机在充电等空闲时对模型做少量训练,只发送变化量。在医疗领域,它被用于多家医院在不共享患者影像的情况下共同训练辅助诊断模型。