目录

  • 论文主要内容
  • DeepFool算法原理
    • 二分类问题
    • 非线性问题
    • 多分类问题
  • 实验结果

论文 2016CVPR-DeepFool a simple and accurate method to fool deep neural networks.

论文主要内容

  • 提出了一种新的计算对抗样本的方法:DeepFool算法
  • 通过实验,验证了DeepFool算法所添加的扰动更小,同时计算对抗样本所消耗的时间也更少
  • 实验也说明了,如果使用不恰当的算法(如FGSM算法)来验证分类器的鲁棒性,那么可能会对分类器的鲁棒性(Robustness)评估过高。

DeepFool算法原理

DeepFool算法基于超平面的分类思想,可精准地计算扰动值。

二分类问题

这是最简单的一种情况。对于二分类,超平面两侧对应不同的分类结果,对于在一侧的样本xxx,想要添加扰动使分类器将其分类为另一个类别,那么只需要将xxx更新到超平面的另外一侧就可以了。

现在优化算法的约束条件是最小扰动,那么就只需要找到xxx到超平面的最短距离,使xxx加上这个距离后转换到超平面的另外一侧,那么就算是找到了对抗样本,同时也就找到了最小的扰动rrr(投影距离)。此最小的且最精准的距离即为垂直分类面移动。

注意:最后找到的扰动只能保证我们能将xxx改变到决策边界上,所以我们还需要在rrr的基础上乘上一个微小的系数,保证能越过决策边界。即r∗(1+η)r*(1+\eta)r∗(1+η),其中η\etaη的值远远小于1。

非线性问题

若分类器的决策边界是非线性的,在这种情况下,需要寻找xxx到曲线的最短距离,然后将xxx加上这个最短距离,即可使xxx转移到决策边界的另外一侧,从而被错误分类。然而,直接找这个投影点是不好找的。我们需要用到一种迭代的算法。

下面简单描述一下如何寻找一个点到一个曲线(或者是高维空间中的曲面)的最短距离。

  1. 假设当前是第iii次迭代,我们在xix_ixi​这点对分类器使用一阶泰勒展开,将会得到一条直线(或者一个超平面)
  2. 将xix_ixi​投影到这条直线上,我们找到了下一次迭代的xx+ix_{x+i}xx+i​,同时我们将这次迭代添加的扰动向量记为rir_iri​
  3. 我们再在xi+1x_{i+1}xi+1​这点,使用同样的方法,寻找下一次迭代的点xi+2x_{i+2}xi+2​,同时计算ri+1r_{i+1}ri+1​
  4. 我们的算法一直迭代,直到找到的xxx落在分类器的决策边界上,算法终止。
  5. 输出:将每一次迭代过程中产生的rir_iri​(是一个向量)全部累计起来(向量加法),得到最终的扰动rrr。

多分类问题

多元分类的情况下,需要遍历样本点xxx到各分界面的距离,然后比较得到最小的距离,即为需要添加的干扰值。

对于非线性多分类,参照非线性二分类的方法求得各超平面的距离,取最小即可。

实验结果


从上表中可以看出

  • DeepFool所添加的扰动较[4][FGSM]和[18][L-BFGS]都要小
  • DeepFool产生对抗样本的时间很短

    上图是模型多迭代训练,模型的鲁棒性的变化情况,从中可以看出:
  • 如果使用原来的干净样本,模型鲁棒性基本没有变化
  • 如果使用DeepFool产生的对抗样本(后5个epoch都是在这对抗样本上训练的),那么模型在1个epoch后的鲁棒性就大大提升
  • 使用FGSM产生的对抗样本做训练,模型的鲁棒性反而会下降

另外,作者将Deepfool产生的扰动放大,然后再使模型在这个放大的样本上训练,看训练后模型的鲁棒性怎么变化,结果如下图所示:

当扰动太大时,反而会使模型鲁棒性降低,这就说明了FGSM算法产生的扰动很大,不是最小的扰动。使用正确的方法(扰动更小的攻击方法)更能说明模型的鲁棒性,而使用那些扰动大的方法来评估模型的鲁棒性,往往会过分评估。

对抗样本生成算法之DeepFool算法相关推荐

  1. 对抗攻击与防御 (1):图像领域的对抗样本生成

    文章目录 1 引入 2 白盒攻击 2.1 Biggio 2.2 Szegedy's limited-memory BFGS (L-BFGS) 2.3 Fast gradient sign method ...

  2. FGPM:文本对抗样本生成新方法

    ©PaperWeekly 原创 · 作者|孙裕道 学校|北京邮电大学博士生 研究方向|GAN图像生成.情绪对抗样本生成 论文标题: Fast Gradient Projection Method fo ...

  3. 对抗样本生成方法论文阅读笔记

    论文<针对黑盒智能语音软件的对抗样本生成方法> 一.论文中提到的相关名词解释 1.1什么是对抗样本? 所谓对抗样本就是指:在原始样本添加一些人眼无法察觉的扰动(这样的扰动不会影响人类的识别 ...

  4. 【综述】对抗样本生成及攻防技术综述

    作者是电子科技大学的刘小垒等,2019年发表在计算机应用研究 主要内容: 以机器学习的安全性问题为出发点,介绍了当前机器学习面临的隐私攻击.完整性攻击等安全问题,归纳了目前常见对抗样本生成方法的发展过 ...

  5. GAN 系列的探索与pytorch实现 (数字对抗样本生成)

    GAN 系列的探索与pytorch实现 (数字对抗样本生成) 文章目录 GAN 系列的探索与pytorch实现 (数字对抗样本生成) GAN的简单介绍 生成对抗网络 GAN 的基本原理 大白话版本 非 ...

  6. 对抗样本生成算法复现代码解析:FGSM和DeepFool

    参考链接: https://www.jianshu.com/p/72c072551e10 论文地址: FGSM:地址 DeepFool:地址 导入包 import numpy as np import ...

  7. 对抗样本生成算法之BIM算法

    目录 论文主要内容 BIM算法原理 ILCM算法原理 实验效果 物理世界实验 论文 2017ICLR-Adversarial Examples in the physical world. 论文主要内 ...

  8. 对抗样本生成的PGD和CW方法

    参考 Projected. Gradient Algorithm 预备 先记录几个常见的单词 Convex set 凸集 convergence rate 收敛速率 convex 凸函数 interp ...

  9. 基于GAN的恶意软件对抗样本生成(Python实现)

    资源下载地址:https://download.csdn.net/download/sheziqiong/85947946 资源下载地址:https://download.csdn.net/downl ...

  10. 深度学习---对抗样本生成

    对抗样本攻击:在深度学习神经网络(DNN)输入较小的干扰因素会使DNN出现误判,这种攻击被称为是对抗样本攻击 对抗样本:是指在正常样本中有目的性地添加的一些干扰因素,使得DNN出现误判 举例说明对抗样 ...

最新文章

  1. @jsonProperty 实现返回自定义属性名字
  2. c语言总是说有一个错误,我的电脑上的c语言为何老有一个错误
  3. memcache运行机制(转)
  4. centos7.4安装图形界面及报错处理
  5. 使用自定义 HTTP Interceptor 记录 SAP Spartacus 发送的 OCC API 以及响应
  6. (转)【重磅】无监督学习生成式对抗网络突破,OpenAI 5大项目落地
  7. oracle两天教程,Linux菜鸟的两天Oracle安装生活
  8. 教你如何安装字体包 ——思源免费商用字体
  9. word转pdf时图片模糊+文字版权的有效处理方式——Microsoft Print to PDF(YYDS)
  10. 【Godot】Godot 插件制作流程
  11. 创维E900V21E、融合机DT741、咪咕MGV2000-非高安版-通刷线刷固件
  12. 6张图教你搞定侧方停车----fwqlzz love is for ever
  13. 如何将计算机网络作为热点,怎么把笔记本作为WIFI热点供其他电脑使用无线网...
  14. C++ 提取代码中的函数
  15. python3获取网页天气预报信息并打印
  16. EasyExcel之回填下拉框
  17. Day213.讲师详细页、课程列表页面、课程详细页、阿里云视频播放测试、阿里云云视频播放器 -谷粒学院
  18. 已知函数和y值求自变量用matlab,matlab已知函数值求自变量,求助
  19. appium自带的appium insepect
  20. java计算机毕业设计猫咪伤患会诊复查医疗平台源代码+数据库+系统+lw文档

热门文章

  1. C语言解决狐狸找兔子的问题(数组)
  2. 【历史上的今天】2 月 20 日:Python 问世;Facebook 收购 WhatsApp;DEC 创始人出生
  3. html校验邮箱格式,邮箱格式验证 方法总结
  4. 初中英语语法(015)-附加疑问句
  5. error Target dll has been cancelled debugger aborted
  6. 单点登录SSO:可一键运行的完整代码
  7. 诺奖得主:2030年中国帕金森疾病患者将超过美国
  8. 「Deep Learning」Note on the Shattered Gradients Problem
  9. Java奇数与偶数的判断
  10. java操作RabbitMq时出现Caused by: org.springframework.amqp.AmqpException: Cannot determine ReplyTo message