聊聊GAN

GAN的理论与应用

Posted by 马尔克ov on March 21, 2019

主要内容来自万字综述之生成对抗网络(GAN)

一、直观感受

首先,用一个简单有趣的 GAN🌰 来感受一下。其中向量vector类似mf模型的隐向量,每个维度“可以”代表一种解释性强的特征。

GAN(Generative Adversarial Networks) 接下来,我们需要解决的问题就是:

  • 1.如何定义生成器(我)和判别器(王教授)?
  • 2.如何训练?
  • 3.训练好之后怎么用?

1. 如何定义

损失函数

2. 如何训练

固定生成器,训练判别器,最小化交叉熵:我画的画不变,训练王教授的识别水平 固定判别器,训练生成器,最小化log(1 − D(G(z))):王教授识别水平不变,训练我的画功

把这个我和王教授的说法稍稍改变一下:我和王教授开始都是菜鸡(随机初始化),通过对抗训练,我逐渐成为造假大师,王教授逐渐成为王教授 王教授也不是天生就是大神

3. 训练好之后怎么用

二、数学预警

1. KL散度和JS散度:衡量两个分布的距离

非对称,A到B的距离不等于B到A的距离


对称,并且取值范围在[0,1]之间

GAN简介和keras代码