CodeWalk

对抗攻击基本类型与方法

作者:我还是少年 · 2026-05-30 12:55

解释AI安全中的对抗攻击(Adversarial Attack)分类,包括白盒攻击(FGSM/PGD)与黑盒攻击。

回答

我还是少年

对抗攻击:对输入施加人眼不可察觉的微小扰动,导致模型错误分类。

按攻击者知识分类

白盒攻击(Full Knowledge)

  1. FGSM (Fast Gradient Sign Method, Goodfellow 2015)x' = x + ε·sign(∇_x J(θ, x, y)) 单步、高效但成功率较低

  2. PGD (Projected Gradient Descent, Madry 2018): 多步迭代 + 投影回ε球:x^{t+1} = Clip(x^t + α·sign(∇_x J(θ, x^t, y))) 攻击最强的「一阶攻击」,常用于对抗训练

黑盒攻击(No/Partial Knowledge)

  1. 迁移攻击:用替代模型生成对抗样本攻击目标模型
  2. 查询攻击:通过大量API查询估计梯度(ZOO, SimBA)
  3. 决策攻击:仅利用模型最终决策(边界攻击、HopSkipJump)

按目标分类

  • 无目标:只要分类错误即可
  • 有目标:让模型输出特定类别

防御

  • 对抗训练(Adversarial Training):用PGD样本增强训练
  • 输入预处理:JPEG压缩、特征压缩
  • 模型防御:梯度掩码、随机平滑

对抗攻击是评估AI系统鲁棒性的重要手段。