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

赵亚茹 等: 云边联邦学习系统下抗投毒攻击的防御方法                                                      4255


                    攻击者的知识: 指攻击者对目标           ML  模型的了解程度. 在白盒攻击中, 攻击者隐藏在参与者中参与                  FL  任务,
                 且知晓模型结构、学习算法、边缘模型和全局模型参数. 相反, 在黑盒攻击中, 攻击者不清楚上述信息, 但是可以迭
                 代地创建恶意样本, 达到破坏模型训练性能的目的, 甚至推理出与原始训练数据集相近分布的替代数据集.
                    攻击者的能力: 指攻击者如何控制训练数据集及控制的程度. 在                    FL  任务中, 攻击者加入    CEFL  系统执行协作
                 训练, 基于本地数据集执行        LFA  方法, 且通常做出较低的贡献. 特别地, 攻击者的能力受其比例大小的约束. 一般
                 地, 攻击者占比不超过      50%, 主要原因是超出      50%  的攻击者将导致    FL  任务的学习速度显著降低且易于检测到             [32] .
                 相反, 攻击者不能直接干扰边缘服务器和云服务器的聚合过程, 且无法访问和控制其他参与者的训练过程.
                    防御者的能力: 顾名思义, 其取决于攻击者的能力大小及防御者获取目标模型和训练数据的知识. 显然, 防御
                 者的能力面对不同的攻击能力, 表现也不相同. 例如, Fung              等人  [33] 提出了  FoolsGold  防御, 通过计算贡献相似度来
                 调整客户端的学习率, 进而实现对           FL  投毒攻击的检测. 典型地, TRIM     [34] 通过在投毒数据集上训练回归模型并以
                 估计残差的方式实现防御. 现有防御机制失败的原因之一是连续更新空间的采用给攻击者提供了选择大量模型更
                 新的机会. 基于这个思想, FedDiscrete 依赖于离散更新空间探讨防御性能. 就防御者的角度而言, 充分利用离散更
                 新空间的特点并兼顾       CEFL  系统的脆弱性是必要的, 以构建更强大的防御能力并实现隐私保护.

                 3   FedDiscrete 设计

                    本节展示了防御方案        FedDiscrete 的细节. 第  3.1  节介绍了参与者贡献度的评估方法和算法流程. 第             3.2  节提
                 供了离散更新空间的创建过程. 第          3.3 节给出了攻击者识别方法以及整个防御算法流程. 第               3.4 节讨论了  FedDiscrete
                 防御的可行性和有效性. 注意, 本文开发           FedDiscrete 方法的依据是离散更新空间比连续更新空间能够提供给攻击
                 者更少选择模型更新的机会.

                 3.1   评估参与者贡献度

                    为了确保参与      FL  任务训练的   K  个客户端之间的公平性, 我们引入贡献度指标, 以计算每个参与者的贡献大
                 小. 具体地, 基于文献     [35] 中已经证明的“最后一层模型参数对于检测攻击行为有着直接的影响”的思想, 在本文
                                            ¯ W r+1  (  ˆ W r+1 ) ( i, j ∈ [1,K]) 来捕捉更健壮的权重参数特征, 其主要是通过获取最后
                 中, 我们首先利用客户端本地模型
                                             i   j
                                                  }
                                       {
                                                 r
                                            r
                                         r
                                     ˜ w = ˜w , ˜w ,..., ˜w , 其中,   ¯ W  r+1  ˆ W r+1  i 个良性参与者和第   个恶意参与者在
                                                                                           j
                 一层权重特征实现, 记为            1  2    K       i   和   j   分别表示第
                 第  r +1 轮训练的本地模型, 求解贡献度的详细步骤如下.
                                            0                  0           ˜ w = ˜w− ˜w = { ˜w 1 , ˜w 2 ,..., ˜w K }. 基于此, 我
                                                                                  0
                    (1) 首先, 获取初始全局模型       G  的最后一层权重参数       ˜ w  并更新   ˜ w, 即
                 们能够以最后一层权重参数作为基准实现参与者贡献度的计算. 值得注意的是, 直接利用                             ML  模型所有层的权重
                 特征将包含较多的冗余信息, 而且, 其余层与攻击模式的相关性有着较弱的联系, 导致无法有效检测攻击者.
                    (2) 进一步地, 我们采用典型的主成分分析方法             (PCA) [36] 来提取   ˜ w 的  2  个主特征, 记为  u, 目的是生成更能反映
                 客户端属性的特征并降低高维度参数特征对检测攻击的影响.
                    (3) 然后, 我们采用余弦相似度       (cos(·)) 求解每两个参与者的权重特征之间的相似性, 记为              e cs, 表示为公式  (1),
                                                                               e cs, 利用  PCA  方法获取主特征, 该
                 这主要是基于攻击者和良性参与者的权重之间存在差异性的事实. 同样地, 基于
                 降维处理减少了攻击者隐藏主要特征的可能; 进一步利用                  Median  函数求解质心    ct, 由于攻击者的数量总是不超过
                 良性客户端的数量, 因此, 质心将总是落在多数良性参与者之间:

                                                                  w i ,w j
                                                 cos(w i ,w j ) = cos(θ) =                            (1)
                                                                 ∥w i ∥·∥w j ∥
                                                    cs, 以更直观地观察质心与每个参与者的权重之间的差异, 并将其视
                    (4) 接下来, 结合   u 和  ct 求解余弦相似度
                        λ. 而且, 良性参与者将与质心保持相似的方向, 即接近              1, 相反, 攻击者将接近     0.
                 为贡献度
                    随着迭代的持续, 利用与质心的相似值累计求和每个参与者的贡献度, 并更新保存在客户端, 以用于离散更新
                 空间的创建. 我们知道, 距离质心越近, 贡献度累积越大. 特别地, 在计算贡献度的过程中, 我们采用第一四分位数
                 (q 1 ) 作为阈值来决策带有不同贡献的参与者对           FL  任务训练过程造成的影响, 这主要是因为较大的阈值将隔离更
   339   340   341   342   343   344   345   346   347   348   349