[论文笔记]Rob-GAN: Generator, Discriminator, and Adversarial Attacker
1、文献综述
文章链接:链接
文章题目:《Rob-GAN: Generator, Discriminator, and Adversarial Attacker》
项目地址:源码
2、文献导读
本文提出一种新的框架Rob-GAN,该框架创新性的将对抗学习(Adversarial learning)和生成对抗网络(Generative Adversarial Networks)组成一个新的模型,其中将生成器(Generator)、判别器(Discriminator)和对抗攻击者(Adversarial attacker)组合训练,通过这种端到端训练过程,能同时提高GAN训练的收敛速度,合成图像的质量以及判别器的鲁棒性。
3、文献详细介绍
- 本文证明了Adversarial attacker与GAN之间的密切关系,具体有以下两个key insights:
- 如果对图像分布有更深入的了解,可以提高对抗性训练分类器的鲁棒性。因此,Generator可以改进对抗性训练过程。
- 如果Discriminator在图像流形上有较大的曲率,GAN训练将会非常缓慢地达到平衡。因此,一个经过对抗性训练的识别器可以加速GAN训练。
基于这些发现,通过强制判别器在图像流形上保持鲁棒性,设法加快并稳定了GAN训练周期。 同时,由于在健壮的训练过程中使用了数据增强,因此生成器提供了有关数据分布的更多信息。 因此,我们得到了更强大的分类器,可以更好地归纳到看不见的数据。
- contributions可以总结如下:
- 给出了目前的对抗性训练算法不能很好地推广到不可见的数据的见解,并解释了GAN训练缓慢的原因;
- 将adversarial trainning和GAN trainning进行联系:通过GAN来提高adversarial training的泛化能力,通过adversarial training来加速GAN training速度并且使其收敛到一个更好的Generator;
- 提出一个新框架:Rob-GAN(three player game):该框架将Generator,Discriminator和Adversarial attacker攻击者集成为three player game;
- 通过对AC-GAN损失的重新定义,提出了一种更好的conditional GAN训练损失模型。
模型整体的结构可以看作是GAN和Adversarial attacker的一个组合形式。GAN部分继承来自SNGAN,只有很小的改变,Adversarial attacker使用PD-attack来产生对抗样本,模型整体结构如下所示:
GAN损失函数如下:
minGmaxD{Ex∼Dtr[logD(x)]+Ez∼Pz[log(1−D(G(z)))]}\underset{G}{\min}\, \underset{D}{\max}\left\{\underset{x\sim \mathcal D_{tr}} \mathbb E[\log D(x)]+\underset{z\sim \mathcal P_{z}} \mathbb E[\log(1-D(G(z)))] \right \}GminDmax{x∼DtrE[logD(x)]+z∼PzE[log(1−D(G(z)))]}
对于文中实验Adversarial attacker选择的是PGD-attack,它的损失函数可以简单的总结为:
为:
δ:=argmax∥δ∥≤δmaxℓ(f(x+δ;w),y)\delta :=\underset{\|\delta\| \leq \delta_{\max }}{\arg \max } \ell(f(x+\delta ; w), y)δ:=∥δ∥≤δmaxargmaxℓ(f(x+δ;w),y)
其中f(⋅;w)f(\cdot ; w)f(⋅;w)是由权重www参数化的网络,ℓ(⋅,⋅)\ell(\cdot,\cdot)ℓ(⋅,⋅)是损失函数,为方便起见,∣∣⋅∣∣||\cdot||∣∣⋅∣∣作为ℓ∞\ell_∞ℓ∞-norm,但是值得注意是,其他规范也适用。上面公式的想法是在ℓ∞\ell_∞ℓ∞球中找到点xadv:=x+δx_{adv}:= x +\deltaxadv:=x+δ,以使xadvx_{adv}xadv的损失值最大化。
Attacker希望通过对输入的图像加上一些小的扰动,就可以使得分类器给出和原始标签完全不同的类判别结果。判别器希望更好的把握数据的真实分布,提高本身的鲁棒性。有攻击自然就有防御,对于防御者来说,它的损失函数如下所示:
minwE(x,y)∼Pdata [max∥δ∥≤δmax ℓ(f(x+δ;w),y)]\min _{w} \underset{(x, y) \sim \mathcal{P}_{\text { data }}}{\mathbb{E}}\left[\max _{\|\delta\| \leq \delta_{\text { max }}} \ell(f(x+\delta ; w), y)\right]wmin(x,y)∼P data E[∥δ∥≤δ max maxℓ(f(x+δ;w),y)]
接下来看看作者是如何提出Rob-GAN。
提出了一个名为Rob-GAN的框架,用于在存在对抗性攻击时共同优化生成器和判别器,生成器会生成伪造的图像来欺骗判别器; 对抗攻击使真实的图像扰乱了判别器,并且判别器希望最大程度地减少假冒和对抗图像下的损失。但是为什么我们要将这三个组成部分放在一起? 在研究细节之前,我们首先提出两个重要的动机:
\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, I)GAN为什么可以提高对抗性训练型判别器的鲁棒性?
\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, II) 为什么对抗攻击者可以改善GAN的训练?
Insight I: The generalization gap of adversarial training — GAN aided adversarial training
对于现有的很多对抗防御的方法来说,它们可以在小的训练集上得到一鲁棒性较好的判别器,但是一旦在测试集上使用时,性能往往会有大幅的下降,并且这种现象在较大的数据集(如ImageNet)上更加显著(见下图)。为什么会出现这么巨大泛化性能的差距呢?
为了使我们的模型对对抗失真具有鲁棒性,需要在真实数据分布PdataP_{data}Pdata上使用较小的LLV(local Lipschitz value)。 而对于LLV的约束可以表示为一个复合损失最小化问题:
minwE(x,y)∼Pdata [ℓ(f(x;w),y)+λ⋅∥∂∂xℓ(f(x;w),y)∥2]\min _{w} \underset{(x, y) \sim \mathcal{P}_{\text { data }}}{\mathbb{E}}\left[\ell(f(x ; w), y)+\lambda \cdot\left\|\frac{\partial}{\partial x} \ell(f(x ; w), y)\right\|_{2}\right]wmin(x,y)∼P data E[ℓ(f(x;w),y)+λ⋅∥∥∥∥∂x∂ℓ(f(x;w),y)∥∥∥∥2]
实际上,我们并不知道真实数据分布PdataP_{data}Pdata; 相反,我们使用经验分布代替真实数据分布,结果如下所示:
minw1Ntr∑i=1Ntr[ℓ(f(xi;w),yi)+λ⋅∥∂∂xiℓ(f(xi;w),yi)∥2]\min _{w} \frac{1}{N_{\mathrm{tr}}} \sum_{i=1}^{N_{\mathrm{tr}}}\left[\ell\left(f\left(x_{i} ; w\right), y_{i}\right)+\lambda \cdot\left\|\frac{\partial}{\partial x_{i}} \ell\left(f\left(x_{i} ; w\right), y_{i}\right)\right\|_{2}\right]wminNtr1i=1∑Ntr[ℓ(f(xi;w),yi)+λ⋅∥∥∥∥∂xi∂ℓ(f(xi;w),yi)∥∥∥∥2]
如果我们拥有足够多的数据,以及假设集足够的大,理论上使用先验分布的模型得到的效果最终会逼近于采用真实数据分布的模型。那么使用先验分布不会影响模型的效果,如果可以将对局部LLV值得约束泛化到测试集上,那么就可能会解决这种巨大泛化差距的问题。
为了验证这个猜想,作者分别对训练集和测试集的样本计算了Lipschitz值,如下所示:
从上图我们可以看出,在训练集和测试集上,随着迭代次数的增多,Lipschitz值上同样也存在巨大的差距,因此我们可以得出这样的结论:在训练集上有效的约束LL值,模型的效果并不能泛化到测试集上!
如果不是采用上述的约束LLV值的方式,在有限的数据集上来逼近最优模型,而是直接从PdataP_{data}Pdata中进行采样呢?而这不正是GAN的思想嘛?因此,一个很自然的想法就是:是否可以利用GAN学习Pdata\bold P_ \bold{data}Pdata然后对所学分布进行对抗性训练呢?如果可行的话,我们就可以使用GAN加对抗性训练的方式得到一个鲁棒性更好的判别器。因此损失函数可以看为对原始训练数据和合成的数据复合的形式,如下所示:
minwLreal (w,δmax)+λ⋅Lfake (w,δmax )Lreal (w,δmax )≜1Ntr ∑i=1Ntr max∥δi∥≤δmax ℓ(f(xi+δi;w);yi)Lfake (w,δmax )≜E(x,y)∼Pfake max∥δ∥≤δmax ℓ(f(x+δ;w);y)\begin{array}{l}{\min _{w} \mathcal{L}_{\text { real }}\left(w, \delta_{\max }\right)+\lambda \cdot \mathcal{L}_{\text { fake }}\left(w, \delta_{\text { max }}\right)} \\ {\mathcal{L}_{\text { real }}\left(w, \delta_{\text { max }}\right) \triangleq \frac{1}{N_{\text { tr }}} \sum_{i=1}^{N_{\text { tr }}} \underset {\left\|\delta_{i}\right\| \leq \delta_{\text { max }}} {\max} \ell\left(f\left(x_{i}+\delta_{i} ; w\right) ; y_{i}\right)} \\ {\mathcal{L}_{\text { fake }}\left(w, \delta_{\text { max }}\right) \triangleq \underset{(x, y) \sim \mathcal{P}_{\text { fake }}}{\mathbb{E}}\underset{\|\delta\| \leq \delta_{\text { max }}} {\max}\ell(f(x+\delta ; w) ; y)}\end{array}minwL real (w,δmax)+λ⋅L fake (w,δ max )L real (w,δ max )≜N tr 1∑i=1N tr ∥δi∥≤δ max maxℓ(f(xi+δi;w);yi)L fake (w,δ max )≜(x,y)∼P fake E∥δ∥≤δ max maxℓ(f(x+δ;w);y)
其中,系数λ\lambdaλ用于平衡上面两个Lfake\mathcal{L}_{ fake }Lfake和Lfake\mathcal{L}_{ fake }Lfake损失。 为了优化目标函数,我们采用与对抗训练相同的随机优化算法。
Insight II: Accelerate GAN training by robust discriminator
设想一下,如果判别器的能力不强,或是鲁棒性不好的话,对抗样本就可以很容的骗过它,而且一旦生成器也采用和对抗样本类似的方式生成假样本,判别器不但无法判断出样本的真实类别,同时也无法判断出样本的真假,这样的话就永远无法抵达纳什均衡点,模型永远不会收敛。 因此,我们做出以下假设:Fast GAN training relies on robust discriminator.
而在稳定GAN训练过程的诸多技术中,虽然达到了稳定的效果,但同时也损害了模型的表达能力。我们希望的是能否采用一种较弱但是效果又好的正则化方法,实现两全其美的目的,即要求在图像的流形上有一个小的局部Lipschitz值,而不是一个严格的全局one-Lipschitz函数。而这可以通过对判别器进行对抗性训练很方便地完成,这样就可以将判别器的鲁棒性与生成器的学习效率联系起来。如下图所示:
如上图所示,如果对于图像的扰动δ\deltaδ很小,那么它满足的分布仍然是很大程度上和假样本的分布重合,这样判别就可以大概率的进行正确的判别。假设将Attacker也看做是一个生成器G(z;w)G(z;w)G(z;w),在时间t处,判别器可以成功识别出虚假图像,或者对所有噪音zzz等效地等于D(G(z;wt))≈0D\left(G\left(z ; w^{t}\right)\right) \approx 0D(G(z;wt))≈0,那么下一时刻,attacker需要做什么来使得判别器无法正确判别生成的假样本,使得D(G(z;wt+1))≈1D\left(G\left(z ; w^{t+1}\right)\right) \approx 1D(G(z;wt+1))≈1呢?通过对D(x)D(x)D(x)和G(z;w)G(z;w)G(z;w)连续性的Lipschitz连续性假设,我们可以得到一个下界,如下所示:
1≈D(G(z;wt+1))−D(G(z;wt))≲∥D′(G(z;wt))∥⋅∥G(z;wt+1)−G(z;wt)∥≲∥D′(G(z;wt))∥⋅∥∂∂wG(z;wt)∥⋅∥wt+1−wt∥≤LDLG∥wt+1−wt∥\begin{array}{l}{1\approx D\left(G\left(z ; w^{t+1}\right)\right)-D\left(G\left(z ; w^{t}\right)\right)} \\ {\lesssim\left\|D^{\prime}\left(G\left(z ; w^{t}\right)\right)\right\| \cdot\left\|G\left(z ; w^{t+1}\right)-G\left(z ; w^{t}\right)\right\|} \\ {\quad \lesssim\left\|D^{\prime}\left(G\left(z ; w^{t}\right)\right)\right\| \cdot\left\|\frac{\partial}{\partial w} G\left(z ; w^{t}\right)\right\| \cdot\left\|w^{t+1}-w^{t}\right\|} \\ {\quad \leq L_{D} L_{G}\left\|w^{t+1}-w^{t}\right\|}\end{array}1≈D(G(z;wt+1))−D(G(z;wt))≲∥D′(G(z;wt))∥⋅∥∥G(z;wt+1)−G(z;wt)∥∥≲∥D′(G(z;wt))∥⋅∥∥∂w∂G(z;wt)∥∥⋅∥∥wt+1−wt∥∥≤LDLG∥∥wt+1−wt∥∥
进一步可以写做∥wt+1−wt∥∝1LDLG\left\|w^{t+1}-w^{t}\right\| \propto \frac{1}{L_{D} L_{G}}∥∥wt+1−wt∥∥∝LDLG1,其中LDL_{D}LD 和LGL_{G}LG 是常量,可以看出生成器参数的更新反比于左式的后一部分,也就是说,如果判别器的鲁棒性很差,对应的LDL_{D}LD就会很大,因为它处于分母的位置,这是参数的变化量就相对很小,即收敛的速度就很慢,这就证明了判别器的鲁棒性对于生成器更新的速度起着至关重要的影响,同时也就显示了,在GAN中引入对抗学习的Attacker来增强判别器的鲁棒性对于加快收敛有着理论上的意义,而且作者也是实验中证明了它的可行性。
Rob-GAN
根据上面的分析,我们知道GAN和对抗学习的结合是可行的,将它们结合起来就是Rob-GAN。Rob-GAN模型的架构并不复杂,判别器的网络结构和损失函数直接使用ACGAN,如下所示:
其对应的损失函数如下所示:
LS=E[logP(S=real∣Xreal )]+E[logP(S=fake ∣Xfake )]LC=E[logP(C=c∣Xreal )]+E[logP(C=c∣Xfake )]\begin{aligned} \mathcal{L}_{S}&=\mathbb{E}\left[\log \mathbb{P}\left(S=\operatorname{real} | X_{\text { real }}\right)\right]+\mathbb{E}\left[\log \mathbb{P}\left(S=\text { fake } | X_{\text { fake }}\right)\right] \\ \mathcal{L}_{C} &=\mathbb{E}\left[\log \mathbb{P}\left(C=c | X_{\text { real }}\right)\right]+\mathbb{E}\left[\log \mathbb{P}\left(C=c | X_{\text { fake }}\right)\right] \end{aligned}LSLC=E[logP(S=real∣X real )]+E[logP(S= fake ∣X fake )]=E[logP(C=c∣X real )]+E[logP(C=c∣X fake )]
对于Rob-GAN的判别器来说,它不仅要判别输入样本的真假,还要判别它所属的类别。但是如果生成的图像很糟糕的话,判别仍要花大量的精力去给出一个类别结果,而且此时分类的梯度信息对于判别器的更新并无帮助,因此将Lc\mathcal{L}_{c}Lc 分成如下的两部分:
LC1=E[logP(C=c∣Xreal )]LC2=E[logP(C=c∣Xfake )]\begin{array}{c}{\mathcal{L}_{C_{1}}=\mathbb{E}\left[\log \mathbb{P}\left(C=c | X_{\text { real }}\right)\right]} \\ {\mathcal{L}_{C_{2}}=\mathbb{E}\left[\log \mathbb{P}\left(C=c | X_{\text { fake }}\right)\right]}\end{array}LC1=E[logP(C=c∣X real )]LC2=E[logP(C=c∣X fake )]
判别器最大化LS+LC1\mathcal{L}_{S}+\mathcal{L}_{C_{1}}LS+LC1,生成器最大化LC2−LS\mathcal{L}_{C_{2}}-\mathcal{L}_{S}LC2−LS,这样新的目标函数可确保判别器仅专注于对真实图像进行分类和区分真伪图像,并且分类器分支不会因伪图像而分散注意力。
对于生成器来说,如果样本很少的话,它只覆盖了数据流形的很小一部分,那么在测试时就会出现上述的第一个问题。传统的数据增强技术虽然能增加样本的数量,但是仍不能满足要求。而Rob-GAN使用生成器生成样本来不断的增加样本的数量,从而为对抗训练提供一个连续支持的概率密度函数。
如果可以到达纳什均衡点,即Pfake (z)=dist Preal \mathcal{P}_{\text { fake }}(z) \stackrel{\text { dist }}{=} \mathcal{P}_{\text { real }}P fake (z)= dist P real ,此时分类器分支就相当于在真实样本集上训练,也就避免了上述的问题。
Fine-tuning the classifier:
经过端到端的训练,判别器学会了将区分损失和分类损失最小化。 如果我们要训练判别器执行纯多类分类任务,我们将需要通过组合伪造图像和真实图像并仅对鲁棒性分类损失进行几步SGD来对其进行微调,这样的过程称为fine-tuning。其模型如下所示:
其损失函数如下:
LD cls≜E(x,y)∼Preal ℓ(f(xadv;w),y)+λ⋅E(x,y)∼Pfake ℓ(f(xadv;w),y)\begin{array}{l}{\mathcal{L}^{cls}_{\text { D }} \triangleq \underset{(x, y) \sim \mathcal{P}_{\text { real }}}{\mathbb{E}} \ell\left(f\left(x_{adv} ; w\right) ,y\right)} +\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\lambda · \underset{(x, y) \sim \mathcal{P}_{\text { fake }}}{\mathbb{E}}\ell(f(x_{adv}; w) ,y)}\end{array}L D cls≜(x,y)∼P real Eℓ(f(xadv;w),y)+λ⋅(x,y)∼P fake Eℓ(f(xadv;w),y)
4、实验结果
作者首先验证fine-tuning和augmentation对于模型效果如何,从下图可以看出,fine-tuning和augmentation对于模型效果的提升是显著的。
下图显示了在CIFAR10和ImageNet子集(143个子集)实验数据集下不同大小的扰动下,模型在分类准确率上的表现。
下图,将Rob-GAN生成图像(左)与原始AC-GAN损失(右)进行比较。 为了公平地比较,都通过加入了对抗性攻击者来训练两个网络。 我们可以看到来自AC-GAN损耗的图像更加失真并且难以区分。
下图显示了Rob-GAN的三个优势:
1)与SN-GAN相比,我们的模型(new loss + adversarial)有效地学习了高质量的生成器:
2)在将新损失与原始损失进行比较时,我们发现新损失的表现更好。
3)利用新的损失,对抗训练算法具有很大的加速效果。
[论文笔记]Rob-GAN: Generator, Discriminator, and Adversarial Attacker相关推荐
- 论文笔记:GAN Dissection: Visualizing and Understanding Generative Adversarial Networks
翻译过来就是"解剖GAN".本文主要对GAN生成图像过程进行了可视化,提供了理论支撑和可解释性. motivation 作者称,在论文<Network dissection: ...
- [论文笔记]:Image-to-Image Translation with Conditional Adversarial Networks
Image-to-Image Translation with Conditional Adversarial Networks 论文翻译 摘要 1. 介绍 2. 相关工作 3. 方法 3.1 评估 ...
- 【论文笔记】DOA-GAN: Dual-Order Attentive Generative Adversarial Network for Image Copy-move Forgery Detec
DOA-GAN: Dual-Order Attentive Generative Adversarial Network for Image Copy-move Forgery Detection a ...
- 【论文笔记】GeDi:Generative Discriminator Guided Sequence Generation
GeDi: Generative Discriminator Guided Sequence Generation 文章目录 GeDi: Generative Discriminator Guided ...
- 【对抗攻击论文笔记】Enhancing the Transferability of Adversarial Attacks through Variance Tuning
文章目录 Main Contributions Background Motivation Method Experiments Main Contributions 本文提出了一种基于方差调整迭代梯 ...
- 论文盘点:GAN生成对抗样本的方法解析
©PaperWeekly 原创 · 作者|孙裕道 学校|北京邮电大学博士生 研究方向|GAN图像生成.情绪对抗样本生成 引言 对抗样本的生成方式很多.一般情况下会分成三大类,第一种是基于梯度的生成方式 ...
- GAN异常检测论文笔记(一)《GANomaly: Semi-Supervised Anomaly Detection via Adversarial Training》
0 Abstract: 通过使用一个联合学习高维图像空间的生成和潜伏空间的推理的生成对抗性网络,引入了这种新型的异常检测模型.在生成器网络中采用编码器-解码器-编码器子网络,使模型能够将输入图像映射为 ...
- GAN for NLP (论文笔记及解读
GAN 自从被提出以来,就广受大家的关注,尤其是在计算机视觉领域引起了很大的反响."深度解读:GAN模型及其在2016年度的进展"[1]一文对过去一年GAN的进展做了详细介绍,十分 ...
- 【论文笔记】Generative Adversarial Frontal View to Bird View Synthesis - 论文阅读笔记
[论文笔记]Generative Adversarial Frontal View to Bird View Synthesis 这篇论文是一篇发表在3DV会议上的文章,提出了基于GAN进行视角迁移与 ...
- 《生成式对抗网络GAN的研究进展与展望》论文笔记
本文主要是对论文:王坤峰, 苟超, 段艳杰, 林懿伦, 郑心湖, 王飞跃. 生成式对抗网络GAN的研究进展与展望. 自动化学报, 2017, 43(3): 321-332. 进行总结. 相关博客地址: ...
最新文章
- 2016.4.2 动态规划练习--讲课整理
- 接口入参形式_某小公司RESTful、共用接口、前后端分离、接口约定的实践
- 溃不成军:科通芯城一度再跌近30% 股价三天腰斩
- python3 统计文件夹下文件(含文件夹)的个数
- error_reporting()函数用法
- 汇编指令长度计算方法
- Java模拟双色球彩票
- 上传文件漏洞案例分析
- PDF解决方案(2)--文件转PDF
- 783. 二叉搜索树节点最小距离(dfs)
- study of javaserver faces lifecycle
- 使用VisualTreeHelper.GetDrawing(Visual v)枚举所有Visual内容的对象
- opencv画线和文字
- Sql Server 2005资源瓶颈监控(二)
- Java常量池原理以及垃圾回收
- Xshell上传文件到Ubuntu服务器
- 三字经带注解_三字经注释及解析
- 【CityHunter】服务器端设计思路
- ie8打不开mysql登录_Win7下IE8无法打开https类型的网站解决方法笔记
- 迄今见过最好的职业规划文章