本文目标是寻求最小的扰动来达到生成对抗样本的目标,因此提出了DeepFool的算法来生成扰动,并且提出了一种量化分类器鲁棒性的方法。
这是第一个通过计算出最小的必要扰动,并应用到对抗样本构建的方法,使用的限制扰动规模的方法是L2范数。最终得到的对抗样本效果要优于前面的FGSM和JSMA方法,但是这三者都需要比较大的计算资源。
根据样本xxx,标签 k^(x)\hat{k}(x)k^(x):
可以称Δ(x,k^)\Delta (x,\hat{k})Δ(x,k^)为k^\hat{k}k^在点xxx上的鲁棒性。
分类器k^\hat{k}k^的鲁棒性定义为:

论文主要贡献:

  • 提出了一个简单的精确的方法来计算对抗扰动以及比较不同分类器的鲁棒性
  • 通过实验表明:
    1)本文提出的方法相比之前的方法能够更可靠,更有效地计算对抗扰动。
    2)用对抗样本扩充训练数据可以显著提高分类器对对抗扰动的鲁棒性。
  • 使用不精确的方法计算对抗扰动可能会导致关于鲁棒性的不同结论,甚至可能会产生误导性结论。 本文提出的方法可以更好地理解这种现象及其影响因素。

二分类模型的DeepFool算法:


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

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

如果 fff 是可微的二值分类器,可以采用迭代的操作来估计其鲁棒性。迭代过程为:先通过线性扰动计算公式得到 rir_iri​,然后更新xi=x0+rix_i=x_0+r_ixi​=x0​+ri​并不断迭代。直到f(xi+1)f(x_{i+1})f(xi+1​)改变符号时,迭代停止。

实际上,上述算法经常会收敛到 F\mathcal{F}F边界上的一个点,为了到达分类边界的另一边,最后的扰动向量 r^\hat{r}r^通常会乘以一个常数1+η1+\eta1+η。

多分类模型的DeepFool算法:

多分类模型的DeepFool算法可以看作是二分类模型DeepFool的聚合。假设多分类模型有ccc类。可知k^(x)=argmaxkfk(x)\hat{k}(x) = argmax_kf_k(x)k^(x)=argmaxk​fk​(x)。
对于线性可微多分类模型
只需要:

设WWW的第kkk列为wkw_kwk​:

PPP为判定k^(x0)\hat{k}(x_0)k^(x0​)的区域, 则x+rx+rx+r应落在PcP^{c}Pc,且Δ(x0;f)=dist(x0,Pc)Δ(x_0;f)=dist(x_0,P^{c})Δ(x0​;f)=dist(x0​,Pc)。
记x0x_0x0​离P的边界最近的标签为 l^(x0)\hat{l}(x_0)l^(x0​):
该公式的意思其实就是两个f(x0)\ f(x_0) f(x0​) 之间的距离。
因此可以将 x0x_0x0​误分类为 l^(x0)\hat{l}(x_0)l^(x0​),扰动为:

对于非线性可微多分类模型
依然使用迭代的方法,在每次迭代过程中,PPP可用如下表述:

该迭代算法是贪婪算法,没有被证实一定可以收敛到最优解,但能够得到最小扰动的良好近似。DeepFool与优化算法紧密相连,在二分类情形下,它可以看作是牛顿迭代算法,用于在欠定情形下求非线性方程组的根,这种算法被称为正规流法。这个算法,也可以被看成是梯度下降方法,在每次迭代时自动选择自适应步长。在多分类器的算法中的线性化也类似于序列凸规划,其中约束在每一步都被线性化。

拓展到lpl_plp​范数

之前所使用的公式中都是使用的l2l_2l2​norm,其实,我们也可以使用 lpnorml_p \ normlp​ norm ,算法也可以找到较好的结果。相应的公式需要更改为:

其中q=pp−1q = \frac{p}{p-1}q=p−1p​,⨀\bigodot⨀是点积,当p=∞p=\inftyp=∞时,公式为:

实验结果:

从实验结果中可以看出,DeepFool能够得到更小的扰动,而且DeepFool花费的时间比L-BFGS要少,因为L-BFGS优化的目标函数代价太高,而DeepFool只需要很少的迭代次数就能够收敛。
使用由DeepFool训练出来的对抗样本进行Fine-tuning后,网络的鲁棒性变的更好了,而使用FGSM进行Fine-tuning却让网络的鲁棒性变差了。
作者认为,这是因为因为FGSM生成的扰动过大,用过大的扰动进行Fine-tuning会让网络的鲁棒性变差。而且FGSM的作用更像是正则化,而不能够代替原始数据来进行训练。

[paper]DeepFool: a simple and accurate method to fool deep neural networks相关推荐

  1. 论文那些事—DeepFool: a simple and accurate method to fool deep neural networks

    DeepFool: a simple and accurate method to fool deep neural networks 1.摘要及背景 提出Deepfool算法,对比FGSM和I-BL ...

  2. 意图识别算法:噪音处理之O2U-Net: A Simple Noisy Label Detection Approach for Deep Neural Networks

    目录 问题描述 解决思路 具体过程 预训练阶段 Cyclical Training阶段 clean dataset训练阶段 实验结果 论文下载:O2U-Net: A Simple Noisy Labe ...

  3. AutoZOOM: Autoencoder-based Zeroth Order Optimization Method for Attacking Black-box Neural Networks

    AutoZOOM: Autoencoder-based Zeroth Order Optimization Method for Attacking Black-box Neural Networks ...

  4. Autoencoder-based Zeroth Order Optimization Method for Attacking Black-box Neural Networks

    AutoZOOM: Autoencoder-based Zeroth Order Optimization Method for Attacking Black-box Neural Networks ...

  5. 关于Training deep neural networks for binary communication with the Whetstone method的代码实现

    GitHub网址如下: https://github.com/SNL-NERL/Whetstone/blob/master/examples/adaptive_mnist.py 实现过程中解决的问题: ...

  6. [paper]Feature Squeezing: Detecting Adversarial Examples in Deep Neural Networks

    本文提出了两种特征压缩方法: 减少每个像素的颜色位深度 使用空间平滑来减少各个像素之间的差异 特征压缩通过将与原始空间中许多不同特征向量相对应的样本合并为单个样本,从而减少了对手可用的搜索空间.通过将 ...

  7. LQ-Nets: Learned Quantization for Highly Accurate and Compact Deep Neural Networks

    本文提出了一种通过学习来获得合适的量化间隔的方法. 本文的思路很简单,作者将uniform量化视作几个量化level的线性叠加: 左边是量化level,右边是线性叠加系数,它的取值范围为0或1. 于是 ...

  8. Paper:《Generating Sequences With Recurrent Neural Networks》的翻译和解读

    Paper:<Generating Sequences With Recurrent Neural Networks>的翻译和解读 目录 Generating Sequences With ...

  9. Paper:RNN之《Generating Sequences With Recurrent Neural Networks用循环神经网络生成序列》的翻译和解读

    Paper:<Generating Sequences With Recurrent Neural Networks>的翻译和解读 目录 Generating Sequences With ...

  10. Paper:《Graph Neural Networks: A Review of Methods and Applications》翻译与解读

    Paper:<Graph Neural Networks: A Review of Methods and Applications>翻译与解读 目录 <Graph Neural N ...

最新文章

  1. apache 模块编译选项
  2. 左侧宽度固定,右侧宽度自适应-----两种布局样式
  3. 有关nginx upstream的几种配置方式
  4. SQL Server HA - 数据库镜像2 (Mirroring)(1418错误解决)
  5. Dump与Win Program Crash
  6. java判断线段是否相交函数_判断线段是否相交… | 学步园
  7. 全视频沟通不再远 罗技为中国企业开启视频协作新格局
  8. Flink作业问题分析和调优实践
  9. java 大字符集_JAVA语言之java 乱码 字符集编码
  10. VC6.0下载及安装
  11. 全新超火的微信小说小程序源码-自带采集带安装教程
  12. AI绘画初体验(6pen平台)
  13. 2019各大互联网公司年会盘点
  14. mysql存储过程中使用select count(*) into 变量名 from +表+ where条件的用法
  15. Python与人工神经网络(5)——交叉熵成本函数
  16. 互联网(internet)、因特网(Internet)、万维网(World Wide Web)三者区别
  17. 软件测试 | 测试开发 | 30 分钟轻松搞定正则表达式基础
  18. Windows 的关机的快捷键有没有?怎么实现快捷关机?
  19. Python 搜索、排序、复杂度分析
  20. UBNT ER-X 路由器DDNS配置和frps内网穿透服务搭建

热门文章

  1. 深度学习之卷积神经网络
  2. 多媒体一体机计算机打不开,多媒体教学一体机突然打不开PPT是怎么回事?
  3. HotFix方案原理
  4. 数据库四种范式和部分依赖,完全依赖,传递依赖
  5. 数据库连接报错 Communications link failure 连接失败解决办法
  6. SPKO的Laker分析(一)
  7. 让你轻松入门的编程学习窍门,JAVA、Python快速学习资料+练手项目
  8. vscode远程连接与控制使用
  9. 利用TDR (时域反射计)测量传输延时
  10. Windows键和Delete键不能用解决方法