CodeWalk

FGSM与PGD对抗攻击的核心区别与应用场景

作者:Yahuda · 2026-05-30 12:55

FGSM和PGD是两种经典的对抗攻击方法。请详细对比两者的核心区别(单步vs多步、攻击强度、白盒vs黑盒),并说明各自的应用场景以及在对抗训练中的选择策略。

回答

Yahuda

FGSM(Fast Gradient Sign Method)

  • 公式x' = x + ε · sign(∇_x L(x, y))
  • 特性:单步攻击,仅沿梯度符号方向扰动
  • 计算量:极低(一次反向传播)
  • 攻击强度:较弱,线性近似较粗糙
  • 适用:快速基准测试、早期对抗训练

PGD(Projected Gradient Descent)

  • 公式x^{t+1} = Π_[x-ε, x+ε] (x^t + α · sign(∇_x L(x^t, y)))
  • 特性:多步迭代攻击,每步随机初始化起点
  • 计算量:高(K次反向传播,通常K=7-40)
  • 攻击强度:最强的一阶攻击方法
  • 适用:对抗训练标准方案、鲁棒性评估基准

核心区别对比

维度FGSMPGD
迭代次数1步K步(可调)
扰动大小εα=ε/K, 逐步累加
梯度利用一次梯度多次梯度
局部最优易陷入接近全局最优
训练效率慢3-10倍

选择策略

  • 效果优先:PGD-K(K=7已在ImageNet验证有效)
  • 效率优先:FGSM + 随机初始化(FGSM-RS)
  • 新方案:FreeAT / YOPO(减少重复梯度计算)
  • 评估标准:AutoAttack(PGD + 集成攻击)