AdvGAN
论文地址:https://arxiv.org/abs/1801.02610
论文的内容:采用GAN的方式来生成对抗样本
啥是对抗样本
对抗样本:adversarial examples
就是在真实样本的基础上加上一点点扰动,通常人眼无法察觉,但机器学习分类算法却会误判为其他类别~~
eg:大熊猫 + 很小的扰动量 ----结果判决成了长臂猿
最右边的图就是对抗样本。人眼看上去还是大熊猫,但是机器学习算法却分类错误。
数学描述
m i n ∣ ∣ x a d v − x ∣ ∣ , s . t . F ( x a d v ) ≠ y min ||x_{adv}-x||,s.t.F(x_{adv})\neq y min∣∣xadv−x∣∣,s.t.F(xadv)=y
其中 x x x是真实样本,其类别是 y y y. F F F是一个已经训练好的分类器网络。 x a d v x_{adv} xadv就是对抗样本。最小化扰动量(两者的差异),使得分类器判决错误。
分类:
根据对抗样本的输出是否确定了类别:
- 有目标对抗—指定 F ( x a d v ) = y t a r g e t ≠ y F(x_{adv})=y_{target}\neq y F(xadv)=ytarget=y
- 无目标对抗—只要分类错误就行 F ( x a d v ) ≠ y F(x_{adv})\neq y F(xadv)=y
根据对攻击网络 F F F的先验知识已知多少:
- 白盒对抗—需要知道网络的损失函数、梯度等
- 黑盒对抗—不需要网络内部知识
传统的对抗样本生成方法
大致分类:
- 基于梯度的方法
代表论文:
[1] Goodfellow I J, Shlens J, Szegedy C. Explaining and harnessing adversarial examples. ICLR 2015
[2] Kurakin A, Goodfellow I, Bengio S. Adversarial examples in the physical world. ICLR 2017
基本思路:把扰动加在梯度增加的方向,使得模型误判 - 基于优化的方法
代表论文:
[3] Szegedy C, Zaremba W, Sutskever I, et al. Intriguing properties of neural networks
[4] Nicholas Carlini, David Wagner. Towards evaluating the robustness of neural networks. 2017 IEEE Symposium on Security and Privacy (SP)
基本思路:求解优化问题,用各种变化方法使得优化问题好求解
缺点:
梯度方法快,但是不能保证对抗攻击有效
优化方法慢,一次只能对一个样本来优化
用GAN来生成对抗样本
推荐这篇blog来了解GAN,讲的非常好
https://blog.csdn.net/baidu_41867252/article/details/90369304
GAN是一种生成算法,目前在样本增强上有很多应用。
基本思路很简单:用噪声作为输入,送给生成器G,产生了虚假样本。