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损失函数如下:
min G max D { E x ∼ D t r [ log D ( x ) ] + E z ∼ P z [ 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,它的损失函数可以简单的总结为:
为:
δ : = arg max ∥ δ ∥ ≤ δ 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)是由权重 w w w参数化的网络, ℓ ( ⋅ , ⋅ ) \ell(\cdot,\cdot) ℓ(⋅,⋅)是损失函数,为方便起见, ∣ ∣ ⋅ ∣ ∣ ||\cdot|| ∣∣⋅∣∣作为 ℓ ∞ \ell_∞ ℓ∞-norm,但是值得注意是,其他规范也适用。上面公式的想法是在 ℓ ∞ \ell_∞ ℓ∞球中找到点 x a d v : = x + δ x_{adv}:= x +\delta xadv:=x+δ,以使 x a d v x_{adv} xadv的损失值最大化。
Attacker希望通过对输入的图像加上一些小的扰动,就可以使得分类器给出和原始标签完全不同的类判别结果。判别器希望更好的把握数据的真实分布,提高本身的鲁棒性。有攻击自然就有防御,对于防御者来说,它的损失函数如下所示:
min w E ( x , y ) ∼ P data [ 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)上更加显著(见下图)。为什么会出现这么巨大泛化性能的差距呢?
为了使我们的模型对对抗失真具有鲁棒性,需要在真实数据分布 P d a t a P_{data} Pdata上使用较小的LLV(local Lipschitz value)。 而对于LLV的约束可以表示为一个复合损失最小化问题:
min w E ( x , y ) ∼ P data [ ℓ ( 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] w