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

news2025/7/10 7:55:53

文章链接: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.coloradmin.cn/o/1103881.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT 绘制文字轮廓

最近在做文字绘制&#xff0c;需要用到绘制文字轮廓&#xff0c;发现QT里面有自己的解决方案&#xff0c;分享出来&#xff1b; 具体贴代码 #include "mainwindow.h" #include "ui_mainwindow.h" #include <QPainter>MainWindow::MainWindow(QWidg…

Qt (QInputDialog 、QMessageBox、QMessageBox)对话框实战

目录 一、QInputDialog 类(输入对话框) 二、QMessageBox 类(消息框) 三、QMessageBox 类(自定义消息框) 一、QInputDialog 类(输入对话框) QInputDialog 是一个提供输入对话框的 Qt 类。它允许用户输入文本&#xff0c;并提供给用户选择可用选项的选项列表。QInputDialog 可…

Elasticsearch使用——结合MybatisPlus使用ES es和MySQL数据一致性 结合RabbitMQ实现解耦

前言 本篇博客是一篇elasticsearch的使用案例&#xff0c;包括结合MybatisPlus使用ES&#xff0c;如何保证MySQL和es的数据一致性&#xff0c;另外使用了RabbitMQ进行解耦&#xff0c;自定义了发消息的方法。 其他相关的Elasticsearch的文章列表如下&#xff1a; Elasticsear…

ES6 Symbol 数据结构

1. Symbol概念以及引入原因 ES6 引入了的一种新的原始数据类型Symbol&#xff0c;表示独一无二的值。它是 JavaScript 语言的第七种数据类型&#xff0c;前六种是&#xff1a;undefined、null、布尔值&#xff08;Boolean&#xff09;、字符串&#xff08;String&#xff09;、…

政务OA协同办公系统:数字化工具助力政府服务升级

在当今数字化时代&#xff0c;政务OA协同办公系统已经成为政府服务升级的重要工具。通过引入数字化技术&#xff0c;政务OA协同办公系统可以实现高效的信息传递、流程优化以及资源整合&#xff0c;进一步提升政府服务的质量和效率。本文将探讨政务OA协同办公系统的优势及其在数…

【UE5 Cesium】19-Cesium for Unreal 建立飞行跟踪器(4)

遗留问题 在上一篇博客中&#xff08;【UE5 Cesium】18-Cesium for Unreal 建立飞行跟踪器&#xff08;3&#xff09;&#xff09;&#xff0c;我们实现了飞机变速飞行的功能&#xff0c;但是还存在两个问题&#xff0c;分别是&#xff1a; &#xff08;1&#xff09;由于UE的…

三维地图开发三维地图服务器

三维地图开发三维地图服务器 发布时间&#xff1a;2020-03-03 版权&#xff1a; 搭建离线地图服务主要是两个步骤&#xff1a;一是&#xff1a;下载离线地图服务需要的地图数据&#xff1b;二是&#xff1a;将下载的离线地图数据发布成地图服务&#xff1b;只有做好这两步&…

【java零基础入门到就业】第二天:jdk的下载安装和第一个HelloWorld程序

1、java内容概述 java前半部分学习内容主要如下&#xff1a; 1、Java基础语法2、面向对象3、API4、字符串5、集合6、拼图游戏 1.1、 java基础语法 java基础语法主要包括以下内容&#xff1a; Java入门小概念Idea和运算符判断和循环方法数组课后练习题 Java是什么&#xf…

Qt基础 QPieSeries饼状图

目录 1.简单例子 2. 稍微复杂点 QPieSeries Class&#xff1a;饼状图数据 QChart 管理图表系列、图例和轴的图形表示 QChartView 可以显示图表的独立小部件 QPieSeries 在饼图中显示数据 QPieSlice 表示饼图系列中的单个切片&#xff08;其实就是标签&#xff09; 1…

鸿蒙应用开发之HTTP数据请求

一、概述 日常生活中我们使用应用程序看新闻、发送消息等&#xff0c;都需要连接到互联网&#xff0c;从服务端获取数据。例如&#xff0c;新闻应用可以从新闻服务器中获取最新的热点新闻&#xff0c;从而给用户打造更加丰富、更加实用的体验。 那么要实现这样一种能实时从服务…

Python突破浏览器TLS/JA3 指纹

JA3 是一种创建 SSL/TLS 客户端指纹的方法&#xff0c;一般一个网站的证书是不变的&#xff0c;所以浏览器指纹也是稳定的&#xff0c;能区分不同的客户端。 requests库 Python requests库请求一个带JA3指纹网站的结果&#xff1a; import requestsheaders {authority: tls…

P2251 质量检测

题目&#xff1a; P2251 质量检测 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 代码&#xff1a; #include<iostream> #include<cstdio> #include<deque> #include<vector> typedef long long ll; const ll N 1e7; using namespace std;int main…

nocos配置中心使用教程(NACOS 1.X版本)

1.下载和安装 进入到官网下载就好了 解压 启动 2.新建cloudalibaba-config-nacos-client3377 2.1 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://w…

【LeetCode刷题(数据结构与算法)】:链表中的两数相加

给你两个非空的链表&#xff0c;表示两个非负的整数 它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储一位数字 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表 你可以假设除了数字 0 之外&#xff0c;这两个数都不会以 0 开头 示例1&…

数据库如何储存和管理数据的?

文章目录 磁盘IO数据的存储特别的 前言:众所周知,数据库就是一个将各类数据,以表格的形式存储的,但是看似如此简单的功能它是真的简单吗?我们和直接使用简单的Excel建立的表格有区别吗?如果有在哪里? PS&#xff1a;本文以常用的MySQL为例 磁盘IO 在不考虑缓存等机制&#…

【Tent-SSA-BP】基于Tent混沌映射改进的麻雀算法优化BP神经网络回归预测研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

站内全文搜索,怎样能更好找到自己想要的信息?

对于博客或者文档&#xff0c;站内全文搜索是非常重要的功能。现在有许多网站生成器工具可供选择&#xff0c;无论是静态的、带有完整后台的&#xff0c;还是基于低代码或无代码的。但是如今网站往往拥有大量的内容和信息。为了能够快速有效找到所需的信息&#xff0c;无论是通…

黑马JVM总结(三十七)

&#xff08;1&#xff09;synchronized-轻量级锁-无竞争 &#xff08;2&#xff09;synchronized-轻量级锁-锁膨胀 重量级锁就是我们前面介绍过的Monitor enter &#xff08;3&#xff09;synchronized-重量级锁-自旋 &#xff08;4&#xff09;synchronized-偏向锁 轻量级锁…

基于ssm+vue的线上点餐系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

ACU-01B 3HNA024871-001/03 机器人将如何改变世界

ACU-01B 3HNA024871-001/03 机器人将如何改变世界 由于改进的传感器技术以及机器学习和人工智能方面更显著的进步&#xff0c;机器人将继续从单纯的机械机器转变为具有认知功能的合作者。这些进步&#xff0c;以及其他相关领域&#xff0c;正在享受一个上升的轨迹&#xff0c;…