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

本文主要是介绍【论文 | 联邦学习】 | 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. 聚类:将数据中心之间聚类,并且对每一个类训练一个模型。

 

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

        

 


 全文摘录于

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

这篇关于【论文 | 联邦学习】 | Towards Personalized Federated Learning 走向个性化的联邦学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/450507

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个