Page 349 - 《软件学报》2025年第9期
P. 349

4260                                                       软件学报  2025  年第  36  卷第  9  期


                 不明确训练数据分布的情况下, 利用离散更新空间并引入参与者的贡献实施防御, 同时也保留了                               CEFL  的隐私特
                 性. 此外, 文献  [31] 通过识别良性更新和投毒更新并表示为不同的簇实现防御, 显然, 在未能选择最优决策边界或
                 面对具有隐身度量的攻击时, 这种方法很容易失败. 最后, 我们还评估了                     FedDiscrete 的防御在面对动态的攻击能
                 力时的效果. 总之, 比较现有的防御机制, 所提方法              FedDiscrete 能够从离散化模型更新的新颖角度来探讨缓解投
                 毒攻击的防御策略, 同时引入贡献度指标来确保参与                  FL  训练任务的客户端之间的公平性, 通过不断削弱攻击者
                 所做出的贡献, 从而创建一个适用于云边缘计算环境的可行且有效的防御机制.

                 4   实验评估

                    为了评估    FedDiscrete 方法的性能, 我们采用    Python  创建虚拟的云边端环境, 并在      CEFL  框架下执行了广泛的
                 实验. 其中, 对于边缘端, 设置      E (E = 5) 个边缘节点, 且每个边缘节点平均接收         m (m = 2) 个参与者上传的本地模型
                 更新. 所有实验均在      Python  环境下使用  PyTorch  实现, 具体配置为: 英特尔酷睿      i7-12700H CPU  处理器, 16 GB  内
                 存, 英伟达  GeForce RTX3070Ti GPU.

                 4.1   实验设置
                    数据集: 本文采用了      FL  领域中  3  种经典的数据集, 包括手写数字识别数据集            MNIST [42] , 图像数据集  CIFAR-
                 10 [43] 和时尚服装分类数据集     Fashion-MNIST [44] , 其广泛使用在现有投毒攻击和防御方法中. MNIST         和  Fashion-
                 MNIST  分别是由从   0  到  9  的手写数字和服装形成的      28×28  的灰度图像, 且均是由     60 000  张图像组成的训练数据
                 集和  10 000  张图像组成的测试数据集; CIFAR-10     是由  60 000  张  32×32  的彩色图像构成的  10  个类, 包括  50 000  张
                 图像用于训练和      10 000  张图像用于测试, 每个类别有      6 000  个图像. 特别地, 本文也采用一种医学图像数据集           Path-
                 MNIST [45] , 它是由不同病人的病理切片图像形成的          28×28  的彩色图像, 且包含    9  个类别的病理学图像, 每个类别
                 对应不同的病变类型.
                    模型设置: 本文实验主要是为了评估防御机制的综合性能, 而不是搜索具有最好的                          FL  性能的学习模型. 基于
                 此, 我们定义了    CEFL  框架下的一些默认设置和学习模型. 对于             MNIST  数据集, 我们采用典型的       LeNet 模型  [46] ,
                 训练  SGD  的批次大小为    64, 且在  IID  和  non-IID  场景下分别执行全局迭代轮数    R = 50 和  R = 100. 对于  CIFAR-10
                 数据集, 我们采用卷积神经网络模型            Conv8, 其是由  8  个卷积层和  3  个全连接层构成的学习模型, 训练          SGD  的批
                 次大小为    32, 全局迭代轮数    R = 50. 对于  Fashion-MNIST  数据集, 我们采用一个包含两个卷积层和一个全连接层
                 构成的学习模型, 其具有与        MNIST  相同的设置. 不管     IID  还是  non-IID  场景, 我们在每个数据集上均设置学习率
                 为  0.01, 以实现较小的训练误差并快速收敛, 且客户端本地训练迭代                 epoch = 15. 对于  PathMNIST  数据集, 我们同
                 样采用一个包含两个卷积层和一个全连接层构成的学习模型, 并设置训练                         SGD  的批次大小为    32, 本地训练迭代
                 epoch = 5.
                                                  ,
                    攻击设置: 在本文中, 我们设置        N = 100 K = 10. 而且, 我们考虑了不同的攻击能力, 主要表现为每轮参与者中
                 攻击者的比例      b ( ), 范围为  10%–50%, 即  b = 10%,20%,30%,40% 和 50%, 则对应攻击者的数量为  M = 1,2,3,4 和 5.
                 注意,   b 值是由参与每轮训练的客户端的数量确定, 即            M = b× K, 不同于以往的一些工作是基于所有客户端的数量
                 选择攻击者, 使得实际参与任务训练的客户端中可能没有或者存在多数攻击者, 导致无法准确探讨攻击者的投毒
                                                                        N  个客户端中随机选择参与者. 其次, 我们
                 影响以及防御性能. 为了确保训练的公平性和攻击的不确定性, 我们从
                 考虑广泛使用的标签翻转投毒的攻击形式, 即每次翻转源标签类为目标标签类, 以对子任务实施投毒, 记为
                 sc → tc. 具体地, 对于  MNIST  和  Fashion-MNIST  数据集, 我们设置   sc → tc 为  4 → 6, 对于  CIFAR-10  数据集, 设置
                 sc → tc 为  5 : cars → 3 : frogs, 对于  PathMNIST  数据集, 我们设置   sc → tc 为  1 → 0. 除了攻击者数量和攻击形式外,
                 我们还将不同的攻击场景作为评估防御性能的重要因素, 包括                      IID  和  non-IID  设置. 不管是  MNIST, Fashion-
                 MNIST, 还是  CIFAR-10, 我们均采用迪利克雷分布        [47] 给  N  个参与者划分训练数据集, 对于     IID  攻击场景, 我们设
                        α = 1000000, 这样, 良性参与者和恶意攻击者很可能共享同一类样本, 这就给投毒攻击带来了挑战; 对
                 置超参数
                 于  non-IID  攻击场景, 我们设置  α = 1, 以生成  non-IID  数据.
   344   345   346   347   348   349   350   351   352   353   354