原文链接:Survey of Personalization Techniques for Federated Learning
摘要
联邦学习为所有客户端生成的共享模型能够在不影响隐私的情况下进行用私有分散数据进行训练。而由于数据在设备之间的统计异构性通常会导致:一些客户仅根据其私有数据训练的局部模型比全局共享模型表现更好,因此背离了他们参与该过程的动机。已经提出了几种技术来个性化全局模型以更好地为个人客户服务。本文强调了个性化的必要性,并调查了最近对该主题的研究。
1 引言
联邦学习之前的背景:
许多数据集本质上是分散的,分布在不同的用户的多个设备上。传统的机器学习设置需要将用户数据样本聚合到一个中央存储库,在中央存储库上训练机器学习模型。而这种数据聚合过程带来了两个问题:
1)损害了数据的隐私和安全。
2)强加了通信开销,这取决于设置,可能非常昂贵。
由此引入联邦学习来解决这个问题。
对联邦学习定义及训练过程的介绍:
联邦学习(Federated Learning简称FL)是一种机器学习设置,其中多个实体(客户端)在中央服务器或服务提供商的协调下协作解决机器学习问题。每个客户的原始数据都存储在本地,并且不会交换或转移;从而代替了用于立即聚合的有针对性的更新用于实现学习目标。
典型的联邦学习过程
服务器 (服务提供商) 通过重复以下步骤来协调训练过程,直到训练停止(由监控训练过程的模型工程师决定):
- 客户端选择: 服务器从一组符合资格要求的客户端中采样。
- 广播: 选定的客户端从服务器下载当前模型权重和训练程序。
- 客户端计算: 每个选定的设备通过执行训练程序来本地计算模型的更新,例如,训练程序可能会在本地数据上运行SGD (如联合平均)。
- 聚合: 服务器收集设备更新的汇总。为了提高效率,一旦有足够数量的设备报告了结果,用户就可以在此处放弃。
- 模型更新: 服务器根据从当前轮中参与的客户端计算的聚合更新,本地更新共享模型。
引入个性化联邦学习的背景:
联邦学习中,客户参与联邦学习的主要动机是获得更好的模型。
缺少数据集的客户需要FL:
对于没有足够私人数据来开发准确的本地模型的客户将从协作学习的模型中受益最大。
FL对拥有足够私有数据集的客户吸引度不够:
然而,对于拥有足够私有数据来训练准确局部模型的客户端,参与联邦学习的好处是不可计算的。对于许多任务,一些参与者可能不会通过参与获得好处,因为全局共享模型不如他们自己训练的局部模型准确。
因此需要激励拥有足够私有数据集的客户参与到FL中:
在许多应用中,跨客户端的数据分布是高度非IID的。这种统计异质性使得很难训练出一个适用于所有客户的单一模型。
因此提出个性化联邦学习。
2 个性化的需要
个性化联邦学习面临的三个挑战:
Wu等人列出了个性化相关的联邦学习系统面临的三个挑战:
1)系统异构性(设备在存储、计算和通信能力方面);
2)数据异构性(由于数据的非i.i.d.分布而产生);
3)模型异构性(由于不同客户端需要专门针对其环境定制的模型,例如候选词预测,需要为不同用户定制可能的不同答案)。
引入PFL的必要性:
传统的联邦学习中,模型更新和最终模型可能会泄露违反隐私的参与者数据。为了保护隐私,McMahan等人[12]提出了差分隐私技术,限制了全局模型可以揭示个人参与者的信息。但是这种隐私保护机制在保护隐私和实现单个用户更高的性能之间产生了根本冲突。差分隐私机制的代价是降低准确性,而这种代价是由客户承担的,代表性不足或尾部参与者受到的影响最为严重。
对于应对数据统计异构性和非 IID 分布带来的挑战,对全局模型的个性化是必要的。
大多数个性化技术通常涉及下述两个离散步骤:
第一步:以协作方式构建。
第二步:使用客户端的私有数据为每个客户端个性化全局模型。
联邦学习个性化必须同时解决以下三个目标:
Jiang等人认为,仅针对全局精度进行优化会产生更难个性化的模型,并且为了使联邦学习个性化在实践中有用,必须同时解决以下三个目标:
1)开发改进的个性化模型,有利于绝大多数客户;
2)开发一个准确的全局模型,有利于私人数据有限的客户进行个性化;
3)在少量训练轮次中获得快速模型收敛。
3 方法
- 添加用户上下文
如果客户的上下文和个人信息被适当地特征化并纳入数据集,共享的全局模型也可以生成高度个性化的预测。
有待解决:
如何能在隐私安全的情况下开发有效整合公共数据集的上下文特征的技术,仍待研究。
已有研究:
作为单个全局模型和纯局部模型之间的中间方法,Masour 等人建议用户聚类,其中相似的客户端被组合在一起,并为每个组训练一个单独的模型。作为单个全局模型和纯局部模型之间的中间方法,Masour 等人建议用户聚类,其中相似的客户端被组合在一起,并为每个组训练一个单独的模型。
- 迁移学习
迁移学习使深度学习模型能够利用在解决一个问题中获得的知识来解决另一个相关问题。
迁移学习在非联邦和联邦上的应用:
Schneider 和 Vlachos 讨论了使用迁移学习在非联邦设置中实现模型个性化。
迁移学习也被用于联邦设置,例如 Wang 等人,其中训练全局模型的一些或所有参数都在本地数据上重新学习。
通过使用经过训练的全局模型的参数来初始化本地数据的训练,迁移学习能够利用全局模型提取的知识,而不是从头开始学习。
为了避免灾难性遗忘的问题,必须注意不要在本地数据上重新训练模型太长。一种变体技术冻结全局模型的基本层,并且仅在本地数据上重新训练顶层。
迁移学习也称为微调,它很好地集成到典型的联邦学习生命周期中。
- 多任务学习
在多任务学习中,同时解决多个相关任务,允许模型通过联邦学习任务来利用任务之间的共性和差异。
已有研究:
Smith等人表明,多任务学习是构建个性化联邦模型的自然选择,并在联邦设置中开发用于多任务学习的MOCHA算法,该算法解决了与通信、掉队和容错相关的挑战。
在联邦设置中使用多任务学习的一个缺点是,由于它为每个任务生成一个模型,因此所有客户端在每一轮中都必须参与。
- 元学习
元学习涉及对多个学习任务进行训练,以生成高度适应的模型,这些模型可以进一步学习仅用少量训练示例解决新任务。
已有研究:
Finn等人提出了一种与模型无关的元学习(MAML)算法,该算法与任何使用梯度下降训练的模型兼容。MAML 构建了一个通常适用于多个任务的内部表示,以便为新任务微调顶层可以产生良好的结果。MAML 分两个阶段进行:元训练和元测试。元训练在多个任务上构建全局模型,元测试针对单独的任务单独调整全局模型。
Jiang等人指出,如果我们将联邦学习过程视为元训练,将个性化过程视为元测试,那么联邦平均与流行的MAML算法Reptile非常相似。
作者还观察到,仔细的微调可以产生高精度的全局模型,该模型可以很容易地个性化,但天真地优化全局精度可能会损害模型对后续个性化的能力。虽然联邦学习的其他个性化方法将全局模型的开发及其个性化视为两个不同的活动,但Jiang等人对联邦平均算法进行了修改,该算法可以同时解决,从而获得更好的个性化模型。
Fallah 等人提出的标准联邦学习问题的新公式,结合了 MAML,并试图找到一个全局模型,该模型在每个用户根据自己的损失函数更新后表现良好。此外,他们提出了 Per-FedAvg,这是联邦平均的个性化变体,以解决上述公式。
Khodak等人提出了一种受在线凸优化启发的元学习算法ARUBA,并通过将其应用于联邦平均来证明性能的提高。
Chen等人提出了一个联邦元学习框架,用于构建个性化推荐模型,其中算法和模型都被参数化,需要优化。
- 知识蒸馏
Caruana等人已经证明,可以将模型集合的知识压缩到更容易部署的单一模型中。
知识蒸馏进一步发展了这一思想,涉及到通过让学生模仿老师,将大型教师网络的知识提取到更小的学生网络中。
过度拟合是个性化过程中的一个重大挑战,特别是对于本地数据集很小的客户端。
已有研究:
Yu等人提出,通过将全局联邦模型视为教师,将个性化模型视为学生,可以减轻个性化过程中过拟合的影响。
Li等人提出了基于知识蒸馏和迁移学习的联邦学习框架FedMD,该框架允许客户端使用其本地私有数据集和全局公共数据集独立设计自己的网络。
- 基础+个性化层
在典型的联邦学习场景中,参与设备的数据分布差异很大。
已有研究:
为了缓和这种统计异质性的不利影响,Arivazhagan 等人提出了 FedPer,这是一种神经网络架构,其中基础层由联邦平均集中训练,顶层(也称为个性化层)使用梯度下降的变体在本地进行训练。
在迁移学习中,所有层首先在全局数据上进行训练,然后在本地数据上重新训练所有或某些层,而FedPer 与之相反,是分别在全局数据上训练基础层和本地数据上的个性化层。
G. 全局和局部模型的混合
联邦学习的标准公式旨在找到一个在所有客户机的私有数据上训练的单个全局模型。
已有研究:
Hanzely等人提出了一种不同的问题公式,该公式在全局模型和局部模型之间寻求明确的权衡。每个设备不是学习单个全局模型,而是学习全局模型和它自己的局部模型的混合。
为了解决该公式,作者开发了一种新的梯度下降变体,称为无环局部梯度下降 (LLGD)。
LLGD 不是执行完全平均,而是只采取步骤进行平均,因此表明联合平均方法(例如联合平均)可能过于激进。
4 讨论
在联邦学习中,当本地数据集较小且数据分布为 IID 时,全局模型通常优于本地模型,并且大多数客户端受益于参与联邦学习过程。
然而,当客户端拥有足够大的私有数据集和数据分布是非i.i.d.时,局部模型表现出比共享全局模型更好的性能,客户端没有动机参与联邦学习过程。
本文调查了用于将全局联合模型适应单个客户端的个性化技术。除了少数例外,大多数先前的工作都集中在测量全局模型对聚合数据的性能,而不是衡量单个客户端所看到的性能。然而,如果在要使用之前期望全局模型随后个性化,则全局性能没有相关性。
个性化模型通常比全局或局部模型在单个客户端上表现出更好的性能。然而,在某些情况下,个性化模型无法达到与局部模型相同的性能,特别是当实现差分隐私和鲁棒聚合时。