生成式对抗网络 NIPS 2016 课程 第 2 节
本文转载自知乎专栏UAI人工智能
专栏链接:https://zhuanlan.zhihu.com/uai-rocks
原文链接:https://zhuanlan.zhihu.com/p/27209805
本报告总结了 NIPS 上 Ian Goodfellow 的 生成式对抗网络课程。其内容有:(1)为何生成式建模是值得学习的话题;(2)生成式模型如何工作,GAN 与其他生成式模型的比较;(3)GAN 工作原理;(4)GAN 的研究前沿;(5)将 GAN 和其他方法组合的当前最优的图像模型。最后给出帮助读者学习的三个练习和相应的解答。
2 生成式模型如何工作?比较 GANs 和其他生成式模型有何不同?
我们现在了解了生成式模型能做什么以及为何有必要来构建生成式模型。现在我们要问:生成式模型如何工作的?尤其是,相比于其他的生成式模型,GANs 如何工作?
2.1 最大似然估计(Maximum likelihood estimation)
为了简化讨论,我们先来看看通过最大似然原理进行的生成式模型。不是所有的生成式模型采用最大似然。一些生成式模型默认是不使用最大似然的,但是可以通过改动来使用(GANs 就落在这类)。如果忽略那些不使用最大释然,聚焦于一般不用最大似然的模型的最大似然版本的模型,我们可以去掉不同模型之间的一些让人格外分心的差异。
最大似然的基本想法是定义一个给出参数为
这个数据集包含
最大似然的原理实际上就是选择可以最大化训练数据的似然的模型参数。这在对数空间中很容易完成,我们可以将原来的乘积转化为求和。这样可以简化似然关于模型的导数的代数表达式,而且在用计算机实现的时候,也能够避免数值问题,比如说乘上几个很小的概率值的时候出现的下溢情形。
在(2)式中,我们用到了性质:对正数
由于对数函数是一个单调增函数,并不会概率最大值的位置。
在图 8 中我们给出最大似然过程的示例。
我们同样可以将最大似然估计看做是最小化生成概率分布和模型的 KL 散度:
如果我们能够足够准确地做到此操作,那么若
对最大似然和其他统计估计量更加详细的讨论参见 Goodfellow 等人深度学习书中第 5 章。
2.2 深度生成式模型的分类
如果我们将注意力放在通过最大化似然的深度生成式模型上,我们可以通过对比他们计算似然及其梯度或者近似这些量的方式来比较这几种模型。如前面提到的,这些模型中很多是不通过最大似然的原理进行的,但是我们可以检查这些模型的最大似然变体来减少这些方法之间的不同。所以按照这样的观点,我们构建了在图 9 中的分类。分类树的每个叶子都有其优缺点。GANs 为了避免这样缺点设计而成,但同时也引入一些新的缺点。
图9
2.3 显式的密度模型
在分类树的左边分支是定义了显式的密度函数
显式的密度模型引入的主要困难是设计一个可以刻画要被生成的数据所有复杂性的模型同时又能保持计算易解性。有两种不同的解决策略来解决这个问题:(1)精心设计模型来保证易解性,在 2.3.1 节会进行解释,(2)模型可以获得似然及其梯度的易解近似,在 2.3.2 节解释。
2.3.1 易解显式模型
在分类树最左的叶子上面的模型定义了一个显式的计算易解的密度函数。目前有两种方法来解决:全可见信念网络(Fully visible belief networks)和非线性独立成分分析(Non linear independent components analysis)。
全可见信念网络 全可见信念网络(Frey et al. 1996; Frey, 1998) 或者 FVBN 是使用概率链式法则将一个 n-维向量 x 分解为一维概率分布的乘积形式的概率分布:
FVBNs 是生成式建模的三个流行方法之一,另外两个是 GANs 和变分自编码器。他们形成了来自 DeepMind 复杂生成式模型(如 Wavenet,Oord et al., 2016)的基础。Wavenet 能够产生真实的人类语音。FVBNs 的主要缺点是样本必须每次产生一个:首先是
等等,所以生成一个样本的代价是
图10
非线性独立成分分析 另一类有着显式密度函数的深度生成式模型族是基于两个不同空间的连续、非线性变化的。例如,如果有一个隐含变量 z 向量和一个连续、可微分、可逆的变换 g 使得 g(z) 得到一个在 x 空间的模型产生的样本,那么
所以
如果想了解更多的关于用来定义 FVBN 的概率链式法则或者用来定义非线性 ICA 模型的概率密度函数的确定型变换的影响,请参考 Goodfellow et al. 书的第 3 章。
这里总结一下,定义了一个显式、易解密度函数的模型是非常有效的,因为他们可以直接在训练数据的对数似然上直接应用优化算法。然而,拥有易解密度的模型族其实很有限,不同的族也有相应不同的缺点。
2.3.2 需要近似的显式模型
为了避开由设计易解密度函数的要求带来的缺点,另外也有一些模型可以有显式的密度函数,这些函数是不易解的,需要使用近似来最大化似然。这些基本上被分为两个类别:使用确定型近似(一般就是指变分方法)和随机近似方法(Markov chain Monte Carlo,MCMC 方法)。
变分近似 变分方法定义了一个下界
最大化
实验中,高度灵活的先验或者灵活的近似后验的 VAEs 可以获得靠近他们自身对数似然
L 的值(Kingma et al., 2016; Chen et al., 2016)当然,这是测试目标和最大界的界之间的间隔。VAEs 能够得到与其他方面相差不多的似然,也就是说他们同样靠近目标的最大值。L. Dinh 和 D. Kingma 已经给出了一个猜想,模型族(Dinh et al., 2014; Rezende and Mohamed, 2015; Kingma et al., 2016; Dinh et al., 2016) 可以用作 VAE 先验或者近似后验是通用近似子。如果这个被证明,就可以知道 VAEs 是渐进一致的。
Markov chain 近似 大多数深度学习算法使用某种形式的随机近似,至少是采用了使用小量随机选择的训练样本形成一个小批量来最小化期望损失函数。通常,基于采样的近似在有用的样本被快速采样(比如说,选择单个样本操作代价很小)并且只要这些样本方差也不高的情形下能够表现的很好。一些模型需要采取 Markov chain 来生成更加昂贵的样本。Markov chain 是一个通过重复采样样本
还有一些方法同时使用了变分和 Markov chain 近似。例如,深度 Boltzmann machine 用了这两个类型的近似(Salakhutdinov and Hinton, 2009).
2.4 隐式密度模型
有些模型可以不需要显式定义一个密度函数进行训练。这些模型给出了一种间接和
一些基于从
最后,最右边的叶子是单步生成样本的隐式模型族。在这个家族中,GANs 是唯一一个成员,但是后来也有了 Kernelized moment matching 这样的模型(Li et al., 2015; Dziugaite et al., 2015).
2.5 对比 GANs 和其他生成式模型
总结一下,GANs 针对其他生成式模型的缺点进行设计的:
- 他们可以并行生成样本,而不是随 x 的维度变化的运行时间。这是相对于 FVBN 的优点。
- 生成器函数的设计只有很少的限制。这个优点是对比于 Boltzmann machine 说的,因为很少概率分布能够给出易解的 Markov chain 采样,而相比较于非线性 ICA,则因为生成器必须是可逆的而且隐含编码 z 必须要和样本 x 有着同样的维度。
- 不需要 Markov chain。这相较于 Boltzman machines 和 GSNs
- 不需要有变分界,在 GANs 框架中可用的特定模型族已经证实是通用近似子,所以 GANs 其实是渐进一致的。某些 VAEs 被猜想是渐进一致的,但还没有被证实。
- 主观上判断 GANs 能够产生比其他方法更好的样本。
同时,GANs 也有新的缺点,训练 GANs 需要找到博弈的 Nash 均衡,这个其实是一个比优化目标函数更加困难的问题。