FLMix: 联邦学习新范式——局部和全局的结合

文章链接:Federated Learning of a Mixture of Global and Local Models

发表期刊(会议): ICLR 2021 Conference(机器学习顶会)

目录

  • 1. 背景介绍
  • 2. 传统联邦学习
  • 3. FL新范式
    • 理论逻辑
    • 重要假设
    • 解的特性

本博客从优化函数角度出发,学习传统联邦学习 ◊ \Diamond 和 新型联邦学习 ♣ \clubsuit 的差异

1. 背景介绍

菲利普和彼得两位学者在阿卜杜拉国王科技大学发表的一篇文章中,对于联邦学习(Federated Learning)和混合专家(MoE)的结合进行了早期的数理讨论。

有意思的是这两位学者的研究动机是为了保护自己的移动设备数据不外露的同时,还可以用这些数据进行机器学习。他们给了两个很简单的理由。

  • First, many device users are increasingly sensitive to privacy concerns and prefer their data to never leave their devices.
  • Second,moving data from their place of origin to a centralized location is very inefficient in terms of energy and time.

    一个理由是不安全,还有一个理由是不方便。

2. 传统联邦学习

目前为止,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 ( θ ) \Diamond \quad \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 [ f ( x , ξ ) ] f_{i}(\theta)=\mathbb{E}_{(x,y)\sim\mathcal{D}_{i}} [f(x,\xi)] fi(θ)=E(x,y)Di[f(x,ξ)]
其中 L i ( ⋅ ) L_{i}(·) Li()是客户 i i i 的损失函数

求解 F ( θ ) F(\theta) F(θ) 最流行的方法是FedAvg算法,在FedAvg最简单的形式中,即当不使用部分参与、模型压缩或随机近似时,FedAvg缩减为局部梯度下降(LGD)。这是GD在聚合之前对每个设备执行多个梯度步长的扩展。

FedAvg已被证明在经验上是有效的,特别是对于非凸问题(存在多个局部极小值的问题)。但在数据异质时,与非本地对应的算法相比,FedAvg收敛保证较差

FL 虽然已经有了诸多理论证明其可行性,但是它的最终结果是全局性的,我们需要思考,对于那些数据异构的个体而言,使用全局方案解决个体问题效用一定好吗

答案是否定的,数据异构性不仅对设计新的训练方法来解决 ◊ \Diamond 提出了挑战,而且不可避免地对这种全局解决方案对个人用户的效用提出了质疑。事实上,在所有设备的所有数据中训练的全局模型可能会从个人用户体验的典型数据和使用模式中删除,以至于使其几乎无用。


3. FL新范式

本文提出了一种新的训练联邦学习模型的优化公式。标准FL旨在从存储在所有参与设备上的私人数据中找到一个单一的全局模型。相比之下,新方法寻求全局模型和局部模型之间的权衡,每个设备可以从自己的私有数据中学习而无需通信。

本文开发了有效的随机梯度下降(SGD)变体来求解新公式,并证明了通信复杂性的保证。该工作的主要贡献包括结合全局和局部模型的FL新范式新范式的理论性质无环路局部梯度下降(L2GD)L2GD的收敛理论以及对局部步骤在联邦学习中的作用的见解。该文件还强调了本地SGD在通信复杂性和个性化联邦学习的好处方面优于传统SGD的潜力

本文提出的训练监督联邦学习新范式如下:

♣ min ⁡ x 1 , . . . , x n ∈ R d { F ( x ) : = f ( x ) + λ ψ ( x ) } f ( x ) : = 1 n ∑ i = 1 n f i ( x i ) ψ ( x ) : = 1 2 n ∑ i = 1 n ∥ x i − x ‾ ∥ 2 \clubsuit \quad \min_{x_1,...,x_n \in \mathbb{R}^d } \{ F(x): = f(x)+ \lambda \psi (x)\} \\ f(x):=\frac{1}{n}\sum_{i=1}^{n} f_i(x_i) \\ \psi (x) := \frac{1}{2n}\sum_{i=1}^{n} \left \| x_i-\overline{x} \right \| ^2 x1,...,xnRdmin{F(x):=f(x)+λψ(x)}f(x):=n1i=1nfi(xi)ψ(x):=2n1i=1nxix2 其中 λ ≥ 0 \lambda \ge0 λ0 是一个惩罚超参, x 1 , . . . , x n ∈ R d x_1,...,x_n \in \mathbb{R}^d x1,...,xnRd 是本地模型参数 , x : = ( x 1 , x 2 , . . . , x n ) ∈ R n d x:=(x_1,x_2,...,x_n) \in\mathbb{R}^{nd} x:=(x1,x2,...,xn)Rnd 并且 x ‾ : = 1 n ∑ i = 1 n x i \overline{x}:=\frac{1}{n}\sum_{i=1}^{n}x_i x:=n1i=1nxi 是所有本地模型的平均值。

文章假设由 f i f_i fi 得到的 F F F 是一个强凸函数。 凸函数是二阶导始终为正(负)的函数,局部最小值即为全局最小值。对于 ◊ \Diamond 有一个唯一的解。这个解可以表示为:
x ( λ ) : = ( x 1 ( λ ) , . . . , x n ( λ ) ) ∈ R n d x(\lambda ):=(x_1(\lambda),...,x_n(\lambda))\in\mathbb{R}^{nd} x(λ):=(x1(λ),...,xn(λ))Rnd接着可以计算 x ‾ ( λ ) : = 1 n ∑ i = 1 n x i ( λ ) \overline{x}(\lambda):=\frac{1}{n}\sum_{i=1}^{n} x_i(\lambda) x(λ):=n1i=1nxi(λ)


理论逻辑

所提范式 ♣ \clubsuit 的理论逻辑:

  • Local models ( λ = 0 \lambda=0 λ=0) :此时模型退化为局部模型,只需要将本地损失降到最低,即求解 min ⁡ x i ∈ R d f i ( x i ) \min_{x_i \in \mathbb{R}^d } f_i(x_i) xiRdminfi(xi)也就是说, x i ( 0 ) x_i(0) xi(0) 仅基于存储在设备 i i i 上的数据 D i D_i Di 的局部模型。该模型可以由设备 i i i 计算,而无需任何通信。通常情况下, D i D_i Di 不够丰富,无法使用此本地模型。为了学习更好的模型,还必须考虑其他客户的数据。然而,这存在沟通成本。
  • Mixed models ( λ ∈ ( 0 , ∞ ) \lambda\in(0,\infty) λ(0,)):随着 λ \lambda λ 的增加,惩罚 λ ψ ( x ) \lambda \psi (x) λψ(x) 的效果越来越明显,需要沟通以确保模型不会太不相似,否则惩罚 λ ψ ( x ) \lambda \psi (x) λψ(x) 会增大。
  • Global model ( λ = ∞ \lambda=\infty λ=):现在我们来看 λ → ∞ λ→∞ λ 的极限情况。直观上,这种极限情况应该迫使最优局部模型之间是相同的,同时最小化损失 f f f,即让 ψ ( x ) → 0 \psi(x) \rightarrow0 ψ(x)0 ψ ( x ) : = 1 2 n ∑ i = 1 n ∥ x i − x ‾ ∥ 2 \psi (x) := \frac{1}{2n}\sum_{i=1}^{n} \left \| x_i-\overline{x} \right \| ^2 ψ(x):=2n1i=1nxix2此时,这种情况有一个特殊的极限解: min ⁡ { f ( x ) : x 1 , . . . , x n ∈ R d , x 1 = ⋯ = x n } \min\{ f(x):x_1,...,x_n\in \mathbb{R}^d ,x_1=\cdots=x_n \} min{f(x):x1,...,xnRd,x1==xn}。可以反证,如果 λ = ∞ \lambda=\infty λ= 并且 x 1 = x 2 = ⋯ = x n x_1=x_2=\cdots =x_n x1=x2==xn不成立,那么 F ( x ) = ∞ F(x) = \infty F(x)=

重要假设

对于每一个设备 i i i ,它的目标函数 f i : R d → R f_i:\mathbb{R}^d \rightarrow \mathbb{R} fi:RdR L − s m o o t h L-smooth Lsmooth 并且 μ − s t r o n g l y \mu -strongly μstrongly 的凸函数。

  • L − s m o o t h L-smooth Lsmooth:通常用来描述一个函数的平滑程度。一个函数被称为是 L-smooth 的,如果它的一阶导数(梯度)是 Lipschitz 连续的,即梯度的变化受到了一定的约束。
    如果存在一个常数 L > 0 L>0 L>0,使得函数 f f f 的梯度 ∇ f ( x ) ∇f(x) f(x) 对于任意的 x x x y y y 满足以下不等式: ∥ ∇ f ( x ) − ∇ f ( y ) ∥ ≤ L ∥ x − y ∥ ∥∇f(x)−∇f(y)∥≤L∥x−y∥ ∥∇f(x)f(y)Lxy ∥ ⋅ ∥ ∥⋅∥ 是向量的范数。这个定义表明函数的梯度变化受到了 L L L 的限制,也就是说在函数曲面上相邻点处的梯度变化是有界的。
  • μ − s t r o n g l y \mu -strongly μstrongly:描述函数的弯曲程度,指的是一个函数在某种程度上比一个凸函数更加强烈地弯曲。如果存在一个常数 μ > 0 \mu>0 μ>0 ,它满足以下不等式: f ( y ) ≥ f ( x ) + ⟨ ∇ f ( x ) , y − x ⟩ + μ 2 ​∥ y − x ∥ 2 f(y)≥f(x)+⟨∇f(x),y−x⟩+\frac{μ}{2}​∥y−x∥^2 f(y)f(x)+f(x),yx+2μ​∥yx2 ⟨ ⋅ , ⋅ ⟩ ⟨⋅,⋅⟩ , 表示内积运算。这个不等式表明函数 f f f 在任意点 x x x 处的曲率至少为 μ μ μ,即函数图像在局部区域内弯曲程度足够大。

L − s m o o t h L-smooth Lsmooth 函数的特性使得在优化问题中的求解更为可行和稳定。因为具有 Lipschitz 连续梯度的函数对于梯度下降等优化算法而言,更容易收敛到局部最优解,避免了梯度变化剧烈导致的震荡或发散。确保收敛

μ − s t r o n g l y \mu -strongly μstrongly 函数在局部区域内有一个严格的下界,这种特性使得优化算法能够更快速地收敛到全局最优解。加速收敛


解的特性

对于 ♣ \clubsuit 的最优解,它应该具备以下三个特性:

我们将表征局部和全局的两个函数 f ( x ( λ ) ) f(x(\lambda)) f(x(λ)) ψ ( x ( λ ) ) \psi(x(\lambda)) ψ(x(λ)) 视作关于变量 λ \lambda λ 的函数。

  • 特性一 ψ ( x ( λ ) ) \psi(x(\lambda)) ψ(x(λ)) 是非递增的,对于 ∀ λ > 0 \forall\lambda>0 λ>0 ψ ( x ( λ ) ) ≤ f ( x ( ∞ ) ) − f ( x ( 0 ) ) λ ψ(x(λ)) ≤\frac{ f(x(∞))−f(x(0))}{\lambda} ψ(x(λ))λf(x())f(x(0))进一步 f ( x ( λ ) ) f(x(\lambda)) f(x(λ)) 是非递减的,所以 f ( x ( ∞ ) ) ≥ f ( x ( λ ) ) f(x(∞))\ge f(x(\lambda)) f(x())f(x(λ))

    上述式子表明:随着 λ \lambda λ 的增大,惩罚项 ψ ( x ( λ ) ) ψ(x(λ)) ψ(x(λ)) 会逐渐减少到 0 ,因此最优的局部模型 x i ( λ ) x_i(\lambda) xi(λ) 会随着 λ \lambda λ 的增长越来越相似。同时根据第二种表述, f ( x ( λ ) ) f(x(\lambda)) f(x(λ)) λ \lambda λ 增加而增加,但不超过标准FL公式的最优全局损耗 f ( x ( ∞ ) ) f(x(∞)) f(x())
  • 特性二:对于 ∀ λ > 0 \forall\lambda>0 λ>0 and 1 ≤ i ≤ n 1\le i \le n 1in 我们可以得到如下最优局部解表示: x i ( λ ) = x ˉ ( λ ) − 1 λ ∇ f i ( x i ( λ ) ) x_i(λ) = \bar{x}(λ) − \frac{1}{λ}∇f_i(x_i(λ)) xi(λ)=xˉ(λ)λ1fi(xi(λ)) 进一步还有 ∑ i = 1 n ∇ f i ( x i ( λ ) ) = 0 ψ ( x ( λ ) ) = 1 2 λ 2 ∣ ∣ ∇ f ( x ( λ ) ) ∣ ∣ 2 \sum_{i=1}^{n}\nabla f_i(x_i(\lambda))=0 \\ \psi (x(\lambda))=\frac{1}{2\lambda^2}||\nabla f(x(\lambda)) ||^2 i=1nfi(xi(λ))=0ψ(x(λ))=2λ21∣∣∇f(x(λ))2从平均模型中减去局部梯度的倍数,可以得到最优局部模型。在最优状态下,局部梯度的总和总是为零。这对 λ = ∞ λ =∞ λ= 显然是正确的,但这对 ∀ λ > 0 \forallλ > 0 λ>0 都不太明显。
  • 特性三:最优局部模型以 O ( 1 / λ ) O(1/\lambda) O(1/λ) 的速度收敛于传统的FL解。
    P ( z ) : = 1 n ∑ i = 1 n f i ( z ) P(z):=\frac{1}{n} {\textstyle \sum_{i=1}^{n}}f_i(z) P(z):=n1i=1nfi(z) ,此时 x ( ∞ ) x(\infty) x() P P P 的唯一最小值,可以得到: ∣ ∣ ∇ P ( x ˉ ( λ ) ) ∣ ∣ 2 ≤ 2 L 2 λ ( f ( x ( ∞ ) ) − f ( x ( 0 ) ) ) ||∇P(\bar{x}(λ))||^2 ≤\frac{2L^2}{λ}(f(x(∞)) − f(x(0))) ∣∣∇P(xˉ(λ))2λ2L2(f(x())f(x(0)))

在这里插入图片描述 ♣ \clubsuit 的解 x ( λ ) x(λ) x(λ) 到纯局部解 x ( 0 ) x(0) x(0) 和纯整体解 x ( ∞ ) x(∞) x() 的距离是 λ λ λ 的函数。


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

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

相关文章

简单介绍二分类问题评价指标

正确率(Accuracy) Accuracy ​(TP TN)/(TP TN FP FN)精准率(Precision) 记忆:在识别出某标签中正确的比例; 比如识别为某标签的一共有105个,其中有95个是识别对的,那Precision就是95/105; TP/(TPFP)召回率(Recall…

【汇编】内存中字的存储、用DS和[address]实现字的传送、DS与数据段

文章目录 前言一、内存中字的存储1.1 8086cpu字的概念1.2 16位的字存储在一个16位的寄存器中,如何存储?1.3 字单元 二、用DS和[address]实现字的传送2.1 字的传送是什么意思?2.2 要求原理解决方案:DS和[address]配合8086传送16字节…

OpenCV入门6——图像基本变换

文章目录 图像的放大与缩小缩放算法放大 图像的翻转图像的旋转仿射变换之图像平移仿射变换之获取变换矩阵仿射变换之变换矩阵之二OpenCV透视变换 图像的放大与缩小 缩放算法 # -*- coding: utf-8 -*- import cv2 import numpy as npimg cv2.imread(E://pic//4.jpg) # (600, 48…

前端学习笔记--TypeScript

1. typescript是什么 Typescript是由微软开发的一款开源的编程语言Typescript是Javascript的超集,遵循最新的ES5/ES6规范。TypeScript扩展了Javascript语法TypeScript更像后端Java、C#这样的面向对象语言可以让JS开发大型企业应用越来越多的项目是基于TS的&#xf…

深入理解TensorFlow:计算图的重要性与应用

TensorFlow是一个流行而强大的机器学习框架,其核心概念之一是计算图(computation graph)。计算图在TensorFlow中扮演着重要角色,作为一种数据流图表示形式,它能够将计算的过程可视化,同时方便优化、分布式计…

2023.11.16使用原生js和canvas实现图片矩形框标注功能

2023.11.16使用原生js和canvas实现图片矩形框标注功能 做训练的时候需要一些数据集&#xff0c;但是网上数据集有时不能满足自身的使用需求&#xff0c;自己编制一个标注软件实现数据采集功能。 记录的数据集可以传入后端&#xff0c;在后端再次进行处理。 <!DOCTYPE htm…

Linux - 用户级缓冲区和系统缓冲区 - 初步理解Linux当中文件系统

前言 文件系统 我们先来看两个例子&#xff1a; 这个程序输出&#xff1a; 此时的输出也满足的我们预期。 我们也可以把 程序执行结果&#xff0c;输出重定向到 一个文件当中: 当我们在代码的结尾处&#xff0c;创建了子进程&#xff0c;那么输出应该还是和上述是一样的&…

C# 实时监控双门双向门禁控制板源码

本示例使用设备&#xff1a;实时网络双门双向门禁控制板可二次编程控制网络继电器远程开关-淘宝网 (taobao.com) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.…

数据库实验报告(六)

实验报告&#xff08;六&#xff09; 1、实验目的 &#xff08;1&#xff09; 掌握关联查询的用法 &#xff08;2&#xff09; 掌握集合查询的区别和用法 &#xff08;3&#xff09; 掌握EXISTS的用法 2、实验预习与准备 &#xff08;1&#xff09; 了解ANY&…

在docker中部署MySQL

目录 1、拉取最新的镜像 2、创建mysql容器实例 3、启动mysql实例 4、进入mysql 交互环境 5、登录MySQL数据库 6、尽情享用mysql 1、拉取最新的镜像 docker image pull mysql 2、创建mysql容器实例 第一次执行&#xff0c;需要先创建容器并启动&#xff08;容器名是mys…

分享一个自用的Win11护眼主题(无需下载)

先放上几张效果图 设置方法 首先&#xff0c;把主题设置为高对比度主题——沙漠。 然后点击编辑&#xff0c;依次设置为以下值 背景&#xff1a;#1C5E75文本&#xff1a;#FFF5E3超链接&#xff1a;#6EFFA4非活动文本&#xff1a;#FFF5E3选定文本&#xff1a;#903909、#8EE3F0…

巾帼调查队开展实务调查技能,促全职妈妈联增收

2024年11月14日上午&#xff0c;由罗湖区妇联主办、罗湖区懿米阳光公益发展中心承办的“巾帼调查队—社区女性增值计划”项目第三期活动在罗湖区妇儿大厦六楼成功举办&#xff0c;30名阳光妈妈及全职妈妈参与了此次调查实务技巧培训。 在培训开始之前&#xff0c;巾帼调查队的创…

深度探讨丨关于工作量证明的常见误解

有一种基本误解认为&#xff0c;工作量证明机制在本质上是不可扩展的&#xff0c;并且会产生过度的能源耗费。 按照工作量证明区块链的最初设计&#xff0c;以及BSV区块链协会的推广&#xff0c;这一技术旨在实现可扩容性&#xff0c;同时确保高效能系统内的安全性和互操作性。…

基于IDEA进行Maven工程构建

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 1. 构建概念和构建过程 项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程&#xff0c;在这个过程中包括编译源代码、链接依赖库、打包和部署等多个步骤。 项目构建是软件开发过程中…

【智能家居】5、主流程设计以及外设框架编写

一、主流程设计 #include <stdio.h>int main(){//指令工厂初始化//控制外设工厂初始化//线程池return 0; } 1、工厂模式结构体定义 &#xff08;1&#xff09;指令工厂 inputCmd.h struct InputCmd{char cmdName[128];//指令名称char cmd[32];//指令int (*Init)(char …

解决margin-top导致的塌陷

什么是margin-top塌陷 若要使子元素距离父元素顶部有一定距离&#xff0c;如果只给子元素设置margin-top属性&#xff0c;结果发现父元素顶部出现位移&#xff0c;子元素相对父元素没位移&#xff0c;这就是margin-top导致的塌陷。 .fatherplus{width: 600px;height: 600px;b…

筋膜炎怎么治疗才能除根

筋膜炎的引起原因&#xff0c;常见的有以下几种&#xff1a; 1.职业因素。经常牵拉某些肌肉容易导致肌肉出现劳损&#xff0c;如司机、教师、运动员等&#xff0c;发生筋膜炎的几率会明显比正常人要高。 2.疾病因素。例如扁平足、糖尿病的人群&#xff0c;发生足底筋膜炎的几…

为了 Vue 组件测试,你需要为每个事件绑定的方法加上括号吗?

本文由华为云体验技术团队松塔同学分享 先说结论&#xff0c;当然不是&#xff01;Vue 组件测试&#xff0c;尤其是组件触发事件的测试&#xff0c;有成熟的示例。我们同样要关注测试的原则&#xff0c;例如将组件当成黑盒&#xff0c;不关心其内部实现&#xff0c;而只关心与其…

java集合,栈

只有栈是类 列表是个接口 栈是个类 队列 接口有双链表,优先队列(堆) add会报错 offer是一个满了不会报错 set集合 有两个类实现了这个接口

剑指Offer || 105.岛屿的最大面积

题目 给定一个由 0 和 1 组成的非空二维数组 grid &#xff0c;用来表示海洋岛屿地图。 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0&#xff08;代表水&#x…