文章目录
一、论文相关信息
1.论文题目
DeepFool: a simple and accurate method to fool deep neural networks
2.论文时间
2015年
3.论文文献
https://arxiv.org/abs/1511.04599
二、论文背景及简介
目前,没有有效率的方法可以用来精确的计算深度模型对对抗扰动的鲁棒性。在这篇论文中,提出了DeepFool的算法来生成扰动,并且提出了一种量化分类器鲁棒性的方法。
三、论文内容总结
- 提出了一种计算分类器对对抗扰动的鲁棒性的评价方法
- FGSM虽然快,但是它只是提供了最优扰动的一个粗略的估计,它执行的梯度的方法,经常得到的是局部最优解,DeepFool能够得到更小的扰动,甚至比FGSM小一个数量级
- 提出了一个新的对抗攻击方法DeepFool:
r ∗ ( x 0 ) = a r g m i n ∣ ∣ r ∣ ∣ 2 s . t . s i g n ( f ( x 0 + r ) ) ≠ s i g n ( f ( x 0 ) ) = − f ( x 0 ) ∣ ∣ w ∣ ∣ 2 2 w r_*(x_0)=argmin||r||_2 \\ s.t. \ \ sign(f(x_0+r)) \ne sign(f(x_0))=-\frac{f(x_0)}{||w||_2^2}w r∗(x0)=argmin∣∣r∣∣2s.t. sign(f(x0+r))=sign(f(x0))=−∣∣w∣∣22f(x0)w
- 在DeepFool中可以采用任意的lp norm
- DeepFool训练出来的对抗样本进行Fine-tuning后,网络的鲁棒性变的更好。FGSM的Fine-tuning却让网络的鲁棒性变差。作者认为:用变动过大的扰动来进行Fine-tuning会让网络的鲁棒性变差。但博主认为:大的扰动在Fine-tuning后之所以让鲁棒性变差,是因为实验所使用的Epoch太少了,不足以让网络能够清楚地学习到大的扰动所带来的影响,才让鲁棒性变差,而增加Epoch或者增加网络的复杂性,就可以训练的很好。这只是个人理解。
附:如需继续学习对抗样本其他内容,请查阅对抗样本学习目录
四、论文主要内容
1、Introduction
针对样本x,标签 k ^ ( x ) \ \hat{k}(x) k^(x) ,我们可以用如下关系来生成对抗样本:
△ ( x , k ^ ) = m i n r ∣ ∣ r ∣ ∣ 2 s . t . k ^ ( x + r ) ≠ k ^ ( x ) \bigtriangleup(x,\hat{k}) = min_r||r||_2 \ \ s.t.\ \hat{k}(x+r) \neq \hat{k}(x) △(x,k^)=minr∣∣r∣∣2 s.t. k^(x+r)=k^(x)
我们,可以把 △ ( x , k ^ ) \ \bigtriangleup(x,\hat{k}) △(x,k^) 称作 k ^ \ \hat{k} k^ 在点 x \ x x 上的鲁棒性,分类器 k ^ \ \hat{k} k^ 的鲁棒性可以如下定义:
ρ a d v ( k ^ ) = E x △ ( x , k ^ ) ∣ ∣ x ∣ ∣ 2 \rho_{adv}(\hat{k}) = E_x \frac{\bigtriangleup(x,\hat{k})}{||x||_2} ρadv(k^)=Ex∣∣x∣∣2△(x,k^)
其中 E x \ E_x Ex 是对数据分布的期望。
对抗扰动的研究帮助我们明白了对一个分类器来说,什么样的特征被使用了。一个准确的寻找对抗扰动的方法对于研究和比较不同分类其对对抗样本的鲁棒性是十分必要的,这可能有助于更好的理解目前结构的限制,然后能够找到方法来增加鲁棒性。目前,还没有很好的方法被提出来得到对抗扰动,这篇论文就弥补了这一缺陷。
这篇论文主要的贡献如下:
- 提出了一个简单的精确的方法来计算对抗扰动以及比较不同分类器的鲁棒性
- 进行了一次实验对比,发现由我们的方法得出来的对抗扰动 更可信 更有效率,而且,使用对抗样本来增强实验数据能够极大的增加对对抗扰动的鲁棒性
- 使用不精确的方法来计算对抗性扰动可能会导致关于鲁棒性的不同结论,有时甚至是误导性的结论。因此,我们的方法可以更好地理解这种有趣的现象及其影响因素
这篇论文提到,FGSM虽然快,但是它只是提供了最优扰动的一个粗略的估计,它执行的梯度的方法,经常得到的是局部最优解。
2、DeepFool For Binary Classifiers
在该节, k ^ ( x ) = s i g n ( f ( x ) ) \ \hat{k}(x) =sign(f(x)) k^(x)=sign(f(x)) , f ( x ) \ f(x) f(x) 是一个二值分类器,我们把 F = { x : f ( x ) = 0 } \ \mathcal{F}=\{x:f(x)=0\} F={ x:f(x)=0} 记为分类器的边界。 f ( x ) = w T x + b \ f(x) = w^T x+b f(x)=wTx+b 。
如果 f \ f f 是一个线性的,我们可以很容易的看出 f \ f f 在点 x 0 \ x_0 x0 出的鲁棒性。 △ ( x 0 ; f ) \ \bigtriangleup(x_0;f) △(x0;f) 等于 x 0 \ x_0 x0 到分类边界 F \ \mathcal{F} F 的距离,也可以用 r ∗ ( x 0 ) \ r_*(x_0) r∗(x0) 表示。

其公式如下:
r ∗ ( x 0 ) = a r g m i n ∣ ∣ r ∣ ∣ 2 s . t . s i g n ( f ( x 0 + r ) ) ≠ s i g n ( f ( x 0 ) ) = − f ( x 0 ) ∣ ∣ w ∣ ∣ 2 2 w r_*(x_0)=argmin||r||_2 \\ s.t. \ \ sign(f(x_0+r)) \ne sign(f(x_0))=-\frac{f(x_0)}{||w||_2^2}w r∗

本文深入探讨了DeepFool算法,一种高效生成对抗样本的方法,用于评估深度神经网络的鲁棒性。通过对比实验,展示了DeepFool在计算对抗扰动方面的优越性和效率,以及如何利用对抗样本进行网络微调,提升模型的鲁棒性。
最低0.47元/天 解锁文章
5021





