论文理解:Defense-GAN

由于首次接触对抗训练方面的内容,在此借着Defense-GAN中的相关内容先对对抗训练相关知识做一个简要的整理。
对抗训练基本说明见https://www.leiphone.com/news/201702/Jpb0uiOt9RTwcB8E.html

对抗攻击大致分为3种:
黑盒攻击:攻击者无权接触到分类模型参数。目前通常采用训练一个攻击目标分类器的替代模型,在其上训练以找出对抗样本。这些对抗样本往往能够被目标分类器误分类。这也证明了黑盒攻击的可迁移性。
白盒攻击:攻击者能够获得分类模型的所有参数,例如网络结构和权限,防御机制的细节等。攻击模型得到loss函数表达,因而能够将扰动指向某一特定分类类别。
指向特定类别的攻击有Iterative FGSM,JSMA,Deepfool等。
不指向特定类别的攻击有FGSM,RAND+FGSM,CW(目前最强白盒攻击之一,参考见https://zhuanlan.zhihu.com/p/39285664)等。
灰盒攻击:上述两者的折中。攻击者知道网络结构和防御机制,但是不知道具体参数。

对抗防御大致分为3类:
1.调整训练数据使得分类器对攻击更鲁棒,比如用对抗样本进行数据增强。由于对抗样本由攻击产生,显然在攻击策略更换后,这种防御方式将会表现不佳。同时由于gredient masking这种防御方式对白盒攻击的防御效果优于黑盒攻击。
2.对分类器进行防御蒸馏训练。利用这种方式使得网络更加平滑,输入点附近的梯度较小,从而难以生成对抗样本。这种防御方式对白盒攻击防御效果好,但是对黑盒攻击效果不好。
3.尝试去除输入中的噪声。MagNet训练了一个reformer network(一个或者一系列的auto-encoder)使得对抗样本接近真实样本的分布主体。当使用了一系列的auto-encoder时,在测试时每一次只随机选取其中的一个,因此加强了防御效果。实验表明其对灰盒攻击尤其有效。

作者指出,MagNet(https://zhuanlan.zhihu.com/p/30934360)中试图reform对抗样本的做法与Defense-GAN特别相似。与之不同的是:1.Defense-GAN使用的是GAN而不是auto-encoder。 2.Defense-GAN中使用GD minimization而不是前馈的encoder network以寻找lantent code。
作者在WGAN(https://zhuanlan.zhihu.com/p/25071913)的基础上进行改进,提出Defense-GAN,算法如下:
DefenseGAN
GAN在真实图片训练集上进行无监督训练,方法如同GAN中的介绍,损失函数遵循WGAN的loss设计。分类器在相同的真实数据集上训练。如果GAN训练较好并且能够表示原始数据分布的话,原始的图像和他们的重构应该不会存在较大区别。
至于z*的选出采用如下的L次GD(Gradient Descent)算法:
在这里插入图片描述

作者指出Defense-GAN与其他防御机制的几个不同点:
1.可以连同任意分类器使用并且不会影响分类器结构,可以看作是一个分类任务之前的预处理。
2.如果GAN表达能力足够好,则没必要重新训练分类器。
3.对任意形式的攻击都能起到防御效果。
4.Defense-GAN高度非线性,基于梯度的白盒攻击将很难实现。作者对此解释如下:
在这里插入图片描述
Defense-GAN网络结构如下:
在这里插入图片描述
MagNet的encoder网络结构如下:
在这里插入图片描述
可以看到Defense-GAN中的Discriminator结构直接参考了这里

猜你喜欢

转载自blog.csdn.net/stezio/article/details/84798168