连续变分自编码器 (Continuous VAE)

变分自编码器(VAE)是一种生成模型,它结合了神经网络和变分推断来学习数据的潜在表示。VAE 的核心思想是通过编码器将输入数据映射到潜在空间,然后通过解码器从潜在空间重建数据。

架构

VAE 由两个主要部分组成:

  1. 编码器网络:将输入数据映射到潜在空间的分布参数(均值和方差)
  2. 解码器网络:将潜在空间的样本映射回数据空间

数学框架

变分推断

VAE 使用变分推断来优化以下目标函数(证据下界,ELBO):

[ \mathcal{L}{\text{VAE}} = \mathbb{E}{q_\phi(z|x)}[\log p_\theta(x|z)] - \text{KL}(q_\phi(z|x) | p(z)) ]

其中:

  • ( q_\phi(z|x) ) 是编码器定义的近似后验分布
  • ( p_\theta(x|z) ) 是解码器定义的似然函数
  • ( p(z) ) 是先验分布(通常为标准正态分布)
  • KL 项是 KL 散度,用于正则化潜在空间

重参数化技巧

为了能够通过编码器反向传播,VAE 使用重参数化技巧:

[ z = \mu + \sigma \odot \epsilon, \quad \epsilon \sim \mathcal{N}(0, I) ]

变体

β-VAE

β-VAE 通过引入权重系数 β 来增强潜在空间的结构化表示:

[ \mathcal{L}{\beta\text{-VAE}} = \mathbb{E}{q_\phi(z|x)}[\log p_\theta(x|z)] - \beta \text{KL}(q_\phi(z|x) | p(z)) ]

条件 VAE (CVAE)

CVAE 通过引入条件信息来增强生成过程:

[ \mathcal{L}{\text{CVAE}} = \mathbb{E}{q_\phi(z|x,c)}[\log p_\theta(x|z,c)] - \text{KL}(q_\phi(z|x,c) | p(z|c)) ]

优势

  1. 结构化潜在空间:通过 KL 散度正则化,VAE 学习到结构化的潜在表示
  2. 生成能力:可以从潜在空间采样生成新的数据样本
  3. 无监督学习:不需要标签数据就能学习数据的表示
  4. 概率框架:提供了完整的概率模型框架

局限性

  1. 模糊输出:由于 KL 散度正则化,生成的结果可能过于平滑
  2. 后验崩塌:编码器可能忽略输入信息,导致 KL 项接近零
  3. 近似差距:变分推断的近似可能导致次优解

应用

  1. 图像生成:生成新的图像样本
  2. 表示学习:学习数据的低维表示
  3. 异常检测:基于重构误差检测异常样本
  4. 数据压缩:通过潜在表示压缩数据

参考文献

  1. Kingma, D. P., & Welling, M. (2013). Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114.
  2. Higgins, I., et al. (2017). beta-VAE: Learning basic visual concepts with a constrained variational framework.
  3. Sohn, K., et al. (2015). Learning structured output representation using deep conditional generative models.