现有的大多数方法仅通过限制客户端本地模型更新来解决异构挑战,而忽略了直接全局模型聚合所导致的性能下降。相反,我们提出了一种无数据的知识蒸馏方法来微调服务器中的全局模型(FedFTG),这缓解了直接模型聚合的问题。具体来说,FedFTG通过生成器探索局部模型的输入空间,并利用它将局部模型的知识转移到全局模型。此外,我们提出了硬样本挖掘方案,在整个训练过程中实现有效的知识蒸馏。此外,我们开发了定制的标签采样和类级集成,以最大限度地利用知识,从而隐式地缓解了客户机之间的分布差异。

为了解决数据异质性的挑战,现有的大多数方法,如FedProx [23], SCAFFOLD [18], FedDyn [1], MOON[22],都限制了局部模型更新的方向,以对齐局部和全局优化目标。最近,FedGen[44]学习了一个轻量级生成器来生成伪特征,并广播给客户端来调节本地训练。但这些方法都只是在服务器中进行简单的模型聚合得到全局模型,忽略了局部知识的不兼容性,导致全局模型中的知识遗忘。另外,[37]结果表明,直接聚合模型会大大降低模型的性能,而对模型进行微调可以大大提高模型的精度。这些激励我们使用本地模型中的知识对服务器中聚合的全局模型进行微调。另一方面,仅仅在服务器中聚合局部模型,忽略了服务器中丰富的计算资源,这些资源可以潜在地用于提高FL的性能,例如跨筒仓FL[17]中的计算源。

在这些观察的激励下,我们提出了一种新的方法,通过无数据知识蒸馏(FedFTG)实时微调全局模型来提高标准FL的性能,同时改进模型聚合过程并利用服务器的丰富计算能力。具体来说,FedFTG通过服务器中的辅助生成器对局部模型的输入空间进行建模,然后生成伪数据,将局部模型中的知识转移到全局模型中以提高性能。为了在整个训练过程中进行有效的知识蒸馏,FedFTG在数据分布中迭代探索硬样本,这将导致局部模型与全局模型的预测不一致。图1比较了FedFTG和FedAvg。FedFTG使用硬样本对全局模型进行微调,以纠正模型聚合后的模型移位。生成器和全局模型以无数据的方式进行对抗训练,因此整个过程不会违反FL中的隐私策略。考虑到数据异构场景下标签分布的变化,我们进一步提出了定制的标签采样和类级集成技术,探索客户端的分布相关性,最大限度地利用知识。

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

•我们提出了FedFTG通过无数据蒸馏(data-free distillation)对服务器中的全局模型进行微调,同时增强了模型聚合步骤,并充分利用了服务器的计算能力。

•我们开发硬样本挖掘,以有效地将知识转移到全球模型。此外,我们提出了定制的标签采样和类级集成,以促进知识的最大利用。

•我们证明了FedFTG与现有的本地优化器是正交的,并且可以作为一个强大而通用的插件来增强FedAvg, FedProx, FedDyn, SCAFFOLD和MOON的性能。

•我们验证了FedFTG相对于几种SOTA方法的优越性,包括FedAvg, FedProx, FedDyn, SCAFFOLD, MOON, FedGen和FedDF,在五个基准上进行了广泛的实验。

2. Related Work

联邦学习中的知识蒸馏。在未标记数据集的帮助下,FedDF[25]提出了一种用于模型融合的集成蒸馏,使用局部模型的平均对数训练全局模型。

FedAUX[35]为局部模型找到一个模型初始化,并使用(ε, δ)差分私有确定性评分对局部模型的对数进行加权。FedBE[3]利用局部模型从贝叶斯角度生成一系列全局模型,然后通过集成知识蒸馏将这些模型总结为一个全局模型。所有这些方法都依赖于服务器中未标记的辅助数据集,而辅助数据集与训练数据的关联程度不明确,以保证有效的知识蒸馏。尽管FedDF维护辅助数据集可以用预训练的生成器替换,但它没有实例化如何获取生成器。

无数据知识蒸馏(DFKD)。DFKD方法[2,6]从预训练的教师模型中生成伪数据,并使用它们将教师模型的知识转移到另一个学生模型中。通过最大化假数据对教师模型的响应来生成数据。DeepImpression[32]对教师模型的输出空间进行建模,通过拟合输出空间恢复真实数据。DeepInversion[41]通过正则化中间特征图的分布,进一步优化了伪数据。DAFL[2]和DFAD[6]使用生成器有效地生成数据,其中DAFL通过最大化预测和特征水平上的响应来优化生成器,DFAD使用对抗性训练方案来利用教师知识的有效建模。

FedGen还[44]学习了一个轻量级生成器,以一种无数据的方式集成局部模型的知识,但使用生成器来正则化局部训练。此外,我们设计了硬样本挖掘方案、自定义标签采样和类级集成,在数据异构场景下有效地将知识从局部模型转移到全局模型。

图2。服务器中FedFTG的训练过程。FedFTG在t-th轮接收局部模型并进行聚合后,对抗性地生成硬样本,并通过Lmd将知识传递给聚合的全局模型。利用Lcls和Ldis来提高硬样本的保真度和多样性。此外,FedFTG使用定制的标签采样和类级集成来最大限度地利用知识。

3. Methodology

在本节中,我们将描述提议的新型联邦图2。服务器中FedFTG的训练过程。FedFTG在t-th轮接收局部模型并进行聚合后,对抗性地生成硬样本,并通过Lmd将知识传递给聚合的全局模型。利用Lcls和Ldis来提高硬样本的保真度和多样性。此外,FedFTG使用定制的标签采样和类级集成来最大限度地利用知识。图2。服务器中FedFTG的训练过程。FedFTG在t-th轮接收局部模型并进行聚合后,对抗性地生成硬样本,并通过Lmd将知识传递给聚合的全局模型。利用Lcls和Ldis来提高硬样本的保真度和多样性。此外,FedFTG使用定制的标签采样和类级集成来最大限度地利用知识。学习方法:FedFTG。在每一轮通信中,FedFTG随机选择一组客户端,并将全局模型广播给它们。每个客户机使用全局模型初始化局部模型,并使用局部优化器对其进行训练。服务器收集本地模型,并将它们聚合为初步的全局模型。FedFTG没有直接将聚合的模型广播回每个客户端,而是使用从本地模型中提取的知识在服务器中对这个初步的全局模型进行微调。具体来说,我们开发了一种无数据的知识蒸馏方法,并结合硬样本挖掘,有效地挖掘知识并将其转化为全局模型。考虑到客户端的标签分布变化,我们提出了定制的标签采样和类级集成,以促进更有效的知识利用。图2显示了服务器上的训练过程,对应的算法在算法1和2中进行了总结。注意,FedFTG与优化局部模型训练的努力(如SCAFFOLD、FedAvg、FedProx和FedDyn)是正交的。

3.1. Data-Free Knowledge Distillation With Hard Sample Mining for Global Model Fine-Tuning

然而,在数据异构场景下,局部模型之间存在较大的漂移。因此,传统的局部模型中,Dient平均会丢失知识,更新后的全局模型性能远低于局部模型[45]。为了解决这一问题,我们提出了一种无数据的知识蒸馏方法来对全局模型进行微调,使全局模型能够将知识保存在局部模型中,并尽可能地保持其性能。具体来说,服务器维护一个条件生成器G,生成伪数据来捕获客户端的数据分布,如下所示:

4. Experiments

在本节中,我们实证验证了FedFTG的有效性。我们在第4.1节中总结了实现细节,并在第4.2节中将FedFTG与几种SOTA FL算法进行了比较。为了验证4.3节中FedFTG各组成部分的必要性,进行了消融研究。为了进一步验证FedFTG在真实FL应用中的效果,我们在第4.4节中评估了FedFTG在三个真实数据集上的性能。

基线。我们将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],我们使用标签无线电上的狄利克雷分布Dir(β)来模拟客户端之间的非iid数据分布,其中β越小表示数据异质性越高。在实现过程中,我们设置β = 0.3, β = 0.6。

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

Hyperparameters。对于所有方法,我们设置局部训练epoch的个数E = 5,通信轮T = 1000,客户端数K = 100,活动分数C = 0.1(即|St| = 10)。对于局部训练,批大小为50,权值衰减为1e−3。分类器和生成器的学习率分别初始化为0.1和0.01,并以加权0.998进行二次衰减。CIFAR10的z维度为100,CIFAR100的z维度为256。算法2中的I、Ig、Id分别为10、1、5。如果没有特别声明,我们采用λcls = 1.0和λdis = 1.0,在FedFTG中采用SCAFFOLD作为FL优化器。

4.2. Performance Comparison

测试精度。表1报告了所有比较算法在CIFAR10和CIFAR100数据集上的测试精度。我们在第一线提供集中学习的性能。所有实验随机重复3颗种子。在表1中,FedFTG在所有场景中都达到了最好的性能,超过了第二个场景(即SCAFFOLD)至少1.5%。FedDF还采用无数据知识蒸馏的方法对服务器全局模型进行改进。它优于FedAvg和FedProx,在某些情况下优于FedDyn和MOON,进一步验证了“在服务器中微调全局模型”方案的优越性。但是,它比脚手架和FedFTG差。与FedDF和FedFTG相比,FedGen的精度较低,在某些情况下比FedAvg的性能略有提高。FedDF和FedGen的性能进一步验证了所提模块在FedFTG中的有效性。

在CIFAR10和CIFAR100上,FedFTG分别获得了第二优和最好的结果。此外,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在各种数据异构场景下都是有效的。此外,在极端数据异质性β = 0.2的情况下,FedFTG的精度提高更大。此外,随着数据异构程度的降低,即β的增加,每种方法的准确性都在上升。图5(b)显示了在每个通信回合中,不同活跃客户端分数的FL方法的测试精度。在该图中,FedFTG的性能也是最好的。此外,参与交流的客户端越多,准确率就越高。

4.3. Ablation Study

4.4. Experiments on Real-World Datasets

在本节中,我们在更具挑战性的现实世界数据集上测试了FedFTG的性能——车辆分类数据集MIO-TCD[28]和CompCar[40],以及大规模图像分类数据集mini - imagenet1。为了更好地验证FedFTG的有效性,我们使用了CompCar的监视子集,其中的图像由监控摄像机收集。对于MIO-TCD和Tiny-ImageNet,我们将训练数据分配给100个客户端,而对于CompCar,客户端数量为50个。所有数据集的狄利克雷分布β均为0.6。在训练前,将MIO-TCD和CompCar的图像调整为112 * 112,并采用更深层次的生成器。MIO-TCD、CompCar和Tiny-ImageNet的通信轮分别为50、100和1000。其他设置与章节4.1相同。实验结果见表6。

从该表中,我们发现FedFTG在所有场景下的性能都优于其他方法,验证了FedFTG在FL实际应用中的有效性。

FedDF和FedGen也采用无数据知识生成来改进联邦模型。虽然它们的性能比FedAvg和FedProx高,但FedFTG比它们高1% ~ 6%。这进一步验证了所提出的模块在FedFTG中的有效性。

5. Discussion

隐私问题。由于FedFTG是在服务器端恢复客户端的训练数据,可能会违反FL中的隐私规定。但根据我们的观察,伪数据只捕捉到真实数据的高级特征模式,这是人类无法理解的(见图2)。此外,由于生成器是由所有局部模型训练的,伪数据往往表现出客户端数据的共享特征,这意味着个人数据的属性不会被揭示。在客户端上传数据的标签统计信息也可能会泄露隐私。一个可选的解决方案是向标签统计信息中添加噪声。根据我们的实验,当噪声比小于10%时,其对CIFAR10, β = 0.3设置性能的影响小于0.1%。

沟通成本。与其他方法相比,FedFTG只需要额外传输训练数据的标签统计量(即{nk,y t}k∈St,y∈[1,..,M], M为类号),由此产生的额外传输成本可以忽略不计。如果训练过程中训练数据保持一致,则在训练前就可以将标签统计数据上报给服务器,这样就不会产生额外的传输成本。

的局限性。本工作的主要局限性在于计算效率。由于FedFTG在局部训练的基础上增加了对全局模型的训练,使得整个训练时间比其他方法要长。

在我们的实验中,FedFTG在每一轮通信中所需的时间大约是FedA VG的两倍。此外,由于全局模型训练是在服务器上进行的,FedFTG更适用于[17]中定义的跨竖井FL应用,服务器可以是拥有足够计算源的组织。

6. Conclusion

在本文中,我们提出了一种新的无数据知识蒸馏方法FedFTG来优化全局模型,提高联邦学习的性能。提出了一种硬样本挖掘方案,有效地挖掘局部模型中的知识,并将其转移到全局模型中。面对数据异构场景下标签分布的变化,我们提出了定制的标签采样和类级集成,以获得知识的最大利用率。在五个基准上进行的大量实验验证了所提出的FedFTG的有效性。

通过无数据知识蒸馏优化全局模型,实现非iid联邦学习相关推荐

  1. 【论文翻译_无数据知识蒸馏_元学习_2022】Up to 100× Faster Data-free Knowledge Distillation

    可以参考2021的另一篇解决相似问题的文章(Learning_Student_Networks_in_the_Wild) 摘要 data-free知识蒸馏(DFKD)由于其仅使用人造合成数据压缩模型的 ...

  2. 加速100倍,性能媲美SOTA!浙大提出无数据知识蒸馏新方法FastDFKD

    来源:机器之心 本文共2400字,建议阅读5分钟 本文为你介绍知识蒸馏的新方法. 在无法获取到原始训练数据的情况下,你可以尝试一下这种新型蒸馏算法 FastDFKD,数据合成与现有的生成方法相比,可以 ...

  3. 加速100倍,性能媲美SOTA,浙大提出无数据知识蒸馏新方法FastDFKD

    点击上方"迈微AI研习社",选择"星标★"公众号 重磅干货,第一时间送达 选自|机器之心 在无法获取到原始训练数据的情况下,你可以尝试一下这种新型蒸馏算法 Fa ...

  4. 联邦知识蒸馏概述与思考(续)

    关注公众号,发现CV技术之美 前文([科普]联邦知识蒸馏概述与思考)提到知识蒸馏是一种模型压缩方法,通过利用复杂模型(Teacher Model)强大的表征学习能力帮助简单模型(Student Mod ...

  5. 联邦学习——用data-free知识蒸馏处理Non-IID

    <Data-Free Knowledge Distillation for Heterogeneous Federated Learning>ICML 2021 最近出现了利用知识蒸馏来解 ...

  6. 【AI不惑境】模型压缩中知识蒸馏技术原理及其发展现状和展望

    大家好,这是专栏<AI不惑境>的第十一篇文章,讲述知识蒸馏相关的内容. 进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考.如果说学习是一个从模仿,到追随,到创造的过程,那 ...

  7. 深度学习优化利器:集成、知识蒸馏和自蒸馏

    为什么简单的「集成」便能够提升性能呢?本文是对上述问题的解析,作者解读了来自微软研究院高级研究员朱泽园博士,以及卡内基梅隆大学机器学习系助理教授李远志的最新论文<在深度学习中理解集成,知识蒸馏和 ...

  8. 【深度学习】协同优化器和结构化知识蒸馏

    [深度学习]协同优化器和结构化知识蒸馏 文章目录 1 概述 2 什么是RAdam(Rectified Adam) 3 Lookahead - 探索损失面的伙伴系统=更快,更稳定的探索和收敛. 4 Ra ...

  9. 深度学习精度提升 3 个小妙招:模型集成、知识蒸馏、自蒸馏

    本文转载自 AI公园. 作者:Zeyuan Allen-Zhu 编译:ronghuaiyang 导读 训练好的模型,用自己蒸馏一下,就能提高性能,是不是很神奇,这里面的原理到底是什么呢,这要从模型集成 ...

最新文章

  1. 视频写操作,通道分离与合并
  2. UC伯克利出品,深度强化学习最新课程已上线
  3. 刚发现博客园又遇到了问题
  4. AVL,B,B+,红黑
  5. 远程抄表系统(AMR/AMI)中无线模块选型指南
  6. 动易 dw css不对,动易模板常用CSS修改实际操作技巧
  7. c语言 同时显示正切和余切函数,正切余切函数曲线辅助作图器及其使用方法
  8. 《软件测试》学习目标与计划
  9. 对登录验证功能进行GUI设计
  10. 港科夜闻|沈向洋教授获委任为香港科大校董会主席
  11. [C语言错误]expected declaration or statement at end of input)
  12. Windows10永久关闭Windows Defender
  13. 洛阳理工Linux实验报告,谁来给我抄实验报告啊!这一张又一张写得。。。。
  14. 【JAVA基础】重新系统学习Java(五)案例一
  15. ui设计教程分享:关于Logo设计要素
  16. spark.read.jdbc 并发设置
  17. 系统分析与设计课程知识点总结
  18. IDEA创院理事长沈向洋:人工智能飞速发展之下呈现三大新趋势
  19. Java面向对象程序设计三大支柱--多态
  20. Learning Without Forgetting 笔记及实现

热门文章

  1. Java就业的方向有哪些-隐藏的小职业~~
  2. 技术人攻略访谈三十四-魔豆老黄:何妨吟啸且徐行
  3. JAVA变量的定义及如何定义变量
  4. SDUT OJ 2718
  5. rx580和gtx1060区别大不大选哪个
  6. Android系统编译指南
  7. 【二维练习】多段线PL命令绘制“雨伞”
  8. php 二位数组去掉重复,PHP 二维数组去掉重复值并保持原结构
  9. python返回列表中的最大值(最小值)与其索引
  10. 区块链公司谈区块链未来走向