Page 311 - 《软件学报》2026年第7期
P. 311
2996 软件学报 2026 年第 37 卷第 7 期
生成器不断学习对抗样本与原始样本分布的不同特征, 从而实现对两者分布差异的学习.
2.2 对抗鲁棒性增强的多样性数据构造
分析数据样本后, 则需要利用上述对目标分布的分析和模型工具, 来构造所需的多样性数据. 已知概率生成模
型能够学习分布规律. 结合对抗性纯化模型的思路, 样本的对抗性扰动消除可以定义为从对抗样本到原始样本的
映射问题, 可以从对抗样本中恢复出原始样本. 那么, 如果使用对抗样本和原始样本, 构造能将对抗样本映射到目
标分布上的概率生成模型, 就能提供目标分布下的数据了.
首先, 需要采集对抗样本作为输入的 Q(X) 分布下采样的样本. 设置攻击 Attack 为较强的 PGD (projected
gradient descent) 攻击, 因为它采取了多步梯度下降策略, 相比仅执行单步梯度下降的一次性攻击, 如 FGM (fast
gradient sign method), PGD 通常能够产生更鲁棒的对抗样本. 它的基本思想是迭代地更新对抗样本, 使其既能最大
限度地欺骗网络, 同时又不会超出某个预定的扰动限制 (通常表示为 L 范数的约束). 公式 (7) 和 (8) 体现了 PGD
的攻击算法. 在每次迭代都使用梯度方向更新对抗样本, 同时将更新后的对抗样本投影回原始样本的邻域内, 确保
扰动不超过预定的限制. 重复若干次, 最终得到的对抗样本应该能够极大地迷惑智能模型, 促使它做出错误的预
测. 此外, PGD 攻击的投影步骤有助于保证每次迭代后的对抗样本都满足预定的扰动限制, 这在实践中是非常重
要的, 因为对抗样本往往需要满足一定的可感知质量标准. 而在对抗性训练中, PGD 攻击也常被用作一种有效的
手段来提升模型的鲁棒性, 通过在训练阶段引入该攻击下的对抗样本, 模型可以表现得更加鲁棒.
Attack PGD (x ∈ P(X)) = x ∈ Q(X) (7)
′
∏
x t+1 = [(x t +ε·sign(∇ x J(x t ,y))] (8)
x+S
之后, 代理分布概率生成网络 G 结构首先采取了广泛使用的 DCGAN 网络中的生成器 G 设计规范, 使用
encoder-decoder 卷积结构. 这也是去噪方法 APE-GAN [19] 中使用到的模型结构. 训练捕获 R(X) 的概率生成模型 G
Q(X) 分布中采样, 训练 G 到分
也是方法中的关键一步. 后续实验中还会使用不同的模型结构并分析其效果. 设从
布 P(X), 则 GAN 训练所用损失函数可改为公式 (9) 的形式:
min G max D E x∼P(X) logD(x)+ E x∼G(x ′ ∈Q(X)) log(1−(D(G(x )))) (9)
′
此时训练的 G 将尽可能地将对抗样本 x 所在分布投影到原始样本所在分布, 以欺骗鉴别器 D. PBAT 需要对
′
抗样本不再只是投影到干净样本分布上, 而是投影到公式 (6) 中的分布. 为了使 G 能学习从 Q(X) 到 R(X) 的分布,
ˆ θ G 优化一个指定的损失函数而得到 G, 具体如公式 (10)–(12):
需要通过调整模型权重参数
1 N ∑
′
′
(x ),(αx i +(1−α)x )) (10)
ˆ θ G = argmin θ G
L(G θ G i i
N
i=1
min G max D E x∼P(X),x ′ ∼Q(X) logD(αx+(1−α)x )+ E x∼G(x ′ ∈Q(X)) log(1−(D(G(x )))) (11)
′
′
L = η 1 L mse +η 2 L G
2
N
1 W ∑ H ∑ ∑
′ ′
k
= η 1 (˜x i,j −G(x ) i,j ) +η 2 (1−log(D(G(x ))))
WH
i=1 j=1 k=1
2
N
1 W ∑ H ∑ ∑
′ ′ ′
(12)
k
i,j
WH
= η 1 ((αx i,j +(1−α)x )−G(x ) i,j ) +η 2 (1−log(D(G(x ))))
i=1 j=1 k=1
其中, ˜ x i (i = 1,2,...,N) 是服从分布 R(X) 的样本. 新样本分布来源于对抗样本, 并作为“协调者”, 被期望在对抗训练
中平衡模型的鲁棒性与精度. 在训练过程中, 为了让模型学习到更有效的特征, 优化决策边界, 会将新数据分布当
作一种待学习分布, 引导模型学习新数据所蕴含的信息, 以改进加固过程.
公式 (10) 旨在使概率生成模型 G 学习从对抗样本分布到目标分布的映射, 通过调整模型权重参数优化指定
的损失函数得到. 公式 (11) 是基于公式 (10), 在训练 GAN 时的最大最小博弈公式. 它结合了公式 (10) 中模型的映
射目标, 并将目标分布作为最终学习分布. 公式 (12) 是训练使用的损失函数, 为 MSE 损失和 GAN 的博弈损失加

