变分自编码器

变分自编码器(Variational Autoencoder, VAE)是一种基于变分推断的深度生成模型,由Kingma和Welling于2013年提出。VAE结合了自编码器的结构和概率图模型的框架,能够学习数据的潜在分布并生成新的样本。

基本思想

VAE的目标是学习一个生成模型,使得从潜在变量 到数据 的映射能够产生与真实数据分布相似的输出。与标准自编码器不同,VAE并不直接学习确定的编码向量,而是学习潜在变量的概率分布。

模型结构

编码器(Encoder)

编码器将输入 映射到潜在空间上的概率分布 。通常假设该分布为对角高斯分布:

编码器输出均值 和对数方差 ,而不是直接输出

解码器(Decoder)

解码器从潜在变量 重建数据,建模条件概率

损失函数

VAE的损失函数包含两部分:重建损失和KL散度正则项。

证据下界(ELBO)

VAE通过最大化证据下界(Evidence Lower Bound, ELBO)来优化:

  • 第一项 重建损失:鼓励解码器准确重建输入数据
  • 第二项 KL散度:鼓励编码器输出的后验分布 接近先验分布 (通常为标准正态分布

重参数化技巧

为了使梯度能够通过采样过程反向传播,VAE引入了重参数化技巧。将采样过程分解为:

这样随机性来自于外部的噪声 ,而 可以正常接受梯度更新。

特点与应用

特点

  • 生成能力:训练完成后,可以直接从先验分布 采样,通过解码器生成新样本
  • 潜在空间连续性:潜在空间具有良好结构化特性,可以进行插值和算术操作
  • 概率框架:提供了对生成过程的不确定性估计

应用

  • 图像生成和编辑
  • 异常检测(重建概率低的样本视为异常)
  • 数据降维与可视化
  • 分子生成与药物设计

链接到