Page 364 - 《软件学报》2025年第5期
P. 364

2264                                                       软件学报  2025  年第  36  卷第  5  期


                    (2) 联邦学习设置
                    默认情况下, 对于所有的数据集, 本文设置的联邦学习参与者数量为                     10, 每个参与者持有     500  个训练数据, 数
                 据分配时采用的      q 为  0.1, 这  10  个参与者都参与了联邦学习的每个运行轮次. 对于          MNIST  和  FashionMNIST  数据
                 集, 本文使用的训练模型为一个          4  层  CNN  网络, 如表  1  所示, 训练时使用的学习率为    1×10 −4  , batch_size 为  32, 本
                 地训练轮数为     2, 分别运行   300  和  400  轮. 训练  CIFAR10  数据集时, 本文使用的网络是    VGG16 [29] 的微调版本, 移
                 除了原有的全连接层, 添加了一个          Softmax 层来进行分类, 共有    14 层网络, 其中模型的卷积层使用了在           ImageNet [30]
                 数据集上预训练好的权重, 设置的          batch_size 为  64, 本地训练轮数为  5, 以  3×10 −7  的学习率共训练  500  轮.

                                      表 1 MNIST  和  FashionMNIST  使用的训练模型网络结构

                                          网络层                                 大小
                                           Input                             28×28×1
                                      Convolution + ReLU                     3×3×10
                                         Max Pooling                           2×2
                                      Convolution + ReLU                     3×3×20
                                         Max Pooling                           2×2
                                     Fully connected + ReLU                    100
                                          Softmax                              10

                    实验使用了     Refiner 和  GTG-Shapley [12] 两种激励分配机制, 这两种激励分配方法都具有可行性和可用性, 能
                                   [4]
                 够满足激励分配的公平合理性需求, 应用较为广泛, 具有代表性, 且两种方法进行贡献评估和激励分配的思想完全
                 不同, 能够得到激励欺诈攻击与防御在不同激励机制下的效率, 体现攻击与防御方法的广泛适用性. 其中在                                Refiner
                 下每轮设置的总激励为        1, GTG-Shapley  下计算所得的  Shapley value 即参与者所获的激励.
                                                           [4]
                    本文实验时使用了        5  种现有的防御机制: Refiner 中基于       loss 的模型评估机制、FLDetector 、Krum 、
                                                                                                      [6]
                                                                                              [5]
                                      [8]
                 Trimmed-Mean 和 [7]  FLTrust , 其中在  Refiner 和  FLDetector 机制下使用了  FedAvg  聚合算法. 在这些防御机制下检
                 验了梯度放大攻击的效果, 并与本文提出的基于               L 2 -norms 的模型评估机制作对比.
                    (3) 攻击和防御设置
                    默认情况下, 本文随机选取         10%  的参与者作为恶意参与者来实施梯度放大攻击, 即                10  个参与者中存在    1  个
                 恶意参与者. 在    Refiner 的防御机制下, 参与者使用算法        2  计算放大因子, 其中    γ init  为  2,   τ 为  0.02, 得到的放大因子
                 范围为   [1, 3). 在  FLDetector 下, 参与者在前  10  轮使用算法  2  计算放大因子, 之后使用算法    3  计算放大因子, 设置
                 τ 为  0.05. 在  Krum、Trimmed-Mean  和  FLTrust 下, 参与者每一轮都使用一样的放大因子, 分别为       10、2  和  3. 针对
                 梯度放大的网络层, 参与者在除          FLTrust 外的所有防御机制下放大所有网络层的梯度, 而在               FLTrust 下, 参与者只
                 放大部分网络层的梯度, 如在         4  层  CNN  网络中只放大前   2  层梯度, 在  14  层  VGG16  微调模型中只放大前    5  层梯
                 度. 恶意参与者会在联邦学习的每一个轮次都实施攻击.
                    服务器在运行基于       L 2 -norms 的模型评估机制时将    k 值设置为恶意参与者的数量, 即         k = 1 .
                    (4) 评估指标
                    本文使用的评估指标为总体激励成本比               (R) 和总体激励增长率     (growth rate, GR). 总体激励成本比  (R) 是参与
                 者在联邦学习中进行激励欺诈攻击后得到的每一轮的激励成本比之和, 是其参与联邦学习全过程获得的激励成本
                 比, 与单轮的激励成本比相比, 能够简单直接地显示出在联邦学习中进行激励欺诈的全局攻击效率, 且通过计算各
                 轮激励成本比之和来得到总体激励成本比的方式符合对于激励欺诈攻击的定义, 具有合理性. 总体激励增长率
                 (GR) 是参与者进行激励欺诈攻击后得到的总体激励成本比与使用诚实梯度所获总体激励之比, 能够显示出进行
                 激励欺诈攻击后参与者所获激励的提升率, 同时考虑了实施攻击所需的计算成本, 从另一个角度对激励欺诈攻击
                 的全局效率进行合理的评估, 帮助比较不同激励机制下的攻击效率.

                 5.2   实验结果与分析
                    表  2  给出了在不同的激励机制和防御机制下, 使用不同的数据集训练模型时参与者进行梯度放大攻击得到的
   359   360   361   362   363   364   365   366   367   368   369