对抗生成网络

原理

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

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

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

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

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

极小极大博弈

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

  • max D 表示判别器要将损失函数最大化
  • min G 表示生成器要将损失函数最小化
  • logD(x) 表示真实训练样本被认可
  • log(1-D(G(z))) 表示生成器的输出不被判别器认可

其中当模型达到最优状态时,G 的优化目标等价于一个 JS 散度。

最优状态表示为:

JS散度表示为