Lecture 14:Unsupervised Learning:Generation

Component-by-component

对于图像来说,每次生成一个pixel:PixelRNN

VAE

架构:

其中e是噪声,σ是方差,目标是最小化reconstruction error,以及一个限制。该限制的目的即防止σ=0,m是正则化项。

中间的推导以及为什么是这样的架构我还不是很懂,之后再更新。
实际上可以这么理解,有几个要点:

  • 首先我们是基于这么一个假设:中间的code应当是服从正态分布的,而encoder的作用即在于拟合该正态分布的均值与方差的对数(因为方差应当恒为正,但神经网络的输出可能有正有负)
  • 如果生成出来的code不符合正态分布,会有一个惩罚项,也就是上图的constraint(可以通过KL散度推导获得)
  • 按理说,应当是在生成了均值和方差后,定义好该正态分布,然后再从中采样,但是这样没办法回传更新梯度,因此这里使用重参数技巧(Reparameterization Trick),也即从$N(\mu,\sigma^2)$中采样$Z$,相当于从$N(0,I)$中采样$\varepsilon$,然后让$Z=\mu + \varepsilon \times \mu$

Reference:
https://www.sohu.com/a/226209674_500659

VAE的主要问题在于,网络只试图去记住见过的图像,但没法真正去生成没见过的图像。

Generative Adversarial Network (GAN)

GAN包含一个discriminator和一个generator,generator试图生成能够骗过discriminator的样本,而generator试图能够将generator生成的样本和真实的样本区分。

之后会有详细的介绍。