Generative Adversarial Network,对抗生成网络

src: 1406.2661

原理

由一个生成器和一个判别器组成的网络。

  • 生成器(generator):试图生成和真实的原始输入相似的数据
  • 判别器(discriminator):试图判别原始数据和真实数据的差异

生成器和判别器之间是相爱相杀的关系,生成器要欺骗判别器,而判别器要尽量发现生成器输出的假数据。

在生成器和判别器博弈多轮之后,生成器就会被“锻炼”成一个具有生成器拟真数据能力的神经网络。

这个思路就特别像华为的红蓝军互相博弈,也是周伯通的左右互搏,进而获取进化的能力。

极小极大博弈

GAN 的核心是极小极大博弈的判别函数:

  • 表示判别器要将损失函数最大化
  • 表示生成器要将损失函数最小化
  • 表示真实训练样本被认可
  • 表示生成器的输出不被判别器认可

最优状态

当 G 固定时,D 存在一个最优解,可表示为:

  •  是真实数据在 x 处的概率密度
  •  是生成数据在 x 处的概率密度(即由 G(z) 诱导出的分布)。
  • 判别器的最优情况,是以上两个概率密度的比值。

将以上最优判别器 带入价值函数,得到生成器优化的目标函数:

上式转换后,得到JS散度表示为:

G 最优的情况时 JS 散度等于 0 :

此时