在开始之前讲一下论文的大致思想:论文作者发现在联邦学习中,分类器的差数差异巨大,在聚合参数之后,分类器效果不好,因此想要对分类器进行修正。使用客户端所有的特征提取器的feature和标签来修正是一种不错的方法,但是这样会有隐私泄露,因此作者提出,将每个客户端样本特征的均值和方差传到服务器进行聚和,在中心服务器中使用混合高斯采样来模拟客户端样本的特征对其分类器进行矫正。
Abstract
在现实世界联邦系统中训练分类模型的一个核心挑战是使用非iid数据进行学习。为了解决这个问题,现有的大部分工作都涉及在局部优化中强制正则化或在服务器上改进模型聚合方案。其他作品还共享公共数据集或合成样本,以补充代表性不足的类的训练或引入一定程度的个性化。尽管有效,但它们缺乏对数据异构性如何影响深度分类模型每一层的深入理解。在本文中,我们通过对不同层学习的表示进行实验分析来弥补这一差距。我们的观察结果令人惊讶:(1)分类器中存在比其他层更大的偏差,(2)联邦训练后对分类器进行后校准可以显著提高分类性能。基于上述发现,我们提出了一种新颖而简单的算法,称为虚拟表示的分类器校准(CCVR),该算法使用从近似高斯混合模型采样的虚拟表示来调整分类器。实验结果表明,CCVR在包括CIFAR-10、CIFAR-100和CINIC-10在内的流行联邦学习基准上实现了最先进的性能。我们希望我们简单而有效的方法可以为未来使用非iid数据的联邦学习研究提供一些启示。
1 Introduction
深度学习的快速发展得益于像[1]这样的大型数据集。然而,在现实世界中,数据可能分布在众多移动设备和物联网(IoT)上,需要对深度网络进行去中心化训练。在这种现实需求的驱动下,联邦学习[2,3,4]已经成为一个新兴的研究课题,模型训练被推送到大量的边缘客户端,原始数据不离开本地设备。联邦学习中一个臭名昭著的陷阱是使用非iid数据进行训练。由于用户行为的多样性,不同客户端的本地数据可能存在较大的异质性,已被发现导致不稳定且收敛缓慢的[5],导致模型性能次优甚至不利[6,7]。
在非iid数据上探索联邦学习的有前途的解决方案的工作太多了。它们大致可以分为四类:1)客户端漂移缓解[5,8,9,10],它修改客户端的局部目标,使局部模型与全局模型在一定程度上保持一致;2)聚合方案[11,12,13,14,15],改进了服务器端的模型融合机制;3)数据共享[6,16,17,18],引入公共数据集或合成数据,以帮助在客户端或服务器上构建更均衡的数据分布;4)个性化联邦学习[19,20,21,22],旨在为单个客户端训练个性化模型,而不是一个共享的全球模型。
然而,正如[7]所指出的,现有的算法在深度学习模型的图像数据集上仍然无法取得良好的性能,并不比vanilla FedAvg[2]更好。为了确定这背后的原因,我们对深度神经网络的每一层都进行了彻底的实验研究。具体来说,我们测量了来自不同客户端局部模型的同一层表示之间的中心核对齐(CKA)[23]相似性。观察结果发人深省:比较在不同客户端上学习的不同层,分类器在不同的局部模型上具有最低的feature2相似性。
在上述发现的激励下,我们更深入地研究了联邦优化中分类器权重的变化,并证实了分类器倾向于偏向某些类。在识别这个魔鬼之后,我们进行了几次实证试验,通过在训练期间正则化分类器或在训练后校准分类器权重来消除分类器的偏见。我们惊奇地发现,后校准策略特别有用——仅使用一小部分IID数据,分类精度就得到了显著提高。然而,这种方法不能直接部署在实践中,因为它违反了联邦学习中的隐私规则。
基于上述发现和考虑,我们提出了一种新颖的隐私保护方法,称为虚拟表示分类器校准(CCVR),该方法在联邦训练后校正深度网络的决策边界(分类器)。CCVR利用学习到的特征提取器在特征空间中基于近似高斯混合模型(GMM)生成虚拟表示。实验结果表明,与几种流行的联邦学习算法相比,CCVR的精度有了显著提高,在CIFAR-10、CIFAR-100和CINIC-10等通用联邦学习基准上达到了最新水平。
总而言之,我们的贡献有三个方面:(1)我们首次系统地研究了用FedAvg在非iid数据上训练的不同层神经网络(NN)的隐藏表示,并提供了一个理解使用异构数据的联邦学习的新视角。(2)我们的研究揭示了一个有趣的事实,即在非iid数据上训练的NN性能下降的主要原因是分类器。(3)我们提出了CCVR(虚拟表示分类器校准)-一种用于联邦学习的简单而通用的分类器校准算法。CCVR构建在现成的特征提取器之上,不需要传输原始数据的表示形式,因此不会引起额外的隐私问题。我们的实证结果表明,与普通联邦学习方法相比,CCVR带来了相当大的准确性收益。
2 Related Work
联邦学习[2,3,4]是一个快速发展的研究领域,仍有许多悬而未决的问题需要解决。
在这项工作中,我们专注于解决非iid困境[6,24]。相关工作主要朝以下四个方向发展。
客户端漂移缓解。FedAvg[2]已经成为联邦设置中事实上的优化方法。然而,当它应用于异构设置时,出现了一个关键问题:当全局模型在不同的局部目标下进行优化时,局部最优值彼此相距很远,结果客户机更新(服务器更新)的平均值将远离真正的全局最优值[9]。这种不一致的原因被称为“客户漂移”。为了缓解这一问题,FedAvg被迫使用一个小的学习率,这可能会损害收敛,或减少局部迭代的数量,从而导致显著的通信成本[25]。已经有很多工作试图从不同的角度减轻FedAvg的“客户漂移”。FedProx[5]提出在局部目标上增加一个近端项,正则化局部模型和全局模型之间的欧氏距离。MOON[8]采用对比损失,最大限度地使局部模型学习到的表示与全局模型学习到的表示一致。scarffold[9]执行“客户方差缩减”,并通过引入控制变量来纠正本地更新中的漂移。FedDyn[10]在每一轮通信中动态地改变局部目标,以确保局部最优与全局目标的静止点渐近一致。FedIR[26]对局部目标施加了重要权重,缓解了客户端之间类分布不相同造成的不平衡。
聚合方案。一个富有成效的探索途径涉及到模型聚合阶段的改进。这些工作的动机来自三个新出现的问题。首先,使用从客户端收集的带有有限标签子集的梯度来更新全局模型时,可能会发生振荡。为了缓解这个问题,[11]提出了在服务器端采用动量更新的FedAvgM。其次,按元素平均权重可能会对平均模型的性能产生严重的负面影响。[12]表明,直接平均从完全不同的数据分布中学习的局部模型不能产生在全球分布上表现良好的全局模型。作者进一步提出了利用GANs[27]生成的未标记数据或人工样本从局部模型中提取知识的FedDF。[13]考虑了每个客户端执行不同数量的本地工作的设置,并提出了FedNova,它在平均之前对本地更新进行标准化。第三,少数文献[14,15]认为神经网络参数的排列不变性可能会导致神经元在对模型权值进行坐标平均时失配。因此,他们建议在聚合时匹配局部模型的参数。
数据共享。数据共享背后的关键动机是客户端在本地训练期间无法从其他客户端获取样本,因此学习到的局部模型无法充分代表来自缺席类的某些模式或样本。常见的做法是共享公共数据集[6]、合成数据[16,17]或训练样本[18]的压缩版本,以补充客户端或服务器上的训练。这类工作可能违反了联邦学习的隐私规则,因为它们都考虑共享模型的原始输入数据,无论是真实数据还是人工数据。
个性化联邦学习。不同于上述方向的目标是学习单一的全局模型,另一个研究方向专注于学习个性化模型。一些工作旨在使全局模型自定义以适应个体用户的需要,或者将每个客户端视为元学习中的一个任务[19,28,20,29]或多任务学习[30],或者同时学习所有客户端的全局参数和单个客户端的局部私有参数[21,31,32]。还有一些启发式方法,根据客户的学习任务(目标)将其划分为不同的集群,并仅在集群内执行聚合[33,34,22,35]。
在这项工作中,我们考虑训练一个单一的全局分类模型。据我们所知,我们是第一个在联邦学习中解耦表示和分类器-在特征学习后校准分类器。严格来说,我们提出的CCVR算法不属于上述任何一个研究方向,但可以很容易地与现有的大多数联邦学习方法相结合,以获得更好的分类性能。
3 Heterogeneity in Federated Learning: The Devil Is in Classifier
3.1 Problem Setup
我们的目标是在一个联邦学习系统中协同训练一个图像分类模型,该系统由K个由[K]索引的客户端和一个中央服务器组成。客户端k有一个本地数据集Dk,我们设置
D
=
⋃
k
∈
[
K
]
D
k
\mathcal{D}=\bigcup_{k \in[K]} \mathcal{D}^k
D=⋃k∈[K]Dk 是整个数据集. 假设一共有
C
C
C 各类别在数据集中
D
\mathcal{D}
D indexed by
[
C
]
[C]
[C]. Denote by
(
x
,
y
)
∈
X
×
[
C
]
(\boldsymbol{x}, y) \in \mathcal{X} \times[C]
(x,y)∈X×[C] a sample in
D
\mathcal{D}
D, where
x
\boldsymbol{x}
x is an image in the input space
X
\mathcal{X}
X and
y
y
y is its corresponding label. Let
D
c
k
=
{
(
x
,
y
)
∈
D
k
:
y
=
c
}
\mathcal{D}_c^k=\left\{(\boldsymbol{x}, y) \in \mathcal{D}^k: y=c\right\}
Dck={(x,y)∈Dk:y=c} be the set of samples with ground-truth label
c
c
c on client
k
k
k. We decompose the classification model into a deep feature extractor and a linear classifier. Given a sample
(
x
,
y
)
(\boldsymbol{x}, y)
(x,y), the feature extractor
f
θ
:
X
→
Z
f_{\boldsymbol{\theta}}: \mathcal{X} \rightarrow \mathcal{Z}
fθ:X→Z, parameterized by
θ
\boldsymbol{\theta}
θ, maps the input image
x
\boldsymbol{x}
x into a feature vector
z
=
f
θ
(
x
)
∈
R
d
\boldsymbol{z}=f_{\boldsymbol{\theta}}(\boldsymbol{x}) \in \mathbb{R}^d
z=fθ(x)∈Rd in the feature space
Z
\mathcal{Z}
Z. Then the classifier
g
φ
:
Z
→
R
C
g_{\boldsymbol{\varphi}}: \mathcal{Z} \rightarrow \mathbb{R}^C
gφ:Z→RC, parameterized by
φ
\varphi
φ, produces a probability distribution
g
φ
(
z
)
g_{\boldsymbol{\varphi}}(\boldsymbol{z})
gφ(z) as the prediction for
x
\boldsymbol{x}
x. Denote by
w
=
(
θ
,
φ
)
\boldsymbol{w}=(\boldsymbol{\theta}, \boldsymbol{\varphi})
w=(θ,φ) the parameter of the classification model.
Federated learning proceeds through the communication between clients and the server in a roundby-round manner. In round
t
t
t of the process, the server sends the current model parameter
w
(
t
−
1
)
\boldsymbol{w}^{(t-1)}
w(t−1) to a set
U
(
t
)
U^{(t)}
U(t) of selected clients. Then each client
k
∈
U
(
t
)
k \in U^{(t)}
k∈U(t) locally updates the received parameter
w
(
t
−
1
)
\boldsymbol{w}^{(t-1)}
w(t−1) to
w
k
(
t
)
\boldsymbol{w}_k^{(t)}
wk(t) with the following objective:
min
w
k
(
t
)
E
(
x
,
y
)
∼
D
k
[
L
(
w
k
(
t
)
;
w
(
t
−
1
)
,
x
,
y
)
]
\min _{\boldsymbol{w}_k^{(t)}} \mathbb{E}_{(\boldsymbol{x}, y) \sim \mathcal{D}^k}\left[\mathcal{L}\left(\boldsymbol{w}_k^{(t)} ; \boldsymbol{w}^{(t-1)}, \boldsymbol{x}, y\right)\right]
wk(t)minE(x,y)∼Dk[L(wk(t);w(t−1),x,y)]
where
L
\mathcal{L}
L is the loss function. Note that
L
\mathcal{L}
L is algorithm-dependent and could rely on the current global model parameter
w
(
t
−
1
)
\boldsymbol{w}^{(t-1)}
w(t−1) as well. For instance, FedAvg [2] computes
w
k
(
t
)
\boldsymbol{w}_k^{(t)}
wk(t) by running SGD on
D
k
\mathcal{D}^k
Dk for a number of epochs using the cross-entropy loss, with initialization of the parameter set to
w
(
t
−
1
)
\boldsymbol{w}^{(t-1)}
w(t−1); FedProx [5] uses the cross entropy loss with an
L
2
L_2
L2-regularization term to constrain the distance between
w
k
(
t
)
\boldsymbol{w}_k^{(t)}
wk(t) and
w
(
t
−
1
)
\boldsymbol{w}^{(t-1)}
w(t−1); MOON [8] introduces a contrastive loss term to address the feature drift issue. In the end of round
t
t
t, the selected clients send the optimized parameter back to the server and the server updates the parameter by aggregating heterogeneous parameters as follows,
w
(
t
)
=
∑
k
∈
U
(
t
)
p
k
w
k
(
t
)
,
where
p
k
=
∣
D
k
∣
∑
k
′
∈
U
(
t
)
∣
D
k
′
∣
\boldsymbol{w}^{(t)}=\sum_{k \in U^{(t)}} p_k \boldsymbol{w}_k^{(t)}, \text { where } p_k=\frac{\left|\mathcal{D}^k\right|}{\sum_{k^{\prime} \in U^{(t)}} \mid \mathcal{D}^{k^{\prime} \mid}}
w(t)=k∈U(t)∑pkwk(t), where pk=∑k′∈U(t)∣Dk′∣
Dk
3.2 A Closer Look at Classification Model: Classifier Bias
为了生动地理解非iid数据对联邦学习分类模型的影响,我们对异构局部模型进行了实验研究。为了简单起见,我们选择了CIFAR-10带10个客户端,这是一个标准的联邦学习基准,[8]使用了一个7层的卷积神经网络。对于非iid实验,我们将浓度参数α设为0.1,按照Dirichlet分布对数据进行划分。更多细节见附录。具体来说,对于模型中的每一层,我们利用最近提出的中心核对齐(CKA)[23]来测量两个局部模型之间输出特征的相似性,给定相同的输入测试样本。CKA在0(完全不相似)和1(完全相同)之间输出相似度分数。我们使用FedAvg训练模型进行100轮通信,每个客户端在每轮中优化10个本地epoch。
我们首先在图1中选择性地显示了局部模型中三个不同层的成对CKA特征相似性。这里的三个比较层分别是第一层、中间层(第4层)和最后一层(分类器)。有趣的是,我们发现较深层输出的特征具有较低的CKA相似性。它表明,对于在非iid数据上训练的联邦模型,较深层在不同客户机之间具有较重的异构性。通过对CKA取平均在图1中,我们可以得到一个单独的值来近似表示不同客户端上每层特征输出的相似度。我们在图2中说明了近似的分层特征相似性。结果表明,与使用IID数据训练的模型相比,使用非IID数据训练的模型在所有层的客户端之间具有始终较低的特征相似性。主要发现是,对于非iid训练,分类器在所有层中显示出最低的特征相似性。分类器的低CKA相似性意味着局部分类器的变化很大,以适应局部数据分布。
为了对在非iid数据上训练的分类器进行更深入的分析,受[36]的启发,我们在图3中说明了局部分类器权重向量的L2范数。我们观察到,在初始训练阶段,分类器权重规范会偏向训练样本越多的类。在训练结束时,在非IID数据上训练的模型比在IID数据上训练的模型遭受更重的偏倚分类器。
基于以上对分类器的观察,我们假设:由于分类器是最接近局部标签分布的一层,所以它很容易偏向于异构的局部数据,这体现在不同局部分类器之间的特征相似度较低,以及有偏权范数。此外,我们认为去偏置分类器有望直接提高分类性能。
3.3 Classifier Regularization and Calibration
为了有效地去偏置分类器,我们考虑以下正则化和校准方法。
权重l2归一化。为了消除分类器权重规范中的偏差,我们在训练和推理阶段对分类器权重向量进行归一化。我们把它缩写为’ clsnorm '。特别地,分类器是一个权值为φ = [φ1,…, φC],然后是归一化和softmax。给定特征z,分类器的输出为
4 Classifier Calibration with Virtual Representations
在上述观察的激励下,我们提出了在联邦训练全局模型后在服务器上运行的虚拟表示(CCVR)分类器校准。CCVR使用从估计的高斯混合模型(GMM)绘制的虚拟特征,而不访问任何真实图像。假设fbθ和g bφ分别是全局模型的特征提取器和分类器,其中bw = (bθ, bφ)是某个联邦学习算法(例如FedAvg)训练出来的参数。我们将使用fbθ提取特征并估计相应的特征分布,并使用生成的虚拟表示重新训练g。
特征分布估计。对于与语义相关的任务,如分类,深度神经网络学习的特征可以近似为混合高斯分布。理论上,任何连续分布都可以用有限个高斯分布[37]的混合物来近似。在我们的CCVR中,我们假设D中每个类的特征遵循高斯分布。服务器通过使用从客户端收集的本地统计数据,在不访问真实数据样本或其特征的情况下,计算每个类c (D)的均值 μ c \mu_c μc和协方差 Σ c \Sigma_c Σc来估计这个分布。具体来说,服务器首先将经过训练的全局模型的特征提取器 f θ ^ f_{\widehat{\theta}} fθ 发送给客户端。设 N c , k = ∣ D c k ∣ N_{c, k}=\left|\mathcal{D}_c^k\right| Nc,k= Dck 为客户端k上c类样本的个数,设 N c = ∑ k = 1 K N c , k N_c=\sum_{k=1}^K N_{c, k} Nc=∑k=1KNc,k。客户端k生成特征 { z c , k , 1 , … , z c , k , N c , k } \left\{\boldsymbol{z}_{c, k, 1}, \ldots, \boldsymbol{z}_{c, k, N_{c, k}}\right\} {zc,k,1,…,zc,k,Nc,k} 表示类c,其中 z c , k , j = f θ ^ ( x c , k , j ) \boldsymbol{z}_{c, k, j}=f_{\widehat{\boldsymbol{\theta}}}\left(\boldsymbol{x}_{c, k, j}\right) zc,k,j=fθ (xc,k,j)为 D c k \mathcal{D}_c^k Dck中第j个样本的特征,计算 D c k \mathcal{D}_c^k Dck的局部均值 μ c , k \boldsymbol{\mu}_{c, k} μc,k 和协方差 Σ c , k \boldsymbol{\Sigma}_{c, k} Σc,k of D c k \mathcal{D}_c^k Dck为:
μ
c
,
k
=
1
N
c
,
k
∑
j
=
1
N
c
,
k
z
c
,
k
,
j
,
Σ
c
,
k
=
1
N
c
,
k
−
1
∑
j
=
1
N
c
,
k
(
z
c
,
k
,
j
−
μ
c
,
k
)
(
z
c
,
k
,
j
−
μ
c
,
k
)
T
\boldsymbol{\mu}_{c, k}=\frac{1}{N_{c, k}} \sum_{j=1}^{N_{c, k}} \boldsymbol{z}_{c, k, j}, \quad \boldsymbol{\Sigma}_{c, k}=\frac{1}{N_{c, k}-1} \sum_{j=1}^{N_{c, k}}\left(\boldsymbol{z}_{c, k, j}-\boldsymbol{\mu}_{c, k}\right)\left(\boldsymbol{z}_{c, k, j}-\boldsymbol{\mu}_{c, k}\right)^T
μc,k=Nc,k1j=1∑Nc,kzc,k,j,Σc,k=Nc,k−11j=1∑Nc,k(zc,k,j−μc,k)(zc,k,j−μc,k)T
Then client
k
k
k uploads
{
(
μ
c
,
k
,
Σ
c
,
k
)
:
c
∈
[
C
]
}
\left\{\left(\boldsymbol{\mu}_{c, k}, \boldsymbol{\Sigma}_{c, k}\right): c \in[C]\right\}
{(μc,k,Σc,k):c∈[C]} to server. For the server to compute the global statistics of
D
\mathcal{D}
D, it is sufficient to represent the global mean
μ
c
\boldsymbol{\mu}_c
μc and covariance
Σ
c
\boldsymbol{\Sigma}_c
Σc using
μ
c
,
k
\boldsymbol{\mu}_{c, k}
μc,k 's and
Σ
c
,
k
\boldsymbol{\Sigma}_{c, k}
Σc,k 's for each class
c
c
c. The global mean can be straightforwardly written as
μ
c
=
1
N
c
∑
k
=
1
K
∑
j
=
1
N
c
,
k
z
c
,
k
,
j
=
∑
k
=
1
K
N
c
,
k
N
c
μ
c
,
k
.
\boldsymbol{\mu}_c=\frac{1}{N_c} \sum_{k=1}^K \sum_{j=1}^{N_{c, k}} \boldsymbol{z}_{c, k, j}=\sum_{k=1}^K \frac{N_{c, k}}{N_c} \boldsymbol{\mu}_{c, k} .
μc=Nc1k=1∑Kj=1∑Nc,kzc,k,j=k=1∑KNcNc,kμc,k.
For the covariance, note that by definition we have
(
N
c
,
k
−
1
)
Σ
c
,
k
=
∑
j
=
1
N
c
,
k
z
c
,
k
,
j
z
c
,
k
,
j
T
−
N
c
,
k
⋅
μ
c
,
k
μ
c
,
k
T
\left(N_{c, k}-1\right) \boldsymbol{\Sigma}_{c, k}=\sum_{j=1}^{N_{c, k}} \boldsymbol{z}_{c, k, j} \boldsymbol{z}_{c, k, j}^T-N_{c, k} \cdot \boldsymbol{\mu}_{c, k} \boldsymbol{\mu}_{c, k}^T
(Nc,k−1)Σc,k=j=1∑Nc,kzc,k,jzc,k,jT−Nc,k⋅μc,kμc,kT
whenever
N
c
,
k
≥
1
N_{c, k} \geq 1
Nc,k≥1. Then the global covariance can be written as
Σ
c
=
1
N
c
−
1
∑
k
=
1
K
∑
j
=
1
N
c
,
k
z
c
,
k
,
j
z
c
,
k
,
j
T
−
N
c
N
c
−
1
μ
c
μ
c
T
=
∑
k
=
1
K
N
c
,
k
−
1
N
c
−
1
Σ
c
,
k
+
∑
k
=
1
K
N
c
,
k
N
c
−
1
μ
c
,
k
μ
c
,
k
T
−
N
c
N
c
−
1
μ
c
μ
c
T
.
\begin{aligned} \boldsymbol{\Sigma}_c & =\frac{1}{N_c-1} \sum_{k=1}^K \sum_{j=1}^{N_{c, k}} \boldsymbol{z}_{c, k, j} \boldsymbol{z}_{c, k, j}^T-\frac{N_c}{N_c-1} \boldsymbol{\mu}_c \boldsymbol{\mu}_c^T \\ & =\sum_{k=1}^K \frac{N_{c, k}-1}{N_c-1} \boldsymbol{\Sigma}_{c, k}+\sum_{k=1}^K \frac{N_{c, k}}{N_c-1} \boldsymbol{\mu}_{c, k} \boldsymbol{\mu}_{c, k}^T-\frac{N_c}{N_c-1} \boldsymbol{\mu}_c \boldsymbol{\mu}_c^T . \end{aligned}
Σc=Nc−11k=1∑Kj=1∑Nc,kzc,k,jzc,k,jT−Nc−1NcμcμcT=k=1∑KNc−1Nc,k−1Σc,k+k=1∑KNc−1Nc,kμc,kμc,kT−Nc−1NcμcμcT.
Virtual Representations Generation. After obtaining
μ
c
\boldsymbol{\mu}_c
μc 's and
Σ
c
\boldsymbol{\Sigma}_c
Σc 's, the server generates a set
G
c
G_c
Gc of virtual features with ground truth label
c
c
c from the Gaussian distribution
N
(
μ
c
,
Σ
c
)
\mathcal{N}\left(\boldsymbol{\mu}_c, \boldsymbol{\Sigma}_c\right)
N(μc,Σc). The number
M
c
:
=
∣
G
c
∣
M_c:=\left|G_c\right|
Mc:=∣Gc∣ of virtual features for each class
c
c
c could be determined by the fraction
N
c
∣
D
∣
\frac{N_c}{|\mathcal{D}|}
∣D∣Nc to reflect the inter-class distribution. See Algorithm 1.
Classifier Re-Training. The last step of our CCVR method is classifier re-training using virtual representations. We take out the classifier g g g from the global model, initialize its parameter as φ ^ \widehat{\varphi} φ , and re-train the parameter to φ ~ \widetilde{\varphi} φ for the objective where ℓ \ell ℓ is the cross-entropy loss. We then obtain the final classification model g φ ~ ∘ f θ ^ g_{\widetilde{\varphi}} \circ f_{\widehat{\theta}} gφ ∘fθ consisting of the pre-trained feature extractor and the calibrated classifier.
隐私保护。CCVR在基本层面上保护隐私,因为每个客户端只上传其本地高斯统计数据,而不是原始表示。请注意,CCVR只是一种事后处理的方法,因此可以很容易地与一些隐私保护技术[38]结合使用,以进一步保护隐私。在附录中,我们提供了关于隐私保护方面的实证分析。
5 Experiment
5.1 Experiment Setup
联合仿真。我们考虑了图像分类任务,采用了流行的FedML基准[39]中的三个数据集,即CIFAR-10 [40], CIFAR-100[40]和CINIC-10[41]。请注意CINIC-10是由ImageNet[42]和CIFAR-10构建的,它们的样本非常相似,但不是从相同的分布中提取的。因此,它自然地引入了适合联邦学习的异构性质的分布转移。为了模拟联邦学习场景,我们将每个数据集的训练集随机分成K批,并将一个训练批分配给每个客户端。也就是说,每个客户端都拥有自己的本地训练集。我们在服务器端提供测试集,以评估全局模型的分类性能。对于超参数调优,我们首先取出15%的训练集子集进行验证。在选择最佳超参数后,我们将验证集返回到训练集,并重新训练模型。我们感兴趣的是三个数据集的NIID分区,其中每个客户端的类比例和数据点数量是不平衡的。
按照[14,15],我们对pi ~ DirK(α)进行抽样,并将样本的pi,k比例从类i分配到客户端k。除非另有说明,否则我们将α设为0.5。为了公平比较,我们对所有方法应用相同的数据增强技术。
基线和实现。我们考虑在应用CCVR前后比较具有代表性的联邦学习算法FedAvg[2]、FedProx[5]、FedAvgM[11,26]和最先进的方法MOON[8]的测试准确性。对于FedProx和MOON,我们仔细调整了局部正则化项的系数µ,并报告了它们的最佳结果。对于FedAvgM,服务器动量设置为0.1。我们使用一个简单的4层CNN网络和[8]中描述的2层MLP投影头用于CIFAR-10。对于CIFAR-100和CINIC-10,我们采用MobileNetV2[43]。
对于CCVR,为了使虚拟表示更像高斯,我们在分类器重新训练之前应用ReLU和Tukey的变换。对于Tukey变换,参数设为0.5。对于每个数据集,所有方法都使用相同的模型进行评估,以便进行公平的比较。所提出的CCVR算法只有一个重要的超参数,即需要生成的特征样本数量Mc。除非另有说明,CIFAR-10、CIFAR100和CINIC-10的Mc分别设置为100,500和1000。所有实验都使用PyTorch 1.7.1运行。关于实现和数据集的更多细节在附录中总结。
5.2 Can classifier calibration improve performance of federated learning?
在表2中,我们展示了应用CCVR之前和之后所有数据集上的测试精度。我们还报告了在理想设置下的结果,其中整个数据可用于分类器校准(Oracle)。这些结果表明了分类器标定的上限。
CCVR持续改进所有基线方法。首先,可以观察到,应用分类器校准提高了所有基线方法的准确度,即使CINIC-10上的准确度增益高达10.41%。这是特别鼓舞人心的,因为CCVR不需要修改原始的联邦训练过程。通过简单地对训练后的全局模型进行后处理,可以很容易地获得可观的精度利润。比较了CCVR和全数据校正后不同方法的精度增益,发现FedAvg和MOON的精度提高最大。
在CINIC-10上,FedAvg的oracle结果甚至超过了其他所有基线,这意味着FedAvg更专注于学习高质量的特征,而忽略了学习一个公平的分类器。进一步证实了分类器标定的必要性。
5.3 In what situation does CCVR work best?
我们观察到,虽然应用CCVR对CIFAR-100有改善,但与其他两个数据集相比,改善幅度不大。这并不奇怪,因为分类器校准所获得的最终精度不仅取决于分类器去噪的程度,而且与预训练表示的质量密切相关。在CIFAR-100中,每个类只有500张训练图像,因此分类任务本身非常困难,模型可能学习到可分性低的表示。结果表明,CCVR在CIFAR-100上获得的精度非常接近于上界,这表明CCVR在校正分类器方面做得很好,即使它提供了一个糟糕的特征提取器。
我们也注意到CCVR在CINIC-10上取得了巨大的改进。为了进一步分析这一成功的原因和CCVR的特征,我们现在在图5中展示了FedAvg在CINIC-10数据集上学习的特征的t-SNE可视化[44]。从第一个子图和第二个子图中,我们可以观察到一些类别在分类结果中占主导地位,而某些类别则很少预测正确。例如,分类器对大部分属于灰色类的样本预测错误。另一个表明分类器存在很大偏差的证据是,从ground truth子图的右上角,我们可以看到绿色的特征和紫色的特征可以很容易地分开。然而,由于分类器中的偏差,几乎所有的紫色特征都被错误地归类为绿色类。观察第三个子图,我们发现,通过应用CCVR,这些错误分类得到了缓解。我们还发现,使用CCVR,错误基本上是在识别靠近决策边界的容易混淆的特征时犯的,而不是属于特定类别的大多数特征。这表明分类器的权重已经被调整为对每个类更公平。综上所述,当CCVR应用于具有良好表征但分类器偏差严重的模型时,可能会更有效。
5.4 How to forecast the performance of classifier calibration?
我们采用切片Wasserstein Distance[45],这是一种用于测量分布之间距离的流行度量,以量化GMM的可分离性。实验在α = 0.1的CIFAR-10上进行。我们首先计算任意两个混合物之间的Wasserstein距离,然后我们平均所有距离以得到平均距离。距离越远,GMM的可分性越好。
我们在图6中可视化了精度增益和GMM可分性之间的关系。结果表明,GMM的平均Wasserstein距离与分类器标定精度上界正相关。它验证了我们在第5.3节中的说法:当应用于具有良好(可分离)表示的模型时,CCVR可能更有效。在实践中,人们可以使用GMM的平均Wasserstein距离来评估模拟表示的质量,以及预测分类器校准的潜在性能。
5.3How many virtual features to generate?
CCVR中一个重要的超参数是为每个类c生成的虚拟特征Mc的数量。当将CCVR应用于FedAvg时,我们通过在ciremote -10的三个不同分区(α∈{0.05,0.1,0.5})上从{0,50,100,500,1000,2000}调优Mc来研究它的影响。结果如图7所示。一般来说,即使只对少数特征进行采样也能显著提高分类精度。此外,可以观察到,在两个更不均匀的分布上(左边两个子图),样本越多,精度越高。尽管在NIID-0.5上的结果总体上给出了类似的提示,但当使用中等数量的虚拟样本时,观察到准确性下降。这表明Mc在面对更平衡的数据集时更加敏感。这可以用CCVR的本质来解释:利用虚拟特征分布来模拟原始特征分布。因此,如果虚拟样本的数量有限,模拟的分布可能会偏离真实的特征分布。NIID-0.5的结果表明,当CCVR处理更平衡的原始分布时,该陷阱更容易触发。总之,尽管CCVR可以为联邦分类提供免费午餐,但在调优Mc以获得更高的精度时仍然应该非常小心。一般来说,Mc值越大越好。
5.6 Does different levels of heterogeneity affect CCVR’s performance?
我们通过用不同浓度参数α的Dirichlet分布生成各种非iid分区,研究了异质性对CIFAR-10的影响。注意,α越小的分区越不平衡。从表2可以看出,对于所有分区上的所有方法,CCVR的精度都在稳步提高。通常,当处理更多异构数据时,改进更大,这意味着分类器中存在的偏差量与训练数据的不平衡正相关。另一个有趣的发现是,当α = 0.1或0.05时,vanilla MOON的性能比FedAvg和FedProx差,但分类器校准后的oracle结果高于FedAvg和FedProx。这表明MOON在表示上的正则化给分类器带来了严重的负面影响。因此,MOON学习到良好的表示,但差的分类器。在这种情况下,应用CCVR明显改善了原始结果,使MOON的性能与FedAvg和FedProx相当。
6 Limitations
在这项工作中,我们主要关注联邦学习中分类器的特性,因为发现它在局部训练中变化最大。然而,我们的实验结果表明,在高度异构的设置下,仅校准分类器仍然无法达到与IID数据获得的相当的准确性。这是因为分类器校准的性能高度依赖于学习表示的质量。因此,学习一个好的特征空间更加重要。我们的实验表明,在非iid数据的联邦学习中,可能存在表示质量和分类器质量的权衡。也就是说,从分类器校准中获得最大收益的方法通常学习高质量的表示,但学习差的分类器。我们相信这一发现对未来的研究很有吸引力,解决非iid的困境还有很长的路要走。
此外,我们在这项工作中主要关注图像分类任务。我们的实验验证了高斯假设适用于CNN这样的视觉模型。然而,这个结论可能不适用于语言任务或其他架构,如LSTM[46]和Transformer[47]。我们相信这项工作对其他任务和体系结构的扩展是值得探索的。
7 Conclusion
在这项工作中,我们提供了一个新的视角来理解为什么在联邦学习中使用非iid数据训练时,基于深度学习的分类模型的性能会下降。我们首先解剖神经网络,并通过最近的表示分析技术研究不同客户端上模型不同层的相似性。我们观察到,不同局部模型的分类器的相似性低于任何其他层,并且分类器之间存在显著的偏差。
然后,我们提出了一种名为虚拟表示分类器校准(CCVR)的新方法,该方法从近似高斯混合模型(GMM)中采样虚拟特征用于分类器校准,以避免将原始特征上传到服务器。在三个图像数据集上的实验结果表明,CCVR比几种流行的联邦学习算法有稳定的改进。