CVPR2019|Rob-GAN:结合对抗攻击者的GAN

一.研究动机

自2014年Goodfellow等人提出生成式对抗网络(Generative Adversarial Networks,GAN)以来,关于GAN稳定训练的研究层出不穷,其中较为突出的是2017年提出的Wasserstein GAN[1]以及2018年提出的SN-GAN[2]。其共同动机都是通过使鉴别器满足利普希茨(Lipschitz)限制条件(也就是让鉴别器更加鲁棒),从而提高模型的收敛速度以及稳定性。对抗训练(Adversarial training)作为提高模型鲁棒性的经典算法,被作者有效地结合至GAN的训练过程中并将结合后的模型命名为Rob-GAN。实验表明Rob-GAN不仅能促使GAN的训练更加稳定、生成结果更加逼真而且还缩减了对抗训练在训练集和测试集上的性能差距。另外,作者还从理论上分析了这一结果的本质原因。

二.模型架构

首先我们来思考第一个问题:为什么GAN 能够改善对抗训练在测试集和训练集上的性能差距?在回答这个问题之前我们先来简单看一下对抗训练的过程。
对抗训练分为攻击者和防御者,攻击者是指通过对输入样本添加一些小的扰动来“欺骗”分类器,让其输出错误的分类结果。论文中作者采用了PGD[3]攻击算法来产生对抗样本,损失函数如(1)所示。其中x+δ表示对输入样本x添加一些小的扰动,f(x+δ,w)是收到扰动后分类器的输出结果。
1
对于攻击者而言希望受到扰动后的分类器能输出尽可能错的分类结果,也就是和真正的分类结果的损失要尽可能大。当然,有攻击者就肯定会有防御者,与攻击相比,防御是一项更艰巨的任务,特别是对于结合复杂模型的高维数据。防御者的损失函数如(2)所示。
(2)
目前对抗训练在小训练集(如MNIST,CIFAR10)上可以训练出鲁棒性强的分类器,然而一旦扩展在大训练集(如IMAGENET)上,分类器的效果将非常差,并且对抗训练的性能在训练集和测试集上的差距也很突出(如图1所示),究其根本其实就是模型在测试集和训练集的鲁棒性差异较大。
CVPR2019|Rob-GAN:结合对抗攻击者的GAN_第1张图片

从理论上分析可知,如果在真实数据分布下模型的局部LLV(local Lipschitz value)越小,则模型的鲁棒性越强。这一理论可以被描述为复合损失最小化问题(公式3)。
(3)
但是在实际中我们并不能获取真实数据分布Pdata,因此一般采用先验分布来替换公式3。实际上,如果我们的数据量足够大并且假设集也设计的很合理,公式4最终会收敛于公式3。
(4)
那么训练集中的约束的LLV会自动泛化到测试集上吗?很遗憾,答案是否定的。也就是说尽管我们能在训练集上有效的降低LLV,但是对于测试集来说,这样是无效的(如图2)。
CVPR2019|Rob-GAN:结合对抗攻击者的GAN_第2张图片

但是如果我们换个思路直接从真实数据Pdata中采样,那这个问题不就解决了吗?看到这里你肯定很好奇,之前不是说Pdata无法获取吗?没错!虽然我们没法直接获取其分布,但是GAN可以学啊!也就是说我们先让GAN去学习Pdata,然后对所学分布再进行对抗训练。加入GAN后的损失函数如5所示。至此,我们解决了第一个问题。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来第二个问题是为什么加入对抗训练后可以促使GAN的训练更加稳定?首先我们知道对抗样本能够很容易“欺骗”分类器,对于CGAN来说,生成器完全有可能模仿对抗样本去“欺骗”鉴别器,就算是鉴别器能识别出一种模式的对抗样本,但生成器很容易就能够找到其他模式的对抗样本,这样的话最小最大化的游戏将永远不会停止,也就是生成器和鉴别器永远没办法达到纳什均衡。因此作者假设,提高鉴别器的鲁棒性对于稳定GAN的训练至关重要。下面我们从理论上分析一下这一假设的成立的原因。
CVPR2019|Rob-GAN:结合对抗攻击者的GAN_第3张图片

在GAN的训练中,生成器就类似于对抗训练中的“攻击者”。如果鉴别器具有很小的LLV(即很小),此时,也就是说当鉴别器受到攻击时,除非是扰动δ非常大,其并不会误分类,如图3所示。假设在t时刻时鉴别器正确分类图像为假图即,在t+1时生成器如何才能使鉴别器误分类呢?作者通过对D(x)和G(z;w)进行Lipschitz连续性假设,可以得到一个下界:
CVPR2019|Rob-GAN:结合对抗攻击者的GAN_第4张图片
我们发现LDLG和成反比,也就是说如果鉴别器不鲁棒的话即LD很大,那么只能让生成器的参数w移动的非常小,才能保证其下界成立,此时模型就会收敛的很慢。因此,我们从理论上证明了鉴别器的鲁棒性是影响GAN收敛速度的关键因素!
回顾GAN的发展历史,无论是WGAN还是SN-GAN都要求鉴别器满足全局Lipschitz条件限制,这无疑会降低模型的表达能力,因此作者提出要求在图像流型上保持局部Lipschitz条件即可,而这一点通过对抗训练可以很容易地满足。
经过上面的分析我们发现,对抗训练和GAN的结合是一个互帮互助的过程。在这个框架内作者对生成器和鉴别器进行端到端的训练:生成器向鉴别器提供假图像; 同时,从训练集采样的真实图像在发送到鉴别器之前由PGD攻击算法预处理。其网络架构如图4所示。
CVPR2019|Rob-GAN:结合对抗攻击者的GAN_第5张图片
图4.Rob-GAN的网络架构

三.实验

在具体实验时鉴别器网路采用的是AC-GAN中的模型架构,只不过在AC-GAN中无论是生成器还是鉴别器都希望能最大化分类损失LC,但这样会导致即使生成器生成出特别差的样本,损失函数还是希望其能正确分类。
在这里插入图片描述
因此作者将LC损失进行了修改,也就是鉴别器希望尽可能正确分类真实样本即最大化损失LS+LC1,生成器希望能尽可能正确分类生成样本即最大化LC2-LS。
在这里插入图片描述

下面是在对抗训练采用GAN数据后的性能差距,可以明显看出相较之前差距明显缩小。
CVPR2019|Rob-GAN:结合对抗攻击者的GAN_第6张图片
另外,作者对Rob-GAN进行了微调使鉴别器单独执行多分类问题以便能更好的比较Rob-GAN的效果。下面是Rob-GAN在CIFAR10以及ImageNet上不同扰动情况下模型训练的准确率,其中FT是指加入微调策略。
CVPR2019|Rob-GAN:结合对抗攻击者的GAN_第7张图片

四.总结

这篇论文作者将生成式对抗网络(GAN)以及对抗训练模型(Adversarial training)结合在一起形成一个全新的框架Rob-GAN。从理论以及实验证明出Rob-GAN不仅能加速GAN收敛速度而且还有助于缩减对抗训练的性能差距,另外作者还重新定义了AC-GAN的损失函数。总之,我认为这篇论文对于稳定GAN训练具有重大意义,并且论文理论的严谨性也非常值得借鉴。

参考文献
[1] M. Arjovsky, S. Chintala, and L. Bottou. Wasserstein gan.arXiv preprint arXiv:1701.07875, 2017. 2, 4
[2] T. Miyato, T. Kataoka, M. Koyama, and Y. Yoshida. Spectral normalization for generative adversarial networks. In International Conference on Learning Representations, 2018
[3] A. Madry, A. Makelov, L. Schmidt, D. Tsipras, and A. Vladu. Towards deep learning models resistant to adversarial attacks. arXiv preprint arXiv:1706.06083, 2017. 1, 2, 3, 6, 7

你可能感兴趣的:(机器学习,Tensorflow,GAN)