【论文 | 联邦学习】 | Towards Personalized Federated Learning 走向个性化的联邦学习

 


 

Towards Personalized Federated Learning

 

 

标题:Towards Personalized Federated Learning

收录于:IEEE Transactions on Neural Networks and Learning Systems (Mar 28, 2022)

作者单位:NTU,Alibaba Group,SDU,HKUST,WeBank

链接:https://arxiv.org/pdf/2103.00710.pdf

 


 

简述:

        本文提供了一个FL的概述,并讨论了PFL的关键动机。

        提出了一种独特的PFL技术分类法,根据PFL中的关键挑战和个性化策略进行分类,并强调了这些PFL方法的关键想法、挑战和机遇。

        最后,讨论了PFL文献中普遍采用的公共数据集和评价指标,并概述了将启发PFL进一步研究的开放问题和方向。

 


 

1. 背景

 

        我们在进入个性化联邦学习(Personalized Federated Learning, PFL)的介绍之前,我们首先抛弃“个性化”这个关键词,回顾联邦学习(Federated Learning, FL):

        什么是联邦学习?为什么要做联邦学习?

 


 

1.1. 联邦学习的背景

 

        在有监督学习中,模型的泛化能力依赖于标注数据的规模。

        虽然我们的世界每天有海量的数据被创造出来,但是他们有这样的特点:

  • 分布的:数据是分散在不同的终端或者数据中心。
  • 打个比方,今天你和你的好友小Y捡到一包辣条,为了庆祝,你们分别用自己的手机和这包辣条进行了合照,这些照片被分布地储藏在你和小Y的手机中,而不是集中的出现在某一人的手机中。在这个场景下手机就是构成了终端,同时同时也可以把每一台手机当成一个数据中心。
  • 隐私的:因为隐私性,端和端(或者数据中心)之间的数据共享变得困难。
  • 同时,法律法规对于数据隐私性的限制也在日益完善,诸如欧盟出台的《General Data Protection Regulation》等。
  • 特别的数据隐私性在医疗场景下收到了诸多关注。还是以上面的例子,或许你也不希望你和辣条的合照出现在第三方平台被用于训练AI模型。
  • 高昂的数据传输成本:海量数据的传输成本是高昂的。

 

        为什么我们不用隐私的数据在每个数据中单独训练一个模型?

        因为一个数据中心的数据规模太小,不足以训练出一个鲁棒的模型。

        把数据收集到同一个数据中心或者云端,虽然可以增大训练数据集的规模,但是数据隐私性和通讯成本的问题没有被解决。

        如下图所示:中心化的训练:分布的数据被上传至云端,共同训练一个模型

        

     

        联邦学习在这个场景下,应运而生。经典的FedAvg首次由Google在2017年提出。

        核心思路就是:隐私的数据不上传至云端,将模型下载到每个数据中心训练后上传到云端进行aggregate,重复上述步骤直到模型收敛。

        保护了分布数据数据隐私性;同时避免了数据的传输,转而使用相对规模更小的模型的传输,节约了计算的通讯开销。

         

         这里对于联邦学习其介绍的目的,可以参考这篇文章: King James:通俗易懂讲解联邦学习

 


 

1.2. 联邦学习的缺陷

 

        联邦学习的成功依赖于一个重要的假设:每个数据中心的数据是独立同分布(IID)。

        还是你和小Y,如果你们分别对于卫L品牌和W龙品牌的辣条随机的进行拍照,产生的照片就不是IID的,因为他们所属的数据分布不同(一个是卫L牌,一个是W龙牌)。实验表明在non-IID的数据上,联邦学习模型的表现非常差[1]。

        

        理想(数据的IID)是美好的,但是现实是骨感的。

        实际场景中,数据通常以 non—IID 形式呈现的,包括如下形式[2]:

  • 特征分布偏斜(feature distribution skew,covariate shift):你和小Y拍的是不同品牌的辣条。
  • 标签分布偏斜(label distribution skew,prior probability shift):你拍的是辣条,小Y拍的是辣子鸡。
  • 相同标签,不同特征(Same label but different features,concept shift):你和小Y拍虽然拍的是同一个品牌的辣条,但是用的滤镜不一样。
  • 相同特征,不同标签(Same features but different label,concept shift)
  • 数量不均,分布不平衡:你每拍100张辣条拍1张辣子鸡;小Y每拍1张辣条就拍100张辣子鸡。

         我们把这些统称为数据的异质性(heterogeneity)。

        在Non-IID设定下,每个数据中心的优化方向不一致,这就好比是每个分力方向迥异,最终的合力就小于每个分力,文献中称之为weight divergence。

        因为weight divergence模型收敛慢,并且泛化能力差。

        PS:感慨一下,这也印证了俗话说的“劲往一处使”,每个client如果各自目标不一致,最终也会造成整体性能的下降。

        

         联邦学习除了对于数据异质性表现差,也缺失了模型(对于本地任务或者数据集的)个性化。比如,通过某水果公司用过联邦学习训练了一个英语版的语音模型Siri Plus,但是其用户需要的不止是英语版,还有是中文版、法文版、韩文版等等的Siri Plus。

 

        个性化联邦学习就是为了解决联邦学习中的:

  • 在异质性强(non-IID)的数据上收敛慢,性能差。
  • 模型对于本地任务或者数据集缺乏个性化。

        个性化联邦学习解决了联邦学习对于non-IID性能的下降。

        包含(1)全局模型个性化;(2)学习个性化模型

         

 


 

2. 个性化联邦学习分类

 

“Towards Personalized Federated Learning”一文将个性化联邦学习(PFL)分为两类:

  1. 全局模型个性化(Global Model Personalization):
    1. 第一阶段,训练一个共享的全局FL模型;
    2. 第二阶段,在本地的数据上进行额外的训练,达到适应个性化的目的。
    3. 在这一类模型中,关注与第一阶段全局FL模型在non-IID数据上的训练能力。
  2. 学习个性化模型(Learning Personalized Model):
    1. 在训练阶段,就达到模型个性化的效果。
    2. 个人理解:区别于上种二阶段的PFL,这一类方法在一阶段就实现了PFL(但这样理解的话似乎把Regularization based的方法归入architecture更合理)。

         

        原文的分类标准是根据(i)解决数据异质性和(ii)达成模型个性化这两个需求进行划分的。但是或许这种划分并不是绝对的:Learning Personalized Models也可也解决数据异质性,反之亦然。

Survey of personalization techniques for federated learning

        一文提供了另一种分类方案,也就是从使用的技术层面对个性化联邦学习进行分类。

 


 

2.1. 全局模型个性化

 

        全局模型个性化目标是解决FL在non-IID数据上训练的难点。

        包含(i)基于数据的方法和(ii)基于模型的方法。

 

2.1.1. 基于数据的方法

        这一类方法目标是消除数据中心之间数据分布不均衡,从而将non-IID转化为IID的设定。

        把未解决的问题(non—IID)reduce到已经解决的问题的设定下(IID),这样就可以通过已经有的方法(FedAvg等FL)进行处理。

 

         

        基于数据的全局模型个性化包含:(1)数据增强;(2)client选择

  1. 数据增强:通过在云端建立proxy dataset 或者通过每个数据中心分享数据获得对整体数据分布的估计。随后在训练共享的用于数据增强的模型(比如对抗生成网络),并下载到每个数据中心用于增强。但是这个方案可能存在数据隐私泄漏的风险。
  2. client(数据中心)选择:比起基于数据增强,这类方法适应与数据异质性更弱一些的设定,目标是提升全局模型的泛化能力。通过在每轮federated epoch最“合适”当前轮次的client进行模型训练。这一类研究的重点就在度量client对于训练状态的“合适”度上。

 

2.1.2. 基于模型的方法

        基于模型的PFL方法包含三类:通过正则化,元学习(meta learning),和迁移学习(transfer learning)。

        这一类方案包含两种优化目标:(i)优化全局FL用于潜在的下游个性化需求;(ii)提升从全局FL模型个性化的表现。

        

  1. 正则化:我是一颗小蘑菇:联邦学习个性化小小小综述 详细地介绍了基于正则化的PFL技术。在优化的全局模型的过程中,同时也训练了每个数据中心本地个性化的模型参数,并且通过正则化项将两部分参数进行关联。
  2. 元学习:元学习和联邦学习有非常相似的数学表述形式。将FL的训练阶段视作为元学习的训练阶段,将FL模型个性化阶段视作为元学习的测试阶段,可以很自然的将元学习模型迁移到个性化联邦学习中。
  3. 迁移学习:首先训练一个全局FL模型,在本地数据上训练一个本地模型,最后通过全局FL模型对于本地模型精调。其目标是降低本地模型和全局FL模型之间的不一致性。

 

         基于全局模型个性化的各类方法的优缺点比较:

         

 


 

2.2. 学习个性化模型

 

        这一类的PFL方法目标是达成个性化的下游任务。包含(i)基于结构和(ii)基于相似度的方案。

 

2.2.1. 基于结构的方法

 

        这类方法通过为每个数据中心设置个性化的结构达到模型个性化的目的。

         

        基于结构的个性化方案。包含参数分解和知识整理。

  1. 参数分解:为每个数据中心设置个性化层,个性化层只在本地训练,而其余的层参数需要上传至云端。这类方法的模型结构是一样的,但是每个数据中心的参数不一样。
  2. 知识蒸馏:通过知识蒸馏进行信息传递,数据中心之间的模型结构可以是不一致的。如上图所示,共有4种知识蒸馏的方向。

 

 2.2.2. 基于相似性的方法

         

        基于相似性的PFL方法:(1)多任务学习;(2)模型差值;(3)聚类

  1. 多任务学习:把联邦学习中的每个数据中心看成是一个任务。
  2. 模型差值:每个数据中心学一个本地模型,通过准许本地模型和全局模型存在一定偏差产生模型的个性化。
  3. 聚类:将数据中心之间聚类,并且对每一个类训练一个模型。

 

        基于学习个性化模型的各类方法的优缺点比较:

        

 


 全文摘录于

个性化联邦学习:综述 - 知乎

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【设计模式-4.1】行为型——观察者模式

说明:本文介绍设计模式中行为型设计模式中的,观察者模式; 商家与顾客 观察者模式属于行为型设计模式,关注对象的行为。以商家与顾客为例,商家有商品,顾客来购买商品,如果商家商品卖完了&#…

go语言学习-并发编程(并发并行、线程协程、通道channel)

1、 概念 1.1 并发和并行 并发:具有处理多个任务的能力 (是一个处理器在处理任务),cpu处理不同的任务会有时间错位,比如有A B 两个任务,某一时间段内在处理A任务,这时A任务需要停止运行一段时间,那么会切换到处理B任…

DockerFile常用保留字指令及知识点合集

目录 DockerFile加深理解&#xff1a; DockerFile常用保留字指令 保留字&#xff1a; RUN&#xff1a;容器构建时需要运行的命令 COPY&#xff1a;类似ADD&#xff0c;拷贝文件和目录到镜像中。 将从构建上下文目录中 <源路径> 的文件/目录复制到新的一层的镜像内的 …

【动态规划】LeetCode-面试题 17.16. 按摩师

&#x1f388;算法那些事专栏说明&#xff1a;这是一个记录刷题日常的专栏&#xff0c;每个文章标题前都会写明这道题使用的算法。专栏每日计划至少更新1道题目&#xff0c;在这立下Flag&#x1f6a9; &#x1f3e0;个人主页&#xff1a;Jammingpro &#x1f4d5;专栏链接&…

vs 安装 qt qt扩展

1 安装qt 社区版 免费 Download Qt OSS: Get Qt Online Installer 2 vs安装 qt vs tools 3 vs添加 qt添加 bin/cmake.exe 路径 3.1 扩展 -> qt versions 3.2

【STM32】STM32学习笔记-新建工程(04)

00. 目录 文章目录 00. 目录01. 创建STM32工程02. STM32工程编译和下载03. LED测试04. 型号分类及缩写05. 工程结构06. 附录 01. 创建STM32工程 【STM32】STM32F103C8T6 创建工程模版详解(固件库) 02. STM32工程编译和下载 2.1 选择下载器位ST-Link Debugger 2.2 勾选上电…

04. 函数

目录 1、前言 2、Python中的函数 2.1、内置函数 2.2、自定义函数 2.3、函数调用 3、函数的参数 3.1、形参和实参 3.2、位置参数&#xff08;Positional Arguments&#xff09; 3.3、默认参数&#xff08;Default Arguments&#xff09;&#xff1a; 3.4、关键字参数&a…

如何为C#WinFrom编译的.exe添加个性化图标

1、在VS中点击菜单栏上的“项目”,找到最下面的属性&#xff0c;单击进去 2、加载自定义的.ico文件&#xff0c;如果没有此格式的文件可以使用此网站去转换&#xff1a;图标制作大师 - 轻松制作网站favicon图标 3、重新编译文件即可

【【水 MicroBlaze 最后的介绍和使用】】

水 MicroBlaze 最后的介绍和使用 我对MicroBlaze 已经有了一个普遍的理解 了 现在我将看的两个 一个是 AXI4接口的 DDR读写实验 还有一个是 AXI DMA 环路实验 虽然是 水文 但是 也许能从中 得到一些收获 第一个是 AXI DDR 读写实验 Xilinx 从 Spartan-6 和 Virtex-6 系列开始…

SSM框架(六):SpringBoot技术及整合SSM

文章目录 一、概述1.1 简介1.2 起步依赖1.3 入门案例1.4 快速启动 二、基础配置2.1 三种配置文件方式2.2 yaml文件格式2.3 yaml读取数据方式&#xff08;3种&#xff09; 三、多环境开发3.1 yml文件-多环境开发3.2 properties文件-多环境开发3.3 多环境命令行启动参数设置3.4 多…

【数值计算方法(黄明游)】函数插值与曲线拟合(一):Lagrange插值【理论到程序】

​ 文章目录 一、近似表达方式1. 插值&#xff08;Interpolation&#xff09;2. 拟合&#xff08;Fitting&#xff09;3. 投影&#xff08;Projection&#xff09; 二、Lagrange插值1. 天书1. 人话拉格朗日插值方法a. 线性插值&#xff08;n1&#xff09;基本思想线性插值与线…

解决uview中uni-popup弹出层不能设置高度问题

开发场景&#xff1a;点击条件筛选按钮&#xff0c;在弹出的popup框中让用户选择条件进行筛选 但是在iphone12/13pro展示是正常&#xff0c;但是切换至其他手机型号就填充满了整个屏幕&#xff0c;需要给这个弹窗设置一个固定的高度 iphone12/13pro与其他型号手机对比 一开始…

智能优化算法应用:基于海洋捕食者算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于海洋捕食者算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于海洋捕食者算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.海洋捕食者算法4.实验参数设定5.算法结果…

工业机器视觉megauging(向光有光)使用说明书(四,轻量级的visionpro)

第三个相机的添加&#xff0c;突然发现需要补充一下&#xff1a; 第一步&#xff0c;假定你对c#编程懂一点&#xff0c;我们添加了一个页面“相机三”在tabcontrol1&#xff1a; 第二步&#xff0c;添加dll到工具箱&#xff1a; 第三步&#xff0c;点击‘浏览’&#xff0c;找…

Web前端JS如何获取 Video/Audio 视音频声道(左右声道|多声道)、视音频轨道、音频流数据

写在前面&#xff1a; 根据Web项目开发需求&#xff0c;需要在H5页面中&#xff0c;通过点击视频列表页中的任意视频进入视频详情页&#xff0c;然后根据视频的链接地址&#xff0c;主要是 .mp4 文件格式&#xff0c;在进行播放时实时的显示该视频的音频轨道情况&#xff0c;并…

Fiddler抓包工具之Fiddler+willow插件应用

安装Fiddler的安装包地址&#xff1a;fillderwillow 解压后安装fiddler4和willow1.4.*版本。 安装成功后&#xff0c;启动fiddler后会出现willow插件按钮&#xff1a; 说明安装成功。 重定向 willow重定向 进入willow界面后&#xff0c;通过右键->Add Project ->Add Ru…

canvas基础:fillStyle 和strokeStyle示例

canvas实例应用100 专栏提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。 canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重要的帮助。 文章目录 上色…

Spring Task 超详解版

目录 一、定时任务的理解 二、入门案例 三、Cron表达式 四、Cron实战案例 五、多线程案例 一、定时任务的理解 定时任务即系统在特定时间执行一段代码&#xff0c;它的场景应用非常广泛&#xff1a; 购买游戏的月卡会员后&#xff0c;系统每天给会员发放游戏资源。管理系…

基于姿态估计的3D动画生成

在本文中&#xff0c;我们将尝试通过跟踪 2D 视频中的动作来渲染人物的 3D 动画。 在 3D 图形中制作人物动画需要大量的运动跟踪器来跟踪人物的动作&#xff0c;并且还需要时间手动制作每个肢体的动画。 我们的目标是提供一种节省时间的方法来完成同样的任务。 我们对这个问题…

EasyMetagenome易宏基因组——简单易用的宏基因组分析流程-来自刘永鑫团队的秘密武器

原仓库地址如下&#xff0c;github有时候无法访问&#xff0c;等一段时间再试就行&#xff1a; YongxinLiu/EasyMetagenome: Easy Metagenome Pipeline (github.com) 相关文章&#xff0c;看文章更清晰这个可干啥&#xff1a; EasyAmplicon: An easy‐to‐use, open‐source…