Contribution
文章提出了一个新的框架:通过对抗过程(adversarial)来评估生成式模型(generative model)。 框架内容:同时训练两个模型,一个生成式模型 $G$ 拟合数据分布,一个判别式模型(discriminative model)$D$ 来判断样本来自于真实训练数据而不是模型 $G$ 生成的概率。 训练的目标:最小化判断式模型 $D$ 的分类错误,即能分辨真假;同时生成式模型 $G$ 生成的样本要足够以假乱真。
Related Work
- 含隐变量的无向图模型: restricted Boltzmann machines (RBMs), deep Boltzmann machines (DBMs)
- Deep belief networks (DBNs): 结合了无向图和有向图
- Score matching and noise-contrastive estimation (NCE)
- Generative stochastic network (GSN) framework
- VAE: training a generative machine by back-propagating into it
TODO: 详细了解;第一类:联合概率通过隐变量分解得到,具体的分解和梯度计算较困难, 需要 approximate inference or MCMC 来完成
Adversial Nets
为了学习在数据 $x$ 上的生成式分布 $p_g$(生成式模型和训练数据是相关的,手写数字到手写数字、人脸到人脸),
定义一个输出噪声的先验 $p_z(z)$ (比如符合高斯分布的 noise or code
),生成式模型 $G(z;\theta_g)$ 从 $z$ 生成样本,
判别式模型 $D(x;\theta_d)$ 输入一个样本, 输出一个标量标识样本来自来真实数据分布的概率。
学习目标如前文所述,具体数学定义如下:
$$ \min_{D}\max_{G}{V(D,G)}=E_{x \sim {p_{data}(x)} }[\log{D(x)}] + E_{z\sim{p_{z}(z)}}[\log{(1-D(G(z)))}] $$
理论上可以证明, 当 $G$ 和 $D$ 有足够的表达能力,$G$是可以学习到数据的真实分布。
Theoretical Results
Global optimal
首先要证明这个优化问题是有全局最优解的, 而且 $p_g=p_{data}$.
1) 当 $G$ 固定时,$D$的最优值是 $$ D_G^*(x)=\frac{p_{data}(x)}{p_{data}(x)+p_g(x)} $$ proof:期望转换为概率积分,$z$ 与生成式模型生成的数据 $x$ 对应关系,变量替换求导得到极值。
The generator $G$ implicitly defines a probability distribution $p_g$ as the distribution of the samples $G(z)$ obtained when $z\sim{p_z}$.
2) 当 $D_G^*(x)$ 确定后,目标函数的最优值只在 $p_g=p_{data}$ 取得: 把 $D_G^*(x)$ 代入 $V$ 后,可以简化为两个KL散度的加和,再利用 Jensen–Shannon divergence 非负性质, 则可以得到最优值只在 $p_g=p_{data}$ 取得.
Convergence
现在我们要给出算法的收敛性。好比先证明 $y=x^2$ 有最优值,可以通过三段论: 凸函数有最优值,$y$ 是凸的,所以 $y$ 有最优值。 至于为什么凸函数有最优值,$y$是凸的,find by yourself;然后给出一种梯度下降算法, 从任意点开始, 按梯度方向更新, 可以保证达到最优值.
什么函数是凸函数? Refer to Boyd book.
Experiment
如何评价生成式模型?
Advantage and disadvantage
与其它生成式模型的优劣对比,refer to Figure.
Improved work
Improved GAN, InfoGAN, GCGAN