Introduction

传统的Parameter Server(P-S)架构的联邦学习系统尝试训练出一个模型,让它能适用于每一个client的数据分布,这暗含了一个假设,模型的最优解θ∗\theta^*θ∗同时是所有client的最优解,各个client的模型是全等的(congruent)。也就是作者提到的Assumption 1:

显然这个条件不是任何时候都可以得到满足的,作者列举了两种例子:
1)模型fθf_{\theta}fθ​表达能力不够强,无法同时拟合所有client的数据集;
2)各个客户端的数据集的条件分布有差异,φi(y∣x)≠φj(y∣x)\varphi_i(y|x)\neq\varphi_j(y|x)φi​(y∣x)​=φj​(y∣x)。

Figure 1里面的前两张图就是受限于模型的表达能力,第3张图无论模型表达能力再强也无法同时fit两个client的数据。
考虑到这些问题,文章使用了一种称为clustered FL的方法,主要方法就是将任务相似度吻合度较高的客户端构成小的集群,使他们能够更好的协作,同时减少其他客户端带来的负面影响。

Clustered FL

在FL中,Server是无法得到client的数据的,那么应该怎样比较各个client之间的任务相似度呢,这里用到了余弦距离来表示。
假设我们将所有的client划分为两个cluster,我们要学习的目标函数可以定义为

用RRR表示期望风险,rrr表示经验风险,在数据量足够大的情况下,r≈Rr{\approx}Rr≈R。在训练中我们优化F(θ)F(\theta)F(θ)直到∇F(θ)=0\nabla F(\theta)=0∇F(θ)=0。此时,∇a1R1(θ)+a2R2(θ)=0\nabla a_{1}R_{1}(\theta) + a_{2}R_{2}(\theta)=0∇a1​R1​(θ)+a2​R2​(θ)=0。如果θ∗\theta^*θ∗同时是两种期望风险的最优解,那么应该有R1(θ∗)=R2(θ∗)=0R_1({\theta}^{*})=R_2({\theta^*})=0R1​(θ∗)=R2​(θ∗)=0,那么R1R_1R1​和R2R_2R2​是congruent的;抑或是R1(θ∗)≠R2(θ∗)R_1({\theta}^{*}){\neq}R_2({\theta^*})R1​(θ∗)​=R2​(θ∗),也就是Figure 2左图所示的情况

这个时候我们就需要将client进行划分。以上是将client划分为两个cluster的方法,将其扩展为划分为多个cluster,由于实际情况中即使数据分布相同的两个client,在θ∗\theta^*θ∗处的梯度也很难同时为0,为此我们可以分别设置cluster内的余弦距离下界和cluster间的余弦距离上界来将client划分为若干个cluster(越相似,余弦距离越大)。

于是Clustered FL的算法框架也有了:

所有client共同训练得到全局的最优解θ∗\theta^*θ∗,然后将θ∗\theta^*θ∗用于各自的数据计算出此时的梯度,根据梯度将client划分为若干个cluster,每个cluster再循环执行上述算法。算法的描述如下图所示

具体实现上,可以使用Parameter Trees这种树形结构来实现:

这种数据结构的好处是,当有一个新节点加入的时候,可以通过树的分支搜索很快的找到新节点归属于哪一个cluster。

(转载请注明出处)

论文阅读笔记--Clustered Federated Learning:Model-Agnostic Distributed Multitask Optimization Under Privacy相关推荐

  1. 论文阅读笔记:SCAN: Learning to Classify Images without Labels

    论文阅读笔记:SCAN: Learning to Classify Images without Labels 摘要 简介和相关工作 方法 表征学习 语义聚类损失 2.3 通过自标记进行微调 3 实验 ...

  2. 论文阅读笔记——A deep tree-based model for software defect prediction

    本论文相关内容 论文下载地址--Web Of Science 论文中文翻译--A deep tree-based model for software defect prediction 论文阅读笔记 ...

  3. 【阅读笔记】Federated Learning for Privacy-Preserving AI

    Federated Learning for Privacy-Preserving AI 前言 一.论文解析 Definition Categorization Architecture Applic ...

  4. 论文阅读:Personalized Federated Learning with Moreau Envelopes

    论文名字 Personalized Federated Learning with Moreau Envelopes 来源   年份 2021.3.3 作者 Canh T. Dinh, Nguyen ...

  5. 联邦学习-论文阅读-NDSS-FLTrust: Byzantine-robust Federated Learning via Trust Bootstrapping

    1.FLTrust: Byzantine-robust Federated Learning via Trust Bootstrapping 1.概要 拜占庭式的鲁棒联邦学习方法中没有信任的根(即不知 ...

  6. 论文阅读笔记:ProjectionNet: Learning Efficient On-Device Deep Networks Using Neural Projections

    提示:阅读论文时进行相关思想.结构.优缺点,内容进行提炼和记录,论文和相关引用会标明出处. 文章目录 前言 介绍 相关工作 神经投影网络(Neural Projection Networks) Pro ...

  7. 论文阅读笔记《Few-Shot Learning with Global Class Representations》

    小样本学习&元学习经典论文整理||持续更新 核心思想   本文提出一种基于度量学习的小样本学习算法.与其他算法将训练集分成基础类别和新类别,进行两个阶段的训练方式不同,本文将包含大量样本的基础 ...

  8. 论文阅读笔记《Meta-Transfer Learning for Few-Shot Learning》

    小样本学习&元学习经典论文整理||持续更新 核心思想   本文提出一种基于迁移学习的元学习算法(Meta-Transfer Learning,MTL)用于解决小样本学习问题,通过对深层卷积神经 ...

  9. 【论文阅读笔记】Noise2Noise: Learning Image Restoration without Clean Data

    官方代码地址:https://github.com/NVlabs/noise2noise 论文地址:https://arxiv.org/abs/1803.04189   第一次接触这方向,相当于翻译了 ...

最新文章

  1. r语言 col_R语言代码相关疑问标准提问
  2. FPGA之道(15)组合逻辑与时序逻辑、同步逻辑与异步逻辑的概念
  3. 影响架构决策的非功能性需求
  4. 云炬60s看世界20211122
  5. HTML5常用标签~
  6. ue默认高亮mysql_UE设置打开文件的默认高亮语言
  7. hadoop主节点切换_hadoop2.0 HA的主备自动切换
  8. 郑州大学计算机学科导论,郑州大学计算机导论大一试题答案.doc
  9. 野生前端的数据结构基础练习(3)——链表
  10. 学习 ASP.NET MVC (第五回)理论篇
  11. Win11硬盘安装方法介绍 Win11系统硬盘安装教程
  12. 【知识科普】嵌入式软件开发是什么?
  13. 前端的学习之路:初级HTML---图片标签
  14. eplan窗口宏与符号宏是什么_电气设计||Eplan P8 宏功能的应用
  15. prometheus的remote write功能
  16. 掌上英雄联盟服务器维护,掌上英雄联盟更改绑定大区的详细方法
  17. 如何白嫖一个免费的泛域名SSL证书
  18. emlog模板开发基础2022最新指南
  19. 基于SpringBoot调用百度ocr以及企查查接口实现对营业执照信息的提取并识别真伪
  20. java获取微信绑定的手机号码

热门文章

  1. Hybris入门详解一BY.Shaun-sheng
  2. flask---中间件
  3. js案例---相册选择功能
  4. 2021年制冷与空调设备运行操作考试题库及制冷与空调设备运行操作最新解析
  5. 基于C语言的学生信息管理系统_(更新版)_(附源码和安装包)_课程设计_☆*往事随風*☆的博客
  6. 计算机科学征稿,2021第三届人工智能与计算机科学国际会议征稿(检索稳定)...
  7. inc si指令的作用_C|函数调用、汇编指令、栈空间及操作
  8. layer 弹出iframe层
  9. 打包传输结构体或大内存块
  10. keil中解决 ERROR L121: IMPROPER FIXUP问题