Generative Adversarial Nets原理、推导

1 文章简要说明

本篇文章Ian J. Goodfellow提出GAN的开山之作。内容非常的经典,为了避免初学者对文中的公式推导理解不透彻,因此写下此篇博客。本文中的书本截图来自于诸葛越博士的《百面机器学习》。

GAN简单来说就是输入一组随机初始值,使其能够在目标维度内产生一组映射,如果这组映射的分布规律与我们打标签的真实数据的分布保持一致,那么我们就认为GAN网络生成了我们需要的以假乱真的结果。

Generative Adversarial Nets原理、推导上图中,黑线为真实数据分布,绿色为生成数据分布,蓝色线为判别器。可以看到当真实标签数据和生成的数据分布曲线重合时,判别器无法将而这区分开来。

2 前提知识储备:KL距离和JS散度

KL距离和JS散度

3 文章的算法和定理公式讲解

Generative Adversarial Nets原理、推导Generative Adversarial Nets原理、推导Generative Adversarial Nets原理、推导

4 手动推导补充

4.1 针对《百面机器学习》中公式13.4的推导过程

Generative Adversarial Nets原理、推导

4.2 针对论文《Generative Adversarial Nets》公式(5)和(6)的推导过程Generative Adversarial Nets原理、推导Generative Adversarial Nets原理、推导

5 GAN训练中会遇到的问题

Generative Adversarial Nets原理、推导Generative Adversarial Nets原理、推导