https://nndl.github.io/ 《神经网络与深度学习》 深度生成模型 https://nndl.github.io/
深度生成模型 深度生成模型就是利用神经网络来建模条件 分布p(x|z;θ)。 对抗生成式网络(Generative Adversarial Network,GAN) [Goodfellow et al., 2014] 变分自编码器(Variational Autoencoder,VAE)[Kingma and Welling, 2013, Rezende et al., 2014]。 一般为了简化模型,假设隐变量先验分布p(z;θ)为标准高斯分布N(z;0,I)。 隐变量z的每一维之间都是独立的。在这个假设下,先验分布p(z;θ)中没有参 数。
生成模型 生成模型指一系列用于随 机生成可观测数据的模型 。 生成数据x的过程可以分为 两步进行: 根据隐变量的先验分布 p(z;θ)进行采样,得到样 本z; 根据条件分布p(x|z;θ)进 行采样,得到x。 一般为了简化模型,假设隐变量先验分布p(z;θ)为标准高斯分布N(z;0,I)。 隐变量z的每一维之间都是独立的。在这个假设下,先验分布p(z;θ)中没有参 数。
变分自编码器
EM算法回顾 给定一个样本x,其对数边际似然log p(x|θ) 可以分解为 M step E step
变分自编码器(VAE) 变分自编码器的模型结构 可以分为两个部分: 寻找后验分布p(z|x;θ)的 变分近似q(z|x;ϕ∗ ); 变分推断:用简单的分布q去近似 复杂的分p(z|x;θ) 在已知q(z|x;ϕ∗ )的情况下 ,估计更好的生成 p(x|z;θ)。 用神经网络来替代 在深度生成模型中,p(z|x;θ)是非常复杂的分布,很难用简单的分布去近似。
变分自编码器
模型汇总
再参数化 分布q(z|x,ϕ)依赖于参数ϕ 再参数化(reparameterization)是实现通过随 机变量实现反向传播的一种重要手段 ϵ ∼ N(0,I) z = µI + σI⊙ϵ, z ∼ N(µI ,σI2I)
变分自编码器的训练过程
变分自编码器学习到的隐变量流形
生成对抗网络
显式密度模型和隐式密度模型 显式密度模型 隐式密度模型 显示地构建出样本的密度函数p(x|θ),并通过最大似然估 计来求解参数; 变分自编码器、深度信念网络 隐式密度模型 不显示地估计出数据分布的密度函数 但能生成符合数据分布pdata (x)的样本 无法用最大似然估计
生成对抗网络 生成对抗网络由一个生成网络与一个判别网 络组成。生成网络从潜在空间(latent space) 中随机采样作为输入,其输出结果需要尽量 模仿训练集中的真实样本。 判别网络的输入则为真实样本或生成网络的 输出,其目的是将生成网络的输出从真实样 本中尽可能分辨出来。
MinMax Game 生成网络要尽可能地欺骗判别网络。 判别网络将生成网络生成的样本与真实样本 中尽可能区分出来。 两个网络相互对抗、不断调整参数,最终目 的是使判别网络无法判断生成网络的输出结 果是否真实。
MinMax Game
一个具体的模型:DCGANs 判别网络是一个传统的深度卷积网络,但使用了带步长的卷 积来实现下采样操作,不用最大汇聚(pooling)操作。 生成网络使用一个特殊的深度卷积网络来实现使用微步卷 积来生成64×63大小的图像。 DCGANs的主要优点是通过一些经验性的网络结构设计使得对抗训练更 加稳定。比如,(1)使用代步长的卷积(在判别网络中)和微步卷积(在生成 网络中)来代替汇聚操作,以免损失信息;(2)使用批量归一化;(3)去除卷积 层之后的全连接层;(4)在生成网络中,除了最后一层使用Tanh激活函数外, 其余层都使用ReLU函数;(5)在判别网络中,都使用LeakyReLU激活函数。
训练过程
例子
不稳定性
模型坍塌
Earth Mover’s Distance
Kantorovich-Rubinstein duality
Wasserstein GAN
梯度问题
WGAN DCGAN batch normalization constant number of filters at every layer
https://nndl.github.io/