Efficient distribution similarity identification in clustered federated learning via principal angles between client data subspaces -- 基于客户端数据子空间主角度的聚类联邦学习分布相似性高效识别
- 论文来源
- TLDR
- 背景与问题
- 两个子空间之间的主角(Principal angles)
- 利用主角捕捉数据/特征之间的相似性
- 方法展开
- 对比试验
- 实验结果
- 总结
- 灵活性
- 优点
- 缺点
论文来源
名称 | Efficient distribution similarity identification in clustered federated learning via principal angles between client data subspaces |
---|---|
会议 | AAAI 2023 |
作者 | Saeed Vahidian;Mahdi Morafah;Weijia Wang;Vyacheslav Kungurtsev;Chen Chen;Mubarak Shah;Bill Lin |
DOI | https://doi.org/10.1609/aaai.v37i8.26197 |
TLDR
本文提出PACFL(Principal Angles analysis for Clustered Federated Learning)方法:
- 直接识别分布相似性: PACFL 的核心思想是直接、高效地识别客户端之间的分布相似性,而不是在训练过程中间接学习。
- 客户端操作:
- 每个客户端对其 本地数据 执行一次截断奇异值分解 (Truncated SVD)。
- 提取少量 (例如 2-5 个) 最重要的左奇异向量 (principal vectors)。这些向量构成其数据子空间的一个基,并作为其数据分布的“签名 (signature)”,简洁地捕捉了数据的主要特征。
- 客户端将这些主向量发送给服务器。由于只发送少量向量,而不是原始数据或完整的模型,因此保护了数据隐私,并且通信开销小。
- 服务器操作:
- 服务器收集所有客户端的主向量。
- 通过计算不同客户端数据子空间之间的主角度 (principal angles) 来构建一个相似性/邻近度矩阵 (proximity matrix)。两个子空间的主角度越小,它们的分布就越相似。论文中提到了两种计算方式:最小主角度 (Eq. 2) 和主角度之和 (Eq. 3,被认为更鲁棒)。
- 基于这个邻近度矩阵,服务器使用聚类算法(如层次聚类 Agglomerative Hierarchical Clustering, HC)将客户端划分到不同的簇中。这个过程是 ==一次性 (one-shot) == 的,在联邦训练开始之前完成。
- 联邦训练:
- 一旦簇形成,服务器为每个簇初始化一个模型。
- 在每一轮中,客户端下载其所属簇的模型,进行本地训练,并将更新后的模型(或梯度)发送回服务器。
- 服务器对同一簇内的客户端模型进行聚合。
- 处理新客户端 (Proximity Matrix Extension, PME - Algorithm 2):
- 新客户端同样计算并发送其主向量。
- 服务器使用 PME 算法高效地扩展现有的邻近度矩阵和主向量集合,而无需从头重新计算所有客户端的相似性。
- 然后,可以重新运行 HC 或基于现有簇将新客户端分配到最合适的簇。
背景与问题
- 联邦学习 (FL) 允许在不共享本地数据的情况下协同训练模型。
- 当客户端数据存在显著异构性 (Non-IID) 时,单一全局模型可能效果不佳。
- 聚类联邦学习 (CFL) 通过将具有相似数据分布的客户端分组到簇中,为每个簇训练一个模型,从而改善了性能。
- 现有 CFL 的问题:
- 间接学习相似性: 大多数方法在训练过程中间接学习客户端之间的分布相似性,这可能非常耗时,需要多轮联邦学习才能稳定簇的形成。
- 预定义簇数: 一些方法 (如 IFCA) 需要预先定义簇的数量,这在实际中可能不切实际。
- 高通信成本: 在每次迭代中,所有簇模型可能需要被活跃客户端下载。
- 初始化敏感: 随机初始化的簇模型可能导致训练过程漫长且不稳定。
- 缺乏灵活性: 在个性化和全局化之间的权衡能力有限。
两个子空间之间的主角(Principal angles)
设
U
=
s
p
a
n
{
u
1
,
.
.
.
,
u
p
}
\mathcal{U} = span\{u_1, ..., u_p\}
U=span{u1,...,up} 和
W
=
s
p
a
n
{
w
1
,
.
.
.
,
w
q
}
\mathcal{W} = span\{w_1, ..., w_q\}
W=span{w1,...,wq} 为
R
n
R^n
Rn 中的
p
p
p 维和
q
q
q 维子空间,其中
{
u
1
,
.
.
.
,
u
p
}
\{u_1, ..., u_p\}
{u1,...,up} 和
{
w
1
,
.
.
.
,
w
q
}
\{w_1, ..., w_q\}
{w1,...,wq} 是正交归一的,满足
1
≤
p
≤
q
1 ≤ p ≤ q
1≤p≤q。存在一组
p
p
p 个角度
0
≤
Θ
1
≤
Θ
2
≤
.
.
.
≤
Θ
p
≤
π
/
2
0 ≤ \Theta_1 ≤ \Theta_2 ≤ ... ≤ \Theta_p ≤ π/2
0≤Θ1≤Θ2≤...≤Θp≤π/2,称为主角度,其定义为:
Θ
(
U
,
W
)
=
m
i
n
u
∈
U
,
w
∈
W
a
r
c
c
o
s
(
∣
u
T
w
∣
∣
∣
u
∣
∣
∣
∣
w
∣
∣
)
\Theta(\mathcal{U},\mathcal{W})=min_{u\in \mathcal{U},w\in \mathcal{W}}arccos\big(\frac{|u^Tw|}{||u||\ ||w||}\big)
Θ(U,W)=minu∈U,w∈Warccos(∣∣u∣∣ ∣∣w∣∣∣uTw∣),
其中
∥
⋅
∥
∥·∥
∥⋅∥ 是诱导范数。最小主角是
Θ
1
(
u
1
,
w
1
)
\Theta_1 (u_1, w_1)
Θ1(u1,w1),向量
u
1
u_1
u1 和
w
1
w_1
w1 是对应的主向量。
利用主角捕捉数据/特征之间的相似性
假设有
K
K
K 个数据集。我们提议对这些数据矩阵
D
k
(
k
=
1
,
.
.
.
,
K
)
D_k(k = 1, ..., K)
Dk(k=1,...,K) 截断奇异值分解,其列为每个数据集的输入特征。此外,令
U
p
k
=
[
u
1
,
u
2
,
.
.
.
,
u
p
]
(
p
≪
r
a
n
k
(
D
k
)
)
U_p^k = [u_1, u_2, ..., u_p] \ \ \big(p ≪ rank (D_k)\big)
Upk=[u1,u2,...,up] (p≪rank(Dk)) 为数据集
k
k
k 的
p
p
p 个最显著的左奇异向量。我们将邻近阵
A
A
A 构成如公式 2 所示:
A
i
,
j
=
Θ
1
(
U
p
i
,
U
p
j
)
,
i
,
j
=
1
,
.
.
.
,
K
\textbf{A}_{i,j}=\Theta_1(U_p^i,U_p^j), \ i,j = 1,...,K
Ai,j=Θ1(Upi,Upj), i,j=1,...,K
其项为
U
p
k
U_p^k
Upk 中每一对的小主角度,或者如公式 3 所示:
A
i
,
j
=
tr
(
a
r
c
c
o
s
(
U
p
i
T
∗
U
p
j
)
)
,
i
,
j
=
1
,
.
.
.
,
K
\textbf{A}_{i,j}=\text{tr}(arccos(U_p^{iT}*U_p^j)), \ i,j=1,...,K
Ai,j=tr(arccos(UpiT∗Upj)), i,j=1,...,K
其中的条目是对应的
u
u
u 向量(以同顺序)在
U
p
k
U_p^k
Upk 中每对之间的夹角总和
t
r
(
.
)
tr (.)
tr(.) 是迹运算符。
方法展开
- 在联邦学习开始之前,每个可用的客户端 k k k对其自身的数据矩阵 D k 2 D_k^2 Dk2 执行截断奇异值分解(SVD),并将 p p p个最重要的左奇异向量 U p U_p Up 作为其数据签名(signature)发送给中央服务器。接下来,服务器根据公式2或公式3获得接近矩 A A A,其中 K = ∣ S t ∣ K = |S_t| K=∣St∣, S t S_t St 是可用客户端的集合。当集群数量未知时,服务器可以在接近矩阵 A A A上采用聚合层次聚类(HC)来形成不相交的集群。因此,客户端的集群ID被确定。
- 后续则开始在集群内训练模型。客户端只需将其集群成员身份 ID 和模型参数发送回中央服务器。在接收到所有参与客户端的模型和集群 ID 成员身份后,服务器将收集所有集群 ID 相同的客户端的参数更新,并在每个集群内进行模型平均。值得注意的是,在算法 1 中,
β
β
β 代表两个集群之间的欧几里得,并且是 HC 中的一个参数。
对比试验
- 实验与结果:
- 数据集: FMNIST, SVHN, CIFAR-10, CIFAR-100。
- 模型: LeNet-5, ResNet-9。
- 对比基线: SOLO, FedAvg, FedProx, FedNova, SCAFFOLD (全局模型);LG-FedAvg, Per-FedAvg, Clustered-FL (CFL by Sattler), IFCA (个性化/聚类模型)。
实验结果
-
测试PACFL在聚类阈值β下的准确性表现(当邻近矩阵如公式2所示获得),以及在CIFAR-10/100、FMNIST和SVHN数据集上非独立同分布标签斜(20%)下的拟合聚类数量。图中的每个点均通过200个通信轮次获得,局部训练轮次为10,局部批量大小为10,使用SGD局部优化器。
-
在不同数据集上进行非独立同分布标签偏斜(20%)的测试准确率比较。对于每个基线报告所有客户端最终本测试准确率的平均值。我们对每个基线运行3次,共200个通信轮次,局部训练次为10。
-
PACFL的优势在于当任务极度非独立同分布(Non-IID)时尤为明显。该表评估了在MIX4这一具有挑战性的场景中不同FL方法的top-1测试准确性表现。尽管所有竞争方法在处理这一巨大数据异质性场景时面临重大困难,但结果清晰地表明PACFL在如此困难的数据异质性场景下仍然表现很强的稳健性。
-
在非独立同分布 (20%) 的情况下,测试准确率与通信轮数相对比。PACFL 快速收敛到预期的准确率,并且始终优于SOTA。
-
在不同数据集上,未见客户端的平均本地测试准确率,对应于非独立同分布标签偏斜(20%)。
-
比较不同的FL方法在非独立同分(20%)情况下达到目标的top-1平均本地测试准确率所需的通信轮数。
总结
灵活性
- PACFL的一个理想特性是它能够处理客户的部分参与。PACFL并不要求事先知道某些客户是否可以参与该联邦,客户端可以突然加入或离开网络。
- 如果没有指定固定的聚类数,PACFL可以形成拟合的聚数。然而,在 IFCA (Ghosh等人,2020)中,聚类数必须事先确定。
- PACFL可以在联邦之前为用客户端进行一次性客户端聚类,而不需要关于某些客户端的可用性和数量的先前信息。相反,IFCA 通过在聚类识别估计和损失函数最小化之间替进行迭代构建聚类,这在通信上成本较高。
- PACFL相对FedAvg没有增加显著的额外计算开销,因为只需要在训练前进行一次性HC聚类。考虑到这一点,PACFL算法的复杂度与FedAvg相同,外加一次性HC的计算复杂度((O(N 2)),其中N是客户端的总数)。
- 使用算法2可以支持客户端的离开和新客户端的加入。
- 多聚类算法支持。
优点
- 高效的一次性聚类。
- 无需预定义簇数。
- 对异构数据的鲁棒。
- 低通信开销。
- 隐私保护。
- 灵活。
- 更好的收敛速度和性能。
缺点
- SVD的计算成本:虽然 SVD 是一次性操作,但对于数据量非常大或特征维度非常高的客户端,计算 SVD 仍然可能带来一定的计算负担。不过,通常只计算少数几个最大的奇异值和对应的奇异向量(截断 SVD),这可以缓解计算压力。
- 主向量选择的敏感:选择的主向量数量 P P P 是一个超参数。如果 P P P 太小,可能无法充分捕捉数据分布的复杂性;如果 P P P 太大,可能会引入噪声并增加通信和计算成本。如何选择最优的 P P P 可能需要一些经验或调试。
- 聚类算法的选择和参数调整 (Choice and Parameter Tuning of Clustering Algorithm):虽然 PACFL 的核心是主角度分析,但最终的聚类效果也依赖于所选的聚类算法(如 HC)及其参数(如阈值 β β β)。这些参数的选择可能需要根据具体数据集进行调整。
- 对数据预处理的潜在依赖 (Potential Dependence on Data Preprocessing):SVD 的结果可能受到数据缩放、归一化等预处理步骤的影响。不同客户端如果预处理方式不一致,可能会影响主角度计算的准确性。
- 假设数据子空间能充分代表分布 (Assumption of Subspace Representing Distribution):该方法假设由少数主向量张成的低维子空间能够充分代表客户端数据的核心分布特性。对于某些高度非线性或复杂的数据分布,这种线性子空间的表示能力可能有限。
- 对“签名”的隐私风险仍需关注 (Privacy Risks of “Signatures” Still Need Consideration):尽管论文认为难以从少量主向量重构数据,但在某些极端情况下,如果攻击者拥有大量辅助信息或针对性的攻击手段,这些“签名”仍可能泄露一些关于数据分布的间接信息。因此,在高度敏感场景下,额外的隐私增强技术(如差分隐私)仍然是必要的。
- 服务器端的聚类计算 (Clustering Computation on Server):虽然客户端计算 SVD 是一次性的,但服务器端在接收到所有主向量后,需要计算两两之间的主角度(或邻近度矩阵)并运行聚类算法。当客户端数量非常庞大时, O ( K 2 ) O(K^2) O(K2) 的相似度计算和聚类算法的复杂度可能成为瓶颈 (尽管论文中提到HC是 O ( N 2 ) O(N^2) O(N2),这里的 N N N应指客户端数量 K K K)。
- 对“静态”分布的假设 (Assumption of “Static” Distributions for Initial Clustering):一次性聚类假设客户端的数据分布在聚类阶段是相对稳定的。如果客户端的数据分布随时间动态变化非常剧烈,那么初始的聚类结果可能很快失效,需要重新聚类机制。