Press "Enter" to skip to content

CVPR 2019开源论文 | Rob-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) 是收到扰动后分类器的输出结果。

 

 

对于攻击者而言希望受到扰动后的分类器能输出尽可能错的分类结果,也就是和真正的分类结果的损失要尽可能大。当然,有攻击者就肯定会有防御者,与攻击相比,防御是一项更艰巨的任务,特别是对于结合复杂模型的高维数据。防御者的损失函数如 (2) 所示。

 

 

目前对抗训练在小训练集(如 MNIST, CIFAR10)上可以训练出鲁棒性强的分类器,然而一旦扩展在大训练集(如 IMAGENET)上,分类器的效果将非常差,并且对抗训练的性能在训练集和测试集上的差距也很突出(如图 1 所示),究其根本其实就是模型在测试集和训练集的鲁棒性差异较大。

 

 

▲   图1. 在不同水平攻击下的准确率

 

从理论上分析可知,如果在真实数据分布下模型的局部 LLV (local Lipschitz value) 越小,则模型的鲁棒性越强。这一理论可以被描述为复合损失最小化问题(公式 3)。

 

 

但是在实际中我们并不能获取真实数据分布  P data ,因此一般采用先验分布来替换公式 3。实际上,如果我们的数据量足够大并且假设集也设计的很合理,公式 4 最终会收敛于公式 3。

 

 

那幺训练集中的约束的 LLV 会自动泛化到测试集上吗?很遗憾,答案是否定的。也就是说尽管我们能在训练集上有效的降低 LLV,但是对于测试集来说,这样是无效的(如图 2)。

 

 

▲   图2. 测试集和训练集的局部Lipschitz值  (LLV) 比较

 

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

 

 

接下来第二个问题是为什幺加入对抗训练后可以促使 GAN 的训练更加稳定?首先我们知道对抗样本能够很容易“欺骗”分类器,对于 CGAN 来说,生成器完全有可能模仿对抗样本去“欺骗”鉴别器,就算是鉴别器能识别出一种模式的对抗样本,但生成器很容易就能够找到其他模式的对抗样本,这样的话最小最大化的游戏将永远不会停止,也就是生成器和鉴别器永远没办法达到纳什均衡。

 

因此作者假设, 提高鉴别器的鲁棒性对于稳定 GAN 的训练至关重要。 下面我们从理论上分析一下这一假设的成立的原因。

 

 

▲   图3. 鉴别器的鲁棒性

 

在 GAN 的训练中,生成器就类似于对抗训练中的“攻击者”。如果鉴别器具有很小的 LLV (即 很小),此时 ,也就是说当鉴别器受到攻击时,除非是扰动 δ 非常大,其并不会误分类,如图 3 所示。

 

假设在 t 时刻时鉴别器正确分类图像为假图即,在 t+1 时生成器如何才能使鉴别器误分类呢?作者通过对 D(x) 和 G(z;w) 进行 Lipschitz 连续性假设,可以得到一个下界:

 

 

我们发现 LDLG 和成反比,也就是说如果鉴别器不鲁棒的话即 LD 很大,那幺只能让生成器的参数 w 移动的非常小,才能保证其下界成立,此时模型就会收敛的很慢。因此,我们从理论上证明了鉴别器的鲁棒性是影响 GAN 收敛速度的关键因素。

 

回顾 GAN 的发展历史,无论是 WGAN 还是 SN-GAN 都要求鉴别器满足全局 Lipschitz 条件限制,这无疑会降低模型的表达能力,因此作者提出要求在图像流型上保持局部 Lipschitz 条件即可,而这一点通过对抗训练可以很容易地满足。

 

经过上面的分析我们发现,对抗训练和 GAN 的结合是一个互帮互助的过程。在这个框架内作者对生成器和鉴别器进行端到端的训练:生成器向鉴别器提供假图像; 同时,从训练集采样的真实图像在发送到鉴别器之前由 PGD 攻击算法预处理。其网络架构如图 4  所示。

 

 

▲   Figure 4. (LLV) 比较 Rob-GAN 的网络架构

 

实验

 

在具体实验时鉴别器网路采用的是 AC-GAN 中的模型架构,只不过在 AC-GAN 中无论是生成器还是鉴别器都希望能最大化分类损失 LC,但这样会导致即使生成器生成出特别差的样本,损失函数还是希望其能正确分类。

 

 

因此作者将 LC 损失进行了修改,也就是鉴别器希望尽可能正确分类真实样本即最大化损失 LS+LC1,生成器希望能尽可能正确分类生成样本即最大化 LC2-LS。

 

 

下面是在对抗训练采用 GAN 数据后的性能差距,可以明显看出相较之前差距明显缩小。

 

 

另外,作者对 Rob-GAN 进行了微调使鉴别器单独执行多分类问题以便能更好的比较 Rob-GAN 的效果。下面是 Rob-GAN 在 CIFAR10 以及 ImageNet 上不同扰动情况下模型训练的准确率,其中 FT 是指加入微调策略。

 

 

总结

 

这篇论文作者 将生成式对抗网络 (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

 

作者丨 薛洁婷

学校丨北京交通大学硕士生

研究方向丨图像翻译

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注