引言:
最近开始学习Adversary Attack(对抗攻击)有关的内容,于是便从Ian GoodFollow的论文开始读起,后面每篇博客都会列举三篇的阅读笔记,来记录学习的经历。如果有讲得不到位或者您有什么想要补充的话,欢迎留言哦~


接下里将列举3篇论文:

  1. Explaining and Harnessing Adversarial Examples(ICLR2015)
  2. Adversarial machine learning at scale(ICLR2017)
  3. ADVERSARIAL EXAMPLES IN THE PHYSICAL WORLD(ICLR2017)

不过这三篇论文基本讲述的内容都是差不多的。


1. Explaining and Harnessing Adversarial Examples(ICLR2015)

本文主要探究的是对抗样本攻击原理的探究以及利用对抗思想进行训练

针对对抗样本,其往往是在原输入xxx往其梯度方向进行扰动η\etaη所达到的
x~=x+η\tilde{x} = x+\eta x~=x+η

虽然只是对xxx进行了细微改动,但当进行计算后,会有

WTx~=WTx+WTηW^T\tilde{x}=W^Tx+W^T\eta WTx~=WTx+WTη
一旦xxx的维度边高,η\etaη维度也会随之线性增加,由此即使是微不足道的改动(即∣∣η∣∣∞&lt;ϵ||\eta||_\infin&lt;\epsilon∣∣η∣∣∞​<ϵ),在进行WTηW^T\etaWTη计算操作后,也会有比较大的结果,因此会影响模型的预测结果。

作者还发现了一种相比于dropout更有效的正则化方法:

J~(θ,x,y)=αJ(θ,x,y)+(1−α)J(θ,x+ϵsign(▽xJ(θ,x,y),y)\tilde{J}(\theta, x, y) = \alpha J(\theta, x, y)+(1-\alpha)J(\theta, x+\epsilon sign(\triangledown_x J(\theta,x,y),y) J~(θ,x,y)=αJ(θ,x,y)+(1−α)J(θ,x+ϵsign(▽x​J(θ,x,y),y)
其中x+ϵsign(▽xJ(θ,x,y)x+\epsilon sign(\triangledown_x J(\theta,x,y)x+ϵsign(▽x​J(θ,x,y)即为对抗样本。

此外作者还发现即使是low capacity的模型如shallow RBF network
p(y=1∣x)=exp((x−μ)Tβ(x−μ))p(y = 1|x)=exp((x-\mu)^T \beta (x-\mu)) p(y=1∣x)=exp((x−μ)Tβ(x−μ))
对adversary sample有免疫效果。其原因是针对一个分类模型,其预测结果是根据与μ\muμ的距离来确定的,在距离μ\muμ较远的地方,则不是本类或者置信度低。

另外作者指出,一个adversary sample在不同的模型上,其预测错误的类别基本一致,这就暴露出现有的模型存在的缺陷。

Summarys:

  1. 对抗性的例子可以解释为高维点积的一个性质。
    它们是模型过于线性的结果,而不是过于非线性的结果。
  2. 由于对抗性扰动与模型的权向量高度一致,并且不同的模型在训练执行相同任务时学习相似的函数,因此可以解释不同模型间对抗性示例的泛化
  3. 证明对抗性训练可以进行正规化;甚至比dropout更有效。
  4. 易于优化的模型更容易受到对抗样本的影响。
  5. 线性模型缺乏抵抗对抗性扰动的能力;只有具有隐藏层的结构(where the universal approximator theorem applies)才应该被训练来抵抗对抗性扰动。
  6. 通过对输入分布进行训练的模型无法抵抗对抗样本。
  7. 集成学习也无法有效抵抗对抗样本。

2. Adversarial machine learning at scale(ICLR2017)

本文主要介绍生成对抗样本的方法和对抗训练的方法

FGSM:

Xadv=x+ϵsign(▽XJ(X,ytrue))X^{adv}=x+\epsilon sign(\triangledown_X J(X, y_{true})) Xadv=x+ϵsign(▽X​J(X,ytrue​))
该方法的优点:易实施且计算高效

    缺点:攻击成功率低

one-step target class methods:

Xadv=x−ϵsign(▽XJ(X,ytarget))X^{adv}=x-\epsilon sign(\triangledown_X J(X, y_{target})) Xadv=x−ϵsign(▽X​J(X,ytarget​))
其中ytarget=argminyp(y∣X)y_{target}=argmin_y{p(y|X)}ytarget​=argminy​p(y∣X)即偏离最远的错误类。

Basic iterative method:

X0adv=X,XN+1adv=ClipX,ϵ(XNadv+αsign(▽XJ(XNadv,ytrue))X_0^{adv}=X,X_{N+1}^{adv}=Clip_{X,\epsilon}(X_N^{adv}+\alpha sign(\triangledown_X J(X_N^{adv}, y_{true})) X0adv​=X,XN+1adv​=ClipX,ϵ​(XNadv​+αsign(▽X​J(XNadv​,ytrue​))
其中Clipx,ϵ(A)Clip_{x,\epsilon}(A)Clipx,ϵ​(A)denots element-wise clipping A, with Ai,jA_{i,j}Ai,j​clipped to the range[Xi,j−ϵ,Xi,j+ϵ]range[X_{i,j}-\epsilon, X_{i,j}+\epsilon]range[Xi,j​−ϵ,Xi,j​+ϵ]

Iterative least-likely class method:
X0adv=X,XN+1adv=ClipX,ϵ(XNadv−αsign(▽XJ(XNadv,ytarget))X_0^{adv}=X,X_{N+1}^{adv}=Clip_{X,\epsilon}(X_N^{adv}-\alpha sign(\triangledown_X J(X_N^{adv}, y_{target})) X0adv​=X,XN+1adv​=ClipX,ϵ​(XNadv​−αsign(▽X​J(XNadv​,ytarget​))
迭代方式是one-Step的"升级版"

疑惑点:总感觉迭代的Clipx,ϵ(A)Clip_{x,\epsilon}(A)Clipx,ϵ​(A)不是论文中所写的 with Ai,jA_{i,j}Ai,j​clipped to the range[Xi,j−ϵ,Xi,j+ϵ]range[X_{i,j}-\epsilon, X_{i,j}+\epsilon]range[Xi,j​−ϵ,Xi,j​+ϵ]

采用的损失函数为

Loss=1(m−k)+λk(∑i∈CLEANL(Xi∣yi)+λ∑i∈ADVL(Xiadv∣yi))Loss=\frac{1}{(m-k)+\lambda k}(\displaystyle\sum_{i\in CLEAN}{L(X_i|y_i})+\lambda \displaystyle\sum_{i\in ADV}{L(X_i^{adv}|y_i)}) Loss=(m−k)+λk1​(i∈CLEAN∑​L(Xi​∣yi​)+λi∈ADV∑​L(Xiadv​∣yi​))
算法为

并且采用的是delaying adversarial training即前N轮只用clean数据进行训练,后面再采用clean和adversary样本共同训练。

Label Leaking:

其现象为model可以正确分类通过ytruey_{true}ytrue​产生的adversary sample但不能正确分类通过ytargety_{target}ytarget​产生的adversary sample。其表达的实验结果为:

其中Step 1.1表示Iterative least-likely class method。从中可以看出,出现Lable Leaking后这些one-step算法在有adversary images上准确率反而会提高。作者给出的解释为one-step算法通过ytruey_{true}ytrue​所使用的变换简单以至于被网络给学习到了,所以才会出现这种结果。因此作者建议,FGSM或者其他方式不要通过ytruey_{true}ytrue​产生adversary sample,建议不要直接接触ytruey_{true}ytrue​,因此ytargety_{target}ytarget​是一个比较好的备选。

transfer rate:

采用iterate方式建立的adversary sample在不同的模型上的attack效果不及one-step

其中transfer rate表示在source model上成功attack的adversary sample与在target model上成功的sample数目之比。所以要想攻击一个黑盒模型,最佳的攻击样本建议为one-step建立的样本。


3. ADVERSARIAL EXAMPLES IN THE PHYSICAL WORLD(ICLR2017)

文章大体上与上述两篇文章一致,只是多了一些拓展说明。

对比3种不同的攻击方法,我们可以得出以下结论:

  1. basic iter方式提高ϵ\epsilonϵ带来的收益不大,且当ϵ\epsilonϵ超过一定阈值后,继续提高不会带来明显作用
  2. least likely class方式能够在ϵ\epsilonϵ比较小的情况下就能达到有效的攻击结果
  3. fast方式会随着ϵ\epsilonϵ的增加而逐渐提高攻击性能,但相比与least likely class方式而言,其提高性能的根本原因是在于破坏了原始图片的大部分信息,如下图.

Photo Transform:

突发奇想地提出了一种叫做Photo Tranform的黑盒变换,其实其变换的本质只是将origin image打印出来,作为一种transform。

左边两幅图中,每张图都有两列,因为这个尺寸可能看不太清,故此说明一下:左边一列是origin image,右边一列是进行扰动后的adversary image。

首先考虑不加任何人为选择的随机采样结果

[Note]:这个table看起来有点难懂,按我自己的理解在,左边的ϵ\epsilonϵ针对的是Adv. images而Clean images是没有受到扰动的。

从table中可以看出,观察Adv. images对应的那2列(Photos和Source images),使用fast方法产生的Adv. images在进行Photo Transform时,准确率变化不明显,而其他iter方法产生的结果则差异较大,可以发现,当进行Photo Transform后,其准确率反而提升了。这里作者给出的解释为:基于iter的方法进行的扰动比较细微,而Photo Transform把这些细微的扰动给抵消了。因此就出现了准确率反而提高的结果。

然后考虑人为选择的采样结果:(即在Clean image上正确分类,在Adversary image上错误分类的那些图片作为采样结果。)

可以看出,结果与预期一致,原因同上。


如果觉得我有地方讲的不好的或者有错误的欢迎给我留言,谢谢大家阅读(点个赞我可是会很开心的哦)~

Adversary Attack(对抗攻击)论文阅读笔记相关推荐

  1. CartoonGAN_CVPR_2018为照片卡通化而生的对抗网络论文阅读笔记

    CartoonGAN_CVPR_2018 好了 进入正题 话不多说 快上车 CartoonGAN: Generative Adversarial Networks for Photo Cartooni ...

  2. 对抗训练-smart 论文阅读笔记

    对抗训练-smart 论文阅读笔记 SMART: Robust and Efficient Fine-Tuning for Pre-trained NaturalLanguage Models thr ...

  3. DGP 论文阅读笔记

    DGP 论文阅读笔记 论文题目:Exploiting Deep Generative Prior for Versatile Image Restoration and Manipulation Ex ...

  4. 繁凡的对抗攻击论文精读(二)CVPR 2021 元学习训练模拟器进行超高效黑盒攻击(清华)

    点我轻松弄懂深度学习所有基础和各大主流研究方向入门综述! <繁凡的深度学习笔记>,包含深度学习基础和 TensorFlow2.0,PyTorch 详解,以及 CNN,RNN,GNN,AE, ...

  5. 繁凡的对抗攻击论文精读(三)ICLR2019 利用先验知识进行高效黑盒对抗攻击的 bandits 算法(MIT)

    点我轻松弄懂深度学习所有基础和各大主流研究方向入门综述! <繁凡的深度学习笔记>,包含深度学习基础和 TensorFlow2.0,PyTorch 详解,以及 CNN,RNN,GNN,AE, ...

  6. 【李宏毅机器学习】adversarial attack 对抗攻击

    note: 对抗训练(adversarial training)通过对抗攻击(adversarial attack)的手段,即生成对抗样本(对部分原样本加入微小的扰动,可能导致误分类),是的NN能适应 ...

  7. 论文阅读笔记:Intriguing properties of neural networks

    论文阅读笔记:Intriguing properties of neural networks 深度学习对抗样本的开山之作 要点 以往的观点认为深度神经网络的高层特征中每一个分量描述了一种特质,但是这 ...

  8. 论文阅读笔记——VulDeePecker: A Deep Learning-Based System for Vulnerability Detection

    本论文相关内容 论文下载地址--Engineering Village 论文中文翻译--VulDeePecker: A Deep Learning-Based System for Vulnerabi ...

  9. 论文阅读笔记——Vulnerability Dataset Construction Methods Applied To Vulnerability Detection A Survey

    本论文相关内容 论文下载地址--Web Of Science 论文中文翻译--Vulnerability Dataset Construction Methods Applied To Vulnera ...

最新文章

  1. 区块链编程完全指南:平台、语言与结论
  2. 荣之联:现在是转型云计算的最佳时机
  3. Extjs4 MVC 示例
  4. OpenDataSource和OPENROWSET
  5. python连接oracle数据库的方法_Python3.6连接Oracle数据库的方法详解
  6. 怎么改vue项目的标题_vue修改项目名
  7. python_day12_html
  8. oracle还原脚本,oracle自动恢复脚本
  9. 中兴高调秀Axon 10 Pro 5G版20倍变焦样张:号称媲美万元广角镜头
  10. iOS开发日记24-详解RunLoop
  11. 在idea中使用@Test注解报错的解决方案
  12. python合并两列数据_在pandas / python中的同一数据框中将两列合并...
  13. Element-UI el-table组件表格打印
  14. 计算机音乐数字大全抖音,抖音歌曲大全100首,抖音最火的100首音乐
  15. linux chm 阅读器,linux下最好的chm阅读器KchmViewer,安装使用/与oklular,xCHM,gnochm简单比较...
  16. 第三章 枚举(炸弹人、火柴棍等式、全排列)
  17. 中英文整理最全停用词表
  18. mysql rds备份_云数据库RDS如何进行数据备份
  19. electron设置淘宝镜像
  20. 在StarRocks中建立ClickHouseJDBC外表

热门文章

  1. 【WPF】环形进度条
  2. 苏氏族谱 PHP 代码,苏氏族谱家谱网 苏氏族谱宗亲网 苏氏族谱家谱简介
  3. t6服务器验证密码失败,T6客户端连接服务器报错误-SA用户登陆失败
  4. ROS学习笔记十二:使用gazebo在ROS中仿真
  5. 准入标准、测试通过标准、上线标准
  6. 安科瑞ASJ60-LD16A剩余电流监测仪 照明灯配电箱漏电流保护装置
  7. html页面禁止返回代码,多页面网站禁用浏览器后退键
  8. 鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统
  9. php周计划表_初学者健身计划一周表精华版
  10. Linux使用fdisk命令无法打开,linux下fdisk命令的使用方法