《Federated Learning with Unbiased Gradient Aggregation and Controllable Meta Updating》论文阅读
Accepted by NeurIPS 2019
Introduction
联邦学习(FL)旨在在由大量智能边缘设备组成的去中心化系统中训练机器学习模型。联合平均(FedAvg)是 FL 设置中的基本算法,提出了设备上训练和模型聚合,以避免传输原始数据带来的潜在的沉重通信成本和隐私问题。然而,通过理论分析,我们认为:1)局部更新的多个步骤会导致梯度偏差;2)预期目标分布与遵循 FedAvg 训练范式的优化目标之间存在不一致。
在本文中,我们通过理论分析仔细研究了FedAvg算法,并认为1)客户端更新的多个步骤会给模型聚合带来梯度偏差(第2.1节)和2)选择部分客户端参与每轮训练都会导致优化目标与真实目标分布不一致(第2.2节)。
为了解决这两个问题,我们首先开发一种具有跟踪梯度下降和梯度评估策略的无偏梯度聚合算法(UGA,第 3.1 节)。然后,我们进一步引入一个额外的元更新过程(FedMeta,第 3.2 节),在每轮模型聚合后,在服务器上使用可控的元训练集。这两项改进都是与模型和任务无关的,可以单独或一起应用。
总而言之,我们的贡献如下:
- 我们开发了一种用于 FL 的无偏梯度聚合算法,具有跟踪梯度下降和梯度评估策略,该算法与现有的 FedAvg 框架兼容。
- 我们在服务器上进行模型聚合后引入了额外的元更新过程。它建立了清晰一致的目标,以可控的方式指导联邦模型的优化。
- 在 IID 和非 IID FL 设置中对各种网络架构进行的实验表明,所提出的方法收敛速度更快,并且比基线实现更高的精度。
Problem Analysis and Motivation
2.1 梯度偏差
FedSGD:
在第 t 轮开始时,参数服务器将模型参数
w
t
w_t
wt 分配给工人。然后,每个工作者
k
∈
K
k \in K
k∈K 计算一步梯度
g
t
k
(
1
)
g_t^{k(1)}
gtk(1) ,接下来,参数服务器会收集所有梯度,并应用加权平均法进行更新:
w
t
+
1
←
w
t
−
η
∑
k
∈
K
n
k
n
g
t
k
(
1
)
(1)
\tag{1} w_{t+1} \gets w_t -\eta \sum_{k \in K}\frac{n_k}{n}g_t^{k(1)}
wt+1←wt−ηk∈K∑nnkgtk(1)(1)
然而,按照上述更新范式,每一轮中,K 个 Worker 都要与参数服务器通信两次(接收模型参数和发送梯度),这在 FL 设置中是一个沉重的负担。
针对这一问题,FedAvg 提出了两大改进方案。首先,他们认为等式 (1) 等同于本地更新参数的加权平均值
w
t
+
1
k
w_{t+1}^k
wt+1k:
w
t
+
1
←
w
t
−
η
∑
k
∈
K
n
k
n
g
t
k
(
1
)
聚合后服务器更新
(2)
\tag{2} w_{t+1} \gets w_t -\eta \sum_{k \in K}\frac{n_k}{n}g_t^{k(1)}\space\space\space\space聚合后服务器更新
wt+1←wt−ηk∈K∑nnkgtk(1) 聚合后服务器更新(2)
= ∑ k ∈ K n k n ( w t − η g t k ( 1 ) ) 本地更新后聚合 (3) \tag{3} =\sum_{k \in K}\frac{n_k}{n}(w_t-\eta g_t^{k(1)}) \space\space\space\space\space\space\space\space本地更新后聚合 =k∈K∑nnk(wt−ηgtk(1)) 本地更新后聚合(3)
= ∑ k ∈ K n k n w t + 1 k (4) \tag{4} =\sum_{k \in K} \frac{n_k}{n}w^k_{t+1} =k∈K∑nnkwt+1k(4)
因此,在向服务器发送参数之前,它们通过多次迭代本地更新 w t k ( i ) = w t k ( i − 1 ) − η g t k ( i ) w^{k(i)}_ t = w^{k(i-1)}_t - ηg^{k(i)} _ t wtk(i)=wtk(i−1)−ηgtk(i)(i-th step,, $ w^{k(0)}_ t = w_t$),增加了每个客户端的计算量。换句话说,FedAvg 通过增加本地计算减少了整体通信轮次。
然而,等式 (2) 是有意义的,因为每个
g
t
k
(
1
)
g_t^{k(1)}
gtk(1) 都是
w
t
w_t
wt 的导数,因此
g
t
k
(
1
)
g_t^{k(1)}
gtk(1) 的加权平均值等于
g
t
(
1
)
g_t^{(1)}
gt(1) , i.e.
g
t
(
1
)
=
∇
w
t
L
(
w
t
;
D
)
(5)
\tag{5} g_t^{(1)} = \nabla _{w_t}L(w_t;D)
gt(1)=∇wtL(wt;D)(5)
= ∑ k ∈ K n k n ∇ w t L k ( w t ; D k ) (6) \tag{6} =\sum_{k \in K} \frac{n_k}{n}\nabla _{w_t}L_k(w_t;D_k) =k∈K∑nnk∇wtLk(wt;Dk)(6)
= ∑ k ∈ K n k n g t k ( 1 ) (7) \tag{7} =\sum_{k \in K} \frac{n_k}{n}g_t^{k(1)} =k∈K∑nnkgtk(1)(7)
在客户端上进行多步梯度下降时,等式 (7) 不成立。为了直观起见,我们来看看梯度下降的第二步 $g^{(2)} _ t $ 和
g
t
k
(
2
)
g ^{k(2)} _t
gtk(2):
g
t
(
2
)
=
∇
w
t
(
1
)
L
(
w
t
(
1
)
;
D
)
(8)
\tag{8} g_t^{(2)} = \nabla _{w_t^{(1)}}L(w_t^{(1)};D)
gt(2)=∇wt(1)L(wt(1);D)(8)
g t k ( 2 ) = ∇ w t k ( 1 ) L ( w t k ( 1 ) ; D ) (9) \tag{9} g_t^{k(2)} = \nabla _{w_t^{k(1)}}L(w_t^{k(1)};D) gtk(2)=∇wtk(1)L(wtk(1);D)(9)
显然,等式 (7) 在这里不成立,因为 g t ( 2 ) g^{(2)}_ t gt(2) 和 g t k ( 2 ) g ^{k(2)} _t gtk(2) 分别是不同参数的导数,即 w t ( 1 ) w^{ (1)} _t wt(1) 和 w t k ( 1 ) w^{k(1)} _t wtk(1)。我们将 g t g_t gt 与 ∑ k ∈ K n k n g t k \sum_{k \in K} \frac{n_k}{n}g_t^{k} ∑k∈Knnkgtk 之间的差距称为梯度偏差,它在开始时很小,但随着局部更新步长的增加会不断累积,最终损害联合模型的性能,尤其是在non-IID FL 设置中。
个人理解:如果每步本地更新后,进行一次服务器聚合,这种情况下的 g t ( 2 ) g_t^{(2)} gt(2)是 w t ( 1 ) w_t^{(1)} wt(1)的梯度( w t ( 1 ) w_t^{(1)} wt(1)来自所有客户端); 采用FedAvg,多次更新后再聚合, g t k ( 2 ) g ^{k(2)} _t gtk(2)是 w t k ( 1 ) w^{k(1)} _t wtk(1)的梯度,而 w t k ( 1 ) w^{k(1)} _t wtk(1)仅来自客户端 k k k, 所以 g t ( 2 ) ≠ g t k ( 2 ) g_t^{(2)} \neq g_t^{k(2)} gt(2)=gtk(2)
2.2 不一致的优化目标
FedAvg提出的第二个重大改进是在每轮中选择一部分worker(或FL设置中的客户端)来执行计算,即将K替换为C·K,其中C是客户端的比例。他们表明,较小的 C(例如,C = 0.1)可以导致收敛。
然而,这会带来另一个问题,即优化目标与真实目标分布不一致。
在第 t 轮,FedAvg 实际上训练全局模型以最小化分布
D
S
t
D_{S_t}
DSt 上的经验损失:
D
S
t
=
∑
k
∈
S
t
n
k
n
S
t
D
k
,
n
S
t
=
∣
D
S
t
∣
D_{S_t}=\sum_{k \in S_t} \frac{n_k}{n_{S_t}}D_k,~ n_{S_t}=|D_{S_t}|
DSt=k∈St∑nStnkDk, nSt=∣DSt∣
造成不一致的主要原因有两个:
- 一方面,各轮之间的 D S t D_{S_t} DSt 有所不同,这导致缺乏清晰一致的优化目标。
- 另一方面, D S t D_{S_t} DSt 与真实目标分布 D D D 之间存在差距,这可能是由于客户选择的偏差造成的。例如,在为手机用户开发模型时,FedAvg直接在移动设备上进行模型训练,因此要求参与者具有一定的计算能力,而这在廉价设备上很少能满足。因此,联邦模型将使用主要来自昂贵手机的有偏差的数据分布进行训练。这种模型不适合部署在由昂贵和廉价(通常数量较多)设备组成的广泛而通用的领域中。
Methods
3.1 无偏梯度聚合Unbiased Gradient Aggregation
梯度偏差可以简单地概括为梯度 g t g_t gt 和 g t k g^k_t gtk 是针对不同的模型参数计算的,因此 FedAvg 中的加权平均值 g t = ∑ k ∈ K n k n g t k g_t = \sum_{k \in K} \frac{n_k}{n} g^k_t gt=∑k∈Knnkgtk 对于多步梯度下降并不成立。
一个简单的解决方案是在客户端 k 上第 t 轮的第 i 步中计算针对 w t w_t wt 而不是 w t k ( i ) w_t^{k(i)} wtk(i) 的梯度。但是,这样的解决方案违反了客户端上的梯度下降优化规则,因此无法保证其收敛性。更糟糕的是,它需要在每一步中计算高阶导数,从而带来大量的计算和存储(中间变量)成本,这是智能边缘设备无法承受的。
为了摆脱这种困境,我们开发了一种新颖的梯度评估策略,能够以无偏且计算高效的方式计算梯度。简单地以具有 E 个本地epoch的设备上训练过程为例,我们对前 E-1 个epochs执行跟踪梯度下降优化,然后使用最后一个epoch的整个本地数据来评估梯度。
3.1.1 跟踪梯度下降Keep-trace Gradient Descent
在第 t 轮客户端 k 更新的第 i 步中,将执行普通梯度下降
w
t
k
(
i
)
=
w
t
k
(
i
−
1
)
−
η
g
t
k
(
i
)
(11)
\tag{11} w_t^{k(i)} = w_t^{k(i-1)} − ηg_t^{k(i)}
wtk(i)=wtk(i−1)−ηgtk(i)(11)
并保持
w
t
k
(
i
)
w_t^{k(i)}
wtk(i)作为下一步更新的初始状态。将
B
t
k
(
i
)
B ^{k(i)} _t
Btk(i) 表示为第 t 轮中客户端 k 上第 i 个step中的一批示例,我们有:
KaTeX parse error: Undefined control sequence: \grad at position 24: …} g^{k(i)}_t = \̲g̲r̲a̲d̲_{w_t^{k(i−1)}}…
注意
g
t
k
(
i
)
g^{k(i)}_t
gtk(i) 是
w
t
k
(
i
−
1
)
w_t^{k(i−1)}
wtk(i−1) 的函数,因此
w
t
k
(
i
)
w_t^{k(i)}
wtk(i) 也是
w
t
k
(
i
−
1
)
w_t^{k(i−1)}
wtk(i−1) 的函数,即
w
t
k
(
i
)
=
f
k
(
i
)
(
w
t
k
(
i
−
1
)
w_t^{k(i)}=f_{k(i)}(w_t^{k(i-1)}
wtk(i)=fk(i)(wtk(i−1))。
在更新参数时,我们不将 g t k ( i ) g^{k(i)}_t gtk(i) 视为数值,不将方程(11)视为数值计算,而是保留相邻步骤的模型参数 w t k ( i ) w_t^{k(i)} wtk(i) 和 w t k ( i − 1 ) w_t^{k(i-1)} wtk(i−1) 之间的函数关系。
对于前E-1个epoch,我们通过模型多次进行前向和后向计算,并记录整个计算历史,这被称为keep-trace梯度下降。本地更新的多个epoch,与普通的 FedAvg 一致,用于通过增加本地计算来降低通信成本。
3.1.2 梯度评估Gradient Evaluation
经过 E − 1 epoch 的本地更新后,我们最终根据递归关系得到
w
t
k
=
h
k
(
w
t
)
w_t^k=h_k(w_t)
wtk=hk(wt),即最终更新的模型参数与客户端 k 上的初始模型参数之间的函数关系。然后在最后一个时期,我们在整个客户端数据上评估
w
t
k
w_t^k
wtk,并通过展开上面的 keep-trace 梯度下降中记录的计算历史来计算针对
w
t
w_t
wt(共享初始模型参数)的梯度:
KaTeX parse error: Undefined control sequence: \grad at position 19: …ag{13} g_t^k = \̲g̲r̲a̲d̲_{w_t}L(w_t^k;D…
由于
k
∈
S
t
k \in S_t
k∈St 的所有
g
t
k
g_t^k
gtk 都是
w
t
w_ t
wt 的导数,因此我们可以使用以下方法以无偏的方式聚合参数服务器上的梯度:
w
t
+
1
←
w
t
−
η
g
∑
k
∈
S
t
n
k
n
S
t
g
t
k
w_{t+1}\gets w_t-\eta_g \sum_{k \in S_t}\frac{n_k}{n_{S_t}}g_t^k
wt+1←wt−ηgk∈St∑nStnkgtk
通过keep-trace梯度下降和后续的梯度评估策略,只需要在最后一个epoch计算高阶导数,这大大提高了计算和存储效率。
e.g. 有一个简单的两步示例来解释跟踪梯度下降和梯度评估策略是如何工作的。首先,我们从 开始
w
t
k
(
0
)
w_t^{k(0)}
wtk(0) 并执行一步 SGD 得到
w
t
k
(
1
)
w_t^{k(1)}
wtk(1) ,
w
t
k
(
0
)
w_t^{k(0)}
wtk(0) 的函数 :
w
t
k
(
1
)
=
w
t
k
(
0
)
−
η
g
t
k
(
1
)
(15)
\tag{15}w_t^{k(1)}=w_t^{k(0)}-\eta g_t^{k(1)}
wtk(1)=wtk(0)−ηgtk(1)(15)
= w t k ( 0 ) − η ∇ w t k ( 0 ) L ( w t k ( 0 ) ; B t k ( 1 ) ) (16) \tag{16} =w_t^{k(0)}-\eta \nabla _{w_t^{k(0)}}L(w_t^{k(0)};B_t^{k(1)}) =wtk(0)−η∇wtk(0)L(wtk(0);Btk(1))(16)
然后我们对数据批次 B t k ( 2 ) B_t^{k(2)} Btk(2) 执行一步跟踪梯度下降,得到 w t k ( 2 ) w_t^{k(2)} wtk(2) :
w t k ( 2 ) = w t k ( 1 ) − η g t k ( 2 ) (17) \tag{17}w_t^{k(2)}=w_t^{k(1)}-\eta g_t^{k(2)} wtk(2)=wtk(1)−ηgtk(2)(17)
= w t k ( 1 ) − η ∇ w t k ( 1 ) L ( w t k ( 1 ) ; B t k ( 2 ) ) (18) \tag{18} =w_t^{k(1)}-\eta \nabla _{w_t^{k(1)}}L(w_t^{k(1)};B_t^{k(2)}) =wtk(1)−η∇wtk(1)L(wtk(1);Btk(2))(18)
这里我们可以将式(18)中的
w
t
k
(
1
)
w_t^{k(1)}
wtk(1) 替换为式(16),根据递推关系得到
w
t
k
(
2
)
w_t^{k(2)}
wtk(2) 也是
w
t
k
(
0
)
w_t^{k(0)}
wtk(0) 的函数。然后我们用数据批次 B 对其进行评估,以计算相对于
w
t
k
(
0
)
w_t^{k(0)}
wtk(0) 的梯度
g
t
k
g_t^k
gtk :
g
t
k
=
∇
w
t
k
(
0
)
L
(
w
t
k
(
2
)
;
B
t
k
(
3
)
)
(19)
\tag{19} g_t^k=\nabla _{w_t^{k(0)}}L(w_t^{k(2)};B_t^{k(3)})
gtk=∇wtk(0)L(wtk(2);Btk(3))(19)
最后我们得到所有
k
∈
S
t
k \in S_t
k∈St 的
g
t
k
g_t^k
gtk 都是
w
t
w_t
wt 的导数。
采用**无偏梯度聚合(UGA)**改进的 FedAvg 总结为 Algorithm 1
。
3.2 可控元更新Controllable Meta Updating
目标分布与优化目标不一致的原因有两个:
- D S t D_{S_t} DSt 在轮次之间存在差异,因为每轮选择不同部分的客户端进行计算;
- 所选的 D S t D_{S_t} DSt与真实的目标分布 D D D之间存在差距。综上所述,我们缺乏一个明确且一致的目标。
为了解决这个问题,我们在每轮模型聚合之后引入了一个额外的元更新过程(FedMeta),在参数服务器上使用一小组数据样本 D m e t a D_{meta} Dmeta。请注意,FedMeta 与 UGA 和普通 FedAvg 中的客户端更新策略兼容。
FedMeta在第t轮的整个优化过程可以描述为:我们要优化 w t w_t wt,客户端在C·K个客户端上更新后,在服务器上进行梯度聚合,得到 w t + 1 w_{t+1} wt+1,即在元训练集 D m e t a D_{meta} Dmeta 上表现良好的网络参数。 FedMeta 中的代表性回合如图 1 所示。
这是一个两阶段优化,包含: 1) 使用等式(12)、(13)和(14)对 C·K 客户端进行内循环优化; 2)服务器上的外循环优化,即元更新过程,使用:
w
t
+
1
m
e
t
a
=
w
t
+
1
−
η
m
e
t
a
∇
w
t
+
1
L
(
w
t
+
1
;
D
m
e
t
a
)
(20)
\tag{20} w_{t+1}^{meta}=w_{t+1}-\eta_{meta}\nabla _{w_{t+1}}L(w_{t+1};D_{meta})
wt+1meta=wt+1−ηmeta∇wt+1L(wt+1;Dmeta)(20)
FedMeta 的伪代码如 Algorithm 2
所示。
值得注意的是,在这两个阶段的优化中,整个训练过程有一个明确且一致的目标,即元训练集 D m e t a D_{meta} Dmeta上的性能,它解决了2.2节中的问题,但不可避免地过于依赖于元训练集 D m e t a D_{meta} Dmeta的选择 .
3.2.1 D m e t a D_{meta} Dmeta 的作用和隐私问题
通常情况下, D m e t a D_{meta} Dmeta可以是整个数据分布 D D D 的 IID 子集。在实践中,它可以通过某些用户自愿共享的数据来获取,或者通过招募一些用户参与内测计划或测试联邦应用的beta版。这些构建 D m e t a D_{meta} Dmeta的方法并不违反隐私保护原则。
3.2.2 可控联邦模型
此外,从另一个角度来看, D m e t a D_{meta} Dmeta提供了一种有针对性地控制联邦模型行为的方法。在vanilla FedAvg中,服务器无法控制系统最终训练出什么样的模型,这给模型调优带来了很大的麻烦,从而限制了算法的广泛应用。例如,由于训练联邦模型的收敛需要大量的通信轮次,如果你对之前的模型不满意并决定重新训练,你还需要等待很长时间。与 FedAvg 不同的是,FedMeta 中的联邦模型始终针对元训练集 D m e t a D_{meta} Dmeta上的更好性能进行优化。也就是说,你提供什么样的 D m e t a D_{meta} Dmeta,就训练相应的联邦模型。
事实上,元训练集 D m e t a D_{meta} Dmeta和整体数据分布 D D D之间没有必然联系。相反, D m e t a D_{meta} Dmeta应该根据真实目标明确选择,这是减少联邦模型偏差和不公平的有力工具。例如,整体数据分布D可能包含一些性别、种族或财富的偏见,但我们可以构建一个更好的元训练集 D m e t a D_{meta} Dmeta来指导联邦模型的优化朝着无偏见和公平的方向发展方式。在这种情况下,客户端上的内循环优化被认为是预训练,而服务器上的外循环优化,即元更新,被认为是对指示预期目标的元训练集 D m e t a D_{meta} Dmeta的微调。
4 Experiments
4.1 CNN Model on Split CIFAR-10 (IID)
- E: The number of local training epochs.
- B: The local batch size.
对于 CIFAR-10 的实验,C = 0.2(两个客户端)是固定的。我们使用随机梯度下降 (SGD) 优化器,每轮通信的学习率 η = 0.002 ( = η m e t a ) η = 0.002(= η_{meta}) η=0.002(=ηmeta) 和衰减率 = 0.992。 FedProx 中近端项的系数设置为 2 × 1 0 − 4 2 × 10^{−4} 2×10−4 。
FedMeta w/ UGA相对于具有不同 E 或 B 的 FedShare、FedProx 和 FedAvg 的收敛曲线如图 2 所示。在所有三个实验中,FedProx 仅略微优于 FedAvg,这表明近端项在 IIDFL 设置中的效果有限。当E较小时,FedShare借助全局共享数据集提高了FedAvg的性能,如图2a和2b所示。相比之下,FedMeta w/ UGA 的收敛速度更快,并且在所有情况下都比 FedProx 和 FedAvg 取得了更好的收敛性能,并且有很大的优势。在客户之间不共享数据的情况下,它的性能也优于 FedShare。我们进一步总结了表 1 中的准确度值,以便更清楚地看到结果。 FedMeta w/ UGA 的表现优于 FedAvg,准确率平均提高了 3 个百分点以上。
值得注意的是,当本地客户端上的更新步骤较多(较小的 B 或较大的 E)时,所提出的方法所做的改进更为显着。例如,当 B 较小时(图 2a 与 2b),带有 UGA 的 FedMeta 显示出更快的收敛速度,与 FedAvg 相比,达到 75% 准确度所需的通信轮数减少了 50% 以上, 79轮增至39轮;当 E 较大时(图 2c),FedMeta w/ UGA 在准确率上优于 FedProx 和 FedProx 约 2 个百分点,这比图 2a 和 2b 中的改进更为显着。这可能是由于随着客户端更新步骤的增加而累积的梯度偏差,这加剧了局部模型和全局模型之间的权重差异。
更糟糕的是,虽然轮次之间优化目标的变化很小,但会给优化过程带来不稳定,最终导致性能不佳。
4.2 CNN Model on FEMNIST (non-IID)
随机选择 100 个 writer,并将每个 writer(及其示例)分配给一个客户端,从而构成 100 个具有典型非 IID 数据分布的客户端。此外,我们随机抽取 1% 的图像作为 FedShare 的共享数据和 FedMeta 的元训练集。
C = 0.1(10 个客户端)对于 FEMNIST 上的实验是固定的。我们使用学习率 η = 0.002 η = 0.002 η=0.002(针对不同 B 的线性缩放规则 [12])的 SGD 优化器,本地客户端上每轮通信的衰减率 = 0.992。我们对 UGA 保持 η g = 0.002 η_g = 0.002 ηg=0.002,对 FedMeta 保持 η m e t a = η η_{meta} = η ηmeta=η。
FedProx 中近端项的系数设置为 2 × 1 0 − 4 2 × 10^{−4} 2×10−4 。
FedMeta w/ UGA 的测试精度和通信轮次损耗以及不同 E 和 B 的比较方法如图 3 所示。如图 3 所示,FedMeta w/ UGA 的收敛速度优于 FedProx、FedShare 和 FedAvg:以及最终的准确率还有很大的优势。
当E很小时(图3a),FedProx、FedShare和FedAvg由于本地训练不足而收敛缓慢。相比之下,带有 UGA 的 FedMeta 以更少的通信和计算成本实现了更好的性能。在相同的 E 下,当本地更新步数增加时,FedMeta w/ UGA 所做的改进更加显着(图 3b 与 3c),这与 4.1 节中的结论相同。
此外,我们总结了所有方法达到特定精度里程碑所需的通信轮数以及 E = 5、B = 64 时的最终收敛精度,如表 2 所示。
为了达到 90% 的准确率,与普通的 FedAvg、FedShare 和 FedProx 相比,FedMeta w/ UGA 分别只需要 13.50%、15.32% 和 40.97% 的通信轮数,这表明通信成本显着降低。同时,FedMeta w/ UGA 的最终收敛精度达到 98.18%,远远领先于其他三种方法所达到的性能。
4.3 GRU Model on Shakespeare (non-IID)
莎士比亚是根据威廉·莎士比亚全集构建的数据集,其中每个演讲角色都被视为唯一的客户。它包含 715 个角色,总共 16,068 个训练示例(单词行)和 2,356 个测试示例。同样,我们随机选择 100 个角色作为客户端,并对 FedShare 的共享数据或 FedMeta 的元训练数据进行采样。
C = 0.1(10 个客户端), 使用 SGD 优化器,学习率 η = 0.1 η = 0.1 η=0.1(FedMeta 的 $ η_{meta}$),本地客户端每轮通信的衰减率 = 0.992。
GRU模型在莎士比亚上的实验结果如图4所示。与上述两个实验的结论类似,所提出的带有UGA的FedMeta比对比方法获得了更高的精度,收敛精度提高了13.83%、10.05%与 FedAvg、FedShare 和 FedProx 相比分别为 5.58% 和 5.58%,如图 4c 所示。FedMeta w/ UGA 收敛速度也更快。 FedAvg、FedShare 和 FedProx 分别花费了 319、182 和 122 轮才能达到 47% 的准确率。相比之下,FedMeta w/ UGA 只需要 49 轮通信即可达到。对于莎士比亚,FedShare 略微提高了 FedAvg 的性能,但仍然低于 FedProx 和 FedMeta w/ UGA。这可能是由于莎士比亚上的数据分布极不独立同分布,并且采样的共享数据集代表性不够。例如,这里采样的共享数据包含来自100个角色的句子,如果该角色的说话习惯与其他人有很大不同,那么这会对某个客户产生负面影响。
GRU(和其他循环神经网络(RNN))模型通常要求数据比 CNN 多次通过相同的网络架构,这导致 FedAvg 的梯度偏差更严重。 UGA 缓解了这个问题,但受到多次通过相同架构反向传播导数带来的不稳定性的影响,这导致了带 UGA 的 FedMeta 最终收敛精度存在较大差异,如图 4c 中的方差条所示???。
4.4 Controllable D m e t a D_{meta} Dmeta
在 3.2 节中,我们提出 D m e t a D_{meta} Dmeta 提供一种控制联邦模型行为的方法。这里我们通过构建一个 D m e t a D_{meta} Dmeta 来模拟这种情况,该 D m e t a D_{meta} Dmeta 在 FEMNIST 中与 D 有部分或没有重叠的 writers
D的划分、模型和主要超参数的数据集划分遵循 4.2 节中。此外,我们还对另外 100 名作家及其示例进行了抽样,以形成辅助数据集。
然后我们通过从 D 和辅助数据集的混合中按一定比例采样样本来构建 D m e t a D_{meta} Dmeta。例如,25%重叠意味着 D m e t a D_{meta} Dmeta 中有25%的作者也包含在D中,而其他75%的作者来自辅助数据集。在实践中,我们首先按照一定比例从D和辅助数据集中选择作者,然后采样1%的示例形成 D m e t a D_{meta} Dmeta。
FedAvg 和 FedMeta(没有 UGA)在 FEMNIST 上的测试准确率( D m e t a D_{meta} Dmeta和 D 之间有不同的重叠率)如图 5 所示。随着 D m e t a D_{meta} Dmeta和 D 之间的差异增加,FedAvg 的准确率显着下降,从 88.36% 下降到 85.77% 。值得注意的是,当Dmeta是从 D m e t a D_{meta} Dmeta中采样时,即100%重叠率时,准确率为90.31%。它表明,如果 D m e t a D_{meta} Dmeta与 D 存在较大差异,FedAvg 的准确性可能会下降多达 5 个百分点。相比之下,在元训练集的指导下,FedMeta 的性能始终保持在 92% 左右。
4.5 消融实验Ablation Study on UGA and FedMeta
4.5.1 Ablation Experiments on FEMNIST (non-IID)
我们在图 6 中展示了 UGA 和 FedMeta 的通信轮次的测试准确度和损失。
为了进行直接比较,我们还绘制了 FedAvg 的学习曲线作为基线,FedMeta w/ UGA 作为上限。
分别考虑 FedMeta 和 UGA 的性能,它们都比 FedShare 和 FedAvg 有所改进。一般来说,UGA 比 FedMeta 具有更好的性能,特别是当本地更新步骤不多时(图 6a 与 6c)。当本地更新步数增加时,UGA 达到了相当的精度,但稳定性不如 FedMeta,精度和损失抖动较大(如图 6b 所示)。这可能是由于在UGA中多次通过由同一网络组成的展开环路反向传播梯度而引起的。
与4.2节类似,我们进一步总结了E = 5时达到准确率里程碑的通信轮数以及UGA和FedMeta在FEMNIST上的收敛准确率;表3中B = 64。UGA和FedMeta在收敛速度和最终收敛精度方面均优于FedAvg。具体来说,UGA和FedMeta在非常接近的通信轮数下达到了70%和80%的精度,不到FedAvg的一半,而UGA达到了稍高的收敛精度。它表明,UGA 在开始时的表现与 FedMeta 类似,但随着训练过程的进行,可以进一步改进联邦模型。
4.5.2 Ablation Experiments on Shakespeare (non-IID)
我们还对莎士比亚(非 IID)进行了消融实验,以研究 UGA 和 FedMeta 这两种方法在使用 RNN 模型时的表现。模型架构和超参数的基本设置与第 4.3 节中的相同。实验结果如图 7 所示。同样,我们绘制了 FedAvg 和 FedMeta 与 UGA 的性能对比图。我们可以看到,UGA 和 FedMeta 在收敛速度和收敛精度上都优于基线方法 FedAvg,但在 FedMeta w/ UGA 上表现不佳。具体来说,UGA 的表现略好于 FedMeta,准确率达到 52.41%,比 FedMeta 高出一个百分点。原因已在第 4.3 节中解释: RNN 模型通常要求数据多次通过相同的网络架构,这会导致 FedAvg 出现严重的梯度偏差。UGA 则大大缓解了这一问题,从而实现了更好的性能。
和超参数的基本设置与第 4.3 节中的相同。实验结果如图 7 所示。同样,我们绘制了 FedAvg 和 FedMeta 与 UGA 的性能对比图。我们可以看到,UGA 和 FedMeta 在收敛速度和收敛精度上都优于基线方法 FedAvg,但在 FedMeta w/ UGA 上表现不佳。具体来说,UGA 的表现略好于 FedMeta,准确率达到 52.41%,比 FedMeta 高出一个百分点。原因已在第 4.3 节中解释: RNN 模型通常要求数据多次通过相同的网络架构,这会导致 FedAvg 出现严重的梯度偏差。UGA 则大大缓解了这一问题,从而实现了更好的性能。