变分自编码器(VAE)是一种用于生成建模的人工神经网络,由Diederik P. Kingma和Max Welling于2013年提出。它属于概率图模型和变分贝叶斯方法的范畴。VAE学习将高维数据(如图像)编码到低维潜在空间,然后从该潜在空间中将样本解码回数据,从而有效学习训练数据的底层概率分布。
架构与操作概述
VAE由两个主要神经网络组件组成:编码器和解码器。编码器将每个输入数据点\(x\)映射到潜在变量\(z\)上的分布,通常是具有均值\(\mu(x)\)和方差\(\sigma^2(x)\)的多元高斯分布。编码器不是编码单个点,而是输出概率分布的参数,这使模型能够表示不确定性并捕获数据中的连续变化。解码器从该潜在分布中采样一个\(z\),将其映射回原始数据空间,产生重建\(\hat{x}\)。
VAE的训练目标是最大化数据对数似然的证据下界(ELBO)。这涉及两项:重建损失,衡量解码器从潜在样本重建输入的效果,以及Kullback–Leibler散度(KL散度),用于度量编码器输出分布与\(z\)上的先验分布(通常是标准正态分布)之间的差异。KL项充当正则化器,鼓励潜在空间平滑且连续。
为了通过随机采样步骤进行反向传播,VAE使用重参数化技巧:不是直接从\(q_\phi(z|x)\)中采样\(z\),模型采样一个辅助噪声变量\(\epsilon\),符合\(\mathcal{N}(0, I)\),并计算\(z = \mu(x) + \sigma(x) \odot \epsilon\)。此操作使采样过程相对于编码器参数具有可微性。
数学表述
从概率角度,目标是最大化观测数据的边缘似然\(p_\theta(x) = \int p_\theta(x|z)p(z)dz\)。然而,该积分通常难以计算。VAE引入一个近似后验\(q_\phi(z|x)\),并推导出ELBO:
\[
\log p_\theta(x) \geq \mathbb{E}_{q_\phi(z|x)}[\log p_\theta(x|z)] - D_{KL}(q_\phi(z|x) \| p(z))
\]
第一项是重建似然,第二项为KL散度。通过重参数化技巧,两项相对于参数\(\theta\)和\(\phi\)都具有可微性。
先验\(p(z)\)和似然\(p_\theta(x|z)\)的选择取决于数据类型。对于连续数据,通常使用高斯似然;对于二值数据(如二值化的MNIST),使用伯努利似然。潜在先验通常采用标准正态分布。
训练动态
VAE通过ELBO的随机梯度下降进行训练。重建损失鼓励解码器产生接近输入的输出,而KL散度将编码器的后验推向先验。这形成了一个权衡:重建权重过大会导致过拟合和潜在空间碎片化,而KL权重过大则引发后验坍塌现象出现,其中潜在变量失去信息性,致使模型忽略\(z\)。各种技术(如KL退火或beta-VAE)用于调整这一平衡。
变体与扩展
已开发出VAE的多种变体。beta-VAE引入了超参数\(\beta\)来加权KL项,从而实现更解耦的表示。可编码条件变分自编码器(CVAE)将类别标签或其他条件信息纳入编码器和解码器。向量量化变分自编码器(VQ-VAE)使用离散的潜在编码,特别适用于高保真图像生成。其他扩展包括分层VAE、归一化流和对抗自编码器。
应用
VAE已在多个领域得到广泛的应用。在计算机视觉中,它用于图像生成、去噪和修复。在自然语言处理中,VAE被应用于文本生成和句子表示学习。在医学影像中,它被用于异常检测。VAE还用作更复杂生成模型的构建模块,例如药物发现和分子设计中的模型。
与其他生成模型的关系
VAE是三类主要深度生成模型之一,另外两类是生成对抗网络(GAN)和自回归模型。与传统GAN训练判别器来区分真伪样本不同,VAE基于一类似然目标进行优化,训练更稳定,但往往产生更模糊的输出。自回归模型(如PixelCNN)将联合分布分解为条件分布的乘积,但它们缺少低维潜在空间。VAE在可变推断和表达生成之间提供了平衡。
局限性与当前研究
尽管取得了成功,VAE仍存在已知的局限性。由于高斯似然假设,生成的样本通常不如GAN的样本锐利。潜在空间可能不完全解耦,并且后验机制仍然是一个活跃的研究领域。最近的研究集中于提高质量和改进变用于强化学习和表示学习。
参见
- 自动编码器
- 生成对抗网络
- 贝叶斯推断
- 潜在变量模型
- 重参数化技巧
- 证据下界
- Beta-VAE
- 条件变分自动编码器
- 向量量化变分自动编码器
- 目标流
- 概率图模型
- 深度学习
- 无监督学习
- 随机梯度下降
- Kullback–Leibler散度
- 高斯分布
- 伯努利分布
- MNIST数据库
- 图像生成
- 表示学习
参考文献
- Kingma,D. P., & Welling, M. (2013)。 Auto-Encoding Variational Bayes. arXiv:1312.6114.
- Doersch, C. (2016). Tutorial on Variational Autoencoders. arXiv:1606.05908.
- Blei, D. M., Kucukelbir, A., & McAuliffe, J. D. (2017). Variational Inference: A Review for Statisticians. Journal of the American Statistical Association.
- Higgins, I., et al. (2017). beta-VAE: Learning Basic Visual Concepts with a Constrained Variational Framework. ICLR.