论文笔记 SCAFFOLD Stochastic Controlled Averaging for Federated Learning

论文题目:《SCAFFOLD Stochastic Controlled Averaging for Federated Learning》

论文地址:https://arxiv.org/pdf/1910.06378.pdf
 

Abstract

FedAvg :简单、低通行成本 --> 联邦学习首选算法

But!数据异构(non-IID)时, FedAvg 会遭受“客户端漂移”,从而导致收敛不稳定和缓慢

解决方案:新算法 SCAFFOLD,使用**控制变量(方差减少)**来校正其本地更新中的“客户端漂移”。

SCAFFOLD 的改进效果:

  • SCAFFOLD 需要的通信轮次明显减少
  • 不受数据异构性客户端采样的影响
  • 可以利用客户端数据的相似性,从而产生更快的收敛(量化分布式优化中局部步骤有用性的第一个结果)

 

1. Introduction

联邦学习已成为现代大规模机器学习的一种重要范例。

联邦学习 VS 传统的集中式学习:

  • 集中式学习:使用存储在中央服务器中的大型数据集进行模型训练
  • 联邦学习:训练数据仍然分布在大量客户端上(这些客户端可能是电话、网络传感器、医院,或替代本地信息源),在本地训练模型,无需通过网络传输客户端数据,从而确保基本的隐私级别。

本文研究了用于联邦学习的随机优化算法

联邦优化的关键挑战是:

  • 处理服务器和客户端之间不可靠且相对较慢的网络连接

  • 给定时间只有一小部分客户端可用于训练。

  • 不同客户端上存在的数据存在很大的异质性(non-IId)。

    FedAvg 解决通信瓶颈方法:在与服务器通信之前对可用客户端执行多个本地更新。尽管它在某些应用中取得了成功,但其在异构数据上的性能仍然是一个活跃的研究领域。

    本文证明了这种异质性确实对 FedAvg 有很大的影响,它在每个客户端的更新中引入了 client-drift 客户端漂移,导致收敛缓慢、不稳定。

    即使使用了全批次梯度,并且所有客户端都参与了整个训练,这种客户漂移仍然存在。

 

解决方案:提出了一种新的随机控制平均算法(SCAFFOLD),试图纠正这种客户端漂移。

直观地说,SCAFFOLD 估计了服务器模型的更新方向 c每个客户端的更新方向 ci 。差值**(c − ci)是用于校正本地更新的客户端漂移的估计。该策略成功地克服了异质性**,并在显著减少的通信成本收敛。或者,可以将异质性视为在不同客户端的更新中引入“客户端差异”,然后 SCAFFOLD 执行**“客户端差异减少”**。使用这个观点来表明 SCAFFOLD 相对不受客户端采样的影响

client sampling:客户端采样。采样就是只选择一部分,客户端采样就是选择一部分客户端。

尽管适应异质性很重要,但利用客户端数据中的相似性同样重要,SCAFFOLD 就有这样的特性:客户端越相似,需要的通信越少。

 

贡献:

  • 推导出 FedAvg 的收敛速度比之前已知的具有客户端采样和异构数据的凸函数和非凸函数的收敛速度更快。

  • 给出了匹配下限,以证明:即使没有客户端采样,使用全批次梯度,FedAvg 的收敛速度也可能因为客户端漂移比 SGD 慢。

  • 提出了一种新的随机控制平均算法(SCAFFOLD),用于校正这种客户端漂移

    证明了 SCAFFOLD 的收敛速度至少与 SGD 一样,并且可以收敛于任意异构数据

  • 表明 SCAFFOLD 可以利用客户端之间的相似性,进一步减少所需的通信,首次证明了采取本地步骤优于大批量 SGD 的优势。

  • 证明 SCAFFOLD 相对不受客户端采样的影响,从而获得方差降低率,使其特别适用于联邦学习。

最后,在模拟和真实数据集上证实了理论结果。

 

2. Setup

将问题形式化为最小化随机函数的和,只访问随机样本。

符号定义:
论文笔记 SCAFFOLD Stochastic Controlled Averaging for Federated Learning_第1张图片请添加图片描述

函数 f i f_i fi 表示客户端 i i i 上的损失函数(本文所有结果都可以很容易地扩展到加权情况)

假设 f f f 从下面有界于 f ∗ f^* f,并且 f i f_i fi 是 β-光滑的。此外,假设 g i ( x ) : = ∇ f i ( x ; ζ i ) g_i(x):=∇f_i(x;ζ_i) gi(x):=fi(x;ζi) f i f_i fi 的无偏随机梯度,方差以 σ 2 σ^2 σ2 为界。对于某些结果,假设 µ ≥ 0 µ≥0 µ0(强)凸性。注意, σ σ σ 仅限制客户端内的方差。

定义以下两个非标准术语:

(A1) (G,B)-BGD有界梯度不相似性

存在常数 G ≥ 0 G≥0 G0 B ≥ 1 B≥1 B1 使得
请添加图片描述

如果 f i {f_i} fi 是凸的,可以将假设放宽到
请添加图片描述

(A2)δ-BHD有界Hessian差异
请添加图片描述

此外, f i f_i fi 是 δ-弱凸的,即 ∇ 2 f i ( x ) ⪰ − δ I ∇^2f_i(x)\succeq-δI 2fi(x)δI

假设A1和A2是正交的,有可能 G = 0 G=0 G=0 δ = 2 β δ=2β δ=2β,或者 δ = 0 δ=0 δ=0 G > > 1 G>>1 G>>1

Hessian:黑塞矩阵,是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率。

 

3. Convergence of FedAvg

本节回顾 FedAvg ,并通过推导出比以前更严格的收敛速度来改进其收敛性分析。

FedAvg 笔记可见:https://blog.csdn.net/weixin_43235581/article/details/127427921

FedAvg 包括两个主要部分:

  • 模型的本地更新
  • 聚合客户端更新以更新服务器模型

首先,在每一轮中,客户端的子集 S ⊆ [ N ] S⊆[N] S[N] 均匀采样,每个客户 i ∈ S i∈ S iS 复制当前服务器模型 y i = x y_i=x yi=x,并执行 K K K 次本地更新:

请添加图片描述

η l η_l ηl 为局部步长(学习率)

其次,客户端的更新 ( y i − x ) (y_i−x) (yix) 使用全局步长 η g η_g ηg 聚合以形成新的服务器模型:

请添加图片描述
 

3.1. 收敛速度

具有有界不相似性的函数的新收敛结果:

定理 I. 对于满足(A1)的 β-光滑函数 { f i f_i fi},FedAvg 的输出期望误差小于 ϵ \epsilon ϵ 的某些值 η l 、 η g 、 R η_l、η_g、R ηlηgR 满足:

论文笔记 SCAFFOLD Stochastic Controlled Averaging for Federated Learning_第2张图片

(强凸、一般凸、非凸)

将 FedAvg 的收敛速度与更简单的 IID 情况(例如 G=0 和 B=1)进行比较是很有启发性的。

FedAvg 的强凸率为 σ 2 µ S K ϵ + 1 µ \frac{σ^2}{µSK\epsilon}+\frac 1 µ µSKϵσ2+µ1。相比之下,此前已知的最佳速率是 σ 2 µ S K ϵ + S µ \frac{σ^2}{µSK\epsilon}+\frac S µ µSKϵσ2+µS

FedAvg 的收敛速度提高的主要原因是:使用了两种不同的步长( η l η_l ηl η g η_g ηg)。通过具有更大的全局步长 η g η_g ηg,可以使用更小的局部步长 η l η_l ηl,从而在确保进度的同时减少客户端漂移。

然而,即使改进的收敛速度也不符合 σ 2 µ S K ϵ + 1 K µ \frac{σ^2}{µSK\epsilon}+\frac{1}{Kµ} µSKϵσ2+Kµ1 的下界。

 

现将 FedAvg 与其他两种算法 FedProx 和 SGD 进行比较。

假设 G = 0 , σ = 0 G=0,σ=0 G=0,σ=0,即使用全批次梯度,所有客户端都有非常相似的优化。在这种情况下, FedAvg 的复杂度为 B 2 µ \frac{B^2}{µ} µB2,与 FedProx 相同。因此,FedProx 不具备任何理论优势。

接下来,假设所有客户端都参与(无采样), S = N S=N S=N,且没有方差 σ = 0 σ=0 σ=0。然后,上述强凸情况简化为 G µ ϵ + B 2 µ \frac{G}{µ\sqrt\epsilon} + \frac {B^2}{µ} µϵ G+µB2

相比之下,FedAvg 对 G 2 µ K N ϵ + G µ ϵ \frac{G^2}{µKN\epsilon}+\frac{G}{µ\sqrt\epsilon} µKNϵG2+µϵ G G G G 的依赖性更差。

类似地,对于非凸情况,FedAvg 的收敛速度更快,对 G G G 的依赖性更好。

然而,在这种设置下简单运行 SGD 将产生 β µ \fracβµ µβ 的通信复杂度,这更快,并且与相似性假设无关。

 

3.2. 异质性影响的下限

当函数 { f i f_i fi} 不同时,每个客户端上 FedAvg 的本地更新会发生漂移,从而减缓收敛。

这种客户端漂移的量,以及收敛速度的减慢,完全由(A1)中的梯度不相似性参数 G G G 决定。

客户端漂移产生的机制(图1)。设 x ∗ x^* x f ( x ) f(x) f(x) x i ∗ x^*_i xi 的全局最优值, x i x_i xi 是每个客户端的损失函数 f i ( x ) f_i(x) fi(x) 的最优值。
论文笔记 SCAFFOLD Stochastic Controlled Averaging for Federated Learning_第3张图片

图1. FedAvg 中的客户端漂移以3个本地步骤(N=2,K=3)说明了2个客户端。本地更新 y i y_i yi(蓝色)移动到单个客户端 x i ∗ x^*_i xi(橙色正方形)。服务器更新(红色)朝向 1 N ∑ x i ∗ \frac1N \sum{x^*_i} N1xi而不是真正的最优 x ∗ x^* x(黑色正方形)。

 

在异构数据的情况下,很可能这些 x i ∗ x^*_i xi 都远离另一个,并远离全局最优 x ∗ x^* x 。即使所有客户端都从同一 x x x 开始,每个 y i y_i yi 都会朝着它们的客户最优 x i ∗ x^*_i xi 移动。这意味着客户端更新的平均值(即服务器更新)向 1 N ∑ i = 1 N x i ∗ \frac1N \sum_{i=1}^Nx^*_i N1i=1Nxi 移动。

客户端漂移的原因: 1 N ∑ i = 1 N x i ∗ \frac1N \sum_{i=1}^Nx^*_i N1i=1Nxi 和真正的最优 x i ∗ x^*_i xi 的差值。

为了对抗这种漂移, FedAvg 被迫使用更小的步长,这反过来会影响收敛。

 

定理 II. 对于任何正常数 G G G µ µ µ,存在满足(A1)的 µ-强凸函数,其中 FedAvg: K ≥ 2 , σ = 0 K≥2,σ=0 K2σ=0 N = S N=S N=S有误差
请添加图片描述

这意味着即使不存在随机性, G ϵ \frac{G}{\sqrt\epsilon} ϵ G 项也是不可避免的。此外,由于 FedAvg 使用 RKN 随机梯度,也有 σ 2 µ K N ϵ \frac{σ^2}{µKN\epsilon} µKNϵσ2 的统计下限。

总之,这些下限证明了定理I 中导出的收敛速度几乎是最优的(取决于 µ µ µ)。

 

4. SCAFFOLD algorithm

方法

SCAFFOLD 三个主要步骤:

  1. 客户端模型的本地更新
  2. 客户端控制变量的局部更新
  3. 聚合更新

SCAFFOLD 维护每个客户端(客户端控制变量 c i c_i ci)和服务器(服务器控制变量 c c c)的状态, x x x 为服务器模型。

初始化参数以确保: c = 1 N ∑ c i c=\frac 1 N \sum c_i cN1ci服务器的控制变量为所有客户端控制变量的平均值) ,并且都可以安全地初始化为0。

首先,在每一轮通信中,服务器参数 ( x , c ) (x,c) (x,c) 被传送到参与的客户端 S ⊂ [ N ] S⊂[N] S[N]。每个参与客户端 i ∈ S i∈S iS 使用服务器模型初始化其本地模型 y i ← x yi←x yix, 然后通过其本地数据执行 K K K 次更新:

请添加图片描述

其次,本地控制变量 c i c_i ci 也被更新。为此,提供了两个更新选项:

请添加图片描述

选项I:涉及对本地数据进行额外的传递,以计算服务器模型 x x x 处的梯度。

选项II:使用先前计算的梯度来更新控制变量。

根据应用程序的不同,选项I 可能比选项II 更稳定,但选项II 的计算成本更低,通常也足够了(本文所有的实验都使用选项II)。

最后,聚合客户端更新并用于更新服务器参数:

论文笔记 SCAFFOLD Stochastic Controlled Averaging for Federated Learning_第4张图片

注意,SCAFFOLD 中的客户端是有状态的,并在多轮中保留 c i c_i ci 值。

如果 c i c_i ci 始终设置为0,则SCAFFOLD与 FedAvg 等效。即 FedAvg = SCAFFOLD( c i c_i ci =0)

算法1:
论文笔记 SCAFFOLD Stochastic Controlled Averaging for Federated Learning_第5张图片

 

控制变量的有效性

如果不考虑通信成本,客户端 i i i理想更新

请添加图片描述

这种更新本质上计算了损失函数 f f f无偏梯度,因此相当于在IId情况下运行 FedAvg (它具有优异的性能)。

但是,这种更新需要在每个更新步骤中与所有客户端进行通信

SCAFFOLD 使用控制变量:

请添加图片描述
SCAFFOLD 模仿理想更新

请添加图片描述
因此,对于任意异构客户端,SCAFFOLD的本地更新保持同步并收敛

 

5. Convergence of SCAFFOLD

在没有对函数之间的相似性进行任何假设的情况下陈述 SCAFFOLD 的收敛速度。

定理 III. 对于任何 β-光滑函数 { f i f_i fi},SCAFFOLD 的输出期望误差小于 ϵ \epsilon ϵ 的某些值 η l 、 R η_l、R ηlR 满足:

论文笔记 SCAFFOLD Stochastic Controlled Averaging for Federated Learning_第6张图片

首先检查没有客户端采样的速率(S=N)。对于强凸情况,轮次变为 σ 2 µ N K ϵ + 1 µ \frac{σ^2}{µNK\epsilon}+\frac 1 µ µNKϵσ2+µ1

与定理I 不同,该收敛速度适用于任意异构客户端,并进一步与批量大小为 K K K 倍的 SGD 相匹配,证明了 SCAFFOLD 至少与 SGD 一样快。这些收敛速度也符合分布式优化的已知下限,并且总体上是不可改进的。然而,在某些情况下,SCAFFOLD 比 SGD 更快。

现在设 σ=0。那么 SCAFFOLD 在强凸情况下的速率是 1 µ + N S \frac 1µ+ \frac NS µ1+SN,在非凸的情况下是 N S 2 3 1 ϵ {\frac NS}^{\frac23} \frac 1\epsilon SN32ϵ1。这些与 SAGA 的比率完全匹配。事实上,当 σ = 0 、 K = 1 σ=0、K=1 σ=0K=1 S = 1 S=1 S=1 时,使用选项I 对 SCAFFOLD 的更新减少到 SAGA,其中在每一轮中,采样一个客户端 f i f_i fi

因此,SCAFFOLD 可以被视为联邦学习方差减少技术的扩展,可以类似地扩展SARAH、SPIDER等。

 

简要证明

为了简单起见,假设 σ = 0 σ=0 σ=0,并考虑每个步骤都使用全梯度的理想更新 ∇ f ( y ) ∇f(y) f(y) 。显然,即使 S = 1 S=1 S=1,这也会以线性速率收敛 ∇ f i ( y ) ∇f_i(y) fi(y)。理想更新和 FedAvg 更新之间的差异为 ∣ ∣ ∇ f i ( y ) − ∇ f ( y ) ||∇f_i(y)−∇f(y) fi(y)f(y)

需要如(A1)中所示的梯度不相似性的边界来限制该误差。SCAFFOLD 使用更新 ∇ f i ( y ) − c i + c ∇f_i(y)−c_i+c fi(y)ci+c,与理想更新的差异变为

请添加图片描述

因此,误差与函数 f i f_i fi 的相似或不相似程度无关,而仅取决于近似量 c i ≈ ∇ f i ( y ) c_i≈∇f_i(y) cifi(y)

由于 f i f_i fi 是平滑的,可以预期梯度 ∇ f i ( y ) ∇f_i(y) fi(y) 变化不太快,因此易于近似。

 

6. Usefulness of local steps

本节研究何时以及为什么在分布式优化中采用局部步骤可能比简单地计算大批量梯度更有用。

当跨客户端的函数共享一些相似性时,本地步骤可以利用这一点并更快地收敛。

为此,考虑二次函数,并用(A2)中引入的 δ δ δ 参数表示它们的相似性。

定理 IV. 对于具有 δ δ δ 有界Hessian差异性(A2)的任何 β-光滑二次函数 { f i f_i fi},当 S=N(无采样)时,SCAFFOLD 的输出期望误差小于 ϵ \epsilon ϵ η g = 1 η_g=1 ηg=1 ,并且某些值 η l 、 R η_l、R ηlR 满足:

论文笔记 SCAFFOLD Stochastic Controlled Averaging for Federated Learning_第7张图片

σ = 0 σ=0 σ=0 K K K 较大时,SCAFFOLD 的复杂度变为 δ µ \fracδµ µδ。相比之下,作为近点法的 DANE 也使用较大的K,需要 ( δ µ ) 2 ({\fracδµ})^2 (µδ)2 轮,这明显较慢,或者需要额外的回溯线搜索以匹配 SCAFFOLD 的速率。此外,定理IV 是证明由于非凸函数的相似性而改进的第一个结果。

假设 { f i f_i fi} 是相同的,回想(A2)中的 δ δ δ 测量函数之间的 Hessian差异性,因此在这种情况下 δ = 0 δ=0 δ=0

那么定理IV 表明,SCAFFOLD的复杂度为 σ 2 µ N K ϵ + 1 µ K \frac{σ^2}{µNK\epsilon}+\frac{1}{µK} µNKϵσ2+µK1。相比之下,批量大 K K K 倍的 SGD 需要 σ 2 µ N K ϵ + 1 µ \frac{σ^2}{µNK\epsilon}+\frac 1 µ µNKϵσ2+µ1

因此,对于相同的函数,SCAFFOLD(实际上甚至 FedAvg)随着局部步长的增加而线性改善。

在另一个极端情况下,如果函数任意不同,可能有 δ = 2 β δ=2β δ=2β。在这种情况下,对于异质情况,SCAFFOLD 和大批量 SGD 的复杂性与已知下限相匹配。

上述见解可以概括为:当功能只是有些相似时,如果 Hessian函数是 δ-close 并且 σ=0,那么复杂度是 β + δ K µ K \frac{β+δK}{µK} µKβ+δK。这一界限意味着应使用的最佳局部步长数为 K = β δ K=\fracβδ K=δβ。选择较小的 K K K 会增加所需的通信,而进一步增加 K K K 只会浪费计算资源。虽然如果函数更“相似”,这个结果是直观的,但局部步骤更有用。

定理IV 表明,重要的是 Hessian函数的相似性。这是令人惊讶的,因为 { f i f_i fi} 的 Hessian 可能是相同的,即使它们各自的最优解是 x i ∗ x_i^* xi 彼此任意远离,并且梯度相似度(A1)是无界的。

 

简要证明

考虑 σ = 0 σ=0 σ=0 且无采样(S=N)的简化 SCAFFOLD 更新:

请添加图片描述

理想情况下,希望使用全梯度 ∇ f ( y i ) ∇f(y_i) f(yi) 执行更新 y i = y i − η ∇ f ( y i ) y_i=y_i−η∇f(y_i) yi=yiηf(yi)

本文将 SCAFFOLD 的校正项 ( c − c i ) (c-c_i) (cci) 重新解释为:对局部梯度进行以下一阶校正 ∇ f i ( y i ) ∇f_i(y_i) fi(yi)使其更接近全梯度 ∇ f ( y i ) ∇f(y_i) f(yi)

因此,SCAFFOLD 更新接近理想更新,直到出现误差 δ δ δ

 

7. Experiments

在模拟和真实数据集上进行实验

主要发现:

  • 在所有参数方案中,SCAFFOLD 始终优于 SGD 和 FedAvg
  • 局部步骤的好处(或坏处)取决于算法客户端数据的相似性

 

7.1. 设置

**模拟数据集:**使用基于定理II 中下限的 N=2 个二次函数。

使用全批梯度(σ=0),无客户抽样。

**真实数据集:**在EMNIST上运行逻辑回归(凸)和2层完全连接网络(非凸)。

数据划分:客户端 N=100,对于 s% 的相似数据,将其分配给每个客户端 s% 数据,剩余的 (100−s)% 通过根据标签进行分类。

 

考虑四种算法:SGD、FedAvg、SCAFFOLD 和 FedProx,其中 SGD 作为局部求解器。

在每个客户端上,SGD 使用完整的本地数据来计算单个更新,而其他算法每个 epochs 需要5步(即批次大小为本地数据的0.2)。

总是使用全局步长 η g = 1 η_g=1 ηg=1,并针对每个算法分别调整局部步长 η l η_l ηl

SCAFFOLD 使用选项II(无额外梯度计算)。

FedProx 具有固定的正则化=1以保持比较公平。对正则化参数的额外调整有时可能产生改进的经验性能。

 

7.2. 模拟数据集结果

结果如图3所示。

论文笔记 SCAFFOLD Stochastic Controlled Averaging for Federated Learning_第8张图片

图3.模拟数据上的SGD(黑色虚线)、FedAvg(上方)和 SCAFFOLD(下方)。当K=10(红色)比K=2(橙色)差时,FedAvg 会随着当地步长的增加而变得更糟。随着梯度相异度(G)的增加(向右),速度也会变慢。随着更多的局部步长,SCAFFOLD 显著提高,K=10(蓝色)比K=2(浅蓝色)和SGD快。当我们改变异质性(G)时,其性能是相同的。

 

模拟数据具有 Hessian差异性 δ=1(A2)和 β=1。

将梯度异质性(A1)变化为 G∈ [1, 10, 100]。对于 G 的所有值,FedAvg 随着增加局部步长的数量而变慢。这可以解释为,随着增加本地步骤的数量,客户端漂移会增加,从而阻碍进度。此外,当增加 G 时,FedAvg 继续按照 Thms I 和 Thms II 的指示减速。当异质性小时(G=β=1),FedAvg 可以与 SGD 竞争。

SCAFFOLD 始终比 SGD 快,K=2是SGD的两倍,K=10大约快5倍。此外,它的收敛性完全不受 G 的影响,这证实了在 Thm III 中的理论。由于 δ>0, Thm IV 解释了之前的观察结果,即没有看到 K 的线性改善。这种次线性改善仍然明显快于 SGD 和 FedAvg 。

证明了 SCAFFOLD 算法在数据异质性程度改变时具有很好的适应性。

 

7.3. EMNIST 数据集结果

在EMNIST数据集上进行了广泛的实验,以测量算法epochs 数(本地更新)、参与客户端数客户端相似性之间的相互作用。

论文笔记 SCAFFOLD Stochastic Controlled Averaging for Federated Learning_第9张图片

表3.EMNIST上的逻辑回归的通信轮次达到0.5测试准确度,改变了epochs数。1k+表示即使在1k回合之后也没有达到0.5的精度,类似地,箭头表示条形图超出了表格。本地更新方法的1个历元对应于5个本地步骤(0.2批大小),并且每轮对20%的客户端进行采样。我们为FedProx固定µ=1,为SCAFFOLD使用变量(ii),以确保所有方法都具有可比性。在所有参数(年代和相似性)中,SCAFFOLD是最快的方法。当相似度为0(排序数据)时,FedAvg随着时间的增加而持续恶化,很快变得比SGD慢。SCAFFOLD最初变得更糟,后来稳定下来,但始终至少和SGD一样快。随着相似性的增加(即数据更加混乱),FedAvg和SCAFFOLD的表现都明显优于SGD,尽管SCAFFOL仍优于FedAvg。此外,由于相似性较高,这两种方法都受益于增加的时期数。

衡量了使用更多局部步骤的好处(或坏处)。FedProx 的效果最差,其次是 FedAvg,最好的是 SCAFFOLD。

 
论文笔记 SCAFFOLD Stochastic Controlled Averaging for Federated Learning_第10张图片

表4.当改变抽样客户的数量时,EMNIST上的逻辑回归的通信轮次达到0.45测试准确度。纪元数保持固定为5。SCAFFOLD始终比FEDAVG快。当减少每轮抽样的客户数量时,轮数的增加是次线性的。这种减速对于更多类似的客户来说更好。

研究了客户端采样的弹性。在采样客户端相同以及异质性相同时,SCAFFOLD 明显优于其他方法。

 
论文笔记 SCAFFOLD Stochastic Controlled Averaging for Federated Learning_第11张图片

表5.在EMNIST上使用2层完全连接的神经网络(非凸)进行1k轮后的最佳测试精度,针对本地方法,每轮训练5个周期(25步),每轮采样20%的客户。SCAFFOLD的精度最好,SGD的精度最低。SCAFFOLD再次优于其他方法。SGD不受相似性的影响,而本地方法随着客户端的相似性而改进。

报告了神经网络的初步结果。

 

主要关注的是尽量减少通信轮次。观察到:

SCAFFOLD 始终是最好的。

在所有尝试的数值范围内,观察到 SCAFFOLD 优于SGD、FedAvg 和 FedProx。

FedProx 总是比其他本地更新方法慢,尽管在某些情况下它优于SGD。注意,可以通过仔细调整正则化参数来改进 FedProx。

FedAvg 总是比 SCAFFOLD 慢,比 FedProx 快。

SCAFFOLD > SGD > 用于异构客户端的FedAvg。

当相似性为0%时,FedAvg 随着局部步长的增加而变慢。如果超过5个 epochs,它的表现比 SGD 差。

当增加 epochs 时,SCAFFOLD 最初会恶化,但随后会变平。然而,它的性能总是优于SGD,这证实了它可以处理异构数据。

SCAFFOLD 和 FedAvg 的相似性越高,速度越快,但不是SGD。

随着客户端的相似性增加,SGD 的表现保持相对稳定。

另一方面,随着相似性的增加,SCAFFOLD 和 FedAvg 的速度明显加快。

此外,局部步长变得更加有用,随着 epochs 的增加,表现出单调的改进。这是因为随着数据的识别度的增加,梯度和 Hessian差异性都会降低。

SCAFFOLD 对客户采样具有弹性。

当减少客户端采样的比例时,SCAFFOLD 和 FedAvg 仅显示出次线性减速。在相似性较高的情况下,它们对采样更有弹性。

在非凸实验中,SCAFFOLD 的表现优于 FedAvg。

就达到的最终测试精度而言,SCAFFOLD 优于 FedAvg,尽管有趣的是,即使相似性为0,FedAvg 似乎也优于 SGD。

然而,在得出结论之前,需要进行更广泛的实验(超出当前范围)。

 

8. Conclusion

研究了异质性对联邦学习优化方法性能的影响。

理论分析表明,FedAvg 可能会受到梯度差异的严重阻碍,甚至可能比 SGD 慢。

提出了一种新的随机算法(SCAFFOLD),该算法利用控制变量克服了梯度差异。

通过强收敛保证和经验评估证明了 SCAFFOLD 的有效性。

表明,尽管 SCAFFOLD 始终至少与 SGD 一样快,但根据数据中的 Hessian 差异,它可以更快。因此,不同的算法可以利用(并且受到)不同概念的限制。

表征和隔离现实世界数据中存在的各种不同之处可以产生进一步的新算法,并对分布式、联邦和去中心化学习产生重大影响。

你可能感兴趣的:(联邦学习,论文阅读,人工智能)