PFL-MoE:基于混合专家的个性联邦学习

文章链接:PFL-MoE: Personalized Federated Learning Based on Mixture of Experts

发表会议:APWeb-WAIM 2021(CCF-C)

目录

  • 1.背景介绍
    • 联邦学习
    • non-IID
    • PFL
  • 2.内容摘要
    • 关键技术
      • A.PFL-MoE
      • B.PFL-MF
      • C.PFL-MFE
    • 实验结果
  • 3.文章总结

1.背景介绍

过去几年,深度学习在AI应用领域(CV、NLP、RS)中快速发展,这离不开海量数据集的支持。这些数据集通常是来自不同组织、设备或用户的数据集合。

分布式机器学习(distributed machine learning, DML)则可以利用大量的工作节点协同进行训练,目前已广泛应用于在大容量数据集上训练大规模的神经网络模型。

然而在许多场景中,数据实际上分布在不同的客户端(属于不同的用户),对隐私很敏感,意味着这些数据无法进行共享。此外,随着边缘设备的存储和计算能力的增长,直接在边缘设备上执行学习越来越受青睐。联邦学习(Federated Learning ,FL)的出现很好的适应了这种场景。

联邦学习

第一个FL系统是由谷歌[1,2]开发的,该系统选择了一个可用的智能手机样本,基于边缘服务器架构更新语言预测模型,取得了很好的效果。

联邦学习架构

FL允许大量的客户端(移动电话和IoT设备)一起学习一个全局模型,而不需要数据共享。全局模型是通过迭代平均来自小客户端的模型更新而创建的。每轮FL大致包括三个基本阶段:

  1. FL服务器向每个参与客户端提供全局模型;
  2. 客户端根据其私有数据进行训练,并将更新后的模型返回服务器;
  3. FL服务器通过聚合上传的模型获取最新的全局模型。当训练收敛时,最终的全局模型可以获得与通过池化和共享数据训练的模型相似的性能。

联邦学习目前仍然存在许多挑战,包括隐私问题、通信成本、系统异质性和统计异质性:

  • 隐私问题:虽然联邦学习只用模型参数进行通信,但研究表明,监视模型更新可以反向派生数据,使得隐私保护成为一个重要问题。关于隐私泄露的风险和保护方法已经发表了大量的文献。
  • 通信成本:FL服务器协调参与者进行全局模型的迭代训练,其中上传和下载模型参数需要大量的通信开销。
  • 系统异质性:在联邦设置中,所有边缘设备都可以是客户机。在大多数情况下,这些设备的网络资源较少,不能一直保持在线。
  • 统计异质性:每个客户端的软硬件资源和计算能力相差很大。

这些问题需要联合学习框架来有效地协调和分配客户端。


non-IID

在这里插入图片描述

不同客户拥有的数据在统计上具有多样性。数据在客户端之间的分布是自然的不一致性和non-IID (IID,Independent and Identically Distributed),而且数据量也有很大的偏差。由于non-IID数据会导致模型参数波动较大,延迟甚至破坏收敛性,因此non-IID特征对训练的全局模型的收敛性有很大的影响。

如果考虑隐私保护机制,例如差异隐私,情况会更糟。在相同的全局模型下,不同的客户有很大的准确率差异。在一些客户中,全局模型甚至比本地训练的模型更糟糕。人们需要在模型的泛化性和异质性之间做出一定取舍。

大量实验论证了non-IID对于FL的训练影响,与此同时也有一批non-IID数据构造方法和non-IID数据集不断涌现。

  • Li等人首次证明了广泛应用于联邦学习的FedAvg在non-IID数据分布下的收敛性。
  • Zhao等人提出了一种共享部分全局数据的方法,以缓解客户端之间的数据差异,从而提高全局模型的收敛速度和性能。
  • 在FedProx中,将近端项添加到每个客户端的优化目标中,以限制其更新的漂移,使算法比FedAvg具有更好的鲁棒性和收敛稳定性。
  • 个性化联邦学习则是从客户参与联邦学习的动机出发,以提高non-IID数据分布客户个性化模型的准确性为目标,有效地提高了整体性能。

PFL

在个性化联邦学习(personalized federated learning, PFL)中,每个客户机学习适合自己的数据分发的个性化模型,这比单个全局模型更灵活。为了使联邦全局模型适应于单个客户端,常用的技巧包括微调、多任务学习、知识蒸馏和混合模型。

这些PFL技巧可以有效地改善单个参与者的模型性能,可以做到几乎所有的个性化模型都优于相应的本地训练模型。但个性化总是伴随着泛化性的丢失,具体表现为个性化模型泛化误差的增大。由于客户端只有少量数据,对应的个性化模型可能会与本地数据过度匹配。

在这里插入图片描述
为了解决这个问题,有学者提出了FL+MoE相结合推理范式,具体来说结合了两种模型:在FL+MoE中,所有的客户合作建立一个通用的全局模型,但是维护私有的、适应领域的专家模型。在每个客户端中,全局模型和私有模型分别被视为全局专家和领域专家,它们的输出被Gating Net混合。两种模型的预测比单一全局模型的预测准确得多。


2.内容摘要

受FL+MoE的启发,本文提出了一种个性化的联邦学习方法PFL-MoE,该方法将个性化的模型视为本地专家,并通过MoE模型体系结构将其与联邦全局模型相结合。PFL- MoE是一种通用的方法,可以用现有的PFL算法来实例化。
特别地,本文提出了PFL- MF算法,这是一个基于冷冻(freeze-based,FB)算法的实例。PFL-FB是一种将联邦全局模型应用于单个客户端的有效算法。此外,为了提高门控网络的决策能力,本文对PFL-MF模型结构进行了改进,提出了一种扩展算法PFL-MFE。在各种non-IID 的实验设置中,所提算法的全局精度更高,而局部测试精度与PFL-FB相同甚至更好。

关键技术

A.PFL-MoE

PFL-MoE可以分为三个阶段:

  1. 联邦学习(FL)阶段:遵循传统的FL框架,每个客户参与FL训练。

参数定义:训练客户数量 N;全局模型结构 M G M_{G} MG;全局模型参数 θ ( d 1 ) 维 \theta (d_{1})维 θ(d1)
其中 θ ∈ R d 1 \theta \in \mathbb{R}^{d_{1}} θRd1 and R d 1 ∈ R \mathbb{R}^{d_{1}} \in \mathbb{R} Rd1R
FL的学习目标为:
min ⁡ θ ∈ R d 1 F ( θ ) = 1 N ∑ i = 1 N f i ( θ ) \min_{\theta \in \mathbb{R}^{d_{1}}} F(\theta) =\frac{1}{N} \sum_{i=1}^{N} f_{i}(\theta) θRd1minF(θ)=N1i=1Nfi(θ)
对于每一个 f i f_{i} fi,由于数据分布不同,假设第 i i i 个客户的数据分布定义为 D i \mathcal{D} _{i} Di 则:
f i ( θ ) = E ( x , y ) ∼ D i [ L i ( M G ( θ ; x ) , y ) ] f_{i}(\theta)=\mathbb{E}_{(x,y)\sim\mathcal{D}_{i}} [L_{i}(M_{G}(\theta;x),y)] fi(θ)=E(x,y)Di[Li(MG(θ;x),y)]
其中 L i ( ⋅ ) L_{i}(·) Li()是客户 i i i 的损失函数

  1. 个性化( Personalization) 阶段:每个客户端从FL服务器下载最新的全局模型,然后进行本地适应,以获得基于全局模型和本地数据的个性化模型。

本文选择了基于微调的局部自适应PFL算法PFL- FT来形式化地描述个性化阶段的细节。具体目标是为每个客户端找到一个好的模型参数,定义 F : R d 1 → R F:\mathbb{R}^{d_{1}} \rightarrow \mathbb{R} F:Rd1R为全局损耗:
min ⁡ θ 1 , θ 2 , . . . . , θ N ∈ R d 1 F ( θ 1 , θ 2 , . . . . , θ N ) = 1 N ∑ i = 1 N f i ( θ i ) \min_{\theta_{1},\theta_{2},....,\theta_{N} \in \mathbb{R}^{d_{1}}} F(\theta_{1},\theta_{2},....,\theta_{N}) =\frac{1}{N} \sum_{i=1}^{N} f_{i}(\theta_{i}) θ1,θ2,....,θNRd1minF(θ1,θ2,....,θN)=N1i=1Nfi(θi)
f i ( θ i ) = E ( x , y ) ∼ D i [ L i ( y ^ , y ) ] f_{i}(\theta_{i})=\mathbb{E}_{(x,y)\sim\mathcal{D}_{i}} [L_{i}(\hat{y} ,y)] fi(θi)=E(x,y)Di[Li(y^,y)]
y ^ = M G ( θ i ; x ) \hat{y}=M_{G}(\theta_{i};x) y^=MG(θi;x)
其中 y ^ \hat{y} y^ 是对应于x的输出伪标签。在PFL-FT中, θ i \theta_{i} θi的初值为全局模型参数,由学习率较小的随机梯度下降法(SGD)更新:
θ i = θ i − α ⋅ ▽ f i ( θ i ) \theta_{i}=\theta_{i}-\alpha·\bigtriangledown f_{i}(\theta_{i}) θi=θiαfi(θi)

  1. 混合(Mixing)阶段:通过前两个阶段,客户得到两个模型,一个是个性化模型,另一个是全局模型。在混合专家模型结构的基础上,对门控网络的参数进行训练,使模型结合在一起工作。

混合结果
y ~ = ∑ i = 1 n G ( x ) i ⋅ M i ( x ) , w h e r e ∑ i = 1 n G ( x ) i = 1 \tilde{y} = {\textstyle \sum_{i=1}^{n}} G(x)_{i}·M_{i}(x),where {\textstyle \sum_{i=1}^{n}}G(x)_{i}=1 y~=i=1nG(x)iMi(x),wherei=1nG(x)i=1
定义Gating Net G G G 的参数为 w i w_{i} wi( d 2 d_{2} d2维),门损失函数 p i p_{i} pi
p i ( w i ) = E ( x , y ) ∼ D i [ L i ( y ~ , y ) ] p_{i}(w_{i})=\mathbb{E}_{(x,y)\sim\mathcal{D}_{i}} [L_{i}(\tilde{y} ,y)] pi(wi)=E(x,y)Di[Li(y~,y)]
其中 p i p_{i} pi : R d 1 → R \mathbb{R}^{d_{1}}\rightarrow\mathbb{R} Rd1R y ~ \tilde{y} y~可以表示为:
g = s i g m o i d ( G ( w i ; x ) ) g=sigmoid(G(w_{i};x)) g=sigmoid(G(wi;x))
y ~ = g ⋅ M G ( θ ; x ) + ( 1 − g ) ⋅ M G ( θ i ; x ) \tilde{y}=g·M_{G}(\theta;x)+(1-g)·M_{G}(\theta_{i};x) y~=gMG(θ;x)+(1g)MG(θi;x)
g表示专家模型的混合比例,g为全局的权重,而1 - g为本地专家的权重。门控网络参数更新如下:
w i = w i − β ⋅ ▽ p i ( w i ) w_{i}=w_{i}-\beta·\bigtriangledown p_{i}(w_{i}) wi=wiβpi(wi)


B.PFL-MF

PFL- FB是一种基于冻结参数的局部适应PFL算法,属于PFL-DT的变式,它冻结联邦模型的基层,只微调最上层。根据PFL-MoE的三个步骤,本文提出了利用PFL-FB算法生成的本地专家的PFL-MF算法。

PFL- FB中,全局模型结构 M G M_{G} MG 分为特征提取器 M E M_{E} ME 和分类器 M C M_{C} MC 两部分。定义 M E M_{E} ME M C M_{C} MC的参数分别为 θ E \theta_{E} θE θ C \theta_{C} θC。在PFL-MF中, θ \theta θ 是全局模型参数,对于客户 i i i , ( θ E , θ C i \theta_{E},\theta_{C_{i}} θE,θCi) 由 θ \theta θ 进行初始化,其中 θ E \theta_{E} θE 由所有客户共享, θ C i \theta_{C_{i}} θCi 是是客户 i i i 的个性化分类器参数。
θ C i = θ C i − α ⋅ ▽ f i ( θ E , θ C i ) \theta_{C_{i}}=\theta_{C_{i}}-\alpha·\bigtriangledown f_{i}(\theta_{E},\theta_{C_{i}}) θCi=θCiαfi(θE,θCi)
f i ( θ E , θ C i ) = E ( x , y ) ∼ D i [ L i ( y ^ , y ) ] f_{i}(\theta_{E},\theta_{C_{i}})=\mathbb{E}_{(x,y)\sim\mathcal{D}_{i}} [L_{i}(\hat{y} ,y)] fi(θE,θCi)=E(x,y)Di[Li(y^,y)]
其中 a = M E ( θ E , x ) a=M_{E}(\theta_{E},x) a=ME(θE,x) and y ^ = M C ( θ C ; a ) \hat{y}=M_{C}(\theta_{C};a) y^=MC(θC;a)
在PFL-MF算法的混合阶段中,与上述不同的是,x对应的混合伪标号 y ~ \tilde{y} y~ 记为:
y ~ = g ⋅ M C ( θ C ; a ) + ( 1 − g ) ⋅ M C ( θ C i ; a ) \tilde{y}=g·M_{C}(\theta_{C};a)+(1-g)·M_{C}(\theta_{C_{i}};a) y~=gMC(θC;a)+(1g)MC(θCi;a)

通过对Fashion-MNIST数据集的实验,作者发现PFL-MF能够实现良好的个性化,并保持良好的泛化能力。


C.PFL-MFE

由于简单线性网络的限制,当输入的是比较复杂的高维数据时,门控不能很好地工作。为了解决这个问题,本文提出了利用特征作为门控输入PFL-MFE算法。在卷积神经网络中,基础层负责捕获一般特征,而深层负责分类。直观地说,与原始数据相比,这些特性是门控输入的更好选择。

PFL-MFE算法修改了PFL-MF算法的模型结构,改为以激活 a a a 作为门控输入:
g = s i g m o i d ( G ( w i ; a ) ) g=sigmoid(G(w_{i};a)) g=sigmoid(G(wi;a))


实验结果

表一 :三个Baseline中所有客户端的局部测试精度的平均值,以及所提出的算法
在这里插入图片描述

表二 :所有客户端全局测试精度的平均值:

在这里插入图片描述

在所有实验中,无论是大模型VGG-16还是小模型LeNet-5,局部测试和全局的准确率都低于FedAvg。在本地的CIFAR-10实验中,较大的模型VGG-16的精度特别低,明显低于较小的模型LeNet5。一般来说,模型越深,它的能力限制越高,但是训练需要更多的数据。虽然简单的模型在本地的性能相对较好,但它的局限性使客户更有动力参与联邦学习,以训练更强大的模型。

表二表明,三种PFL算法的平均全局测试精度要高于局部的,这意味着PLF可以有效提高模型在客户端的泛化能力。由表1可知,在α = 0.5时,这三种个性化算法的平均局部测试准确度比FedAvg高出2% ~ 10%。然而,PFL-FB更容易引起过拟合。当相对较大时,PFL-FB更容易对局部数据过度拟合,使得个性化的模型比全局模型更差。

在本文提出的PFL-MF算法中,如果个性化的模型出现恶化,将被门控网络直接丢弃。此外,门控网络已经知道哪些数据适合使用个性化模型,哪些数据需要更多地向全局模型倾斜。因此,PFL-MF更稳定,其局部测试精度始终高于FedAvg。

在FashionMNIST上的实验中,本文提出的PFL-MF算法在两次测试中均优于PFL-FB,表明PFL-MFPFL-FB具有更好的个性化和泛化效果。

在CIFAR-10上的实验中,PFL-MFEPFL-MF更有效,因为门控网络可以利用抽象特征间接做出更好的决策。对于简单的Fashion-MNIST数据集,PFL-MF就足够了。在保持PFL-MF优点的同时,PFL-MFE可以更好地识别复杂的输入数据。这也说明将特征替换直接输入能得到”更牢固“的门控网络模型。

3.文章总结

本文提出了PFL-MoE,一种基于混合专家模型的个性化联邦学习方法。PFL-MoE可以结合个性化模型和全局模型的优点,实现更好的个性化和更好的泛化。作为PFL-MoE的一个实例,PFL-MF在局部测试和全局测试中都比已有的算法PFL-FB表现得更好。实验结果表明,PFL-MFE增强了混合专家模型选通网络的决策能力,能够有效地处理复杂的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/139054.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创新与重塑,佛塑科技打造集团型 CRM 建设标杆

“十四五”时期是我国全面建成小康社会、实现第一个百年奋斗目标之后,乘势而上开启全面建设社会主义现代化国家新征程、向第二个百年奋斗目标进军的第一个五年。 在政府有序推进“十四五”规划的进程中,佛山佛塑科技集团股份有限公司(证券简…

PyTorch 深度学习之循环神经网络(基础篇)Basic RNN(十一)

0.Revision: DNN dense 重义层 全连接 RNN处理带有序列的数据 1. What is RNNs? linear layer 1.1 What is RNN? tanh (-1, 1) 1.2 RNN Cell in PyTorch 1.3 How to use RNNCell *先把维度搞清楚 多了一个序列的维度 2. How to use RNN 2.1 How to use RNN - numLayers…

基于SpringBoot的医疗预约服务管理系统

基于SpringBootVue的医疗预约服务管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 登陆界面 管理员界面 医生界面 会员界面 摘要 基于SpringBoot的…

大模型Agent最新论文及源码合集,覆盖构建、应用、评估

人们对于通用人工智能(AGI)的追求可以追溯到1950 年代中期,当时的AI研究者对机器拥有人类思维能力抱有很高的期望,但是随着研究的深入,他们发现想实现这个目标比最初设想的困难许多。到如今,AGI仍然有很长的…

安防视频监控EasyCVR平台修改默认数据为MySQL,但忘记登录密码该如何解决?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频监控平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录…

机器视觉、图像处理和计算机视觉:概念和区别

机器视觉、图像处理和计算机视觉:概念和区别 机器视觉、图像处理和计算机视觉是相关但有区别的概念。 机器视觉主要应用于工业领域,涉及图像感知、图像处理、控制理论和软硬件的结合,旨在实现高效的运动控制或实时操作。 图像处理是指利用…

QT中使用QVTKOpenGLNativeWidget的简单教程以及案例,利用PCLVisualizer显示点云

先添加一个带有ui的QT应用程序。 一、在ui界面中添加QVTKOpenGLNativeWidget控件 先拖出来一个QOpenGLWidget控件 修改布局如下: 然后将QOpenGLWidget控件提升为QVTKOpenGLNativeWidget控件,步骤如下: 右击QOpenGLWidget窗口,选…

FPGA project : flash_write

本实验重点学习了: flash的页编程指令pp。 在写之前要先进行擦除(全擦除和页擦除); 本实验:先传写指令,然后进入写锁存周期,然后传页编程指令,3个地址; 然后传数据&a…

项目管理之生命周期管理

项目生命周期管理矩阵是项目管理中一个重要的概念,它包括了项目从准备到收尾的各个阶段。项目生命周期管理矩阵以四个主要管理阶段为基础,分别为准备阶段、启动阶段、执行阶段和收尾阶段。这四个阶段在项目管理中有着明确的目标和职责,贯穿了…

软件工程与计算总结(十六)详细设计的设计模式

一.设计模式基础 某种意义上来说,设计模式就是设计经验的总结~ 设计模式不是简单的经验总结,更不是无中生有,它是经过实践反复检验、能解决关键技术难题、有广泛应用前景和能够显著提高软件质量的有效的经验总结。 每个模式都不是独立的&a…

Linux小程序---进度条

一&#xff1a;\r 和 \n \r --- 回车 --- 使光标回到这一行的开头 \n --- 换行 --- 会来到下一行与之平行的位置 缓冲区的问题&#xff1a; <1>: \n 的示例 正常输出 hehehehe 。 <2>: \r 的示例 为了方便观察&#xff0c;加入一个 sleep &#xff08;休眠函数…

爬虫 | 基础模块了解

文章目录 &#x1f4da;http协议&#x1f4da;requests模块&#x1f4da;re模块&#x1f407; re.I 或 re.IGNORECASE&#x1f407;re.M或 re.MULTILINE&#x1f407;re.S 或 re.DOTALL&#x1f407; re.A 或 re.ASCII&#x1f407; re.X 或 re.VERBOSE&#x1f407;特殊字符类…