[advGAN]Generating Adversarial Examples With Adversarial Networks

这周读论文。。读的是这篇反正。这个内容比较新,网上也没啥有特别有价值的参考内容,把学习笔记发上来,希望能有一点点帮助

嗯似乎是提出了用GAN以解决神经网络安全性的问题。。。



  • 白盒攻击
攻击者能够获知机器学习所使用的算法,以及算法所使用的参数。攻击者在产生对抗性攻击数据的过程中能够与机器学习的系统有所交互。
  • 黑盒攻击
攻击者并不知道机器学习所使用的算法和参数,但攻击者仍能与机器学习的系统有所交互.比如可以通过传入任意输入观察输出,判断输出。

FGSN,好像是一个挺牛的算法。。

已发现深度神经网络(DNN)容易受到对输入的小幅度扰动造成的对抗性例子的影响。 这种敌对的例子可能会误导DNN以产生对手选择的结果
已经提出了不同的攻击策略来产生敌对性的例子,但是如何以更高的感知质量和更有效率地产生它们需要更多的研究努力
有点云里雾里。。。。

Adversarial Examples 对抗样本
好像是一个用来欺骗网络的样本? 有啥用?
文章发现,通过在原图是加入一些 不可察觉的非随机扰动 ,可以极大改变网络的预测结果。这些扰动是通过最大化预测误差来训练获得输入的,称这种输入为对抗样本。
https://www.zhihu.com/question/49129585 如何看待机器视觉的“对抗样本”问题,其原理是什么?)

原文对对抗样本的解释

attack algorithms

白盒和黑盒 感觉可能就是一个过程可见和一个过程不可见吧。。

论文的重点来了! 贡献如下 (良心论文啊)

1.与以前的基于优化的方法不同,我们训练一个有条件的对抗网络来直接产生敌对的例子,这些例子都是感性逼真的,并且针对不同的目标模型实现了最先进的攻击成功率
2.我们证明AdvGAN可以通过训练蒸馏模型来攻击黑盒模型。 我们建议动态训练带有查询信息的蒸馏模型,实现高黑箱攻击成功率和有针对性的黑箱攻击,这对于基于转移性的黑盒攻击来说很难实现。
3.我们使用最先进的防御方法来抵御敌对的例子,并证明AdvGAN在当前防御下实现更高的攻击成功率。
4.我们在Ma˛dry等人的MNIST挑战(2017a)上应用AdvGAN,在半白盒设置中发布的鲁棒模型的准确率为88.93%,黑盒子设置的准确率为92.76%,赢得挑战中的顶级位置( Ma˛dry等,2017b)。


Here we review recent work on adversarial examples and generative adversarial networks
Adversarial Examples: FGSM 应用一阶损失函数来构建对抗样本 ; the cross-entropy loss:交叉熵损失 ; objective function:目标函数

Black-box Attacks
transferability phenomenon:可转移现象 ;目前大部分的黑盒攻击策略都是依据这玩意
我们的AdvGAN可以执行黑盒攻击 但是不依赖转移性

Generative Adversarial Networks
这个。。没啥好讲的,,


进入正题!
3.2是讲白盒攻击的 3.3是讲黑盒攻击的
GENERATING ADVERSARIAL EXAMPLES WITH ADVERSARIAL NETWORKS
PROBLEM DEFINITION:
instance:例子

这个歪歪扭扭的X是特征,Rn是特征空间,n是特征数量。假设(x_i,y_i)是训练集内的第i个实例
。。。
反正就是要搞出一个x让输出不对 就对了!

ADVGAN FRAMEWORK:
框架如图:

有一个生成器G,一个辨别器D,还有一个要被愚弄的NN f 。。
把x 和 G(x)一起丢进Discriminator里。
D是干啥用的呢?用于区分生成的数据和原始实例x。D的目标是鼓励生成的实例与原始类中的数据无法区分。(有点抽象, 不太好理解)
为了愚弄NN我们先实现一个白盒攻击
对抗损失函数:

这个式子仔细一看!卧槽居然是和GAN的模型是一样的

感觉这个L_GAN就是用来衡量x和x+G(x)相近程度的呀
注意 这里的x是从真实的x里面抽取的



这个L_adv是啥呢,
这个东西就叫他 l _f 吧

首先, l_f是损失函数,啥都可以,例如cross-entropy loss (这里应该是这个损失函数就NN用来调整参数的损失函数,区分开黑白盒)
这个L_adv的作用似乎是用来鼓动NN f朝着t靠近( 有点不懂 没错就是靠着t 因为输出t就是最终目标!现在我们探讨的是目标攻击
我觉得这里应该写错了


这个L_hinge ,大概是用来控制稳定性的?
c是我们自定义的边界,文中没有给出参考的数字

反正最后吧三个加在一起,用DG二人博弈梯度下降应该就OK了 大概就这个意思吧


不管 先往下看
BLACK-BOX ATTACKS WITH ADVERSARIAL NETWORKS
Static Distillation:
这上来一个副标题就看不懂。。。黑盒攻击 假设没有对手的数据和模型的先验知识。
那么就建立一个蒸馏模型f(x)

f(x)和b(x)分别表示给定训练图像x的 蒸馏模型的输出 和 黑盒模型的输出,
反正就是要模拟出一个黑盒中的模型咯

Dynamic Distillation:
只有使用所有原始训练数据对蒸馏模型进行训练是不够的,因为尚不清楚黑盒和蒸馏模型在生成的对抗示例上有多近,而这些示例在训练集中尚未出现。(感觉还可以理解啊


动态蒸馏的 每次迭代分为两步。
1.Update Gi given a fixed network

f0为静态蒸馏出来的f 那么就可以得到G 和 D
2.Update fi given a fixed generator Gi:


想想似乎可行。。。



问题::
怎么样才算是成功的攻击?
个人见解::生成的x+G(x)在肉眼上与x无分辨,但是却可以扰乱NN的判断

那么似乎每次攻击都要去判断一下生成的X+G(X)是否与X相同??

这玩意的缺点是什么?
首先如果上面的猜想是正确的话那就是一个缺点。。。但这个应该是每个对抗样本都有的缺点
二 GAN有的缺点他都有。。。
三蒸馏的f时候真的能和黑盒中的NN无限接近??

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值