生成模型 (1.2):Variational Auto-Encoder
引言
上一篇文章中,我们介绍了变分推断及其数学原理。我们已经知道,变分推断就是在用一个可解的带参分布
变分自编码器 (Variational Autoencoders, VAEs) 就是基于变分推断的最简单的生成模型。VAE使用一个可学习的编码器 (encoder) 来作为变分分布
基于这种思想,研究者们还提出了层级VAEs (Hierarchical VAEs, HVAEs) 捕捉不同尺度的数据特征。
一、VAE
自编码器 (Autoencoders, AEs) 是深度生成模型的最简单的版本,其中包含两个模块:确定性 (deterministic) 的编码器用于从原始数据映射到隐变量,确定性的解码器用于从隐变量还原回原始数据,并通过最小化重建误差 (reconstruction error) 来训练编码器和解码器。
虽然这种方法能够保证较好的重建效果,但我们完全不知道隐空间的形式,也没有对其加以约束。因此在生成阶段,我们很难从隐空间中进行采样并利用解码器来生成一个新样本。
为了解决这个问题,VAE为隐分布引入了概率结构,即使用概率化 (probalistic) 的编码器和解码器来分别学习隐变量的分布
1.1. Probalistic Encoder-Decoder
解码器
VAE假设任意一个数据
VAE使用一个解码器
从上面的过程可以看到,VAE实际上是一个隐变量生成模型,通过解码器分布和先验分布来建模原始数据的似然:
然而,由于这个积分是难解的,因此我们一般通过最大化ELBO来最大化似然函数
编码器
为了将隐分布与真实数据联系起来,我们需要通过贝叶斯定理来计算后验分布:
正如上面提到的,由于似然函数
其中,
1.2. 使用ELBO进行训练
正如前一篇文章提到的,VAE通过最大化ELBO来训练变分参数
通过Jensen不等式我们可以知道,ELBO是对数似然函数的下界估计,即:
当且仅当
从公式
- 第一项是重构误差项,用于鼓励模型从隐变量
中准确重构得到原始数据 。后面我们将看到,这一项就是自编码器的损失函数。然而,只优化重构误差会导致模型只记住了训练数据,无法提升生成能力。 - 第二项是隐分布KL散度项,用于鼓励编码器的分布
尽可能接近隐变量的先验分布 。这个正则化项将隐空间变得更加平滑和连续,使得在生成时我们可以从 中采样到有效的隐变量 来生成逼真的样本。
1.3. Gaussian VAE
在这一节中我们介绍VAE在实际应用中的做法。最简单和最标准的实践是称为高斯VAE的方法,它在编码器和解码器中都使用高斯分布。
编码器
编码器
其中,
解码器
同样的,解码器
ELBO的形式
在这种设定下,ELBO中的重构误差项可以被改写为如下形式:
其中,
因此,Gaussian VAE的目标函数可以写为:
1.4. VAE的缺点
即使VAE理论上很完善,但实际应用中仍有一些缺陷。一个最明显的问题就是VAE会生成比较模糊的数据。
为了理解这一现象,我们将编码器
此时目标函数可以简化为如下的最小二乘优化问题:
这个优化问题的最优解为:
其中,
最优解有另外一种等价形式:
现在我们考虑两个不同的输入
对于重叠区域中的某个
二、Hierarchical VAEs
2.1. HVAE的数学建模
为了增强VAE对于更加复杂和高维分布的拟合能力,研究者们提出了层级VAEs (HVAEs),通过引入多个隐变量
HVAE建模了如下的似然函数:
在生成阶段,我们先采样
HVAE同样引入了一个可学习的编码器
2.2. HVAE的ELBO形式
和VAE中类似,我们可以从对数似然函数出发,定义HVAE的ELBO项:
将
2.3. HVAE v.s. VAE
正如深度神经网络依靠更深的结构、更大的参数量在众多场景下超越了传统机器学习方法一样,HVAE的有效性也展示了更深的生成模型的有效性。这种思想是现代生成式建模的基石所在,贯穿了后续的众多方法(如Score-based Models、DDPM、Normalizing Flows等)。
这种思想的核心在于:堆叠更深的层数可以让模型逐步生成数据,首先生成一些粗粒度的轮廓,再逐步添加细粒度的细节。这个过程让模型更能捕捉到高维数据中的复杂结构。
这里必须指出,使用HVAE与单纯地加深VAE中的编码器和解码器是有区别的,这是因为VAE本身有一些局限性,无法通过加深模型层数来改进。
局限1: 变分分布的形式无法改变
标准VAE中,变分分布的形式为:
更深的编码器只会让
当真实的后验分布具有多个峰值时,变分分布的形式就决定了无法很好的拟合,这使得ELBO项和真正的似然函数之间存在比较大的距离,也就削弱了生成能力。
局限2: 后验崩溃
当解码器变得太强时,我们往往会遭遇后验崩溃 (posterior collapse) 的现象。
为了解释这个现象,我们对VAE对训练目标进行一定的等价变形:
其中,
当解码器变得太强,不需要隐变量
因此ELBO的优化本质是 重建精度 与 正则化强度 的权衡:如果解码器能忽略