Page 405 - 《软件学报》2026年第3期
P. 405
1368 软件学报 2026 年第 37 卷第 3 期
CIFAR-10 和 CIFAR-100 是在当前联邦学习研究方向下最常使用的评估算法性能的数据集. CIFAR-10 和 CIFAR-100
都是包含了 60 000 张彩色 RGB 图片的数据集, 图片大小为 32×32, 其中, 50 000 张图片用作训练集, 10 000 张
图片用作测试集. 在实验期间, 我们把所有的数据平均划分到每个客户端, 因此每个客户端有 5 000 张训练图片. 此
外, 我们在 CIFAR-10 和 CIFAR-100 数据集上使用 ResNet-18 模型进行训练. ResNet-18 是一个常见的深度学习模
型, 常常用于图片识别任务, 模型的大小约为 42 MB. 由于 ResNet 模型所特有的残差块的存在, 我们可以很容易地
将模型进行分块来实现 FedAlt 的分块机制. 在实验中, 我们将 ResNet-18 模型按照残差块的层次分成了 4 个模型
块. 注意, 由于现在的深度学习模型通常都具有层次结构, 所以这种模型分块的方式很容易扩展到其他的深度学习
模型之中.
● 数据划分. 客户端本地不同的数据分布 (即独立同分布和非独立同分布) 对模型的训练性能有很大的影响.
当客户端本地数据分布都是独立同分布时, 训练出的模型性能会很好; 当客户端本地的数据分布是非独立同分布
时, 训练出的全局模型性能往往会很差 [8] . 而现实情况中客户端的数据往往是非独立同分布的, 因此我们主要探究
非独立同分布数据对训练出的全局模型性能的影响. 我们使用 ε 来表示客户端本地数据分布的非独立同分布程度,
其中 ε 的范围为 {0,...,9}. 当 ε = 0 时, 表示客户端之间本地的数据分布都是独立同分布的, 这是一种理想的情况.
当 ε ∈ {1,...,9} 时, 对于 CIFAR-10 数据集, 它表示客户端本地数据中有 ε×10% 的数据属于同一个类, 而剩余的数
据被均匀分布到剩下 9 个类中; 对于 CIFAR-100 数据集, 它表示客户端本地数据中缺少 ε×10% 类的图片, 而这些
100−ε×10% 个类中. 在第 5.2
数据被均匀分布到剩下 节中, 我们主要使用 ε = 7 进行实验.
[4]
[8]
● 基线方法和度量指标. 我们将 3 种基线方法与 FedAlt 进行比较, 这 3 种基线方法分别是 FedAvg 、 FedProx 、
MOON [42] 和 BOSE [43] . FedAvg 是第 1 个提出联邦学习的方法, 它使用了最简单模型平均进行模型聚合. FedProx
在 FedAvg 的基础上在客户端本地损失函数增加了一个正则化项, 这个正则化项描述了客户端本地模型和全局模
型的距离, 从而使得客户端本地训练更加的稳定. MOON 在 FedAvg 的基础上增加了模型层次的对抗学习, 利用模
型表征之间的相似性来纠正客户端的本地训练. BOSE 通过添加额外的分类器将一个模型细分为多个模型块.
BOSE 在训练过程中会评估每个模型块的收敛状态, 并基于此为异构节点分配不同的模型块进行训练. 在本文中,
我们使用以下 3 个衡量指标来评估我们提出的方法的性能. (1) 测试精度: 在每个全局轮次, 我们都统计训练出的
全局模型在测试数据集上的精度. (2) 时间开销: 当训练出的全局模型达到给定精度时, 我们会记录训练的完成时
间 (包含计算时间和通信时间). 在每个全局轮次, 系统的完成时间等于参与训练的客户端的最长的完成时间. (3)
通信开销: 在模型训练期间, 我们记录服务器用于接收模型和分发模型所带来的总的通信开销.
5.2 实验结果
我们做了 5 组实验来证明我们提出的方法的有效性, 仿真实验的结果如下所示.
● 收敛性能. 我们首先展示不同方法训练出的全局模型在 CIFAR-10 和 CIFAR-100 数据集上的测试精度. 注
意, 这组实验是在非独立同分布水平 ε = 7 下进行的. 从图 3 和图 4 中可以看到, 在 ε = 7 的条件下无论是在
CIFAR-10 还是 CIFAR-100 数据集上, 使用 FedAlt 方法全局训练 200 轮后得到的全局模型具有最高的测试精度
和最低的损失值. 例如, 在 CIFAR-10 数据集上进行测试, FedAlt 训练出的全局模型的测试精度为 82.48%, 而
FedAvg、FedProx、MOON 和 BOSE 训练出的全局模型的测试精度分别为 80.56%、81.74%、81.73% 和
82.24%; 在 CIFAR-100 数据集上进行测试, FedAlt 训练出的全局模型的测试精度为 53.07%, 而 FedAvg、FedProx、
MOON 和 BOSE 训练出的全局模型的测试精度分别为 51.07%、49.89%、50.69% 和 52.38%, 这平均提高了
2.07% 的精度. 从这些实验结果可以看出, 即使在不考虑资源损耗的条件下, 我们提出的方法 FedAlt 仍然具有最
好的收敛性能.
● 时间损耗. 我们在具有时间约束的条件下进行实验来测试 FedAlt 和其他 3 种基线方法的性能. 由图 5 可知,
无论在 CIFAR-10 还是 CIFAR-100 上, 当给定一定时间训练之后, FedAlt 相比于其他基线方法都拥有最好的性能.
例如, 对于 CIFAR-10 数据集, 当给定训练时间不超过 1 400 s 时, FedAlt 训练出的全局模型的最高测试精度为
81.87%, 而 FedAvg、FedProx、MOON 和 BOSE 训练出的全局模型的最高测试精度分别为 80.48%、81.40%、
77.20% 和 81.56%; 对于 CIFAR-100 数据集, 当给定训练时间不超过 1 400 s 时, FedAlt 训练出的全局模型的最高

