目录
白盒攻击
BFGS
- 牛顿法求驻点不能用,使用拟牛顿方法优化目标函数,利用单位矩阵逐步逼近H矩阵。
- 优点:收敛速度快,能够在较少的迭代步骤内找到较优解。
- 缺点:需要存储每个迭代步骤的Hessian逆矩阵,内存使用较大。
L-BFGS(Limited-memory BFGS)
- 有限内存中进行BFGS算法,对BFGS算法的又一次近似。
- 优点:在BFGS的基础上减少了对内存空间的需求,适用于处理大规模数据集。
- 缺点:可能受限于内存大小,可能不能全面探索梯度信息。
FGSM(Fast Gradient Sign Method)
- 梯度上升来扰动。
- 优点:快。
- 缺点:只是提供了最优扰动的一个粗略的估计,它执行的梯度的方法,经常得到的是局部最优解。
BIM(Basic Iterative Method)
- FGSM 只沿着梯度增加的方向添加一步扰动 ,而 BIM 则通过迭代的方式,沿着梯度增加的方向进行多步小扰动。
- 优点:通过逐步增加扰动的方式,可以生成更具鲁棒性的对抗样本。
- 缺点:可能需要更多的迭代步骤,计算时间较长。
PGD (Projected Gradient Descent)
- Min-max(内部最大化,外部最小化。即,攻击:里层的损失函数最大化;防御:模型在遇到对抗样本的情况下,整个数据分布上的损失的期望还是最小)。PGD和BIM都是迭代的FGSM,区别是PGD增加迭代轮数,并且增加了一层随机化处理。如果目标模型是一个线性模型,那么用FGSM就可以了,而对于一个非线性模型,仅仅做一次迭代,方向是不一定完全正确的。
- 优点:稳健性高,能够在迭代过程中约束扰动幅度。
- 缺点:相比较于其他算法,可能生成的对抗样本质量略低。
C&W(Carlini-Wagner攻击)
- 在对模型造成最小影响的前提下生成对抗样本,通过限制$ l_∞$、$l_2$ 和 $ l_0$ 范数使得生成的对抗样本更加自然和难以察觉。不使用截断的思想,而是映射到tanh空间。
- 优点:强大而灵活,能够生成最小幅度的对抗扰动。
- 缺点:计算复杂度高,生成的对抗样本可能会对原始样本影响较大。
DeepFool
- 一种引导干净示例跨过决策边界的方法,该边界表征每次迭代中多面体的最近边界。在每次迭代中找到使得预测结果变化最快的方向,并对输入数据进行微小扰动,直至模型将其错误分类。
- 优点:简单高效,快速生成对抗样本。能够得到更小的扰动,甚至比FGSM小一个数量级。
- 缺点:可能无法生成最具破坏性的对抗样本。
黑盒攻击
MIM(Momentum Iterative Method)
- 在BIM中引入动量项,以使更新方向稳定并避免不良的局部最大值,提升对抗样本的可迁移性。在进行迭代的时候,每一轮的扰动不仅与当前的梯度方向有关,还与之前算出来的梯度方向相关(比如,前几次迭代过程求的梯度都是负,当前梯度却是正,那么这个g(t+1)就会受到之前求出的梯度方向影响,最终对抗样本的更新就不一定是加上正数,也可能是负数。这也就是我们常说的惯性)
ZOO(Zeroth Order Optimization)
- 在生成对抗样本的过程中,只利用模型的输出而不依赖于模型的梯度信息。使用置信度分数来估计目标模型的梯度,以生成对抗性扰动。
One Pixel Attack
- 只找到一个像素来干扰和误导输出,采用差分进化,需要目标类的概率值。