系列文章目录
FedAUX: Leveraging Unlabeled Auxiliary Data in Federated Learning
前言
联邦蒸馏(FD)是联邦学习(FL)的一种流行的新算法范式,它通过将客户端对未标记辅助数据集的预测结果提取到服务器学生模型(全局模型)中,实现了与先前基于参数平均的方法相比具有竞争力的训练性能,同时还允许客户端训练不同的模型架构。在这项工作中,我们提出了FedAUX,这是FD的一个扩展,在相同的假设下,它通过从未标记的辅助数据中获得最大效用来显著提高性能。FedAUX通过两种方式修改了FD训练过程:首先,对辅助数据进行无监督的预训练,为分布式训练找到合适的模型初始化。其次,根据每个客户模型的确定性,使用(ε,δ)-差分私人确定性评分对辅助数据上的集合预测进行加权。在CNNs和transformer模型上的实验表明,与最先进的FL方法相比,我们提出的方法实现了显著的性能改进,而不会增加可观的计算、通信或隐私成本。例如,当在CIFAR10的非独立同分布(i.i.d.)子集上训练ResNet8时,FedAUX将实现的最大验证准确率从30.4%提高到78.1%,进一步缩小了与集中训练性能的差距。代码仓库:GitHub - fedl-repo/fedaux
一、Introduction
联邦学习(FL)允许分布式实体(“客户端”)在其组合的本地数据上联合训练(深度)机器学习模型,而不必将这些数据传输到集中位置(服务端)。联合训练过程在多个通信回合中进行,其中,在每一回合中,中央服务器通过参数平均操作来聚合参与客户端的训练状态。由于本地训练数据从不离开参与设备,FL可以显著改善参与者(客户端)的隐私、所有权和安全性,随着移动和物联网设备的数量及其收集和处理大量高质量和隐私敏感数据的能力稳步增长,联邦学习变得越来越重要。
虽然FL中的客户端数据通常被认为是私有的,但在许多现实世界的应用程序中,服务器还可以访问未标记的辅助数据,这与客户端数据的分布大致匹配。例如,对于许多联邦计算机视觉和自然语言处理问题,这种辅助数据可以以公共数据库的形式给出,如ImageNet或WikiText。这些数据库包含数百万到数十亿的数据样本,但通常缺乏对训练特定任务模型有用的必要标签信息。
最近,联邦蒸馏(FD)被提出,这是一种用于FL问题的新算法范式,其中这些辅助数据是可用的。与经典的基于参数平均的FL算法,要求所有客户端的模型具有相同的大小和结构,FD允许客户端通过将客户端对辅助数据集的预测提取到学生模型中来训练异构模型架构。这在客户端在异构硬件上运行的情况下尤其有益,最近的研究表明,基于FD的训练也具有良好的通信特性,并且可以优于基于参数平均的FL算法。
然而,与基于参数平均的学习算法一样,如果训练数据在客户端之间以异构(非独立同分布)的方式分布,则基于FD的学习算法的性能无法达到集中训练,并且会迅速恶化。
在这项工作中,我们旨在通过探索基于FD的训练的核心假设,并从可用的未标记辅助数据中获得最大效用,进一步缩小这一性能差距。我们的主要贡献如下。
- 我们表明,广泛的(分布外)辅助数据集适用于自监督的预训练,并且可以在所有级别的数据异质性中显著提高FL性能。
- 我们提出了一种新的确定性加权FD技术,通过利用可用的辅助数据,大大提高了FD在非i.i.d.数据上的性能,解决了FL研究中的一个长期问题。
- 我们推导了一个(ε,δ)-差分隐私机制来约束与传递确定性分数相关的隐私损失。
- 我们使用大规模卷积神经网络(CNNs)和transformer模型,在各种联邦图像和文本分类问题上广泛评估了我们的新方法。
值得注意的是,正如我们将看到的,FedAUX实现的显著性能改进是可能的:1)在FD文献中做出的相同假设下;2) 对于资源受限的客户端而言,仅有可忽略的额外计算开销;3)具有小的可量化的过度隐私损失。
本文的其余部分组织如下:在第二节中,我们介绍了FD,并明确说明了我们对FL设置的假设。在第三节中,我们描述了我们提出的FedAUX算法的组成部分,即无监督预训练和加权集成蒸馏,并推导了一种(ε,δ)-差分私有机制来混淆集成权重。在第四节中,我们提供了通用FL设置的详细算法,其中客户端可以本地训练不同的模型架构。在第五节中,我们概述了在存在未标记辅助数据的情况下,FD和FL的研究现状。在第六节中,我们对FedAUX的性能、隐私特性和对辅助数据的敏感性进行了广泛的数值研究,并在各种不同的FL场景中,包括资源受限的设置中,对照几种重要的基线方法进行了评估。在第七节中,我们对我们的方法进行了定性分析,以补充这些定量结果,然后在第八节中结束。
二、Federated Distillation
我们假设传统的FL设置,其中n个客户端的群体持有来自训练数据分布,私有的带标签的数据集D1,…,Dn,这些数据集存在潜在的非i.i.d.子集。
FL的目标是在所有本地客户端的组合私有数据上训练单个模型f。这通常通过执行多个通信轮次来实现,其中每个轮次由以下步骤组成。
- 选择客户端群体的子集St⊆{1,…,n}进行训练,并从服务器下载模型初始化
- 从该模型初始化开始,每个客户端通过在模型参数θi上采取多个随机梯度下降步骤,在本地私有数据Di上训练模型fi。
- 最后,更新后的模型fi,i∈St ,被发送回服务器,在那里它们被聚合以形成新的服务器模型f,该模型被用作下一轮FL的初始化点。
FL的目标是在最小通信轮次t≤T内获得服务器模型f,该模型从训练数据分布φ最优地推广到新样本。
FD提供了一种执行FL协议最后一步的新方法,即将FL客户端的贡献聚合到单个服务器模型中。服务器没有直接聚合客户端模型参数(例如通过FedAvg),而是利用蒸馏,通过组合客户端模型在未标记的公共的数据集的预测结果,训练一个全局模型。
通常假设未标记辅助数据ψ(X)的分布偏离未知私有数据分布φ(X)。
设x∈Daux是来自辅助蒸馏数据集的一批数据。然后,在通信轮t中对服务器模型θt的参数进行一次迭代蒸馏,如下所示
这里,表示Kullback–Leibler散度,η>0是学习率,σ是softmax函数,A是聚合软标签的机制。现有工作(FedDF)根据如下公式计算
FD被证明比基于参数平均的技术(如FedAVG)产生更好的模型融合,从而在更少的通信回合内产生更好的泛化性能。然而,与所有其他FL方法一样,通过FD训练的模型的性能仍然落后于集中训练,并且如果训练数据以非i.i.d.的方式在客户端之间分布,则收敛速度会受到很大影响。
为了解决这些问题,在这项工作中,我们将对基于FD的训练进行两种改进,正如我们将要证明的那样,这大大提高了具有同质和异构客户端数据的FL场景中的训练性能,从而在更少的通信轮次T内实现更高的模型性能。
注:关于FD,目前可以分为两大类,
1)解决联邦学习中模型异质性的问题。
2)解决联邦学习中数据非独立同分布的问题。
2.1)在服务端蒸馏全局模型Sever-side KD-base
2.2)在客户端蒸馏全局模型ocal distillation of global knowledge
面对不同的问题,对应的解决方法不同,这篇文章和文章中提及的方法(FedDF)可以归为解决数据非独立同分布的方法,并且是在服务端蒸馏全局模型,所以这里描述的FD是这类问题的解决方法,具体方法可从论文《Ensemble Distillation for Robust Model Fusion in Federated Learning》查看。这里对上述论文中的蒸馏方法作简述:
这里,我们对上述伪代码进行解释:
- 假设当前通信轮次为t,则我们从K个客户端中选取一个随机子集St
- 对于St中的所有客户端,在自己的私有数据集上训练各自的模型,得到
- 将所有客户端将参数上传服务器,进行加权平均,得到聚合模型(加权平均只有在t=0,即第一轮通信时才发生,除此之外,客户端只是上传模型,用于蒸馏。并不聚合)
- 接下来就是服务器蒸馏阶段,设置训练轮数为N
- 使用来自未标记的辅助数据或者生成器生成的小批量数据d,训练全局模型
- 具体训练公式如上所示,KL散度里面是两个softmax函数输出的各个类别的概率(分类任务),前者是对每个客户端模型输入数据d,将预测输出加和求平均值,然后使用softmax求各个类别的概率,后者是在聚合模型上进行预测求概率,然后将两个预测值求KL散度,再对前一轮全局模型求导,而当前所求的全局模型是前一轮的全局模型 - 学习率*求导值。 整个过程类似于梯度下降。
- 服务器蒸馏训练N轮,我们就可以得到通信轮数为t时的全局模型,,
- 在下一轮t+1时,我们在j=1时所用的前一轮模型就是,即,而不是聚合所得(聚合只有在初始化t=1时才发生)
- 最后,在通信轮次=T时,就可以得到最终的全局模型
可以发现,本篇论文的蒸馏迭代和刚刚叙述的在KL散度聚合客户端标签时不一致,前者没有平均,直接求和之后softmax,而后者做了平均再softmax,前者可以看作是温度T=1的softmax,而后者可以看作是温度T=平均值的softmax。
三、Improving FD via the FedAUX Framework
在本节中,我们描述了如何通过从可用的未标记辅助数据中获得最大效用来改进基于FD的训练。我们提出的FedAUX训练框架的示例如图1所示。我们首先将FedAUX描述为同质设置,其中所有客户端本地训练相同的模型架构。正如我们将在第四节中描述的那样,这种设置可以很容易地推广到异构客户端模型架构,其中还给出了详细的训练过程。FedAUX和基线方法之间的详尽定性比较见第七节。
FedAUX的FL过程分为准备阶段和训练阶段:准备阶段:P1)未标记的辅助数据用于预训练特征提取器(例如,使用对比表示学习)。P2)特征提取器被发送到客户端,在那里它被用于初始化客户端模型。基于提取的特征,训练逻辑评分头(Logistic Scoring Head)来区分本地客户端数据和辅助数据的子集。P3)使用(ε,δ)-差异私有机制对训练的评分头进行消毒,然后用于计算蒸馏数据的(差异私有)确定性得分。训练阶段:T1)在每一轮沟通中,选择客户群体的一个子集进行训练。每个选定的客户端从服务器下载模型初始化,然后使用它们的私有本地数据更新完整的模型fi(特征提取器和评分头)。T2)本地训练的分类器和评分模型fi和si被发送到服务器,在那里它们被组合成加权集合。T3)使用未标记的辅助数据和加权集合作为教师,服务器提取学生模型,该模型用作下一轮联合训练的初始化点。请注意,在实践中,在服务器上执行软标签和分数的计算以节省客户端资源更为实际。
A. Self-Supervised Pre-Training
作为FedAUX训练过程的第一个组成部分,我们将利用这样一个事实,即所有FD方法都需要访问未标记的辅助数据 Daux。自监督表示学习可以利用未标记数据的大量记录来创建提取有意义特征的模型
。对于本研究中考虑的两种类型的数据(图像数据和序列数据),已经有强大的自监督训练算法,分别是对比表示学习和下一个标记预测。对比表示学习是一种自监督学习方法,通过比较输入数据的不同部分来学习数据的表示。而下一个标记预测则是一种用于序列数据的自监督学习方法,通过预测序列中的下一个元素来学习数据的表示。这些算法可以帮助提高数据的表示学习和特征提取,对于图像和序列数据的处理非常有用。
设:
表示将本地客户端模型 分解为特征提取器 ℎi和分类头 gi 例如,对于CNNs and transformer模型,可以简单地给出这样的分解,其中特征提取器包含除网络的最后一层之外的所有层,而分类头h只是一个全连接层(输出层)。作为FedAUX准备阶段的一部分(见图1,P1),我们建议在服务器上使用辅助数据Daux的自监督训练来预训练特征提取器模型hi(Feature Extractor),我们强调,该步骤在训练开始时只执行一次,并且不对局部训练数据和辅助数据之间的相似性进行假设
。预训练操作导致特征提取器h0的参数化。由于训练是在服务器上执行的,只使用公开可用的数据,因此这一步骤既不会给资源受限的客户端带来计算开销,也不会造成隐私损失。
B. Weighted Ensemble Distillation
不同的研究表明,如果训练数据在客户端之间以异构的“非i.i.d.”方式分布,则现有FL算法的训练速度、稳定性和最大可实现精度会恶化。联邦集合蒸馏(FedDF)也不例外。
多源域自适应理论已经探讨了组合来自不同源域的假设的根本问题,这表明FedDF中所做的客户端假设的标准凸组合在目标域上可能表现不佳。取而代之的是局部假设fi的分布加权组合被证明是鲁棒的(Di(x)是局部数据Di的概率密度)
一个简单数据集(Iris数据集,即鸢尾花数据集)示例,如图2所示,进一步说明了这一点:显示为散射点的是Iris数据集的元素,投影到它们的两个主要PCA(Principal Component Analysis)组件。训练数据以非i.i.d.的方式分布在三个客户端之间,每个数据点的标签由图中的标记颜色指示。叠加在背景中的是在每个客户端的本地数据上训练的线性分类器模型的预测。正如我们所看到的,在客户端1和3的数据上训练的模型一致预测所有输入分别属于“红色”和“蓝色”类。因此,这些模型的预测能力及其作为模型提炼教师的价值非常有限。这也在面板4中可视化,其中显示了教师模型的平均预测。然而,如果我们通过确定性s(x)(通过高斯KDE近似)对每个教师在每个位置x的预测进行加权,我们可以非常显著地改进教师集合,如图1-3中的阿尔法通道所示。正如我们在面板5中看到的,在这个特定的小型数据示例中,对集合预测进行加权将准确率从33%提高到88%。
Iris数据集上的一个简单示例中所示的加权集合蒸馏(数据点投影到它们的两个主要分量)。三个FL客户端持有训练数据的不相交的非i.i.d.子集。面板1-3:对每个客户端的数据进行训练的线性分类器所做的预测。标签和预测是彩色编码的,客户端确定性(通过高斯KDE测量)通过阿尔法通道可视化。客户端预测的平均值(面板4)只能很好地捕捉训练数据的分布。相反,客户预测的确定性加权平均值(面板5)实现了高得多的准确性。
基于这些见解,我们建议将FD的聚合规则修改为确定性加权平均
问题仍然存在,如何以保护隐私的方式计算确定性得分si(x),以及对于任意高维数据,其中简单的方法,如我们在上述示例中使用的高斯KDE,然而,高斯核密度估计(Gaussian KDE)在高维数据集上容易受到维度灾难的影响(维度灾难是指在高维空间中,数据点之间的距离变得非常稀疏,导致密度估计变得困难。在高维空间中,数据点之间的距离增加,需要更多的数据来进行有效的密度估计,这使得高维数据集上的密度估计变得更加困难和不准确。因此,高斯KDE在高维数据集上容易受到维度灾难的影响)。为此,我们提出以下方法。
我们将可用的辅助数据随机划分为两个不相交的子集,“负”数据和“蒸馏”数据。
使用预先训练的模型h0(第III-A节)作为一个特征提取器,在每个客户端上,我们训练一个逻辑回归分类器,通过优化以下正则化经验风险最小化(empirical risk minimization)问题,将局部数据Di与负数据D−分离:
给定正则化ERM问题的解 ,可以通过逻辑评分头获得蒸馏数据的确定性得分
虽然分数si(x)可以使用许多不同的技术来估计,如密度估计、不确定性量化或异常值检测,但我们现在将提出使用上述基于逻辑回归的方法的三个不同动机。
首先,如图3中给出的小数据示例所示,通过我们提出的基于逻辑回归的方法获得的分数很好地近似于领域自适应理论提出的分布权重。正如我们在下面图三中看到的,它大致成立
上图:三个客户端持有从多元高斯分布D1、D2和D3采样的数据示例。所有客户端通过将其本地数据与公共负数据进行对比来解决优化问题J,以分别获得评分模型s1、s2、s3。从上边的图中可以看出,我们提出的评分方法近似于论文《Domain adaptation with multiple sources》中提出的鲁棒权重,因为它在数据分布的支持下保持si(x)/∑jsj(x)≈Di(x)-∑jDj(x)。
其次,通过逻辑回归获得的分数在高度复杂的图像数据上产生了强大的经验性能。图4显示了在具有十个客户端和高度异构数据的FL场景中,通过不同的加权FedDF方法在十轮通信后实现的最大精度(α=0.01,关于数据拆分策略的进一步细节在第六节中给出)。正如我们所看到的,上述对比逻辑评分方法明显优于《Ensemble distillation for robust model fusion in federated learning》(此论文提出FedDF方法)中使用的统一评分方法,并且也比其他生成和判别评分方法(如高斯KDE、孤立森林或一类和二类SVM)产生更好的结果。这些评分方法的实施细节见补充材料C。
当使用不同的评分技术来获得集合蒸馏过程中使用的确定性权重si(x)时,ResNet-8在CIFAR-10数据集上的FD和DistilleBert在Amazon数据集上的验证性能的比较。通过两类逻辑回归获得的确定性得分实现了最佳性能,并且可以很容易地通过不同的私有机制进行增强。
最后,正如我们将在第III-C节中看到的,逻辑评分机制可以很容易地用差分隐私(DP)来扩充,并且即使在强的形式隐私约束下也能提供高效用。
C. Differentially Private Weighted Ensemble Distillation
与中央服务器共享确定性分x)直观地导致客户端的隐私损失。毕竟,高分si(x)表示公共数据点 x∈类似于客户端i的私有数据Di。为了保护客户的隐私以及量化和限制隐私损失,我们建议使用数据级别DP(differential privacy)(参见图1,P3)。根据经典定义,对于一个元素如果它在任何输入数据库d上的输出与任何相邻数据库d'上的输出不同于d,则这种随机机制称为差分私有机制。
定义1:随机机制M:D→R满足(ε,δ)-DP,如果对于仅在一个元素上不同的任何两个相邻输入d和d′,以及对于输出S⊆R的任何子集
机制M的DP可以通过限制其灵敏度来实现
然后应用随机化噪声机制。我们采用以下定理来建立的灵敏度。
DP的后处理特性确保了使用机制Msan的输出计算的任何数量的分数的发布仍然是(ε,δ)-私有的。请注意,在这项工作中,我们仅限于对评分机制的隐私分析。深度分类器fi的差异私有训练本身就是一个挑战,例如在《Deep learning with differential privacy》中已经解决了这一问题。根据基本组成定理,运行FedAUX的总隐私成本是评分机制Msan的隐私损失和通信更新模型fi的隐私损失之和(后者对所有FL算法都相同)。
四、Detailed Algorithm for the General Model Heterogeneous Setting
与许多其他FD方法一样,FedAUX可以本地应用于FL场景,其中客户端本地训练不同的模型架构。为了在这种异构场景中执行模型融合,FedAUX在服务器上构建了几个原型模型,其中每个原型代表具有相同架构的所有客户端。
让我们用P表示所有这样的模型原型的集合。然后,我们可以定义将每个客户端i映射到其相应的模型原型P的HashMap R,以及将每个模型原型P映射到相应客户端集的逆HashMap R~
FedAUX的训练过程可分为准备阶段和训练阶段,前者在算法1中给出,后者在算法2中给出。
A. Preparation Phase
在准备阶段,服务器使用未标记的辅助数据Daux,使用自监督训练为每个模型原型P预训练特征提取器 ℎP 。自监督预训练的合适方法是对比表示学习,或自监督语言建模/下一个标记预测。然后将预先训练的特征提取器 ℎ0P 传送到客户端,并用于初始化局部分类器f=g∘h的一部分。服务器还将负数据D−通信给客户端(在实践中,我们可以将原始数据D−的提取特征{| ℎ0P (x)|x∈D−}进行通信,以节省通信)。然后,每个客户端优化逻辑相似性目标J
,并通过添加适当缩放的高斯噪声来净化输出。最后,将净化后的评分模型 传送到服务器,在服务器中,它用于计算蒸馏数据的确定性得分si(也可以在客户端上计算确定性得分,但这会导致蒸馏数据和得分的额外通信)。
B. Training Phase
训练阶段在T轮通信中进行。在每一轮t≤T中,服务器随机选择整个客户端群体的子集St,并向他们发送最新的服务器模型 θR[i] ,其匹配他们的模型原型P(在第t=1轮中,仅发送预先训练的特征提取器 ℎ0P )。每个选定的客户端通过对其本地训练数据执行多个随机梯度下降步骤(或其变体)来更新其本地模型。这会在每个客户端上产生更新的参数化θi,并将其传递给服务器。在所有客户端完成其本地训练之后,服务器收集更新的参数θi。
然后,每个原型模型用共享相同架构的所有客户端模型的参数的平均值初始化
使用这些模型平均值作为起点,对于每个原型,服务器然后根据客户端的确定性加权预测提取一个新的模型。