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
    • 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
      • 摘要
      • 1 介绍
      • 2.相关工作
        • 2.1 知识蒸馏
        • 2.2 非独立同分布(Non-IID)问题在联邦学习中的挑战
        • 2.3 个性化联邦学习
      • 3. 方法
        • 3.1 问题描述
        • 3.2 联邦学习中的历史知识
        • 3.3 模型个性化的解耦知识蒸馏
        • 3.3.1 数学符号
        • 3.3.2 知识蒸馏的重新定义
      • 4. 实验
        • 4.1. 实验设置
        • 4.2. Main Results
        • 4.2.1. 模型性能概述
        • 4.2.2. 模型稳定性分析
        • 4.2.3. 消融实验
      • 5. 讨论
      • 6. 结论与未来工作
      • 致谢
    • 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-12-24
目录

DKD-pFed & A novel framework for personalized federated learning via decoupling knowledge distillation and feature decorrelation

# DKD-pFed: A novel framework for personalized federated learning via decoupling knowledge distillation and feature decorrelation

# 摘要

个性化联邦学习(Personalized Federated Learning, PFL)旨在为数据分布高度异构的客户端协作训练模型。尽管知识蒸馏(Knowledge Distillation, KD)通过将教师模型的知识传递给学生模型促进了个性化学习,但仍然面临以下挑战:首先,学生模型无法完全学习教师模型意图传递的知识;其次,蒸馏效率依赖于学生模型的初始性能,这限制了整体模型的表现。为了解决这些问题,我们提出了DKD-pFed,这是一种新颖的个性化联邦学习框架,通过解耦知识蒸馏过程并引入特征去相关性来提升性能。其核心思想是将logit蒸馏划分为两个部分,使其能够更高效且灵活地发挥作用。特征去相关性被用于缓解客户端模型在数据高度异构条件下因特征维度坍缩而导致的性能下降问题,从而增强学生模型的表现。在CIFAR-10、CIFAR-100和FMNIST数据集上的大量实验表明,当Dirichlet分布参数设置为0.1时,与其他最新模型相比,DKD-pFed分别实现了16.49%、17.76%和8.86%的平均性能提升。代码已开源,地址为:https://github.com/TuringSu/DKD_pFed。

# 1 介绍

近年来,深度学习技术取得了显著进展,推动了计算机视觉、自然语言处理等领域的发展。在计算机视觉领域,深度学习通常应用于图像分类(He, Zhang, Ren, & Sun, 2016)、目标检测(Ren, He, Girshick, & Sun, 2015)和语义分割(Long, Shelhamer, & Darrell, 2015)等任务。然而,深度神经网络的训练高度依赖于大量且高价值的数据集,特别是在计算机视觉任务中。

一种潜在的解决方案是从多个数据贡献者处收集数据并将其整合后用于深度神经网络的训练。然而,由于通信、存储以及隐私限制,本地数据无法上传至云服务器。例如,在医疗应用中患者的CT扫描数据,或移动用户拍摄的照片,因隐私问题可能无法共享(Annas, 2003;Voigt & Von dem Bussche, 2017)。因此,这种数据共享方式在现实中变得极具挑战性。

联邦学习(Federated Learning, FL)作为一种分布式学习方法,旨在解决上述问题。在联邦学习中,多个客户端设备在无需上传本地数据的情况下协作训练一个全局模型,从而保障数据隐私。FedAvg(McMahan, Moore, Ramage, Hampson, & yArcas, 2017)是联邦学习的开创性工作,它通过简单地平均本地模型参数来学习全局模型。近年来,大量研究致力于优化模型参数的聚合(Al-Shedivat, Gillenwater, Xing, & Rostamizadeh, 2020;Karimireddy et al., 2020;Li et al., 2020;Xie, Koyejo, & Gupta, 2019)。

尽管联邦学习在分布式深度学习和隐私保护方面显示出极高的有效性,但数据异质性依然是传统联邦学习面临的根本性挑战之一。传统的联邦学习算法假设每个客户端上的私有本地数据是独立同分布(IID)的。然而,在现实世界中,数据通常表现为各种形式的非IID特性,例如特征偏差、标签分布偏差或概念漂移(Kairouz et al., 2021)。在这种情况下,客户端(如设备或组织)持有独特的本地数据集,这可能会削弱传统联邦学习方法的有效性,因为这些方法通常假设客户端之间的数据具有相似性。

由FedAvg学习到的全局模型在单个客户端上的表现可能比客户端独立训练的本地模型更差。这是因为使用IID数据训练的本地模型通常倾向于过拟合,并且在未见样本上泛化能力较差。为了研究数据异质性的影响,McMahan等人(2017)提出在全局范围内共享少量数据以提高模型的泛化能力。然而,这种方法牺牲了隐私,因此无法直接应用于现实场景。

最近,个性化联邦学习(Personalized Federated Learning, PFL)通过从客户端的角度解决联邦学习问题,被认为是应对数据异质性的一种有效方法(Smith, Chiang, Sanjabi, and Talwalkar, 2017;Sui et al., 2020;Zhuang et al., 2020)。如图1所示,传统联邦学习与个性化联邦学习之间存在显著差异。传统联邦学习关注训练一个稳健且通用的全局模型,拥有一致的训练目标;而个性化联邦学习旨在为每个客户端量身定制个性化模型,以满足其特定的本地任务和数据需求。

image-20241224100537722

图1. 联邦学习与个性化联邦学习的区别。(a)联邦学习(Federated Learning, FL)是一种去中心化的机器学习方法,在中央参数服务器的协调下,通过多个本地设备或数据孤岛协作训练全局模型。(b)个性化联邦学习(Personalized Federated Learning, PFL)旨在通过引入全局模型个性化和个体化模型训练机制,克服FL的局限性。

此外,个性化联邦学习还面临模型性能在异质数据上的下降问题。因此,开发个性化联邦学习算法以为每个客户端获得个性化模型,同时通过与其他客户端的通用知识协作保留其特定知识是必要的。

个性化联邦学习的一个挑战在于,从服务器下载的全局模型往往难以为本地模型提供有针对性的指导。知识蒸馏(Knowledge Distillation, KD)可以通过在模型之间进行个性化知识的有针对性传递,来有效地解决这一问题,从而增强个性化联邦学习的性能(Lin, Kong, Stich, & Jaggi, 2020;Sui et al., 2020)。此外,FedGen(Zhu, Hong, & Zhou, 2021)创新性地将知识蒸馏以无数据依赖的方式应用于联邦学习。在服务器端使用一个生成器整合用户信息,并将其传递至客户端以指导本地训练。同样,FedGKT(He, Annavaram, & Avestimehr, 2020)将联邦学习与组知识传递相结合,通过知识蒸馏促进边缘设备与服务器之间的高效双向知识交换。

近年来,知识蒸馏及其变体在个性化联邦学习中的有效性也得到了验证。例如,MDFed(Sun, Shi, Wang, Li, & Si, 2023)提出将知识蒸馏框架与联邦学习相结合,通过基于本地模型贡献迭代更新全局模型,巧妙地解决了数据异质性问题。

个性化联邦学习的主要挑战之一是,在不同客户端数据集上的本地模型性能与在中央服务器上的全局模型性能之间存在矛盾。pFedSD(Jin et al., 2022)表明,全局模型在客户端数据集上的表现通常显著低于本地模型。这种性能差距来源于联邦学习过程中,每轮通信开始时将本地模型初始化为全局模型的重复实践。这种初始化导致本地模型在先前轮次中获得的知识丢失,从而导致性能显著下降。

结果是,客户端可能需要在每轮通信中反复重新训练其本地模型。这一问题在数据异质性加剧或客户端参与率降低的场景中尤为严重。我们认为,个性化联邦学习中每轮之前的初始化过程显著加剧了个性化与泛化之间的不平衡问题。

为了解决这一挑战,Jin等人(2022)提出了一种技术,以减轻全局模型初始化的负面影响。他们通过在客户端上使用传统知识蒸馏方法,将本地模型在私有数据集上从先前轮次获得的知识转移至当前轮次的本地模型。然而,由于传统知识蒸馏在知识传递效率方面的固有限制,这种方法在数据异质性较强的场景中未能充分保持本地模型性能与全局模型性能之间的平衡。

在本文中,我们提出了一种新颖的框架DKD-pFed,通过引入Logits解耦、特征去相关性和自知识蒸馏来增强非IID数据分布下的个性化联邦学习。DKD-pFed的核心思想是自知识蒸馏,这种方法从本地模型本身中提取知识。在训练过程中,每个客户端的模型生成Logits和特征,这些信息捕获了其本地数据中的模式和分布。这种自我蒸馏的过程帮助模型在未见数据上更好地泛化,同时保持对本地数据分布的强个性化。

在联邦学习中,客户端通常将其模型更新(如梯度或模型参数)共享至中央服务器进行聚合。然而,直接共享Logits可能暴露本地数据分布的敏感信息。在DKD-pFed中,采用Logits解耦来选择性地共享对个性化有用的信息,同时避免过多暴露本地数据。这样,客户端可以利用其他客户端的知识,同时保持隐私。

为了进一步增强个性化,DKD-pFed引入了特征去相关性。在非IID设置中,客户端间的特征可能具有不同程度的相关性或重要性。通过去相关性,该框架鼓励本地模型关注对每个客户端特定数据分布最重要的特征,从而帮助模型更好地适应各客户端数据的个性化特征。

通过主要在客户端侧运行并最小化敏感数据的暴露,DKD-pFed为实际中跨客户端数据分布显著变化的应用场景提供了一种隐私保护的解决方案。

本文的主要贡献总结如下:

  • 我们提出了一种结合特征去相关性和Logits解耦的新型PFL框架。该框架从两个不同的维度入手,在个性化与泛化之间实现了更好的平衡。
  • 我们首次将解耦知识蒸馏应用于PFL,解决了个性化知识遗忘问题。
  • 我们在多种真实数据集和设置下,将我们的方法与其他最新的PFL方法进行了比较。实验结果表明,所提方法在客户端个性化模型训练中表现出卓越的效率和鲁棒性。

# 2.相关工作

# 2.1 知识蒸馏

Hinton、Vinyals 和 Dean(2015)提出了知识蒸馏的概念,在此过程中,学生模型不仅通过传统的硬标签进行训练,还利用从教师模型生成的更加柔和且细腻的输出。这一概念与之前提出且广泛应用的机器学习方法——迁移学习(Pan & Yang, 2009)有相似之处。然而,不同于迁移学习主要集中于利用预训练模型在相关任务上的知识来帮助学习新任务,知识蒸馏专注于通过从一个更大、更复杂的教师模型中提炼有价值的知识来提升学生模型的性能。

根据学生模型试图从教师模型学习知识的侧重点,知识蒸馏被分为两种主要方法:基于对数值(logits)的蒸馏和基于特征的蒸馏。前者关注于使学生模型的最终预测(logits)与教师模型的预测对齐,而后者则强调匹配两者之间的中间特征表示。

在基于对数值的蒸馏方法中,Zhang 等人(2018)提出了DML,这是一种新颖的互学习范式,在此范式中,学生和教师网络以协作方式同时进行训练。此方法鼓励网络之间的知识转移,从而实现相互改进。另一项值得注意的研究是TAKD(Mirzadeh 等人,2020),该方法建议利用一个中间教学助理网络来弥合教师网络和学生网络之间的差距。通过这样做,TAKD旨在促进教师与学生之间更平滑且更高效的知识转移,特别是在两者复杂度差异显著的情况下。Zhou 等人(2021)提出了WSLD,通过对软标签分配不同权重来平衡偏差–方差权衡。在此过程中,WSLD旨在缓解教师模型预测中的潜在偏差并提高学生模型的泛化能力。

在基于特征的蒸馏方法中,Romero 等人(2014)提出了FitNet,率先展示了利用中间特征进行知识蒸馏的潜力,直接从教师模型的中间层提取语义信息并将其作为对学生模型的指导。另一种值得注意的方法是Attention Transfer(Zagoruyko & Komodakis, 2016),它超越了单纯的特征匹配,通过将注意力图从教师模型转移到学生模型,使学生能够专注于教师识别为输入数据中重要区域的部分。

尽管上述知识蒸馏技术的改进在提升性能方面展现了很大的潜力,但在联邦学习(FL)框架中可能会带来额外的通信、存储和计算开销。这是因为这些技术通常需要在参与模型之间交换更复杂的信息或表示,从而可能增加整体成本。

# 2.2 非独立同分布(Non-IID)问题在联邦学习中的挑战

非独立同分布(Non-Independent and Identically Distributed, Non-IID)指数据集中样本之间不是独立的,且不共享相同的分布。在实际应用中,Non-IID场景广泛存在。例如,在联邦学习应用于医疗领域时,不同医院的患者类型可能各不相同,从而导致每家医院的数据分布存在差异。例如,一家医院可能主要处理心血管疾病,而另一家医院则专注于神经系统疾病。这些数据集之间的显著差异不可避免地导致全局模型的泛化性能下降。因此,处理Non-IID数据成为机器学习,尤其是分布式和联邦学习领域的一大挑战。

如图1所示,以FedAvg(McMahan 等人,2017)为代表的传统联邦学习在假设数据为独立同分布(IID)场景下表现出了稳健性和可行性。然而,当面对现实中的Non-IID数据分布时,FedAvg模型的性能显著下降。例如,在MNIST数据集上的性能下降了近11%,在CIFAR-10数据集上则接近50%(Wu, He, & Chen, 2020)。

为了缓解由数据异质性引发的问题,研究者提出了多种方法:

  • FedProx(Li 等人,2020)通过引入一个近端项来调整全局模型和本地模型之间的权重距离,从而缓解数据异质性。
  • FedBN(Li, Jiang, Zhang, Kamp, & Dou, 2021)通过采用局部批归一化来解决模型平均前的特征偏移问题。
  • SCAFFOLD(Karimireddy 等人,2020)通过控制变量纠正客户端本地更新中的漂移问题,并消除数据异质性带来的负面影响。
  • FedNova(Wang, Liu, Liang, Joshi, & Poor, 2020)在全局模型更新前,根据每个客户端的本地迭代次数对其本地更新进行归一化和缩放,从而确保全局更新在客户端参与数目或调整次数异质性较高的情况下仍具有无偏性。
  • MOON(Li, He, & Song, 2021)通过模型级对比学习,最大化当前本地模型与全局模型之间表示的一致性,从而缓解Non-IID问题。

尽管上述个性化联邦学习(PFL)算法在解决Non-IID问题上取得了一些进展,但它们对Non-IID数据的假设过于简单,未考虑更复杂的数据异质性形式。此外,尽管这些算法在一定程度上提高了模型性能,但在复杂的Non-IID场景下,其性能提升仍然有限。

表1总结了相关联邦学习算法在通信成本、计算成本以及CIFAR-100数据集上Top-1准确率的表现:

方法 通信成本 (MB) 计算成本 (FLOPs) 准确率 (%) 个性化支持
FedAvg 2.15 906.15G 31.15
FedProx 2.15 906.25G 26.46
MOON 2.15 906.55G 26.98 ✓
FedBN 2.11 906.15G 32.54 ✓
FedNova 2.15 906.15G 26.36 ✓
FedFomo 7.53 951.47G 44.30 ✓
pFedMe 2.15 906.35G 38.02 ✓
pFedSD 2.15 966.56G 51.80 ✓

# 2.3 个性化联邦学习

现有的个性化联邦学习(Personalized Federated Learning, PFL)策略根据不同需求可以分为两大类(Tan, Yu, Cui, & Yang, 2023):

  1. 全局模型个性化(Duan et al., 2020; Jeong et al., 2018; Li, Duan, et al., 2021; Zhao et al., 2018);
  2. 个性化模型学习(He et al., 2020)。

Tan 等(2023)的分类标准基于两个关键因素:(i)解决数据异构性的问题,以及(ii)实现模型个性化。然而,这种分类并非绝对,因为某些个性化模型学习方法也能有效应对数据异构性问题。

在联邦学习中,全局模型个性化的开发可以通过两种主要途径实现:

  • 基于数据的方法;
  • 基于模型的方法。

类似地,个性化模型学习策略涵盖以下两种方式:

  • 基于结构的方法;
  • 基于相似性的方法。

例如,一种数据共享策略建议为每个客户端分配一小部分平衡的全局数据(Zhao et al., 2018)。实证研究表明,通过引入适量的数据补充,可以显著提升模型的精度。

联邦增强(Federated Augmentation, FAug)(Jeong et al., 2018)提出了一种基于联邦增强原则的联邦学习方法。该创新方法通过利用在联邦服务器上训练的生成对抗网络(GAN)模型,解决数据异构性的问题。FAug包含以下步骤:

  1. 从客户端设备传输一个类别多样性较低的数据子集到服务器,用于GAN模型的训练;
  2. 训练后的GAN模型被下发到每个客户端;
  3. 客户端利用GAN模型生成额外的数据以增强本地数据集。

这种迭代过程有效地将初始的非独立同分布(Non-IID)本地数据集转化为独立同分布(IID)数据集。

pFedMe(T. Dinh, Tran, and Nguyen, 2020)通过引入基于客户端损失函数的Moreau包络优化,控制个性化模型与全局模型之间的距离。
FedFomo(Zhang, Sapra, Fidler, Yeung, & Alvarez, 2020)通过提出一种加权策略,比较模型在不同数据集上的损失幅度,从而实现本地模型的个性化。这允许客户端从服务器下载在其本地目标任务上表现良好的模型。
pFedSD(Jin et al., 2022)通过在通信轮次中使用传统的知识蒸馏技术,在客户端模型之间进行知识传递,从而实现本地客户端模型的个性化。

尽管上述个性化联邦学习算法解决了传统联邦学习的一些局限性,但它们仍然涉及一定程度的数据共享或上传,并且为了提高性能引入了复杂的模型结构。因此,这些算法在隐私保护和模型部署可行性方面存在不足之处。

为了提供更清晰的比较,我们将前述研究中使用的代表性算法的通信成本、计算成本和精度汇总于表1。

# 3. 方法

# 3.1 问题描述

本研究的主要目标是在联邦学习环境中为每个客户端开发个性化模型。为此,我们将有监督的多分类任务作为主要任务设置。

在本文中所考虑的联邦学习框架中,假设有 K 个客户端和一个中央服务器。每个客户端 k 仅能访问其本地的私有数据集 Dk,该数据集包含一组输入数据样本 xi 及其对应的标签 yi。具体来说,定义
Dk={(xi,yi)},yi∈{1,2,3,…,C},其中 C 表示类别总数。全局数据集视为所有本地私有数据集的组合,即D={D1,D2,…,DK},总数据样本数表示为D=∑k=1KDk.传统联邦学习的目标是找到一个全局模型 w,以最小化整个数据集 D上的总经验损失:

minwL(w):=∑k=1KDkDLk(w),where,Lk(w)=1Dk∑i=1DkLCE(w;xi,yi).

这里,LCE 是交叉熵损失函数,用于衡量预测值与真实标签之间的差异;Lk(w) 表示第 k 个客户端上的局部损失,而 L(w) 是各客户端局部目标 Lk(w) 的加权平均值。

由于客户端场景中普遍存在非独立同分布(non-IID)数据,本地数据集 Dk 往往具有高度的异构性。这种异构性带来了显著挑战,因为在分布式数据的聚合视图上训练出的全局最优模型 w 可能在客户端的局部目标上表现较差。

为了解决这一问题,我们的研究重点是为每个客户端开发个性化模型 w^k,使其能够有效利用各自独特的数据分布和特性,从而在满足客户端特定需求的情况下提升性能:

min{w^1,w^2,…,w^K}∑k=1KLk(w^k),where,Lk(w^k)=LPFL(w^k;x^i,y^i).

这里,LPFL(⋅) 表示个性化联邦学习算法,D^k:=(x^i,y^i) 表示每个客户端内的私有数据,符合现实场景中数据非IID的特性。算法 1 概述了服务器在联邦学习过程中的角色,包括初始化全局模型参数、协调客户端之间的训练轮次以及聚合每个客户端上传的本地模型参数以更新全局模型。算法 2 则详细描述了每个客户端在每轮训练中执行的步骤,包括接收来自服务器的全局模型参数、利用客户端的私有数据集训练本地模型,以及将更新后的本地模型参数传回服务器进行聚合。

image-20241224105405557

算法 1: DKD-pFed(服务器端)

输入: 参与比例 r,通信轮数 T,客户端集合 S,客户端数量 K。
输出: 全局模型 {wt}t∈[T]。

  1. 初始化 模型 w0。
  2. 对于 t=1,…,T 通信轮数 执行
    3. 从客户端集合 S 中随机抽取一个大小为 r∗K 的客户端子集 St。
    4. 将全局模型 wt 发送给 St 中的所有客户端。
    5. 对于 每个客户端 k∈St 并行执行
    6. w^t+1k← 客户端本地更新 (k,wt)。
    7. 聚合模型参数更新全局模型:wt+2←∑k∈Stw^kt+1|S|

算法 2: DKD-pFed(客户端)

输入: 学习率 η,本地批次大小 B,本地迭代轮数 E,总损失函数 L。
输出: 本地个性化模型 $${w^k}_{k\in[K]}$$。

  1. 过程 客户端本地更新:

  2. 接收全局模型 wt。

  3. 初始化本地模型 wkt+1←wt+1。

  4. 计算本地迭代次数 Ik=⌈DkB⌉。

  5. 对于 i=1,…,E 本地训练轮数 执行

    1. 对于 j=1,…,Ik 本地迭代 执行

    2. 按以下公式更新本地模型:

      wkt+1←wkt+1−η∇L(w^kt,wkt+1;Dk)

  6. 存储个性化模型 wkt+1 为 w^kt+1,并将其作为下一轮的教师模型。

  7. 返回 本地模型 w^kt+1。

# 3.2 联邦学习中的历史知识

在联邦学习的第 t 轮通信中,随机选择一部分客户端进行 E 轮本地训练,其激活率为 r∈(0,1]。被激活的客户端 k 将从服务器接收当前全局模型的迭代版本,作为其初始本地模型。全局模型通过聚合一部分客户端的本地模型组成,这些客户端的选择考虑了其数据分布的多样性。

需要注意的是,最新下载的模型在全局数据分布上的性能优于其在客户端本地偏置数据分布上的性能(Li et al., 2020; McMahan et al., 2017)。Jin 等人(2022)指出,最新下载的全局模型在个性化性能上通常不如前一轮的本地模型。这种性能下降主要是因为在每一轮通信开始时,参与的客户端直接用全局模型替换了本地模型。

在更接近现实的场景中,例如较小的客户端参与率 r、更多的本地训练轮数 E 和更强的数据异质性,性能下降的程度会更加明显。因此,为应对上述情况,我们通过保留历史个性化知识来缓解性能下降。如图 2 所示,为了保留历史个性化知识,我们将客户端 k 在第 t 轮本地训练中获得的本地模型 w^kt 存储起来。这个存储的模型被视为教师模型,用于指导客户端在 t+1 轮中接收到的全局模型 wkt+1。因此,对于客户端 k 的历史知识损失函数 LHK 包含实验损失 LCE 和知识蒸馏损失 LKD:

LHK=LCE(wkt+1)+λLKD(w^kt,wkt+1)

其中,LCE 表示交叉熵损失,LKD 表示历史知识蒸馏损失,超参数 λ 用于平衡当前训练数据中获取的新知识与历史模型中封装的先验知识的重要性。

image-20241224145641892

图2:DKD-pFed工作流程。该图展示了基于解耦知识蒸馏的个性化联邦学习(DKD-pFed)的工作流程。流程包括以下五个步骤:客户端选择和全局模型广播:服务器选择一部分客户端,并将当前全局模型 wt 广播给这些客户端。带有历史知识蒸馏的本地训练:每个被激活的客户端 k 使用接收到的全局模型 wt 初始化本地模型 wkt,然后进行带有历史知识蒸馏的本地训练。存储本地模型作为教师模型:客户端将训练好的本地模型 w^kt 存储下来,作为下一轮训练的教师模型。发送更新后的本地模型到服务器:客户端将更新后的本地模型 w^kt 发送回服务器。服务器聚合全局模型:服务器对所有接收到的本地模型进行聚合,以获得新一轮的全局模型 wt+1。

# 3.3 模型个性化的解耦知识蒸馏

在专门为分类任务设计的知识蒸馏过程中,教师模型不仅传递了区分目标类别所需的核心知识,还传递了区分与目标类别无关的类别所需的关键理解(Huang et al., 2022)。然而,传统知识蒸馏中使用的标准 KL 散度在全面传递这些知识方面存在局限性,尤其是在涉及非目标类别的细微差异时(Zhao 等人,2022)。

如图 2 所示,我们通过对 logits 解耦的知识蒸馏增强了知识传递效率。这种方法将从教师网络 w^kt 和学生网络 wkt+1 中获得的 logits 解耦为与目标类别相关的 pt 和与目标类别无关的 p¬t。

# 3.3.1 数学符号

对于具有 C 类的分类任务,与目标类别 t 相关的概率可以表示为 P=[p1,p2,…,pt−1,pt,pt+1,…,pC],其中 pi(i∈[1,C]) 表示类别 i 的概率,而与目标类别无关的概率可以表示为 P^=[p1,p2,…,pt−1,pt+1,…,pC]。

使用 softmax 函数,每个向量的概率为:

pi=exp⁡(zi)∑j=1Cexp⁡(zj),p^i=exp⁡(zi)∑j=1,j≠tCexp⁡(zj)

其中,zi 表示第 i 类的 logit。目标类别相关的 pt 和目标类别无关的 p¬t 可计算为:

pt=exp⁡(zt)∑j=1Cexp⁡(zj),p¬t=∑s=1,s≠tCexp⁡(zs)∑j=1Cexp⁡(zj).

# 3.3.2 知识蒸馏的重新定义

我们将学生网络 S 表示为 wkt+1,教师网络 T 表示为 wkt。在传统知识蒸馏中,KL 散度被用作损失函数:

LKD=KL(PT∥PS)=ptTlog⁡(ptTptS)+∑i=1,i≠tCpiTlog⁡(piTpiS)

根据公式 (4),我们可以将公式 (6) 分解为:

LKD=ptTlog⁡(ptTptS)+p−tTlog⁡(p−tTp−tS)⏟class-related KL Loss+p−tT∑i=1,i≠tCp^iTlog⁡(p^iTp^iS)⏟class-unrelated KL. Loss

进一步简化公式 (7):

LKD=KL(bT∥bS)+(1−ptT)KL(P^T∥P^S)

其中 b=[pt,p¬t] 是包含目标类别和非目标类别概率的二维数组。公式中,KL(bT∥bS) 表示教师与学生模型目标类别相关知识的相似性,称为目标类别相关知识蒸馏 (TCRKD)。KL(P^T∥P^S) 表示目标类别无关知识的相似性,称为目标类别无关知识蒸馏 (TCUKD)。

因此,公式 (8) 可重写为:

LKD=TCRKD+(1−ptT)TCUKD.

上述公式清楚地揭示了 TCUKD 的权重与 ptT 的耦合关系。

3.3.3. Logits 解耦

在传统知识蒸馏过程中,教师网络对目标类别的预测概率 ptT 通常远高于其他非目标类别的预测概率。因此,相较于目标类别相关的知识蒸馏 (TCRKD),目标类别无关的知识蒸馏 (TCUKD) 在传统知识蒸馏中的比例显著偏低。然而,正如 Huang 等人 (2022) 和 Zhao 等人 (2022) 所指出的,在客户端私有数据集存在显著异质性时,教师网络向学生网络传递关于非目标类别的知识尤为重要。教师网络 w^kt 能够有效传递学生网络kwkt+1 尚未接触到的知识。

因此,我们基于 logits 将 TCUKD 和 TCRKD 解耦,其知识蒸馏损失函数定义为:

LKD(w^kt,wkt+1)=αTCRKD+βTCUKD

通过上述方法,可以通过调整参数 α 和 β 灵活平衡 TCUKD 和 TCRKD 的重要性。

3.4. 特征去相关

Shi、Liang、Zhang、Tan 和 Bai (2022) 观察到,在异质性数据下,局部模型容易发生维度坍缩的现象。该问题指的是特征收敛到低维空间,最终导致模型性能受限。为缓解这种由强数据异质性引发的不良影响并增强模型的鲁棒性,我们在本地模型训练过程中引入了一种正则化项。该正则化项旨在鼓励不同维度特征的去相关化,从而有效缓解局部模型的维度坍缩问题。

所提出的正则化项定义如下:

LFD(wkt+1,xi)=1d2∥M∥F2

其中,M 为本地模型wkt+1 的特征矩阵,d 为特征矩阵的维度,||⋅∥F 为 Frobenius 范数。

上述正则化项通过惩罚局部训练过程中奇异值的方差,防止尾部奇异值坍缩至零,从而实现特征去相关化,有效缓解数据异质性导致的局部客户端模型维度坍缩问题。

因此,结合式 (3) 和式 (11),我们提出的模型的总损失函数可以表示为:

LTotal=LHK+γLFD

其中,γ 是特征去相关正则化项的系数。

# 4. 实验

# 4.1. 实验设置

我们针对图像分类任务,在两种不同的联邦学习(FL)场景中进行全面实验,以全面评估我们方法的有效性。

  1. 第一种场景:小规模场景,客户端数量为 K=20,并设置全客户端参与率$ r=1$,确保所有客户端在每轮通信中都积极参与。
  2. 第二种场景:更具现实性和挑战性的场景,客户端数量为K=100,并设置较低的客户端参与率 r=0.1,模拟实际 FL 部署中经常遇到的动态和稀疏参与。

在这两种场景中,我们均执行了 100 轮通信,确保模型有足够的迭代次数以通过协作知识收敛并学习。在每轮通信中,选定的客户端执行了 15 轮本地训练,从而有足够机会根据其本地数据优化模型。

数据集与任务

我们在不同的图像分类任务上验证了所提模型的性能,相关数据集的统计信息如表 2所示:

数据集 样本数 图像尺寸 标签类别数
FMNIST 70,000 28 × 28 10
CIFAR-10 60,000 32 × 32 10
CIFAR-100 60,000 32 × 32 100
  1. Fashion-MNIST (FMNIST):包含 28 × 28 的灰度图像,图像类别包括衬衫、连衣裙、鞋子和包等,共有 60k 张训练图像和 10k 张测试图像,分布于 10 个类别中。
  2. CIFAR-10:包含 32 × 32 的彩色图像,涵盖 10 类,如飞机、汽车、鸟、猫等,共有 50k 张训练图像和 10k 张测试图像,每类样本数量相同。
  3. CIFAR-100:与 CIFAR-10 类似,但更具挑战性,包含 100 个类别而非 10 个。每类有 500 张训练图像和 100 张测试图像,总计 50k 张训练图像和 10k 张测试图像。

非独立同分布 (non-IID) 设置在联邦学习中,Dirichlet 分布 Dir(α) 广泛用于表征客户端数据的非独立同分布特性(Hsu, Qi, & Brown, 2019),尤其是在涉及异质性客户端数据集的场景中。Dirichlet 分布是一种多元分布,用于表示具有多种类别的随机变量的概率分布。在联邦学习中的应用可以模拟不同客户端之间数据的分布(Lin et al., 2020)。参数 α 控制数据集内标签分布的偏斜程度,较小的 α 值会导致客户端数据之间更高的异质性。

为更好地逼近真实世界中的数据分布,我们对每个数据集采用了 Dirichlet 非独立同分布的数据设置。如图 3所示,通过不同 α 参数的 Dirichlet 分布对 CIFAR-10 数据集进行预处理的结果。

模型结构 基于前文的评估配置(Liang et al., 2020; T. Dinh et al., 2020; Zhang et al., 2020),我们采用以下模型结构:1. FMNIST 数据集:使用简单的卷积神经网络(CNN)架构进行处理。2. CIFAR 数据集:使用包含五层的 CNN 架构进行处理。

# 4.2. Main Results

我们将提出的模型 DKD-pFed 与联邦学习(FL)领域的最新方法(SOTA)进行了对比。基线模型包括非个性化的联邦学习方法(如 FedAvg、FedProx、MOON、SCAFFOLD、FedNova)和个性化的联邦学习方法(如 LG-FedAvg、pFedMe、pFedSD、FedFomo)。以下是对上述基线模型的简要介绍:

非个性化联邦学习方法

  1. FedAvg (McMahan et al., 2017):
    FedAvg 是联邦学习领域最具代表性的算法之一。其核心思想是通过对本地模型参数进行平均,训练出一个全局模型,从而在保护用户数据隐私的同时实现高效的机器学习。
  2. FedProx (Li et al., 2020):
    FedProx 是基于 FedAvg 改进的联邦学习算法。通过引入正则化项,它能够有效抑制模型过拟合,提高模型泛化性能,并更好地应对非 IID 问题,增强模型的鲁棒性。
  3. MOON (Li, He, & Song, 2021):
    MOON 利用模型表示的相似性,通过对比学习校正本地训练中的偏差,从而解决联邦学习中的非 IID 问题。
  4. SCAFFOLD (Karimireddy et al., 2020):
    SCAFFOLD 引入控制变量以缓解不同设备间数据分布差异的影响,从而提升模型的泛化性能。相比 FedAvg,SCAFFOLD 仅需要上传模型参数更新和控制变量,从而降低了通信成本。
  5. FedNova (Wang et al., 2020):
    FedNova 使用归一化平均方法缓解目标不一致问题,同时保持快速的误差收敛。在每次迭代中,设备进行本地训练,并在发送至中央服务器之前对本地模型参数进行归一化。中央服务器收集来自所有设备的参数更新后,执行归一化平均以减少目标不一致。

个性化联邦学习方法

  1. LG-FedAvg (Liang et al., 2020):
    LG-FedAvg 使用参数解耦方法来加速联邦学习的收敛速度。算法核心是将全局模型参数与本地模型参数解耦,并通过平均本地模型参数来更新全局模型参数。
  2. pFedMe (T. Dinh et al., 2020):
    pFedMe 通过基于客户端损失函数的 Moreau 包络优化,控制个性化模型与全局模型之间的距离。
  3. pFedSD (Jin et al., 2022):
    pFedSD 通过采用传统知识蒸馏方法,在不同通信轮次中传递客户端模型间的知识,实现客户端本地模型的个性化。
  4. FedFomo (Zhang et al., 2020):
    FedFomo 引入了一种权重策略,通过比较模型在不同数据集上的损失幅度,使客户端能够从服务器下载在本地目标任务上表现良好的模型。

image-20241224170334947

图 3: 可视化 CIFAR-10 数据集中 10 个客户端的数据异质性,x 轴表示样本数量,y 轴表示类别 ID。

image-20241224170405511

图 4: 客户端的精度分布可视化表明,与其他个性化联邦学习(PFL)模型相比,我们的方法使客户端的精度更集中于高精度区间,这表明了我们算法的公平性和有效性。

# 4.2.1. 模型性能概述

我们探讨了不同的 Dirichlet 分布参数 α 和联邦学习设置对上述模型性能的影响。实验结果(包括 top-1 和 top-5 测试准确率)如表 3 所示。从表 3 中可以明显看出,DKD-pFed 在各种数据集和不同客户端设置下均显著优于其他方法,展示了其卓越的性能和稳健性。值得注意的是,大多数场景中非个性化联邦学习算法的性能较差,这主要归因于它们局限的关注点。这些算法倾向于通过各种技术将客户端优化方向对齐至全局分布,却忽视了增强客户端模型对其本地私有数据集适应性的关键需求。这种忽视限制了它们充分利用多样化数据分布中丰富信息的能力,从而导致性能不佳。

image-20241224172137660

我们推测,FedFomo 在非 IID 设置下表现不佳的原因在于其严格的聚合策略,这限制了其从具有多样化数据分布的其他客户端中有效学习知识的能力。此外,即使是当前最先进的 PFL 算法 pFedSD 也表现不佳,这主要是因为传统知识蒸馏内在的知识传递效率有限。由于客户端间私有数据的异质性,不同客户端的个性化性能可能存在显著差异。

为探讨这些客户端之间模型的公平性,我们通过标准差计算作为衡量模型公平性的指标(参考 Li et al., 2019; T. Dinh et al., 2020),对每个客户端的性能进行详细分析和评估。表 4 显示,我们的模型具有较低的标准差,表明其在所有客户端间的性能分布更加平衡。此外,在图 4 中,我们对所有客户端的整体性能分布进行了详细说明。值得注意的是,DKD-pFed 作为顶级方法,其测试准确率处于高分区间的模型数量最多。同时,它也保持了较高水平的公平性,确保其在各客户端间的性能分布平衡且公正。

image-20241224173406639

# 4.2.2. 模型稳定性分析

通过调整 Dirichlet 分布参数 α,我们研究了数据异质性变化对模型稳定性的影响。表 3 列出了在α=0.5 时两种实验设置下各模型的测试准确率。可以观察到,我们的方法在所有数据集和实验设置中始终获得最佳准确率。这些结果表明,DKD-pFed 在应对数据异质性方面表现出更高的有效性和鲁棒性。

在图 5 中,我们研究了不同参与率 $r = {10%, 50%, 100%} $对每轮通信中模型性能的影响。无论参与率设置如何,我们的方法均显著优于所有基线方法。当参与率 r从 10% 增加到 50% 时,由于每个客户端可能接受更多轮训练,所有方法的准确率均有所提升。然而,当参与率 r 从 50% 增加到 100% 时,一些方法可能因客户端对私有数据的潜在过拟合而导致性能下降。

我们还在其他流行模型架构上进行了实验。我们分别评估了 ResNet-8(He et al., 2016)和 VGG(Simonyan & Zisserman, 2014)(包括 VGG-11、VGG-13 和 VGG-19)。如表 5 所示,我们的方法在这些基线模型上依然表现优越。从实验结果中可以观察到,随着网络模型深度的增加,所有模型的测试准确率均有所提高。在图 6 中,我们比较了传统基于 KD 的 PFL 模型与 DKD-pFed 在 CIFAR100 数据集上深层特征的可区分性。通过对比左右图像,我们可以发现我们的方法表现出更好的分离性。

image-20241224172900030 image-20241224172836014
image-20241224173448680 image-20241224173505490

# 4.2.3. 消融实验

我们进行了消融实验,以验证我们方法中各组件的有效性。此外,鉴于先前研究探索的多种知识传递方法(例如 L2 距离、EWC (Kirkpatrick et al., 2017)、MSE (Boiveau et al., 2018) 和 KL 散度),我们还实证研究了不同知识传递方法的效果。

  • 我们采用 L2 正则化项在教师模型$\hat{w}_k^t 与学生模型与学生模型w_k^{t+1}$ 之间传递知识。
  • 我们在本地训练中应用弹性权重巩固(EWC)正则化方法,以尝试解决本地模型持续学习中出现的灾难性遗忘问题。
  • 我们用均方误差(MSE)正则化替换知识蒸馏中的 KL 散度。
  • 我们在教师模型 w^kt与学生模型 wkt+1之间使用解耦 KL 散度。
  • 我们在本地模型训练过程中利用特征去相关(FD)。

表 6 显示,我们提出的解耦 KL 散度正则化项带来的精度超越了其他正则化方法。此外,当结合特征去相关时,我们的模型达到了最优解,从而进一步证实了我们方法的有效性。

# 5. 讨论

隐私问题
与其他在服务器端利用本地化模型个性化知识来训练全局模型的方法(如 Zhang, Shen, Ding, Tao, & Duan, 2022)相比,DKD-pFed 在用户隐私保护方面表现得更好。这是因为整个个性化过程完全在客户端完成,本地模型的上传和聚合严格遵循传统的联邦学习框架,无需上传客户端的私有数据或数据分布信息,从而有效避免了隐私泄露。

通信成本
DKD-pFed 遵循传统的联邦学习方法,通过上传和下载本地模型与全局模型来进行通信。与其他个性化联邦学习(PFL)算法不同,我们的方法无需上传或下载额外的数据或标签信息。因此,与其他 PFL 算法相比,我们的算法通信开销显著降低。此优势尤其有助于延长资源受限的边缘设备的电池寿命并提高系统效率,使得 DKD-pFed 更适合在此类设备中广泛部署。

# 6. 结论与未来工作

本文提出了一种简单而高效的个性化联邦学习(PFL)框架——DKD-pFed,旨在通过提高历史知识迁移效率来应对边缘设备场景下的数据异质性问题。我们的方法通过将不同轮次的模型分别作为教师网络和学生网络,并利用先进的解耦知识蒸馏策略,实现了个性化历史知识的高效传递。此外,还通过特征去相关性有效解决了数据异质性问题。广泛的实验结果表明,DKD-pFed 在具有不同异质性程度的真实数据集上表现出了卓越的有效性和鲁棒性。

局限性与未来工作
DKD-pFed 的主要局限性如下:

  1. 由于需要在客户端存储前一轮训练的本地模型直到下一轮通信,这会带来额外的存储成本。
  2. 客户端由于执行 logits 解耦和知识蒸馏过程,会导致略高的计算成本。

未来的研究将集中在以下方面:

  • 基于本地模型和全局模型之间的差异,开发自适应的模型存储方法以减少存储成本。
  • 降低知识蒸馏过程的计算成本,进一步提高 DKD-pFed 的效率。

CRediT 作者贡献声明

  • Liwei Su: 原始撰写,数据可视化。
  • Donghao Wang: 可视化,数据整理。
  • Jinghua Zhu: 概念化设计,监督,撰写与编辑审阅。

利益冲突声明
作者声明不存在可能影响本研究报告的已知财务利益或个人关系。

# 致谢

本研究由国家自然科学基金(NSFC)资助,资助编号 82374626。

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

← Knowledge Distillation in Federated Learning:A Practical Guide pFedSD & Personalized Edge Intelligence via Federated Self-Knowledge Distillation→

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