Page 360 - 《软件学报》2025年第5期
P. 360
2260 软件学报 2025 年第 36 卷第 5 期
γ(w −w ) γ 为将模型梯度放大的倍数. 从公式 (6) 可以明显看出模型梯度放大后其在模型聚合时的权重提高
t
t−1
j ,
了, 使聚合得到的全局模型受到了该模型更大的影响.
采用模型梯度放大的方法可以提高本地模型对全局模型的影响和贡献, 而对全局模型的影响和贡献与其所获
激励有着重要的关联, 意味着放大模型梯度一定程度上可以提高所获激励. 基于此, 本文提出了梯度放大攻击方
法 GSupA 来进行激励欺诈攻击, 恶意参与者 j 先在本地训练数据集上进行正常的模型训练, 训练得到本地模型梯
度后对该模型的全部或局部梯度进行放大处理, 并将放大后的梯度上传至联邦服务器. 梯度放大的公式如下:
˜ w t j,q t = γ(w t t−1 t−1 (7)
q
j,q t −w t )+w t q
t
t
t
˜ w ← ( ˜w ,w ) (8)
j,p t
j,q t
j
t t q ∩ p = ∅ q ∪ p 为本地模型的所
t
t
t
t
t
t
其中, q 是第 轮放大梯度的网络层, p 为第 轮模型中不需要放大的网络层, ,
t
t
t
j
j
有网络层, ˜ w t j,q t 是第 轮参与者 本地模型中被放大的网络层 q 的参数, w t j,q t 是第 轮参与者 未放大模型时网络
t t−1 t t t t
层 q 的参数, w t 是第 t −1 轮全局模型中网络层 q 的参数, w t j p 的参数, ˜ w
q j,p t 是第 轮参与者 本地模型中网络层 j
j
为第 t 轮参与者 对本地模型梯度进行放大处理后得到的模型参数, 也是要上传至联邦服务器的模型参数, γ 为放
γ 为 1 γ 大于 1 γ 小于 1 时
大模型梯度时使用的放大因子, 当 时计算得到的结果与未放大时相同, 时梯度被放大,
梯度被缩小.
由公式 (7) 和公式 (8) 可得, 恶意参与者在进行梯度放大攻击时可以选择放大梯度的网络层, 选择不同的网络
层梯度进行放大, 得到的欺诈效果不同. 在大多数情况下, 对全部网络层梯度进行放大得到的激励提升效果是最佳
的, 但是在部分防御机制下会存在放大全部网络层梯度无法通过防御检验或是激励提高效果不明显等情况. 例如,
[8]
联邦学习系统使用 FLTrust 聚合算法时, 会对参与者梯度的幅度进行归一化处理, 攻击者放大全部网络层梯度得
到的模型梯度被归一化处理后会失去欺诈效果, 无法提高所获激励, 因此在 FLTrust 机制下实施梯度放大攻击应
当选择部分网络层梯度进行放大.
对模型梯度进行放大的计算代价与放大梯度网络层的参数量相关, 参数量越多, 所需的计算代价越大. 不过,
梯度放大的计算代价极低, 即使放大所有网络层的梯度, 其所需的计算代价与诚实训练所需的计算代价相比也微
不足道.
3.2 放大因子的选择
梯度放大公式中的放大因子 γ 决定了梯度放大的幅度, 很大程度上决定了攻击模型能否通过系统的防御机制
以及最终欺诈攻击的效果, 因此, 放大因子的选择十分重要.
当参与者在联邦学习中实施激励欺诈攻击时, 尽管获得的激励成本比已经满足了阈值要求, 但是他们通常希
望能够获得更高的激励成本比, 所以在计算放大因子时应选择其中欺诈效果最佳的放大因子. 反过来说, 如果使用
欺诈效果最佳的放大因子所获的激励成本比无法满足阈值要求, 那么, 使用其他的放大因子同样也无法满足要求.
因此, 参与者在实施梯度放大攻击时计算放大因子的目标为选择能够最大化所获激励成本比的值.
放大因子的计算方法可以分为以下两大类.
(1) 如算法 1 所示, 攻击者使用自己的本地训练数据提前模拟联邦学习, 在模拟联邦学习中将训练数据分为多
个子数据集, 每个子数据集作为模拟联邦学习中各个“参与者”的数据集用于训练模型, 其中随机选择“参与者”实
施欺诈攻击, 多次尝试不同的放大因子对选择的“参与者”的梯度进行放大, 选择梯度放大后可以通过防御机制并
且欺诈效果最佳的放大因子应用于实际的联邦学习激励欺诈攻击中. 由于在不同的放大因子下模拟联邦学习欺诈
攻击所需的计算代价相同, 因此在比较欺诈效果时只需要比较欺诈后所获的激励值即可. 这类方法比较适用于使
用调整模型聚合算法而无模型检验环节的防御机制的联邦学习系统.
该方法通过模拟联邦学习, 使用不同的放大因子进行欺诈攻击实验, 从而在可选的放大因子集合中选取能够
在模拟联邦学习中产生最大激励成本比的放大因子, 相应地在实际的联邦学习中使用该放大因子的欺诈效果是最
佳的.