阅读记录【arXiv2020】 Adaptive Personalized Federated Learning

Adaptive Personalized Federated Learning

论文地址: https://arxiv.org/abs/2003.13461

摘要

对联邦学习算法个性化程度的研究表明,只有最大化全局模型的性能才会限制局部模型的个性化能力。在本文中,我们提倡自适应个性化联合学习(APFL)算法,其中每个客户端将训练其本地模型,同时为全局模型做出贡献。我们推导出局部模型和全局模型混合的泛化界限,并找到最佳混合参数。我们还提出了一种有效通信的优化方法来协作学习个性化模型并分析其在平滑强凸和非凸设置中的收敛性。大量的实验证明了我们的个性化模式的有效性,以及已建立的泛化理论的正确性。

adaptive personalized federated learning (APFL)

1. Introduction

仅针对全局模型的准确性进行优化会导致本地客户的泛化能力较差。
根据这些观察结果,为了平衡与其他用户协作的好处和不同用户域之间统计异质性的缺点之间的权衡,本文提出了一种自适应个性化联邦学习(APFL)算法旨在为每个用户学习个性化模型,该模型是最佳局部模型和全局模型的混合。我们从理论上分析了个性化模型对局部分布的泛化能力,依赖于混合参数、局部和全局分布之间的差异以及局部和全局训练数据的数量。为了学习个性化模型,我们提出了一种有效通信的优化算法,该算法在学习过程中利用局部模型和全局模型之间的相关性来自适应地学习模型。如图 1 所示,通过逐步增加多样性,与 FedAvg 和 SCAFFOLD 学习的全局模型相比,所提出的算法找到的个性化模型表现出更好的泛化能力。我们用广泛证实的实验结果补充了我们的理论发现,这些实验结果证明了所提出的个性化模式相对于常用 FO 算法的全局和局部模型的优越性。

federated optimization(FO)

Organization

  • Section 2. relatework
  • Section 3. introduce the APFL & its generalization guarantees
  • Section 4. communication-effcient optimization problem
  • Section 5. convergence rate
  • Section 6. experimental
  • Section 7 & 8. discussion & future work

2. Relate work

联邦学习个性化方法主要分为三类: local fine-tuning. multi-task learning, contextualization

  • local fine-tuning: 每个客户端接收一个全局模型,并使用自己的局部收据和几个梯度下降步骤进行调整。(元学习、域适应、迁移学习)。
  • multi-task learning: 每个客户端的优化可以被视为一个新任务,或者根据某些特征对客户端聚类,将其作为相似任务
  • contextualization: 针对一个客户的不同环境设置个性化模型
  • personalization via model regularization: 模型正则化,通过规范全局模型和局部模型之间的差异来引入不同的个性化方法。(个性化的知识蒸馏)
  • personalization via model interpolation:模型插值

“什么程度的个性化最适合每个客户?” 本文自适应地调整每个客户端地个性化程度来回答这个问题。

PFL personalized fedrated learning

每个客户端都可以访问自己的数据分布Di,对于任何假设h,损失函数定义为l,局部分布的真实风险由 L D i ( h ) = E ( x , y ) ∼ D i [ l ( h ( x ) , y ) ] L_{D_i}(h)=E_{(x,y)\sim D_i}[l(h(x),y)] LDi(h)=E(x,y)Di[l(h(x),y)] 表示。由 L ^ D i ( h ) \hat L_{D_i}(h) L^Di(h)来表示h在分布D_i上的经验风险,用均值 D ˉ \bar{D} Dˉ 表示客户端的平均分布。
与联邦学习相同,全局模型通过训练以最小化相对于分布 D ˉ \bar{D} Dˉ 的经验损失,即 min ⁡ h ∈ H L ^ D ˉ ( h ) \min_{h \in \mathcal{H}} \hat{\mathcal{L}}_{\bar{D}}(h) minhHL^Dˉ(h)

3.1 Personalized model

具有自适应权重的局部模型与全局模型相混合的联合预测模型——个性化模型。
对于全局模型,目标仍然是最小化经验风险。

h ˉ ⋆ = arg ⁡ min ⁡ h ∈ H L ^ D ˉ ( h ) \bar{h}^\star =\arg\min_{h \in \mathcal{H}} \hat{\mathcal{L}}_{\bar{D}}(h) hˉ=arghHminL^Dˉ(h)

对于每个用户的本地模型,则是通过权重 α i \alpha_i αi聚合部分本地模型和部分全局模型,则本地模型的目标为

h ˉ l o c , i ⋆ = arg ⁡ min ⁡ h ∈ H L ^ D ˉ ( α i h + ( 1 − α i ) h ˉ ⋆ ) \bar{h}^\star_{loc,i} =\arg\min_{h \in \mathcal{H}} \hat{\mathcal{L}}_{\bar{D}}(\alpha_i h+(1-\alpha_i)\bar{h}^\star) hˉloc,i=arghHminL^Dˉ(αih+(1αi)hˉ)

最后,第i个个性化模型是 h ˉ ⋆ \bar{h}^\star hˉ h ˉ l o c , i ⋆ \bar{h}^\star_{loc,i} hˉloc,i的凸组合。

h α i = α i h ˉ l o c , i ⋆ + ( 1 − α i ) h ˉ ⋆ h_{\alpha_i}=\alpha_i \bar{h}^\star_{loc,i}+(1-\alpha_i)\bar{h}^\star hαi=αihˉloc,i+(1αi)hˉ

h α i h_{\alpha_i} hαi不一定是经验风险的最小化,因为是在部分合并全局模型的情况下优化了 h ˉ l o c , i ⋆ \bar{h}^\star_{loc,i} hˉloc,i 。大多数情况下,如果在从D_i中提取的训练集上进行评估, h α i h_{\alpha_i} hαi将会产生residual risk

3.2 Generalization guarantees

二分类问题考虑squared hinge loss ‘ ( h ( x ) , y ) = ( m a x 0 , 1 − y h ( x ) ) 2 `(h(x), y) = (max{0, 1 − yh(x)})2 (h(x),y)=(max0,1yh(x))2

回归问题考虑 MSE loss ‘ ( h ( x ) , y ) = ( h ( x ) − y ) 2 `(h(x), y) = (h(x) − y)2 (h(x),y)=(h(x)y)2

定义1. 一对模型间最坏情况的分歧量化。该度量通过计算样本训练集上两个假设之间的最大分歧来衡量假设类的复杂性。(一种全局模型和局部模型泛化误差间的权衡)

在这里插入图片描述

定理1. 前文所提个性化方法的主要结果,由VC维来衡量。的数据量)。会导致全局模型有更好的泛化性,

在这里插入图片描述

泛化风险主要取决于下面三种

  • m(D中提取的数据量):相对于个人用户数量较大,全局模型通常由更好的泛化性。
  • D与D_i间的散度:平均分布与第i个分布的数据异质性,差异过大会导致全局模型损害局部泛化。
  • m_i(D_i提取的数据量):mi一般较小,局部模型的泛化可能很差。

因此应该选一个小的权重 α i \alpha_i αi来包含更多比例的全局模型。

最优最小参数
在这里插入图片描述

RHS (Right-Hand Side),右侧

4 Optimization Method

自动更新权重的自适应算法:将原本的模型分为两阶段优化问题,全局更新共享模型,本地更新用户本地模型。每个本地客户端要解决的问题为:

min ⁡ v ∈ R d f i ( α i v + ( 1 − α i ) w ⋆ ) \min_{\mathcal{v}\in R^d}f_i(\alpha_i v+(1-\alpha_i)w^\star) vRdminfi(αiv+(1αi)w)

其中 w ⋆ = arg ⁡ min ⁡ w F ( w ) w^\star=\arg\min_w F(w) w=argminwF(w) 为全局最优模型。这两个模型间的平衡由 α i \alpha_i αi 控制。

4.1 Local Descent APFL

双层优化算法Local Descent APFL。服务器随机选择一定的K个客户端作为一组U,每个选定的客户端维护三个模型:全局模型w,自己持有的本地模型v,和混合个性化模型v=alphav+(1-alpha)w,选定的客户端在本地对自己的数据更新w和v两个参数

在这里插入图片描述

在本地进行 τ \tau τ轮更新狗后,将各自本地的w发送到服务器,通过均值聚合。

4.2 Adaptive α \alpha α update

在这里插入图片描述
在这里插入图片描述

注意到 α \alpha α的值与个性化版本和本地版本全局模型的差异及设备内个性化模型的梯度间相关性进行更新的。这表明,当全局模型偏离个性化模型时,α值会发生变化,以调整全局模型捕获的所有设备之间的本地数据和共享知识之间的平衡。显然,当个性化模型和全局模型非常接近时(IID 数据),α 值不会发生太大变化。

5 Convergence Analysis

本节对固定 α \alpha α的APFL在强凸和非凸函数上的收敛性进行分析。

定义2:(梯度多样性) 参数化不变量,parameterization-invariant quantities
在这里插入图片描述

定义3:(本地-全局最优性差距)针对强凸,需要以下反应异质性的量
在这里插入图片描述

v和w取决于客户端之间本地数据的分布和loss的几何形状。

假设

在这里插入图片描述

5.1 强凸损失函数

假设

在这里插入图片描述

定理2:(局部下降 APFL 的全局模型收敛)

在这里插入图片描述

定理3:(Local Descent APFL 的个性化模型收敛)
在这里插入图片描述

推论1

在这里插入图片描述

定理4:(局部下降 APFL 的个性化模型收敛,无需假设 αi)
在这里插入图片描述

5.2 非凸损失函数

定义4:(梯度差异)
在这里插入图片描述

6 Experiments

6.1 Setup

  • 基本情况:Azure、PyTorch(with ‘distributed’)、F64s虚拟机、每个节点64个vCPU
  • Datasets:
    • MNIST:每个客户端2类,每个客户端4类,iid
    • CIFAR10:每个客户端2类
    • EMNIST
  • else(除非特殊说明):learning rate 每 iteration 降低1.本地更新10次

6.2 Results

  1. strongly convex loss(带有参数正则化的逻辑回归):不同学习率下的acc和loss对比,iid时fedavg性能更好,noniid时personalized更好。另外更大的学习率对noniid数据集有正面作用。
  2. 还比较了不同的sample ratio下的训练性能,越大性能越好
  3. 自适应 α \alpha α 相较于其它结果
  4. nonconvex loss:Cifar-10 vs FedAvg、SCAFFOLD
  5. Natural heterogeneous data: EMNIST vs FedAvg
  6. Comparison with other personalization methods: EMNIST vs FedAvg、PerAvg、pFedMe

7 讨论

  • 关于文本所提的适应性:当局部分布远离全局分布时,全局模型对本地模型更新帮助较小,因此改变自适应alpha的值,让本地模型的比例更大,可以更好得适应不同本地分布。
  • 面向新节点的个性化(seen task):
    • APFL vs MAML. APFL:不同用户间共享知识,以减少泛化误差;MAML:更关心如何构建元学习器,用更少的样本更快的训练本地个性化模型
    • 实验对比,在训练完全局模型后,增加的新节点上,APFL的性能比FedAvg更好。

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

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

相关文章

鸿蒙 ark ui 轮播图实现教程

前言: 各位同学有段时间没有见面 因为一直很忙所以就没有去更新博客。最近有在学习这个鸿蒙的ark ui开发 因为鸿蒙不是发布了一个鸿蒙next的测试版本 明年会启动纯血鸿蒙应用 所以我就想提前给大家写一些博客文章 效果图 具体实现 我们在鸿蒙的ark ui 里面列表使…

为什么 x86 操作系统从 0x7c00 处开始

0x00:x86 架构 BIOS 引导加载程序中的"0x7C00"之谜 你知道 x86 操作系统中的"0x7C00"这个神奇数字吗 ? "0x7C00" 是BIOS加载MBR(主引导记录,磁盘中的第一个扇区)的内存地址。操作系统或引导加载…

【Java并发】聊聊线程池原理以及实际应用

线程其实对于操作系统来说是宝贵的资源,java层面的线程其实本质还是依赖于操作系统内核的线程进行处理任务,如果频繁的创建、使用、销毁线程,那么势必会非常浪费资源以及性能不高,所以池化技术(数据库连接池、线程池&a…

成为AI产品经理——模型评估概述

目录 一、模型宣讲和评估的原因 二、模型宣讲 三、模型评估 1. 重要特征 ① 特征来源 ②特征意义 2.选择测试样本 3.模型性能和稳定性 一、模型宣讲和评估的原因 刘海丰老师提到他们在做一个金融AI产品未注重模型指标,过于注重业务指标,导致产生…

电力行业的智能调度:数字孪生技术

随着科技的发展,数字孪生技术正逐渐渗透到各个行业领域,其中包括电力行业。数字孪生技术为电力行业带来了前所未有的机遇,使得电力系统的运行更加高效、安全和可持续。本文借用山海鲸可视化软件几个电力行业数字孪生案例探讨数字孪生技术在电…

HCIP数据通信——BGP协议

引言 我之前写过一篇介绍ISIS的文章,我打算把BGP知识总结以后再做实验。那么现在就讲述一下BGP的一些特点和概念。 BGP特点 BGP属于EGP(EGP也是BGP前身,指的是具体协议,被淘汰了成为了BGP),无类协议。 它…

王道p149 9.设树B是一棵采用链式结构存储的二叉树,编写一个把树 B中所有结点的左、右子树进行交换的函数。(c语言代码实现)

本题代码如下 void swap(tree* t) {if (*t){treenode* temp (*t)->lchild;(*t)->lchild (*t)->rchild;(*t)->rchild temp;swap(&(*t)->lchild);swap(&(*t)->rchild);} } 完整测试代码 #include<stdio.h> #include<stdlib.h> typed…

Java之《ATM自动取款机》(面向对象)

《JAVA编程基础》项目说明 一、项目名称&#xff1a; 基于JAVA控制台版本银行自动取款机 项目要求&#xff1a; 实现银行自动取款机的以下基本操作功能&#xff1a;读卡、取款、查询。&#xff08;自动取款机中转账、修改密码不作要求&#xff09; 具体要求&#xff1a; 读卡…

Java 算法篇-深入理解递归(递归实现:青蛙爬楼梯)

&#x1f525;博客主页&#xff1a; 小扳_-CSDN博客 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 递归的说明 2.0 用递归来实现相关问题 2.1 递归 - 阶乘 2.2 递归 - 反向打印字符串 2.3 递归 - 二分查找 2.4 递归 - 冒泡排序 2.5 递归 - 冒泡排序2.0 2.6 递归 - 插…

【腾讯云 HAI域探秘】StableDiffusionWebUI一小时搞定100张设计图

目录 前言一、选择 HAI部署的优势二、HAI 搭建AI绘图服务实现思路三、生成设计图操作流程1、新建HAI应用2、StableDiffusionWebUI&#xff08;1&#xff09;功能介绍&#xff08;2&#xff09;页面转中文&#xff08;3&#xff09;线稿生成图 四、部署StableDiffusionWebUI服务…

【附代码】判断线段是否相交算法(Python,C++)

【附代码】判断线段是否相交算法&#xff08;Python&#xff0c;C&#xff09; 文章目录 【附代码】判断线段是否相交算法&#xff08;Python&#xff0c;C&#xff09;相关文献测试电脑配置基础向量旋转向量缩放向量投影推导 点乘定义推导几何意义 叉乘定义推导几何意义 判断线…

怎样用AIDL Service 传递复杂数据

大家都知道在Android中通过AIDL可以跨进程调用Service中的数据&#xff0c;网上也有很多实例&#xff0c;但是大部分实例都是关于基本数据类型的远程调用&#xff0c;很少讲到复杂数据的调用&#xff0c;今天我用一个例子来演示一下怎样用AIDL Service 传递复杂数据。 我们分2…