联邦学习中异构性问题研究进展

admin 2022年12月22日23:25:39评论1,066 views字数 6588阅读21分57秒阅读模式

1 简介

联邦学习是一种非中心化的机器学习机制,它在保护各方数据隐私的前提下,通过全局服务器来迭代聚合各方模型参数,提高整体模型的效果。但是,各方参与者存在以下异构性问题:(1)设备异构性:各方设备的计算,存储,通信能力不一致;(2)数据异构性:各方数据往往是非独立同分布的(Non-IID)(3)模型异构性:各方学习的模型参数不一致。这些异构性问题导致简单的服务器聚合参数模式在效率、效果、隐私保护层面都不能达到一个很好的效果,本文简单梳理了一些针对联邦学习异构性问题的相关工作。

2 异构性问题相关工作

本文粗略将联邦学习异构性解决方案分为4类,分别为改进聚合方式、改进目标函数、基于知识蒸馏和针对图联邦异质性的相关工作。

2.1 改进聚合方式

在数据存在异质性的情况下,直接利用fedavg[1]进行参数聚合会导致性能下降;在模型异质性的情况下,甚至不能直接利用fedavg进行参数聚合,因为每个client的参数都不一致。所以一些工作通过改进聚合方式来处理以上问题。如针对数据异质性和模型异质性的工作 pFedLA [2]和FedProto [3]等。

pFedLA

pFedLA提出了一种更加细粒度的聚合方式来缓解数据异质性问题。受到神经网络的不同层捕捉不同的特征(比如,浅层捕捉局部特征,深层捕捉全局特征)的启发,pFedLA在服务器端分别聚合神经网络不同层的参数。具体的,对于有个客户端,层神经网络的客户端模型,pFedLA学习一个层级权重矩阵:

联邦学习中异构性问题研究进展

在服务端进行按每个客户端的层级参数进行加权聚合:

联邦学习中异构性问题研究进展

其中层级权重矩阵由hypernetwork学习得到,每个客户端都有一个hypernetwork存储在服务器:

联邦学习中异构性问题研究进展

这里是第个客户端需要学习的输入嵌入向量,是相应的hypernetwork的参数。通过最小化损失函数来优化模型:

联邦学习中异构性问题研究进展

最后,pFedLA还进一步通过挑选topk权重的层参数聚合来提高通信效率。

FedProto

受到原型学习的启发,FedProto在服务器端聚合客户端上传的每个类别的原型表示而非模型参数。这样一来,即使每个客户端的模型架构不一样,但仍可以共享类别的原型信息。下图是FedProto的模型示意图:

联邦学习中异构性问题研究进展

可以看出,客户端1和客户端都拥有类别4,所以他们可以通过上传类别4的原型表示来进行协同学习。每个客户端通过一个特征提取层得到样本的表示,再通过预测层得到预测类别结果。其中类别的原型表示由所有此类别的样本表示的平均得到:

联邦学习中异构性问题研究进展

服务器端聚合上传的类别原型表示,得到聚合后的类别原型表示:

联邦学习中异构性问题研究进展

最终损失函数为本地损失和原型学习损失两部分组成:

联邦学习中异构性问题研究进展

在预测阶段,模型选择与原型表示最相近的类别作为输出:

联邦学习中异构性问题研究进展

实验结果也显示,每个类的表示在各个客户端是不一样的,但总体是聚在一起的,这就让模型同时具备了泛化能力和个性化。

2.2 改进目标函数

Fedavg中每个客户端单独训练时容易陷入本地最优,从而和全局的优化目标不一致。改进目标函数的方法大多数是在客户端的目标函数上添加正则项,使得每个客户端的参数优化方向尽量接近全局参数的优化方向,加快收敛速度,接近中心化数据训练的效果。这里主要介绍基于添加正则项的方法FedProx[5]和基于对比学习目标函数的方法MOON[6]。其他代表性工作还有SCAFFOLD [7]和FedDyn [8]等。

FedProx

FedProx在原始FedAvg的基础上添加了一个简单的正则项:

联邦学习中异构性问题研究进展

其中为第轮通信时的全局参数。这个正则项主要由以下两点好处:(1)通过添加正则项使得客户端的参数更新方向更加贴近于原始的(全局)模型参数,而不用手动去设置本地训练轮数。(2)安全地聚合因系统异质性带来的可变数量的客户端参数。

MOON

MOON基于一个简单的想法:在整个数据集上训练比部分数据集上训练能得到更好的特征表示。在每个客户端数据非独立同分布下,本地模型训练的特征表示会发生偏移,所以需要尽量将本地得到特征和全局模型得到的特征进行对齐。MOON通过对比学习,使得本地训练得到的特征表示尽量和全局模型学到的表示相近,而与本地之前轮次学习得到的特征表示相远,对比损失为:

联邦学习中异构性问题研究进展

本地的损失函数为本地的有监督分类损失加上无监督对比损失:

联邦学习中异构性问题研究进展

通过添加对比学习损失,使得本地模型的参数尽量和全局模型相近,但又要进行一定更新,这就有效融合了多方的知识信息。

2.3 基于知识蒸馏

近年来,基于知识蒸馏的方法通过知识蒸馏技术在客户端和服务器端传输知识,显示出了比简单的参数聚合更好的性能。典型方法包括:基于生成特征知识蒸馏FedGEN[9]和生成数据知识蒸馏FedFTG[10]、以及基于历史模型知识蒸馏FedGKD[11]等。

FedGEN

FedGEN提出了一种无数据的知识蒸馏方法, 即不需要代理数据,更加符合现实情况。FedGEN的模型图如下所示:

联邦学习中异构性问题研究进展

FedGEN通过服务端合成数据来对客户端数据进行数据增强,指导客户端模型的训练。具体地,客户端包含特征提取层和预测层,服务器端训练一个生成器,它接受噪音做为输入,输出一个增强表示, 用于客户端接着进行本地训练。对于生成器的训练,需要各个客户端上传预测层的参数,然后服务器端利用这些参数来协同训练生成器的参数:

联邦学习中异构性问题研究进展

这里是预测器的logits输出。是类别分布的经验估计:

联邦学习中异构性问题研究进展

客户端的损失函数包括本地经验损失和增强后的样本的损失:

联邦学习中异构性问题研究进展

通过迭代地学习生成器和本地的模型,客户端就可以通过生成的增强样本来指导本地的训练,相当于本地训练用到了全局的知识,从而解决客户端异质性问题。FedGEN无需用到代理数据,而是通过生成数据的方法做到了无数据知识蒸馏。此外,FedGEN不需要上传整个模型参数,而只需上传预测层的参数,效率更高,而且更大程度保护了隐私。

FedFTG

类似于FedGEN,FedFTG同样适用了生成式的方法来进行无数据知识蒸馏。和FedGEN不同的是,fedFTG生成的是原始数据而不是中间表示

联邦学习中异构性问题研究进展

同时应用于客户端和服务器端以最小化它们之间的KL损失,学习全局参数

联邦学习中异构性问题研究进展

联邦学习中异构性问题研究进展

也被用于最小化本地分类损失以得到一个好的生成器参数

联邦学习中异构性问题研究进展

联邦学习中异构性问题研究进展

但这样会导致生成器得到平凡解(每一类别里的数据都一样),所以为了增加生成数据的多样性。FedFTG增加了一个多样性损失:

联邦学习中异构性问题研究进展

最终为了让生成器生成困难的学习样本(hard sample),以使全局模型得到充分训练,fedFTG使用了对抗训练:

联邦学习中异构性问题研究进展

FEDGKD

FEDGKD的主要思想是将聚合后的历史模型参数知识蒸馏到各个客户端,指导客户端的训练。对于客户端, 这通过在本地交叉熵损失的基础上添加蒸馏损失来实现:

联邦学习中异构性问题研究进展

这里是第轮的全局聚合参数,这种方法叫做全局知识蒸馏。此外,FEDGKD还设计了历史全局知识蒸馏,通过将历史的聚合参数知识蒸馏到本地来实现:

联邦学习中异构性问题研究进展

其中 是过去轮的全局参数的平均。也可以针对每一轮的全局参数都进行计算KL损失:

联邦学习中异构性问题研究进展

2.4 针对图联邦异质性

图数据作为现实世界数据的一种重要表现形式,在联邦场景下被分割成一个个子图,这些子图也呈现出结构和特征异质性的特点。现有的解决方案包括缺失结构和特征生成方法 FedSage [12]、 结构知识共享方法 FedStar [13] 以及 图聚类方法 GCFL [14]等。

FedSage

FedSage通过生成每个客户端缺失的特征和结构来缓解异质性问题。FedSage假设整张大图被分散到各个客户端,每个客户端存放一个子图,并且各个客户端的节点都互相不重合,不同客户端保存的节点之间可能存在边,但这个边在真实环境中是各方都不知道的。任务的目标是节点分类,FedSage采用了graphsage算法来实现基础的节点分类。在联邦场景下,FedSage通过聚合客户端graphsage各层的参数来实现协同学习。对于缺失邻居的生成,进一步提出FedSage+算法,模型流程图如下:

联邦学习中异构性问题研究进展

FedSage+通过随机掩盖掉本地一些节点和相应的边模拟确实情况,同时又能产生标签信息来学习。缺失图通过graphsage得到节点表示,对于每个节点,利用两个全连接网络dGen和fGen来生成它缺失的节点数和特征:

联邦学习中异构性问题研究进展

损失函数为节点数预测损失和特征预测损失之和:

联邦学习中异构性问题研究进展

这里特征真实标签并没有使用真正掩盖掉的特征,而是选择所有掩盖掉的节点特征中,与目标节点特征最相近的做为标签,这里猜测可能是增加多样性和便于收敛。dGen和fGen训练好后,就可以为原始图的节点进行数据增广了(生成新的图)。但是,这样并没有做到跨客户端的缺失节点补全。FedSage+进一步改动特征预测损失为:

联邦学习中异构性问题研究进展

这里即生成的特征既要和本地特征相近(第一项),又要和其他客户单的特征相近(第二项),这样就做到了跨客户端的节点特征生成。这里为了保护隐私,不直接传输特征,而是本地计算相应梯度再进行传输。

FedStar

现存的联邦图学习都是基于特征传递。但是在联邦场景下,由于特征异质性(各个客户端图在不同的特征空间),直接进行参数聚合可能比本地训练的效果还差。FedStar的主要思想是,不同领域的图数据再结构上是存在共性的,可以通过共享这种结构知识而不是特征知识来提升联邦图学习的效果。FedStar在学习节点表示的时候将特征和结构进行解藕,对于图结构嵌入,FedStar为每个节点提出两种结构特征并作为初始嵌入表示,然后经过逐层聚合得到结构特征表示;对于图特征嵌入,FedStar以节点原始特征作为初始嵌入表示,逐层聚合过程中将每层的图结构特征进行拼接。最终FedStar拼接图结构嵌入和图特征嵌入,然后经过readout层得到图表示做图分类。本地损失函数为:

联邦学习中异构性问题研究进展

其中为图特征编码器参数,为图结构编码器参数。在服务器端,为了结构知识共享,只聚合结构编码器参数:

联邦学习中异构性问题研究进展

实验结果表明,解藕表示学习对效果的影响比较大,协同训练的效果提升没那么大。这也说明了在有特征的情况下,本地图模型已经能达到一个比较好的效果。

GCFL

GCFL设计了一套评估图数据结构和特征异质性的方案,并发现不同领域的图数据在结构和特征层面存在异同。鉴于此,GCFL提出使用聚类的方法进行参数聚合,即只将相似的客户端的参数进行聚合,来进行协同的图分类任务。具体的,GCFL根据客户端每轮上传的梯度动态地对客户端进行聚类。它设计了两个准则:(1)如果上传的最大的梯度大于某个值,则需要继续在这个簇中继续聚类。原因是在异质性比较强的情况下,有些客户端还没有被很好训练,就会梯度比较大,应该继续聚类减小异质性。(2)同理,如果所有客户端上传的梯度和小于某一个值,则停止聚类。同时,实验中可以观察到,客户端上传的梯度尺度不一致,并且波动比较大,某时刻的梯度可能并不能很好反映客户端的真实梯度状况,所以本文又提出了GCFL+,不再比较某一时刻的梯度,而是利用DTW来比较某段时间的梯度进行聚类。可以发现,经过这样的处理,可以正确地把相似的客户端聚在一起:

联邦学习中异构性问题研究进展

3 总结

本篇文章简单梳理了一些典型的联邦学习异质性方面的工作。这些工作通过改进聚合方式,改进目标函数,利用知识蒸馏等方法来处理各个客户端数据异质性的问题,一些工作也专门针对于图数据的联邦异质性做了研究。在现实联邦场景中,数据的异质性问题会更加突出,可能需要一些新的架构来进行有效处理,同时,也要充分考虑隐私保护、效率、个性化等其他重要因素。

4 参考文献

[1] McMahan B, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data[C]//Artificial intelligence and statistics. PMLR, 2017: 1273-1282.

[2] Ma X, Zhang J, Guo S, et al. Layer-wised Model Aggregation for Personalized Federated Learning[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 10092-10101.

[3] Tan Y, Long G, Liu L, et al. Fedproto: Federated prototype learning across heterogeneous clients[C]//AAAI Conference on Artificial Intelligence. 2022, 1: 3.

[5] Li T, Sahu A K, Zaheer M, et al. Federated optimization in heterogeneous networks[J]. Proceedings of Machine Learning and Systems, 2020, 2: 429-450.

[6] Li Q, He B, Song D. Model-contrastive federated learning[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 10713-10722.

[7] Karimireddy S P, Kale S, Mohri M, et al. Scaffold: Stochastic controlled averaging for federated learning[C]//International Conference on Machine Learning. PMLR, 2020: 5132-5143.

[8] Acar D A E, Zhao Y, Navarro R M, et al. Federated learning based on dynamic regularization[J]. arXiv preprint arXiv:2111.04263, 2021.

[9] Zhu Z, Hong J, Zhou J. Data-free knowledge distillation for heterogeneous federated learning[C]//International Conference on Machine Learning. PMLR, 2021: 12878-12889.

[10] Zhang L, Shen L, Ding L, et al. Fine-tuning global model via data-free knowledge distillation for non-iid federated learning[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 10174-10183.

[11] Yao D, Pan W, Dai Y, et al. Local-Global Knowledge Distillation in Heterogeneous Federated Learning with Non-IID Data[J]. arXiv preprint arXiv:2107.00051, 2021.

[12] Zhang K, Yang C, Li X, et al. Subgraph federated learning with missing neighbor generation[J]. Advances in Neural Information Processing Systems, 2021, 34: 6671-6682.

[13] Tan Y, Liu Y, Long G, et al. Federated Learning on Non-IID Graphs via Structural Knowledge Sharing[J]. arXiv preprint arXiv:2211.13009, 2022.

[14] Xie H, Ma J, Xiong L, et al. Federated graph classification over non-iid graphs[J]. Advances in Neural Information Processing Systems, 2021, 34: 18839-18852.


本期责任编辑:杨成
本期编辑:刘佳玮

北邮 GAMMA Lab 公众号
主编:石川
责任编辑:王啸、杨成
编辑:刘佳玮

长按下图并点击“识别图中二维码

即可关注北邮 GAMMA Lab 公众号

联邦学习中异构性问题研究进展

原文始发于微信公众号(北邮 GAMMA Lab):联邦学习中异构性问题研究进展

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月22日23:25:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   联邦学习中异构性问题研究进展http://cn-sec.com/archives/1478624.html

发表评论

匿名网友 填写信息