作者丨薛洁婷
学校丨北京交通大学硕士生
研究方向丨图像翻译
研究动机
自 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. 在不同水平攻击下的准确率