Yang's blog Yang's blog
首页
Java
密码学
机器学习
命令手册
关于
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

xiaoyang

编程爱好者
首页
Java
密码学
机器学习
命令手册
关于
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 传统机器学习

    • 机器学习前言
    • 数据预处理
    • 简单线性回归
    • 多元线性回归
    • 逻辑回归(一)
    • 逻辑回归(二)
    • K近邻法(k-NN)
    • k最近邻分类任务代码演示
    • 支持向量机(SVM)
    • 使用SVM进行二分类
    • 决策树
    • 随机森林
    • 什么是K-means聚类算法
    • 使用K-Means算法进行数据聚类:以鸢尾花数据集为例
  • 联邦学习

    • 联邦学习中的基础算法介绍
    • Advances and Open Problems in Federated Learning
    • Vertical Federated Learning Concepts,Advances, and Challenges
    • 机器学习中的并行计算
    • Boosted Trees 简介
    • SecureBoost:一种无损的联邦学习框架
    • FedGen & Data-Free Knowledge Distillation for Heterogeneous Federated Learning
    • Towards Personalized Federated Learning
    • Distilling the Knowledge in a Neural Network
    • FedMD & Heterogenous Federated Learning via Model Distillation
    • FedFTG & Fine-tuning Global Model via Data-Free Knowledge Distillation for Non-IID Federated Learning
      • 摘要
      • 1.引言
      • 2. 相关工作
        • 2.1联邦优化器
        • 2.2联邦学习中的知识蒸馏
        • 2.3无数据知识蒸馏(DFKD)
        • 算法 1:FedFTG
        • 算法 2:服务器更新,第$t$轮
      • 3. 方法
        • 3.1. 无数据知识蒸馏与难样本挖掘用于全局模型微调
        • 3.11数据保真性与多样性约束
        • 3.12硬样本挖掘
        • 3.2. 标签分布偏移自适应以实现高效的知识蒸馏
      • 4.实验
        • 4.1 实现细节
        • 4.2. 性能比较
        • 4.3 消融研究
        • 4.4 真实世界数据集上的实验
      • 5. 讨论
      • 6. 结论
      • 致谢
    • MOON & Model-Contrastive Federated Learning
    • Knowledge Distillation in Federated Learning:A Practical Guide
    • DKD-pFed & A novel framework for personalized federated learning via decoupling knowledge distillation and feature decorrelation
    • pFedSD & Personalized Edge Intelligence via Federated Self-Knowledge Distillation
    • FedFD&FAug:Communication-Efficient On-Device Machine Learning:Federated Distillation and Augmentation under Non-IID Private Data
  • 机器学习
  • 联邦学习
xiaoyang
2024-10-24
目录

FedFTG & Fine-tuning Global Model via Data-Free Knowledge Distillation for Non-IID Federated Learning

# FedFTG: Fine-tuning Global Model via Data-Free Knowledge Distillation for Non-IID Federated Learning

# 摘要

联邦学习(Federated Learning, FL)是一种新兴的分布式学习范式,具有隐私保护的约束。数据异质性是FL中的主要挑战之一,导致收敛速度变慢和性能下降。大多数现有方法仅通过限制客户端的本地模型更新来应对异质性挑战,忽略了全局模型直接聚合引起的性能下降。相反,我们提出了一种无数据的知识蒸馏方法,用于在服务器上微调全局模型(FedFTG),以缓解直接模型聚合的问题。具体而言,FedFTG通过生成器探索本地模型的输入空间,并利用其将本地模型的知识传递到全局模型。此外,我们提出了一种难样本挖掘方案,以实现有效的知识蒸馏贯穿整个训练过程。此外,我们开发了定制的标签采样和类别级别集成,以最大化知识的利用率,隐式地减轻客户端之间的分布差异。大量实验表明,FedFTG显著优于现有最先进的FL算法,并且可以作为增强FedAvg、FedProx、FedDyn和SCAFFOLD的强大插件。

愿论文地址:https://arxiv.org/abs/2203.09249

# 1.引言

随着数据量的爆炸性增长以及严格的隐私保护政策的实施,由于高带宽成本和隐私泄露风险,随意的数据传输和聚合逐渐变得不可接受。近年来,联邦学习(Federated Learning,FL)[30, 31] 被提出,以替代传统的高度集中式学习模式,并保护数据隐私。它已经成功应用于实际任务中,如智慧城市 [16, 34, 43]、医疗健康 [8, 26, 27] 和推荐系统 [9, 10] 等。

FL 面临的主要挑战之一是数据的异质性,也就是客户端的数据是非独立同分布(Non-IID)的。已经证实,传统的联邦学习算法 FedAvg [30] 在这种情况下会导致本地模型发生偏移,并严重遗忘全局知识,进而导致性能下降和收敛速度变慢 [14, 19, 21]。这是因为本地模型仅基于本地数据更新,即最小化本地经验损失。然而,最小化本地经验损失在非独立同分布的 FL 环境中,与最小化全局经验损失存在根本性矛盾 [1, 24, 29]。

为了解决数据异质性问题,大多数现有方法(如 FedProx [23]、SCAFFOLD [18]、FedDyn [1] 和 MOON [22])通过限制本地模型更新方向来对齐本地和全局的优化目标。最近,FedGen [44] 提出了一种轻量级生成器,用于生成伪特征,并将其广播给客户端,以调节本地训练。然而,所有这些方法仅通过简单的模型聚合来获得服务器中的全局模型,忽略了本地知识的不兼容性,导致全局模型中的知识遗忘。此外,[37] 研究表明,直接聚合模型会大大降低性能,而微调则可以显著提高精度。这些观察结果促使我们在服务器中基于本地模型的知识微调聚合后的全局模型。

另一方面,仅在服务器中聚合本地模型忽视了服务器丰富的计算资源,这些资源可以在跨组织联邦学习(cross-silo FL)中得到充分利用,以提高 FL 性能 [17]。基于这些观察,我们提出了一种通过无数据的知识蒸馏(FedFTG)在线微调全局模型的新方法,该方法同时优化了模型聚合过程,并利用了服务器的强大计算能力。具体而言,FedFTG 通过服务器中的辅助生成器对本地模型的输入空间进行建模,然后生成伪数据,将本地模型中的知识传递到全局模型,以提升性能。为了在整个训练过程中有效进行知识蒸馏,FedFTG 迭代地探索数据分布中的难样本(hard samples),这些难样本会导致本地模型和全局模型之间的预测分歧。图1比较了 FedFTG 和 FedAvg。FedFTG 通过对难样本进行微调,纠正了模型聚合后的偏移。生成器和全局模型通过对抗训练方式在无数据的情况下进行训练,因此整个过程不会违反 FL 中的隐私政策。考虑到数据异质性场景中的标签分布偏移,我们进一步提出了自定义标签采样和类别级别集成技术,这些技术通过探索客户端的分布关联性,实现知识的最大化利用。

image-20241017132631808

图1. FedAvg [30] 与 FedFTG 的比较。通过使用生成的难样本微调全局模型,FedFTG 缓解了模型聚合后性能下降的问题。

FedFTG 与现有的几种本地优化器(如 FedAvg、FedProx、FedDyn、SCAFFOLD 和 MOON)是正交的,因为它仅修改了服务器中全局模型的聚合过程。因此,FedFTG 可以无缝嵌入这些本地 FL 优化器中,利用它们的优势进一步提升 FedFTG 的性能。在各种设置下进行的大量实验验证了 FedFTG 相比于最先进的(SOTA)方法具有优越的性能。

本文的主要贡献如下:

  • 我们提出了 FedFTG,通过无数据的蒸馏对服务器中的全局模型进行微调,同时增强了模型聚合步骤并利用了服务器的计算能力。
  • 我们开发了难样本挖掘技术,以有效地将知识传递给全局模型。此外,我们提出了自定义标签采样和类别级别集成,以促进知识的最大化利用。
  • 我们证明 FedFTG 与现有的本地优化器是正交的,可以作为一个强大且通用的插件,增强 FedAvg、FedProx、FedDyn、SCAFFOLD 和 MOON 的性能。
  • 我们通过在五个基准上的大量实验,验证了 FedFTG 相比多种 SOTA 方法(包括 FedAvg、FedProx、FedDyn、SCAFFOLD、MOON、FedGen 和 FedDF)的优越性。

# 2. 相关工作

现有大量研究通过客户端选择 [4, 7, 15]、分割学习 [11, 39]、领域适应 [26, 33] 等方法提升联邦学习(FL)的全局性能。读者可以参考专著 [17, 38] 及其中引用的文献来了解该领域的最新进展。以下,我们主要总结与本文工作最相关的技术。

# 2.1联邦优化器

传统的 FL 算法,即 FedAvg [30],定期在服务器中聚合本地模型,并使用各自的数据更新本地模型。FedProx [23] 在本地子问题中添加了一个邻近项,以限制本地更新更接近初始(全局)模型。SCAFFOLD [18] 使用方差缩减技术来校正漂移的本地更新。FedDyn [1] 通过引入线性和二次惩罚项修改客户端的目标,以对齐全局和本地目标。总结来说,所有这些方法都专注于对齐本地和全局模型,以缩小本地训练中的分布偏移,而不像 FedFTG 直接提升全局模型。

# 2.2联邦学习中的知识蒸馏

借助无标签数据集,FedDF [25] 提出了一种用于模型融合的集成蒸馏方法,通过本地模型的平均对数值(logits)训练全局模型。FedAUX [35] 寻找一种用于本地模型的初始化,并通过(ε,δ)差分隐私确定性评分对本地模型的对数值进行加权。FedBE [3] 从贝叶斯视角生成一系列全局模型,并通过集成知识蒸馏将这些模型总结为一个全局模型。所有这些方法都依赖于服务器中的无标签辅助数据集,但尚不明确辅助数据集与训练数据的关联性应达到何种程度才能保证有效的知识蒸馏。虽然 FedDF 声称辅助数据集可以用预训练生成器替代,但并未明确说明如何获取生成器。

# 2.3无数据知识蒸馏(DFKD)

DFKD 方法 [2, 6] 从预训练的教师模型生成伪数据,并使用这些数据将教师模型的知识传递给学生模型。通过最大化教师模型对伪数据的响应来生成数据。DeepImpression [32] 对教师模型的输出空间进行建模,并通过拟合输出空间恢复真实数据。DeepInversion [41] 通过正则化中间特征图的分布进一步优化伪数据。DAFL [2] 和 DFAD [6] 使用生成器高效生成数据,DAFL 通过最大化预测和特征层次的响应来优化生成器,DFAD 则采用对抗训练方案以有效利用教师模型中的知识。

FedGen [44] 也学习了一个轻量级生成器,以无数据的方式融合本地模型的知识,但其主要用于规范本地训练。此外,我们设计了难样本挖掘方案、自定义标签采样和类别级别的集成方法,以在数据异质性场景下有效地将本地模型的知识传递给全局模型。

# 算法 1:FedFTG

image-20241017134333052

输入:

  • T: 通信轮数;
  • K: 客户端数量;
  • C: 每轮中的活动客户端比例;
  • {Dk}k∈{1,...,K}: 客户端的数据集;
  • ω: 分类器的参数;
  • θ: 生成器的参数。
  1. 初始化模型参数ω和θ。
  2. 对于t=1,...,T执行:
    1. 随机选择一个包含⌈C⋅K⌉个客户端的集合St;
    2. 并行地,对于k∈St执行:
      1. 使用 FedAvg、FedProx、FedDyn 和 SCAFFOLD 算法,更新本地模型ωk←ClientUpdate(ω,Dk)。
    3. 更新服务器上的模型参数ω和θ←ServerUpdate(ω,θ,{ωk}k∈St)。

# 算法 2:服务器更新,第t轮

image-20241017135129868

输入:

  • I: 服务器中的训练迭代次数;
  • Ig,Id: 训练生成器和全局模型的内迭代次数;
  • ηg: 全局步长;
  • ω,θ: 服务器和生成器的模型参数;
  • {ωk}k∈St: 客户端模型参数;
  • λcls,λr: 损失函数中的权重。
  1. 计算全局模型更新Δω=1|St|∑k∈St(ωk−ω),并更新ω←ω+ηgΔω。
  2. 根据公式 (9) 计算pt(y)。
  3. 对于i=1,...,I执行:
    1. 采样一批噪声和标签采样一批和(Z,Y)←(采样一批z∼N(0,1) 和 y∼pt(y));
    2. 根据公式 (10) 计算{αt,k,y}k∈St,y∈Y;
    3. 对于j=1,...,Ig执行:
      1. 根据公式 (8) 更新生成器θ,以基于当前全局模型ω挖掘难样本;
    4. 对于j=1,...,Id执行:
      1. 根据公式 (8) 更新全局模型ω,以从{ωk}k∈St中传递知识给ω。
  4. 返回ω,θ。

# 3. 方法

在本节中,我们介绍了一种新颖的联邦学习方法:FedFTG。在每轮通信中,FedFTG 随机选择一组客户端,并将全局模型广播给这些客户端。每个客户端使用全局模型初始化本地模型,并通过本地优化器对其进行训练。服务器随后收集本地模型,并将它们聚合成一个初步的全局模型。

与直接将聚合后的模型再次广播给各个客户端不同,FedFTG 在服务器中使用从本地模型中提取的知识对这个初步全局模型进行微调。具体而言,我们开发了一种无数据的知识蒸馏方法,通过难样本挖掘来有效地探索并将知识传递给全局模型。考虑到客户端中标签分布的偏移,我们提出了自定义标签采样和类别级别的集成策略,以促进更有效的知识利用。图 2 展示了服务器上的训练过程,相应的算法总结在算法 1 和算法 2 中。需要注意的是,FedFTG 与现有的本地模型训练优化方法(如 SCAFFOLD、FedAvg、FedProx 和 FedDyn)是正交的,能够与这些方法无缝结合。

image-20241017133228849

图 2. FedFTG 在服务器中的训练过程。在第t轮接收到本地模型并聚合后,FedFTG 通过对抗生成难样本,并通过损失函数Lmd将知识传递给聚合后的全局模型。损失函数Lcls和Ldis用于提升难样本的保真度和多样性。此外,FedFTG 还使用自定义标签采样和类别级别的集成策略,以最大化知识的利用。

# 3.1. 无数据知识蒸馏与难样本挖掘用于全局模型微调

设ω为服务器和客户端中的模型参数。在本工作中,我们考虑存在K​ 个客户端,其中:设Dk={(xk,i,yk,i)}i=1Nk为第k个客户端本地存储的数据集,其中Nk是样本数量。总体而言,联邦学习问题可以表述为如下优化问题:

minω1K∑k=1Kfk(ω),fk(ω)=1Nk∑i=1NkL(xki,yki;ω),

其中L是用于衡量训练误差的损失函数,且每个客户端k∈{1,2,...,K}的数据集Dk可以是异构分布的。由于联邦学习中的隐私保护约束,服务器无法直接访问客户端的本地数据。

为了解决上述优化问题,每轮通信t时,现有方法将全局模型ω发送到一组随机选择的客户端St,并通过最小化fk(ω),k∈St来进行优化。服务器随后收集这些本地模型{ωk}k∈St,并通过平均梯度来聚合它们以更新全局模型ω。

然而,在数据异构场景下,本地模型之间存在很大的漂移。因此,传统的梯度平均方法可能会丢失本地模型中的知识,导致更新后的全局模型性能远低于本地模型的表现 [45]。为了解决这个问题,我们提出了一种无数据的知识蒸馏方法来微调全局模型,使全局模型能够尽可能保留本地模型中的知识并保持其性能。

具体来说,服务器维护一个条件生成器G,用于生成伪数据以捕捉客户端的数据分布,其公式如下:

x~=G(z,y;θ),

其中θ是生成器G的参数,z∼N(0,1)是标准高斯噪声,y是从预定义的分布pt(y)中采样的类标签。

如图 2 所示,我们将伪数据x~输入到全局模型中,来解决以下问题:

minωEz∼N(0,1)y∼pt(y)[Lmd]=minωEz∼N(0,1)y∼pt(y)[∑k∈Stαtk,yLmdk],

其中Lmdk是全局模型ω与本地模型ωk之间的模型差异性:

Lmdk=DKL(σ(D(x~;ω))∥σ(D(x~;ωk))),

其中D是分类器,σ是 softmax 函数,它会输出伪数据x~的预测得分。DKL表示 Kullback-Leibler 散度,αtk,y控制集成过程中从不同本地模型中提取的知识权重。

通过最小化Lmd,我们将本地模型中的知识传递给全局模型。在第 3.2 小节 中,我们将介绍如何获取pt(y)和αtk,y以应对数据异构场景下的标签分布偏移。

# 3.11数据保真性与多样性约束

为了更好地从本地模型中提取知识,伪数据x~应该符合本地模型的输入空间。因此,我们使用语义损失Lcls来训练生成器G,以促进伪数据的保真性:

(5)minθEz∼N(0,1)y∼pt(y)[Lcls]=minθEz∼N(0,1)y∼pt(y)[∑k∈Stαtk,yLclsk],

其中,Lclsk是本地模型对伪数据x~的预测与类标签y之间的交叉熵损失:

(6)Lclsk=LCE(σ(D(x~;ωk)),y),

这里的LCE是交叉熵损失函数。通过最小化Lcls,伪数据x~被迫在类标签y上产生更高的预测,因此它符合类标签y的数据分布。

然而,简单使用Lcls会导致生成器的模型崩溃:即G会为每个类输出相同的数据。为了解决这一问题,我们使用了 [44] 中的多样性损失Ldis,以提高生成数据的多样性:

(7)Ldis=e1Q∗Q∑i,j∈{1,…,Q}(−‖x~i−x~j‖2∗‖zi−zj‖2),

其中,x~i是使用zi生成的伪数据。通过最小化Ldis,伪数据将在数据空间中更加多样化和分散。

# 3.12硬样本挖掘

使用Lcls训练生成器G将生成分类错误率较低的伪数据x~,这意味着x~包含类标签y的最具辨别性的特征,并且易于分类。然而,这些简单样本不会导致全局模型和本地模型之间的预测不一致,即Lmd=0,因此全局模型在训练期间无法得到优化。正如图 3 所示,简单样本已经被全局模型正确分类。

为了有效地利用本地模型中的知识并将其转移到全局模型中,我们探索了数据分布中的难样本,这些样本导致本地模型和全局模型之间的预测不一致。具体而言,我们通过Lmd对生成器和全局模型进行对抗训练:(1) 生成器被迫生成能够最大化Lmd的难样本,(2) 全局模型则被训练以最小化这些难样本的预测误差。最终,正如图 3 所示,全局模型可以逐渐通过这些难样本微调,从而适应数据分布。

因此,FedFTG 在服务器端的总体目标被形式化为对抗学习方案:

(8)minωmaxθEz∼N(0,1),y∼pt(y)[Lmd−λclsLcls−λdisLdis].

image-20241017154653547

图 3. 难样本挖掘的可视化。通过探索数据分布中的难样本并微调全局模型,全局模型可以在训练过程中逐步得到修正。

# 3.2. 标签分布偏移自适应以实现高效的知识蒸馏

在数据异质性场景中,不同客户端的标签分布是不同的,即pi(y)≠pj(y)(对于不同的客户端i和j)。这表明:(1)客户端的本地数据集Dk存在类别不平衡,本地模型由Dk训练,包含不平衡的数据信息;(2)对于某一类,客户端的本地模型对该类别知识的重要性不同。为了实现更有效的知识蒸馏,我们提出了自定义标签采样和类别级集成,分别解决这两个问题。

自定义标签采样
在数据异质性场景中,本地客户端的数据集通常是类别不平衡的,甚至对于某些类别没有数据。已有研究证明,深度神经网络倾向于学习占多数的类别,而忽略占少数的类别[5]。因此,本地模型中少数类的数据信息可能是错误的,生成的伪数据无效且无法有效衡量模型差异。如果均匀地采样标签y,这些无效数据将影响全局模型的训练并导致性能下降。为了解决此问题,我们根据每轮训练数据的整体分布自定义采样概率pt(y),以生成更多具有有效信息的伪数据:

(9)pt(y)∝∑k∈St∑i=1NkE(xki,yki)∼Dk[1yi=y]=∑k∈Stnky,

其中,当条件为真时,1condition=1,否则为 0,nky表示客户端k中类别y的样本数量。根据公式 (9),多数类的伪数据生成概率较高,因此 FedFTG 能够在数据异质性场景中保证有效的知识蒸馏。

类别级集成
在知识蒸馏中广泛使用的集成方法对不同教师模型的知识分配相同的权重【25, 44】,即在公式 (3) 和公式 (5) 中,αtk,y=|St|−1。由于标签分布偏移,对于某个类别,不同本地模型中知识的重要性不同。如果给客户端分配相同的权重,重要的知识就无法被正确识别和利用。因此,我们提出了类别级集成方法,根据客户端的个体数据分布来分配集成权重。具体来说,我们通过客户端k中类别y的数据比例计算权重αtk,y:

(10)αtk,y=nky∑i∈Stniy.

这样,本地模型的知识可以根据其对各类的重要性灵活整合,从而 FedFTG 能够最大程度地利用本地模型中的知识。

# 4.实验

在本节中,我们通过实验证实了FedFTG的有效性。我们在第4.1节总结了实现细节,并在第4.2节将FedFTG与几种SOTA联邦学习(FL)算法进行比较。通过消融实验(第4.3节),验证了FedFTG各个组件的必要性。为了进一步验证FedFTG在真实世界FL应用中的效果,我们在第4.4节对三个真实世界数据集进行了性能评估。

代码地址:https://github.com/ZhangLin-PKU/FedFTG (opens new window)

# 4.1 实现细节

基线:我们将FedFTG与FedAvg [30]、FedProx [23]、SCAFFOLD [18]、FedDyn [1]、MOON [22]、FedGen [44] 和 FedDF [25] 进行比较。由于FedDF没有解释如何获得生成器,我们按照FedGen的方式进行训练。

数据集:我们使用CIFAR10和CIFAR100数据集[20]进行异构数据集划分测试FedFTG的有效性,这两个任务在FL场景中较为困难,并且在FL研究中被广泛采用。与现有工作[1, 12, 42]类似,我们使用Dirichlet分布Dir(β)在标签比率上模拟客户端间的非独立同分布(non-iid)数据分布,较小的β值表示更高的数据异质性。在实现过程中,我们设置β=0.3和β=0.6。

网络架构:对于CIFAR10和CIFAR100,我们使用ResNet18[13]作为基础骨干网络。对于FedFTG和FedDF,我们借鉴了DFAD[6]的生成器网络架构。对于FedGen,生成器网络由两个嵌入层(分别用于输入z和y)和两个全连接(FC)层组成,层间包含LeakyReLU和BatchNorm层。

超参数:对于所有方法,我们设置本地训练轮次E=5,通信轮次T=1000,客户端数量K=100,活跃比例C=0.1(即|St|=10)。在本地训练中,批次大小为50,权重衰减为1×10−3。分类器和生成器的学习率分别初始化为0.1和0.01,并以0.998的权重逐渐衰减。z的维度为CIFAR10的100和CIFAR100的256。算法2中的I、Ig、Id分别为10、1和5。若无特别声明,我们采用λcls=1.0和λdis=1.0,并在FedFTG中使用SCAFFOLD作为FL优化器。

我们在补充材料中提供了详细的实现细节和额外的实验结果。

# 4.2. 性能比较

测试准确率:表1报告了所有算法在CIFAR10和CIFAR100数据集上的测试准确率。我们在第一行中提供了集中式学习的性能。所有实验均在3个随机种子上重复。在表1中,FedFTG在所有场景中都取得了最佳性能,至少比第二名(即SCAFFOLD)高出1.5%。FedDF也采用了无数据的知识蒸馏在服务器端提升全局模型性能,它超越了FedAvg和FedProx,并在某些情况下优于FedDyn和MOON,这进一步验证了“在服务器端微调全局模型”这一方案的优越性。然而,它的表现仍不及SCAFFOLD和FedFTG。FedGen相比于FedDF和FedFTG准确率更低,且在某些情况下仅比FedAvg略有性能提升。FedDF和FedGen的表现进一步验证了FedFTG中提出模块的有效性。

通信轮次:表2评估了不同FL方法达到目标测试准确率(CIFAR10为75%和80%,CIFAR100为40%和50%)所需的通信轮次。表2显示,FedFTG在CIFAR10上取得了第二好结果,而在CIFAR100上表现最佳。此外,FedFTG在所有场景中减少了其FL优化器(SCAFFOLD)所需的通信轮次。对于CIFAR10,尽管FedDyn使用更少的轮次来达到目标准确率,但其最终准确率远低于FedFTG,如表1所示。下文中,我们展示了使用FedDyn作为FedFTG优化器的结果,衍生方法FedDyn+FedFTG所需的轮次比FedDyn更少以达到目标准确率。图4展示了在1000个通信轮次中不同方法的学习曲线,其中FedFTG在1000轮后获得了显著的性能提升。尽管FedDyn在初期有更快的上升速度,但随着训练的进行,其上升趋势逐渐减慢,并且在CIFAR10和CIFAR100中分别在150和50轮后落后于FedFTG。

**数据异质性与部分客户端参与:**图5(a)显示了不同β值下的测试准确率。在该图中,FedFTG在所有设置中都取得了最佳准确率,这验证了FedFTG在各种数据异质性场景下的有效性。此外,FedFTG在极端数据异质性场景(β=0.2)下获得了更大的准确率提升。此外,随着数据异质性程度的降低,即β增大,各方法的准确率逐渐提升。图5(b)显示了不同通信轮次中,联邦学习方法在活跃客户端比例不同情况下的测试准确率。FedFTG在该图中同样表现出最佳性能。此外,参与通信的客户端越多,所获得的准确率越高。

FedFTG与现有FL优化器的正交性

表3展示了FedFTG结合FedAvg、FedProx、FedDyn、SCAFFOLD和MOON优化器的性能。在表3中,SCAFFOLD+FedFTG在所有优化器中取得了最高的测试准确率。FedDyn+FedFTG在达到目标准确率的轮次上表现优于SCAFFOLD+FedFTG,这与表2中的结果一致,其中FedDyn所需轮次少于SCAFFOLD。通过对比表3与表1和表2,我们注意到,使用FedFTG可以大幅提升任何FL优化器的性能。这验证了FedFTG的有效性及其与现有优化器的正交性。此外,仅使用FedAvg+FedFTG作为本地优化器的表现已超过表1中的其他方法(除了SCAFFOLD)。

image-20241017170904619

image-20241017170933885

# 4.3 消融研究

FedFTG 各组件的必要性:表 4 显示了 FedFTG 在 CIFAR10 数据集上经过 500 轮通信训练(β=0.3)后,移除某些模块和损失函数对测试准确率的影响。其中,hsm、cls 和 abe 分别表示难样本挖掘(hard sample mining)、定制标签采样(customized label sampling)和类别级别集成(class-level ensemble)。可以看出,移除任何模块都会导致性能下降且不稳定,即准确率降低且置信区间增大。此外,移除多个模块会进一步导致准确率的下降。

对于损失函数也是类似的趋势:移除单个损失函数会导致性能下降,而移除多个损失函数会进一步加剧这种下降。值得注意的是,如果用均方误差(Mean Squared Error,Lmse)替换 KL 散度来度量模型差异,模型将会崩溃,导致严重的性能下降。

FedFTG 在超参数上的鲁棒性:为了衡量超参数选择的影响,我们从[0.5,0.75,1.0,1.25,1.5]范围内选择λcls和λdis,并从[50,100,150,200,250]范围内选择噪声数据z的维度。图 6 用箱线图展示了测试准确率,FedFTG 在所有选择中的表现较为相似。此外,图 6(a)-(b) 中的最差准确率仍然优于表 1 中其他工作的最佳表现,这表明 FedFTG 对超参数的选择不敏感,在较大范围内都能保持稳定的性能。

关于特征级伪数据的讨论:FedGen 认为特征空间中的数据比输入空间更加紧凑,因此它在特征层生成伪数据,并对联邦模型的最后几层全连接层进行微调。受此启发,我们在表 5 中比较了使用特征级生成(F)和输入级生成(I)的 FedFTG 的性能。尽管 FedFTG(F) 的表现仍优于表 1 中的其他方法,但相比 FedFTG(I),性能有显著下降,这表明输入级生成对 FedFTG 更为有效。原因在于 FedFTG(F) 仅对全局模型的最后几层进行微调,导致知识迁移的效果有限。

image-20241017171010048

image-20241017171041648 image-20241017171054686

# 4.4 真实世界数据集上的实验

在本节中,我们测试了 FedFTG 在更具挑战性的真实世界数据集上的表现,包括车辆分类数据集 MIO-TCD [28] 和 CompCar [40],以及大规模图像分类数据集 Tiny-ImageNet。为了更好地验证 FedFTG 的有效性,我们使用了 CompCar 的监控子集,该子集的图像来自监控摄像头。对于 MIO-TCD 和 Tiny-ImageNet,我们将训练数据分配给 100 个客户端,而对于 CompCar,客户端数量为 50。所有数据集的 Dirichlet 分布β均设为 0.6。MIO-TCD 和 CompCar 的图像在训练前被调整为 112$*$112 的尺寸,并为它们采用了更深的生成器。通信轮次数分别为 50、100 和 1000,适用于 MIO-TCD、CompCar 和 Tiny-ImageNet。其他设置与第 4.1 节相同。实验结果如表 6 所示。

从表中可以看出,FedFTG 在所有场景中均优于其他方法,验证了其在真实世界联邦学习应用中的有效性。FedDF 和 FedGen 也采用了无数据知识生成来提升联邦模型性能。虽然它们的表现优于 FedAvg 和 FedProx,但 FedFTG 的表现领先它们 1% 到 6%,进一步验证了 FedFTG 提出的模块的有效性。

# 5. 讨论

隐私问题:由于 FedFTG 在服务器中恢复了客户端的训练数据,这可能会违反联邦学习中的隐私规定。然而,根据我们的观察,伪数据只捕捉到了真实数据的高层特征模式,这些模式人类无法理解(见图 2)。此外,由于生成器是由所有本地模型共同训练的,伪数据往往展示的是客户端数据的共享特征,这意味着个体数据的属性不会被泄露。上传客户端数据的标签统计信息也可能会泄露隐私。一个可选的解决方案是在标签统计信息中加入噪声。根据我们的实验,当噪声比例小于 10% 时,其对性能的影响在 CIFAR10 数据集β=0.3的设定下小于 0.1%。

通信成本:与其他方法相比,FedFTG 只需额外传输训练数据的标签统计信息(即{nk,yt}k∈St,y∈[1,..,M],其中M是类别数),这带来的额外传输成本可以忽略不计。如果在训练过程中训练数据保持不变,标签统计信息可以在训练前上报到服务器,这样就不会引入额外的传输成本。

局限性:该工作的主要局限性在于计算效率。由于 FedFTG 除了本地训练外,还需要额外训练全局模型,这使得整个训练时间比其他方法更长。在我们的实验中,FedFTG 每轮通信所需时间大约是 FedAvg 的两倍。此外,由于全局模型的训练是在服务器上进行的,FedFTG 更适用于[17]中定义的跨边缘(cross-silo)联邦学习应用,即服务器是拥有充足计算资源的组织。

# 6. 结论

本文提出了一种新的无数据知识蒸馏方法——FedFTG,用于微调全局模型并提升联邦学习的性能。我们提出了一种难样本挖掘方案,以有效挖掘本地模型中的知识并将其传输到全局模型中。在面对数据异质性场景中的标签分布偏移问题时,我们提出了定制化标签采样和类别级集成,最大化地利用知识。在五个基准上的大量实验验证了所提出的 FedFTG 的有效性。

# 致谢

本工作得到了中国国家自然科学基金项目 62088102 的支持,部分由吴德芳慈善基金会捐赠赞助的 PKU-NTU 联合研究院(JRI)支持,以及部分由科技创新 2030——“脑科学与类脑研究”重大项目(编号 2021ZD0201402 和 2021ZD0201405)支持。

编辑 (opens new window)
#知识蒸馏
上次更新: 2025/04/01, 01:48:12

← FedMD & Heterogenous Federated Learning via Model Distillation MOON & Model-Contrastive Federated Learning→

最近更新
01
操作系统
03-18
02
Nginx
03-17
03
后端服务端主动推送消息的常见方式
03-11
更多文章>
Theme by Vdoing | Copyright © 2023-2025 xiaoyang | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式