查看原文
其他

ICLR 2020 | GAN是否真的判断出了数据的真假?

武广 PaperWeekly 2022-03-17

©PaperWeekly 原创 · 作者|武广

学校|合肥工业大学硕士生

研究方向|图像生成


GAN 自提出以来就以生成对抗为目标进行模型优化,这种对抗真的区分了真实数据和生成数据了吗?ICLR 2020 中的一篇 Real or Not Real, that is the Question(RealnessGAN)提出了对传统 GAN 判别数据真假的质疑。

文章抛出了在传统 GAN 中对于判别器的鉴别输出为一常数 score 是不合理的观点,并由此提出合理的解决方案,本文将对 RealnessGAN 进行解析,探究 GAN 是否真的区分了真假。


论文标题:Real or Not Real, that is the Question
论文来源:ICLR 2020

论文链接:https://arxiv.org/abs/2002.05512

代码链接:https://github.com/kam1107/RealnessGAN


GAN [1] 自提出就得到了空前反响,GAN 在逼真的图像生成方面以及处理高维数据时的灵活性上推动着包括图像,音频和视频生成的发展,更甚者在诸如强化学习、迁移学习等也展示了一定的价值。

GAN 通过生成器和判别器的博弈下达到交替更新,其核心就是模型能否鉴别数据的真实与生成并与生成器形成对抗。

在标准的 GAN 中,输入样本的真实性由判别器使用单个标量估算,也就是判别输出的是一个鉴别分数。然而诸如图像之类的高维数据,需要从多个角度认知它们,并基于多个标准来推断这幅图像是否逼真。

如图 1 所示,在拿到一张人脸肖像图时,我们可能会关注其面部结构,皮肤色调,头发纹理,甚至虹膜和牙齿等细节,它们每一个属性都代表着真实性的不同方面。此时判别器用单个标量输出鉴别结果,这是多个量度的抽象和汇总,它们共同反映了图像的整体真实性。 

但是这种简洁的测量可能传达的信息不足,无法引导生成器向着正确的图像进行生成,这就可能导致在 GAN 中众所周知的模式崩溃和梯度消失的发生。

▲ 图1. 人脸肖像图中的人眼感知(a)真实人眼感知(b)由于面部结构/组件不协调,背景不自然,样式组合异常和纹理变形可能降低的真实感

既然判别器的单标量输出是不合理的,那么怎样表示判别器的输出呢?Realness-GAN 提出了通过将逼真度视为随机变量,也就是对于判别器的输出表示为一分布而不是单个标量。

整体的架构和训练上 RealnessGAN 沿用标准 GAN 的方式,只是将判别器的输出表示为一个分布,并且在优化阶段是以分布进行度量。

总结一下 RealnessGAN 的优势:
  • 将标量真实性得分扩展为分布的真实性得分,判别器 为生成器 提供了更强的指导。
  • RealnessGAN 的思路可以推广到一般的 GAN 中,具有较强的灵活性。

  • 基于一个简单的 DCGAN 架构,RealnessGAN 可以成功地从头开始学习生成 分辨率的逼真的图像。



RealnessGAN原理分析


在 RealnessGAN 原理分析前,先回顾一下标准 GAN 的优化过程:

此时用 0 和 1 分别表示两个虚拟的标量,也就是作为判别器的输出对照,判别器鉴定真实为 1,虚假为 0。通过固定的 ,最优 得到 ,再将 固定为最优值,最优 满足 
采用单个标量作为真实性的度量是受限的,现实中的很多本质上是一个涵盖多个因素的随机变量,此时 RealnessGAN 便发挥了作用。
用一个分布 替换判别器 的标量输出,那么对于一个输入 ,此时 。其中 是输出 的结果集,可以将每个结果 视为通过某些标准估算的真实性度量。

既然判别器的输出被规定为是个分布,那么如何去优化这个判别器输出呢?

类似于标准 GAN 的 0 和 1 真假标量,RealnessGAN 需要两个分布来代表判别器输出的真实和虚假图像的鉴定分布,这里的分布可不同于数据的分布,这里的分布指的是判别器的对照分布。

定义两个分布 表示理论上的判别输出为真实的分布,表示理论上的判别输出为假的分布,它们也在 上定义,优化分布之间的距离可以想到的是通过 KL 散度进行,此时生成器与判别器的博弈过程表示为:
先从理论角度分析下这个目标函数,对于判别器 ,它的目的是为了将真的数据鉴定为真的,假的数据鉴定为假的,所以对于真实数据 ,希望鉴定结果 与理论真实分布 尽可能接近,即 为理想解。
同理对于生成数据 则希望判别输出与理论虚假分布 尽可能接近,即 为理想解。
而对于生成器 ,公式的第一项由于没有 的参与不允讨论,而对于第二项生成器则希望能够骗过判别器,即 越大越好,也就是希望 与理论虚假分布 差异越大越好。
那生成数据的判别分布于理论虚假分布差异越大,怎么能保证与理论真实分布越接近呢?文章也进行了讨论,主要通过对生成器的损失进行调整实现,这个我们后面再详细说明。
知道了目标函数,那怎么保证模型博弈到最后得到的最优解就是 呢?
这需要进一步对目标函数进行分析了,接下来会有一定的公式推导,不喜欢这部分的可以直接跳到下一节,最后的结论就是模型的收敛最优解就是生成数据分布于真实数据分布相同 
与标准 GAN 的分析相同,固定 ,目标 表示为:
根据熵的定义,记 ,同理 ,则上式改写为:
公式的第一项与 无关,将之记为 ,上式可进一步表示为:
记 ,,可得到:

最小化 就是最小化 ,则 D 的最优解就是 ,接下来就是对 的最优解进行讨论,当 时,假设 ,此时 ,则对应的 
从  得:

由于 相对于 为常数,最大化 等价于最大化 ,当且仅当 KL 散度达到其最小值时,才能获得最佳 ,对于任何有效的 和 
即 ,因此,只要存在一个有效的 ,使得 ,对于任何有效 ,都有 



RealnessGAN的实施和训练


当满足 ,为了优化模型,此时的 需要足够的强大才能匹配理论真实分布。
随着数量的增加,对 施加的约束因此变得更加严格,则 需要付出更多去学习才能匹配判别下理论真实分布,所以数量的增加决定着模型的一定性能,说了这么多,这个 和 以及 到底怎么表示呢?
我们知道 和 是定义下的判别理论分布,只要这两个分布之间差异足够的大即可,那么到底取什么呢?这个答案在文章公布的源码中作者规定了理论判别真实分布锚点 和理论判别虚假分布锚点 
对于理论判别真实分布 ,作者用 的均匀分布来表示,用均值为 0,方差为 0.1 的高斯分布来表示理论判别虚假分布 ,通过 np.histogram 通过对这采样的 1000 个点进行 num_outcomes 的离散化,这个 num_outcomes 就是 的数量。
高斯分布与均匀分布分布上的差异决定着锚点的不同,这也满足了推导的条件,num_outcomes则在一定程度上影响着生成的结果,这点我们在后面的实验中再进行分析。
回到之前提到的优化 的问题上来,上述的目标函数对于 而言是通过欺骗 是增大假样本的 和锚点分布 之间的 KL 散度,而不是减小假样本和锚点分布 之间的 KL 散度,作者进行了损失上的一定改进,对于一般 的优化:

文章又提出了:

至于说哪个损失更好用,这个在实验中进行了对比。值得一说的是 RealnessGAN 提出的思想可以用在大部分的 GAN 中,只需要对损失函数进行一定的调整即可,这也展示了 RealnessGAN 的灵活性。

在训练阶段,采用 Adam 优化器,BN 用在生成器,SN 用在判别器。



实验


文章首先进行了简单的实验验证模型的有效性,通过toy dataset进行验证,与基准模型进行了对比,选取了StdGAN [2]、WGAN-GP [3]、LSGAN [4] 和HingeGAN [5] 作为基准模型,得到的结果如图 2 所示。

▲ 图2. toy dataset下RealnessGAN与基准模型的对比
可以看到 RealnessGAN 展示了较为优越的结果生成,在验证 的数量上,文章也进行了实验,得到的结果如图 3 所示。

▲ 图3. 输出结果数量对生成的影响
在固定 的更新数量下,的数量越多并没有取得越好的结果,但是随着 给予足够的更新,的数量增大得到的结果就越有优势。在定性上模型给出的结果如图4.

▲ 图4. RealnessGAN在Cifar10、CelebA和FFHQ下的生成结果

定量上文章在 Cifar10 数据集下进行了对比实验:

▲ 图5. 在Cifar10数据集下各模型在FID和SD指标下结果
为了验证 与 的差异性对结果的影响,文章做了对比实验,结果如图6.

▲ 图6. 锚点分布的差异性对生成结果的影响
对于 的损失优化上,作者进行了比对。

▲ 图7. G的不同损失下的生成结果



总结

RealnessGAN 从分布的角度扩展了生成对抗网络的逼真性,以判别输出分布替代了标准 GAN 中的单标量判别输出,此时判别器会从多个角度估算真实性,从而为生成器提供更多信息指导。

同时这种判别输出分布的方式可以推广到更多的一般性 GAN 的训练上,从理论和实验分析上可以得到该方法的有效性,对于 GAN 的发展起到了推助作用。


参考文献


[1] Ledig C, Theis L, Huszár F, et al. Photo-realistic single image super-resolution using a generative adversarial network[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 4681-4690.

[2] Zhang Z, Yu J. STDGAN: ResBlock Based Generative Adversarial Nets Using Spectral Normalization and Two Different Discriminators[C]//Proceedings of the 27th ACM International Conference on Multimedia. 2019: 674-682.

[3] Gulrajani I, Ahmed F, Arjovsky M, et al. Improved training of wasserstein gans[C]//Advances in neural information processing systems. 2017: 5767-5777.

[4] Mao X, Li Q, Xie H, et al. Least squares generative adversarial networks[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 2794-2802.

[5] Junbo Zhao, Michael Mathieu, and Yann LeCun. Energy-based generative adversarial network. InICLR, 2017.




点击以下标题查看更多往期内容: 




🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存