[paper]DeepFool: a simple and accurate method to fool deep neural networks
本文目标是基于最微小扰动实现生成对抗样本的目的,并在此基础上提出了基于DeepFool算法的新方法来实现这一目标的同时还引入了一种针对分类器鲁棒性的量化分析方法。这种方法被认为是首个通过计算最小必要扰动并将其应用于抗侧构建过程的方法,并且其采用L2范数作为约束条件以限制抗侧规模的变化范围最终所得到的结果较之于之前的FGSM与JSMA方法具有更好的性能优势然而这些经典方法在实际应用中仍面临较大的计算开销问题。

Δ(x,ᵏ)被称作在点x上与分类器ᵏ相关的鲁棒性指标。
分类器ᵏ^的鲁棒性被定义为其在不同条件下的稳定性指标。

论文主要贡献:
该文提出了一种简单且精确的方法用于评估抗扰动,并对不同分类器的鲁棒性进行了比较。
实验结果表明:
1. 与现有方法相比,本文提出的方法在评估抗扰动方面更为有效。
2. 利用对抗样本扩展训练数据集能够显著提高分类器对抗扰动的鲁棒性。
采用粗略计算对抗扰动的方式可能会导致关于鲁棒性的不同结论,并且可能产生误导性结果。本文所提出的方案能够更加深入地解析这种现象及其相关影响因素。
二分类模型的DeepFool算法:

二分类模型 \hat{k}(x) =sign(f(x)),分类器边界 \mathcal{F}=\{x:f(x)=0\},且f(x) = w^T x+b。△(x_{0};f)等于\ x_0到分类边界 \mathcal{F}的距离,也可以用 r_*(x_0)表示:

当f是线性时,在点 x_i的附近,线性分类器的扰动计算公式为:

假设函数f是一个可微的二元分类器,则可以通过迭代的方式评估其鲁棒性。具体而言,在这一过程中:首先利用线性扰动公式计算出r_i;随后更新x_i = x_0 + r_i并持续进行迭代;当$f(x_{i+1})\text{的符号发生变化时,则认为该过程结束}。

该算法往往会在 \mathcal{F} 边界面附近收敛至某一点。为了跨越分类边界的另一侧, 最终施加在系统上的扰动向量 \hat{r} 通常会被放大为原来的 1+\eta 倍。
多分类模型的DeepFool算法:
基于二分类模型DeepFool的方法,多分类模型的DeepFool算法可以被视作其聚合形式。假设多分类模型拥有c个类别,则可知\hat{k}(x) = \argmax_k f_k(x)。
考虑线性可微多分类模型

只需要:

设W的第k列为w_k:

设P为判断\hat{k}(x_0)的区域范围,则x+r会落在P^{c}内,并且Δ(x₀; f)定义为x₀到P补集的距离度量。
我们定义\hat{l}(x_0)为x_0至P边界面的最邻近标签。

该公式所表示的其实是两者的距离。
进而可以认为将x_0误判为\hat{l}(x_0)会带来相应的扰动。

对于非线性可微多分类模型

依然使用迭代的方法,在每次迭代过程中,P可用如下表述:


此迭代方案基于贪心策略,并未证实必然收敛至全局最优解;然而,在局部区域内仍能提供一种较小扰动下的近似解。与现代优化技术有着密切关联的是DeepFool方法;它特别适用于解决欠定条件下非线性方程组的根问题,并被视为正规流法的一种延伸;同样地,在每次迭代过程中采用了自适应步长选择机制以提升逼近效果;在多分类器体系中采用分段凸规划策略以简化计算过程
拓展到l_p范数
在我们之前所采用的公式中,默认使用的是l_2范数。然而,在某些情况下,默认选择l_p范数可能会带来更好的性能表现。

其中q = \frac{p}{p-1},\bigodot是点积,当p=\infty时,公式为:

实验结果:

通过实验数据可以看出 深度伪造器(DeepFool)成功实现了产生较小扰动的目的 相较于 L-BFGS 方法而言 深度伪造器不仅耗时较少 而且在收敛速度上更具优势 这是因为 L-BFGS 方法在优化目标函数时成本过高 而深度伪造器只需少量迭代即可实现收敛
利用来自深度伪造器(DeepFool)训练所得的对抗样本进行微调后 网络的整体抗干扰能力有所提升 相反 使用 FGSM 方法进行微调反而导致抗干扰能力下降
研究者认为 这一现象的原因在于 由于 FGSM 生成的扰动幅度较大 过度利用大幅扰动对模型进行微调可能导致抗干扰能力下降 此外 FGSM 的作用机制类似于一种正则化技术 其功能并非用于替代真实数据参与训练 而是辅助模型在对抗样本空间中构建更为稳健的学习框架
