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 训练出的全局模型的最高
   400   401   402   403   404   405   406   407   408   409   410