FedGen & Data-Free Knowledge Distillation for Heterogeneous Federated Learning
# FedGen: Data-Free Knowledge Distillation for Heterogeneous Federated Learning
联邦学习(Federated Learning, FL)是一种去中心化的机器学习范式,其中全局服务器通过迭代地聚合局部用户的模型参数来工作,而无需访问这些数据。用户异构性给联邦学习带来了显著挑战,可能导致全局模型偏离并收敛缓慢。最近,知识蒸馏技术被提出以解决这一问题,它通过利用来自异构用户的聚合知识来精炼服务器模型,而不是直接聚合他们的模型参数。然而,这种方法依赖于一个代理数据集,这使得它在实际应用中除非满足这一先决条件,否则并不可行。此外,集成知识并未被充分利用来指导局部模型学习,这可能会反过来影响聚合模型的质量。
在本文中,我们提出了一种无数据知识蒸馏方法来解决异构联邦学习问题。在该方法中,服务器学习一个轻量级的生成器,以无数据的方式集成用户信息,然后将该生成器广播给用户,利用所学知识作为归纳偏置来规范局部训练。基于理论启示的实证研究表明,与最先进的方法相比,我们的方法能够以更少的通信轮次促进联邦学习,从而获得更好的泛化性能。
原文论文地址:https://arxiv.org/pdf/2105.10056.pdf
# 1. Introduction
联邦学习(Federated Learning, FL)是一种有效的机器学习方法,它能够实现计算和数据资源的去中心化。经典的联邦学习,以FedAvg(McMahan et al., 2017)为代表,通过迭代地平均分布式局部用户模型的参数来获得一个聚合模型,因此省去了访问这些数据的需要。作为一种通信高效且保护隐私的学习方案,联邦学习已经展示了其在促进现实世界应用中的潜力,包括医疗保健(Sheller et al., 2020)、生物识别(Aggarwal et al., 2021)和自然语言处理(Hard et al., 2018; Ammad-Ud-Din et al., 2019)等,仅举几例。
尽管联邦学习具有广阔的前景,但它也面临着来自数据异构性的实际挑战(Li et al., 2020b)。这是因为现实世界中的用户数据通常是非独立同分布(non-iid)的,这本质上会导致局部最优解的偏离(Karimireddy et al., 2020)。此外,深度神经网络的排列不变性(permutation-invariant property)进一步增加了用户模型之间的异质性(Yurochkin et al., 2019; Wang et al., 2020b)。因此,大多数现有联邦学习方法所采用的局部模型逐元素平均的方式,可能无法诱导出一个理想的全局模型(Li et al., 2020c;b)。
为了应对用户异构性,已经进行了多种努力,主要从两个互补的角度出发:一种方法侧重于稳定局部训练,通过在参数空间内调节局部模型与全局模型之间的偏差来实现(Li et al., 2020b; Dinh et al., 2020; Karimireddy et al., 2020)。然而,这种方法可能无法充分利用用户模型之间潜在的知识,这些模型的多样性表明了它们局部数据的结构差异具有信息性,因此值得进一步研究。另一种方法旨在提高模型聚合的有效性(Yurochkin et al., 2019; Chen & Chao, 2021),其中知识蒸馏作为一种有效的解决方案而出现(Lin et al., 2020; Li & Wang, 2019)。在提供一个未标记的数据集作为代理的情况下,知识蒸馏通过利用来自局部模型的集成知识来丰富全局模型,从而缓解了由异构性引起的模型漂移问题,这已被证明比简单的参数平均更为有效。
然而,代理数据的前提条件使得这种方法在许多应用中并不可行,因为在这些应用中,服务器上可能并不总是有一个精心设计的数据集可用。此外,通过仅精炼全局模型,用户模型之间的固有异构性并未得到完全解决,这可能会反过来影响知识集成的质量,特别是如果它们由于局部数据的限制而产生偏差(Khoussainov et al., 2005),这在联邦学习中是一个典型的情况。
面对用户异构性带来的挑战以及现有技术的局限性,本工作提出了一种无需数据的知识蒸馏方法用于联邦学习,我们称之为FedGen(通过生成学习进行联邦蒸馏)。具体而言,FedGen学习一个仅从用户模型的预测规则中推导出的生成模型。给定一个目标标签,该生成模型能够产生与用户预测集合一致的特征表示。之后,这个生成器被广播给所有用户,通过在潜在空间上增加样本来辅助他们的模型训练,这些样本体现了来自其他对等用户的提炼知识。由于潜在空间的维度远小于输入空间,FedGen学习的生成器可以是轻量级的,从而为当前的联邦学习框架引入最小的开销。
提出的FedGen具有多重优势:i) 它提取了用户之间的知识,这些知识在模型平均后通常会被削弱,而且不依赖于任何外部数据。ii) 与某些仅精炼全局模型的前期工作不同,我们的方法直接使用提取的知识来调节本地模型的更新。我们展示了这种知识如何为本地模型施加归纳偏置,从而在非独立同分布(non-iid)数据分布下获得更好的泛化性能。iii) 此外,所提出的方法准备好应对更具挑战性的联邦学习场景,在这些场景中,由于隐私或通信限制,共享整个模型参数是不切实际的,因为所提出的方法仅需要本地模型的预测层来进行知识提取。
通过广泛的实证研究和理论阐述,我们的研究结果表明,与最先进的技术相比,我们提出的方法在更少的通信轮次下,能够获得具有更好泛化性能的全局模型。这证明了我们的方法在提高模型性能和减少通信开销方面的有效性。
# 2. Notations and Preliminaries
为了明确起见,本文讨论了一个典型的联邦学习(FL)设置,用于监督学习,即多类分类的一般问题。设
联邦学习(Federated Learning, FL) 旨在学习由
其中,
其中
是可观测数据集
知识蒸馏(Knowledge Distillation, KD) 也被称为教师-学生范式,其目标是使用从一个或多个强大的教师模型中提炼的知识来学习一个轻量级的学生模型(Buciluǎ等,2006;Ba & Caruana,2014)。典型的 KD 利用代理数据集
其中
知识蒸馏的理念已被扩展到 FL,以解决用户异质性问题(Lin等,2020;Chen & Chao,2021),通过将每个用户模型
上述方法的主要限制在于其对代理数据集
Figure 1. FEDGEN 概述:服务器学习生成器
算法 1 FEDGEN 的描述如下:
- 初始化:算法要求输入任务集
,全局参数 和局部参数 ,生成器参数 ,初始化全局标签分布的估计 ,用于生成与标签相关的数据。初始学习率 、 ,局部迭代步数 ,批量大小 ,以及局部标签计数器 。 - 训练循环:反复进行以下步骤:
- 服务器随机选择活跃用户
,并将参数 、 和 广播给这些用户。 - 对于每个用户
,执行以下操作: - 将全局参数
赋值给局部参数 。 - 在
次迭代中,每次从任务 中采样数据 和生成器输出 。 - 更新标签计数器
。 - 优化局部参数
,使用梯度下降法更新 。
- 将全局参数
- 用户将更新后的
和 发送回服务器。
- 服务器随机选择活跃用户
- 参数更新:服务器根据接收到的参数更新全局参数
,并根据 更新 ,最后优化生成器参数 ,直到训练停止。
这个算法的核心在于通过协调多用户的局部训练,达到有效的联邦学习效果。
# 3. FEDGEN:基于GAN的无数据联合蒸馏
本节中,我们详细阐述了我们提出的方法,概述如算法1所示,并在图1中展示了其学习过程的概述。
# 3.1. 知识提取
我们的核心思想是提取关于全局数据分布视角的知识,这在传统的联合学习中是不可观测的,并将这种知识蒸馏到本地模型中以指导它们的学习。我们首先考虑学习一个条件分布
为了使方程2相对于
其中,
具备了以上的近似值,直接在输入空间
基于以上推理,我们的知识提取目标是通过学习一个条件生成器
以下是对上述段落的翻译:
其中,
根据任意目标标签
# 3.2. 知识蒸馏
学习到的生成器
其中
是给定本地数据
# 3.3. 灵活参数共享的扩展
除了应对数据异质性外,FEDGEN还可以处理一种具有挑战性的联邦学习(FL)场景,即共享整个模型违反了通信或隐私的前提条件。一方面,具有深度特征提取层的高级网络通常包含数百万个参数(He et al., 2016; Brown et al., 2020),这会给通信带来显著负担。另一方面,已有研究表明,常规FL方法存在后门攻击的可能性(Wang et al., 2020a)。对于医疗或金融等实际的FL应用,共享整个模型参数可能会带来相当大的隐私风险,如先前的研究所讨论的(He et al., 2020)。
FEDGEN可以缓解这些问题,只共享本地模型的预测层
# 4. FEDGEN分析
在本节中,我们从多个角度来理解我们提出的方法。首先,我们可视化FEDGEN所学习和蒸馏的知识,然后分别从分布匹配和领域适应的角度分析为什么蒸馏的知识是有利的。我们主要集中在解释FEDGEN背后的原理,详细的讨论和推导留待补充材料中。
Figure 2 . 在应用知识蒸馏(KD)后,一个用户的准确率从81.2%提高到98.4%(图2a - 图2b),而通过参数平均(不使用KD)获得的全局模型准确率为93.2%(图2c),相比之下,一个理想模型(oracle model)的准确率为98.6%(图2d)。
Figure 3. 生成器样本逐渐接近真实数据分布,其中每个用户模型(教师)仅看到有限且不相交的本地数据。背景颜色表示基于全局数据学习到的理想决策边界
# 4.1 用于归纳偏差的知识蒸馏
我们在一个包含三个用户的FL原型上展示了FEDGEN的知识蒸馏过程,每个用户分配到一个不相交的数据集
接下来,根据用户模型的预测规则,学习生成器
然后,让用户从
# 4.2 用于分布匹配的知识蒸馏
FEDGEN与先前工作的显著区别在于,知识是蒸馏到用户模型而不是全局模型。因此,蒸馏的知识传递归纳偏差给用户,可以通过在潜在空间
Remark 1. 令
其中我们定义
实际上,通过使用生成器的经验样本优化方程6:
与先前的应用权重正则化到本地模型的方法不同(Li et al., 2020b; Dinh et al., 2020),FEDGEN可以作为一种替代和兼容的解决方案来应对用户异质性,本质上弥合了用户模型在对理想特征分布解释上的差距。
# 4.3. 用于改进泛化的知识蒸馏
我们还可以从理论上将 FEDGEN 学习到的知识与改进的泛化界限联系起来。为此,我们首先提出一个基于领域适应(Ben-David 等,2007;2010)的 FL 中聚合模型的性能界限:
定理 1:(FL 的泛化界限)考虑一个具有
其中
具体而言,
换句话说,通过用与全局分布对齐的增强数据丰富本地用户可以提高泛化性能:
推论 1:设
其中
这样的增强分布
# 5. Related Work
联邦学习(Federated Learning, FL) 最初由McMahan等人(2017)提出,作为一种去中心化的机器学习范式。随后,沿着这一方向的研究工作解决了联邦学习面临的不同挑战,包括异质性(Karimireddy等人,2020;Li等人,2020b;Mansour等人,2020)、隐私(Duchi等人,2014;Agarwal等人,2018)、通信效率(Guha等人,2019;Konečný等人,2016)以及收敛性分析(Kairouz等人,2019;Qu等人,2020;Yuan & Li, 2019)。特别地,大量工作已经被提出以处理用户异质性,包括通过正则化模型权重更新(Li等人,2020b)、允许个性化的用户模型(Fallah等人,2020;Dinh等人,2020)或引入新的模型聚合方案(Yurochkin等人,2019;Mansour等人,2020)。我们推荐读者参考Li等人(2020a)的工作,以获取对联邦学习领域最新进展的有组织讨论。
知识蒸馏(Knowledge Distillation, KD) 是一种技术,用于将一个或多个教师模型的知识压缩到一个空白的学生模型中(Hinton et al., 2015; Buciluǎ et al., 2006; Ba & Caruana, 2014; Jacobs et al., 1991)。传统的知识蒸馏依赖于一个代理数据集(Hinton et al., 2015)。最近的工作使得知识蒸馏在更少数据参与的情况下成为可能,例如数据集蒸馏(Wang et al., 2018)或核心数据选择(Tsang et al., 2005; Sener & Savarese, 2018)。随后,出现了无数据知识蒸馏方法,其目标是重建用于训练教师的样本(Yoo et al., 2019; Micaelli & Storkey, 2019)。特别是,Lopes et al.(2017)从教师的激活层中提取元数据。Yoo et al.(2019)学习了一个条件生成器,该生成器能够产生样本,这些样本能够最大化教师模型对于目标标签的预测概率。沿着相同的思路,Micaelli & Storkey(2019)通过对抗训练来学习一个生成器。与先前的工作不同,我们学习了一个为联邦学习(FL)量身定制的生成模型,该模型通过在潜在空间中对多个用户模型的知识进行集成,使得学习和通信过程更加轻量级。
联邦学习中的知识蒸馏 最近已成为解决用户异质性的有效方法。大多数现有工作是数据依赖的(Lin et al., 2020; Sun & Lyu, 2020; Guha et al., 2019; Chen & Chao, 2021)。特别是,Lin et al.(2020)提出了FEDDFUSION,该方法通过知识蒸馏来精炼全局模型,假设存在一个来自相同或相似领域的未标记数据集。为应对数据异质性,已进行了补充性的知识蒸馏工作(Li & Wang, 2019; Sattler, 2021)。具体而言,Li & Wang(2019)传输代理数据集而不是模型参数。FEDAUX(Sattler, 2021)通过利用辅助数据集来初始化服务器模型并对用户模型进行加权集成,从而进行数据依赖的蒸馏,而FEDGEN则以无数据的方式进行知识蒸馏。FEDMIX(Yoon, 2021)是一个数据增强的联邦学习框架,其中用户将他们的批量平均数据共享给其他用户以辅助本地训练。相比之下,FEDGEN从现有的用户模型参数中提取知识,面临的隐私风险较小。FEDDISTILL(Federated Distillation)由Seo et al.(2020)提出,该方法从用户模型中提取逻辑向量输出的统计数据,并将这些元数据共享给用户进行知识蒸馏。我们在第6节中将与这一领域的工作进行详细比较。
# 6. Experiments
在本节中,我们将比较我们提出的方法与其他关键相关工作的性能。具体的实现细节和扩展的实验结果将放在补充材料中。
# 6.1 实验设置
基线方法:除了FEDAVG(McMahan et al., 2017)之外,FEDPROX通过在模型目标中加入一个近端项来正则化本地模型训练(Li et al., 2020b)。FEDENSEMBLE将FEDAVG扩展到对用户模型的预测输出进行集成。FEDDFUSION是一种基于数据的知识蒸馏方法(Lin et al., 2020),我们为其提供了未标记的训练样本作为代理数据集。FEDDISTILL(Jeong et al., 2018)是一种无数据的知识蒸馏方法,它在用户之间共享按标签平均的逻辑向量。由于它不共享网络参数,因此与其他基线方法相比,性能下降不可忽视。为了公平比较,我们从FEDDISTILL中派生出一个基线,该基线同时共享模型参数和按标签的逻辑向量。我们将这个更强的基线称为FEDDISTILL+。
数据集:我们在三个图像数据集上进行实验:MNIST(LeCun & Cortes, 2010)、EMNIST(Cohen et al., 2017)和CELEBA(Liu et al., 2015),这些数据集是根据LEAF联邦学习基准(Caldas et al., 2018)的建议选择的。其中,MNIST和EMNIST数据集用于数字和字符图像分类,而CELEBA是一个名人脸部数据集,用于学习一个二分类任务,即预测图片中的名人是否在笑。
配置:除非另有说明,我们运行200轮全局通信,总共有20个用户模型,并且活跃用户比例r=50%。我们采用本地更新步数T=20,每步使用大小为B=32的小批量。我们使用最多50%的总训练数据集并将其分配给用户模型,并使用所有测试数据集进行性能评估。对于分类器,我们遵循(McMahan et al., 2017)的网络架构,并将最后一个多层感知机(MLP)层视为预测器
用户异质性:对于MNIST和EMNIST数据集,我们遵循先前的工作(Lin et al., 2020; Hsu et al., 2019)使用Dirichlet分布
Figure 4. MNIST数据集上用户间统计异质性的可视化,其中x轴表示用户ID,y轴表示类别标签,散点的大小表示该用户可用于训练的该标签样本数量。
# 6.2. 性能概述
从表1可以看出,FEDGEN在性能上显著优于其他基线方法。
Table 1. 不同数据设置下的性能概述。对于MNIST和EMNIST数据集,较小的α表示更高的异质性。对于CELEBA数据集,r表示活跃用户与总用户的比率。T表示本地训练步骤(通信延迟)。
数据异质性的影响FEDGEN是唯一一个能够在不同程度用户异质性下保持稳定且表现优异的算法。如图5所示,当数据分布高度异质(
作为竞争力较强的基线方法之一,FEDDFUSION的优势随着数据异质性的减少逐渐消失,逐渐与FEDAVG相当,如图5a和图5c所示。与FEDDFUSION不同,我们方法的性能提升在大多数情况下都显著,超过了FEDDFUSION。这种差异表明,我们提出的直接将知识传递给用户模型的方法,在引导本地模型学习方面可能比使用代理数据对全局模型进行微调更为有效,尤其是当传递的知识包含归纳偏差以指导本地模型学习时。
作为一种无数据知识蒸馏基线,FEDDISTILL的性能下降明显,这表明在联邦学习中参数共享的重要性。另一方面,FEDDISTILL+对数据异质性较为敏感。如表1所示,当数据分布接近iid(例如
FEDENSEMBLE从所有用户模型的集成预测中获益,尽管其收益相对于FEDGEN较小。我们将我们方法的领先性能归因于本地模型的更好泛化性能。在传递的知识指导下,FEDGEN中的用户模型可以快速摆脱局部最优,其聚合效果可能优于FEDENSEMBLE中潜在有偏模型的集成。
Figure 5. 数据异质性相关的性能可视化。
学习效率如图6所示,FEDGEN具有最快的学习曲线,可以快速达到高性能并优于其他基线方法。尽管FEDDFUSION在某些数据设置下享有较高的学习效率,由于从主数据中获得的优势,我们的方法可以直接为每个本地用户提供积极学习的知识,其效果更为明显和一致(更多细节见附录)。
Figure 6. 选择的学习曲线,平均了3个随机种子
关于共享生成模型的评论在紧凑的潜在空间中,生成模型可以轻量化学习或下载。在实践中,我们使用一个具有2个紧凑MLP层的生成器网络,其参数尺寸与用户分类模型相比较小。上述实证结果还表明,通过更快的收敛速率获得的领先性能增益可以抵消通过共享生成模型带来的通信负载。
# 6.3. 敏感性分析
Straggler用户的影响我们在CELEBA数据集上探索不同总用户数与活跃用户数的影响,活跃比例
不同网络架构的影响我们在MNIST数据集上进行了CNN和MLP网络架构的分析。如图5d和图5c所示,尽管使用CNN网络的整体性能明显优于MLP网络,FEDGEN的卓越性能在两种不同的网络设置下都是一致的。
通信频率的影响我们在EMNIST上探索了不同的本地更新步骤
生成器网络架构和采样大小的影响扩展分析验证了FEDGEN在不同生成器网络架构下的稳健性(表2)。此外,从生成器中抽取合成数据仅为本地用户增加了较小的训练工作量(表2)。在不同合成样本大小的情况下,FEDGEN相对于FEDAVG的增益始终显著,而足够数量的合成样本带来了更好的性能(图7)。特别是在表2中,我们探讨了输入噪声(
Figure 7. 合成样本的影响。
Table 3. 使用EMNIST数据集 (α = 0.1) 时合成样本数量的影响。
# 6.4. 扩展到灵活参数共享
为了减轻隐私和通信问题,FEDGEN已经准备好在不共享整个模型参数的情况下受益于分布式学习。为了探索这一潜力,我们对FEDAVG、FEDDISTILL+和FEDGEN进行了案例研究,其中用户模型仅共享最后的预测层,并保留其特征提取层本地化。需要注意的是,FEDDFUSION并非设计用于部分参数共享的FL,这需要整个用户模型进行KD。为了公平比较,我们修改了FEDDFUSION,使其在模型聚合阶段上传整个用户模型,但禁止下载特征提取器,以便服务器模型仍然可以使用代理数据进行微调。
表4中的结果显示,我们的方法始终以显著的优势超越其他基线方法,尤其在高数据异质性的情况下(图8)。与FEDDFUSION的显著性能差异验证了在这种具有挑战性的场景下无数据蒸馏的有效性。这些有前途的结果表明,FEDGEN有潜力进一步减少通信负载,不仅通过快速收敛,还通过灵活的参数共享策略。
表4. 仅共享最后预测层时在MNIST上的性能概览
Figure 8. 在MNIST数据集上有限参数共享下的学习曲线。
# 7. Conclusions
本文提出了一种联邦学习范式,通过有效的知识蒸馏来解决用户异质性问题,而无需使用任何外部数据。基于理论推论指导的大量实证实验表明,我们提出的方法能够在与最新技术相比的通信轮次更少的情况下,显著改善联邦学习的泛化性能。
# Acknowledgments
本研究得到了国家科学基金会(NSF)IIS-1749940号、海军研究办公室(Office of Naval Research)N00014-20-1-2382号以及国家老龄化研究所(National Institute on Aging)RF1AG072449号的联合支持。