Page 346 - 《软件学报》2025年第9期
P. 346
赵亚茹 等: 云边联邦学习系统下抗投毒攻击的防御方法 4257
r
r
全局排名 S r 到客户端, 基于 S , 排序每个客户端本地模型中每一层连接边的分数. 假设 S = [2,3,0,5,1,4], 客户端
g g g
r e 4 有最
c i 的本地模型连接边的分数为 s = [0.5,0.2,0.3,0.4,0.7,1.2], 这就意味着边 e 2 应该有最低的分数 s 2 = 0.2, 边
r r r
高的分数 s 4 = 1.2, 因此, 对于客户端 , 更新后边的分数为 s = [0.4,0.7,0.2,0.3,1.2,0.5], 该过程表达为 s [S ] ←
c i
g
r s 不是子网络模型更新后的边的分数向量, 而是在此基础上, 利用第 节所求
r
SORT(s ). 值得强调的是, 此时的 3.1
解的参与者的贡献度 (作为加权系数) 执行加权操作后获得的, 即 s ← λ i × s . 其次, 在 EP 算法中, 每个客户端 c i 基
r
r
k
于本地数据集 D i 执行本地训练, 在前向传播过程中, 选择分数较高的前 个边, 其中, k 表示初始网络中的边保留
在最终在子网络中的边的总数的比例并设置 k = 50%, 在反向传播过程中实现分数的更新, 迭代循环直至达到
¯ W i ← EP(D i ,W i , s,k,epoch). 注意, 随着 EP
epoch 上界. 此时, 获得本地子网络模型 ¯ W i 并作为该轮的全局模型, 即
算法不断迭代, 边的分数也在不断更新, 本地排名是基于最终的更新分数实现. 同时, 对于每个客户端, 依赖于本地
r r S = [4,0,2,3,5,1], 则我们选择分数最
r
子网络模型能够获得边的分数 s 和本地排名 S . 例如, 客户端 c 1 的排名是 1
i
高的前 50% 个边, 即 c 1 使用边{3, 5, 1}构成子网络模型. 注意, 在整个训练过程中, 只更新边的分数, 而不更新模型
r
参数. 紧接着, 依赖于 K 个客户端的本地排名, 即 S r , 创建离散更新空间. 因此, 该过程可以表示为 S ← ARGSORT
i∈[1,K] i
r r r r r
( ¯ W i , s ,S )(良性参与者) 或者 S ← ARGSORT( ˆ W i , s ,S )(恶意攻击者).
i
i
i
接下来, 客户端上传本地排名构建的离散更新空间到边缘服务器端. 对于每个边缘服务器, 基于接收到的客户
端本地排名执行多数投票聚合机制, 这里采用投票函数 VOTE 实现. 具体地, 对于一个客户端 c i , 本地排名的索引
r r e 4 在索引
值 j 表示对应边 S [j] 的信誉度值. 比如, 客户端 c 1 的本地排名为 S = [4,0,2,3,5,1], 则我们视为 c 1 的边
i
1
j = 0 处具有最低的信誉度 (分数), 相反, 边 e 1 在 j = 5 处具有最高的信誉度. 因此, VOTE 函数将分配信誉度 0 给 e 4 ,
1 给 e 0 , 2 给 e 2 及 5 给 e 1 等. 换句话说, 对应边的分数越低, 其信誉度值也越低. 简言之, 基于每个边缘服务器聚合
的 m 个客户端的本地排名 S r , VOTE 函数将计算所有边的信誉度并通过赋值 S r 向量中对应边的索引实现.
i∈[1,m] i∈[1,m]
类似地 , m 个客户端本地排名中
c 2 c 3 等, 直至所有客户端中对应边的信誉度统计完成. 然后, 累计计算并求和所有
对应边的信誉度, 最终返回第 1 个边缘服务器求解的所有边 e i∈[0,5] 的总信誉度构成的向量, 记为 H 1 , 即 H 1 =
r r r
SUM(SUM(ARGSORT(S ))). 最后, 边缘服务器通过排序最终信誉度值来计算全局排名 S , 即 S = ARGSORT(H 1 ).
i g g
r
该过程形象化表达为 S = VOTE(S r ). 类似地, 直至所有 E 个边缘服务器统计完成.
g i∈[1,m]
最后, 边缘服务器上传 E 个全局排名 S r 构建的离散空间到云服务器. 在云端, 基于全局排名同样执行多
g,i∈[1,E]
S r+1 S r+1 = VOTE(S r r +1 轮, 客户
数投票聚合机制以获得最终的全局排名 G , 该过程可以表示为 G g,i∈[1,E] ). 迭代地, 在第
S r+1 来更新本地排名, 直至达到最大迭代轮或满足终止条件.
端执行本地模型训练, 并基于求解的 G
在本文中, 创建离散空间及服务器端执行聚合的整个过程均是逐层实现的, 且良性参与者和恶意参与者均是
基于各自本地模型独立完成离散空间的构建, 因此, 在边缘聚合操作之前需要先融合所有客户端求解的本地排名
构成的离散空间. 不同于以往利用迭代更新的权重参数, 我们是基于网络模型连接边的分数创建离散更新空间, 以
这种方式, 我们可以减少攻击者可选择的模型更新空间.
3.3 攻击者识别
FedDiscrete 防御可以以一种简单的方式提高 CEFL 系统的安全性: 通过设置阈值 q 1 来约束参与者的贡献大
小, 具体来说, 我们通过评估每个参与者在所有训练轮次中的贡献度, 动态调整其本地模型更新的权重, 以降低潜
在攻击者对模型性能带来的影响, 同时保留了对全局模型有益的差异性更新. 而且, 我们采用与攻击行为紧密相关
的最后一层权重参数实现贡献度的计算. 这种方式不仅能有效地减轻投毒攻击的影响, 还能够促进联邦模型在
non-IID 数据设置下的稳健训练; 在此基础上, 在所有参与者上传本地排名构建的离散更新空间之前, 我们使用每
个参与者的实际贡献大小来约束其模型连接边的分数, 以缓解其在下一轮模型训练过程中对全局模型的恶意影
响, 通过不断地迭代训练来削弱攻击者的贡献, 进而提高模型的鲁棒性以及客户端之间的公平性. 值得强调的是,
FedDiscrete 防御的主要目标是集中于缓解攻击者造成的投毒影响, 而不是检测出攻击者.
更具体地说, 对于每个攻击者, 其通过对含有预先设置的源标签的样本执行 LFA 恶意操作, 以输出攻击者期
望的目标标签, 实现目标投毒攻击的目的. 在我们的模型测试中, 所有参与者均是按照相同的数据划分方法, 包括

