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

乐紫莹 等: 基于梯度放大的联邦学习激励欺诈攻击与防御                                                     2263



                 7.  if 梯度放大后的恶意性评分       s j  位于合格区间内
                      γ res = γ
                 8.
                 9.   break
                 10.   end if
                 11.     γ = γ + step
                 12. end while
                 13. return   γ res

                 4   基于  L -norms 的模型评估机制
                         2
                    梯度放大攻击的本质是对本地模型梯度值进行放大来提高本地模型对全局模型的影响, 由此提高贡献和所获

                 激励. 模型梯度的大小与其        L 2  值直接相关, 放大梯度, 其    L 2  值明显会增大, 因此可以将模型梯度的         L 2  值作为检验
                 值来检测恶意参与者.
                                                              L 2  值来检测恶意参与者, 防止梯度放大攻击. 在获取各
                    本文提出的模型评估机制基于参与者上传模型梯度的
                 个参与者上传的本地模型梯度后, 服务器计算各梯度的                  L 2  值, 并根据该轮所得的    L 2  值集合来计算相应的阈值, 只
                 有低于阈值的梯度才能够通过检验, 参与之后的模型聚合和激励分配, 未通过检验的参与者无法获得激励.
                    系统检验    L 2  值的阈值是动态的, 每一轮的阈值各不相同, 根据本轮各参与者梯度的                   L 2  值来决定. 服务器在接
                 收到该轮各参与者的模型梯度后计算相应的               L 2  值集合  L 2 (N) , 对  L 2 (N) 进行排序, 在排除最大和最小的  k(k < N/2)
                 个  L 2  值后, 剩余   L 2  值的集合为   L 2 (N −2k) , 计算其中最大值与最小值之间的差  δ = max[L 2 (N −2k)]−min[L 2 (N −2k)] ,
                 max[L 2 (N −2k)]+δ 即为所得阈值. 计算时的   值越大, 得到的阈值越小, 系统的检验标准也就越严格. 如服务器已
                                                   k
                 知恶意参与者的数量, 在进行防御时可将             k 值设置为恶意参与者的数量, 可以得到较为精细准确的防御结果; 如无
                                                              L 2  值之间的差来估测   值, 即计算差值后从中选取较其
                                                                               k
                 法确定攻击者的数量, 服务器可通过计算比较大小相邻的
                                                   i
                 他差值明显偏高的差       φ i   (排序后  L 2  集合中第   个和第   i+1 个值之间的差), 可将   k 值设为  N −i .
                    从参与者的角度, 基于       L 2 -norms 的模型评估机制不需要上传额外的模型信息, 不会给参与者带去额外的计算
                                            L 2  值时使用的数据都是本轮获取计算得到的, 不需要存储额外的信息, 无存储
                 和通信开销. 从服务器的角度, 检验
                 开销, 此外, 每轮计算     L 2  值的时间复杂度为   O(Nlen) , 其中  N  为参与者数量,   len 为训练模型的参数量, 由此可得检
                 验  L 2  值的存储和计算开销对服务器来说都是可以接受的.

                 5   实验分析

                 5.1   实验设置
                    (1) 数据集
                    本文使用了     3  个数据集  MNIST、FashionMNIST [26] 、CIFAR10 [27] 来对提出的梯度放大攻击和基于      L 2 -norms
                 的模型检验机制进行评估. MNIST         是一个  10  种数字图像分类的数据集, 由不同人手写的数字构成, 是                28×28  的灰
                 度图片, 其中包含了      60 000  个训练集和  10 000  个测试集. FashionMNIST  包含了  10  种衣物图像, 图像为  28×28  的
                 灰度图片, 具有预定义的       60 000  个训练集和  10 000  个测试集. CIFAR10  是一个彩色图像数据集, 有       10  个类别, 图
                 片尺寸为   32×32, 共有  50 000  个训练集和  10 000  个测试集.
                    本文按照文献      [28] 中的方法将训练数据集分配给联邦学习中的各个参与者, 假设在数据集中有                        c 类数据, 将
                                                                                1−q
                 参与者随机分成      c 组, 一个标签为   l 的训练数据会以     q > 0 的概率被分到   l 组, 会有     的概率被分到别的组, 在同
                                                                                c−1
                                                                                          q = 1/c 时, 各个参
                 一组中, 数据会被均匀地分给各个参与者.             q 控制了参与者持有本地训练数据集的分布差异, 当
                 与者的数据是独立同分布的          (IID), 除此之外, 分配的数据都是非独立同分布的           (Non-IID),   q 越大, 意味着数据  Non-
                 IID  的程度就越高.
   358   359   360   361   362   363   364   365   366   367   368