连续变分自编码器 (Continuous VAE)
变分自编码器(VAE)是一种生成模型,它结合了神经网络和变分推断来学习数据的潜在表示。VAE 的核心思想是通过编码器将输入数据映射到潜在空间,然后通过解码器从潜在空间重建数据。
架构
VAE 由两个主要部分组成:
- 编码器网络:将输入数据映射到潜在空间的分布参数(均值和方差)
- 解码器网络:将潜在空间的样本映射回数据空间
数学框架
变分推断
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)) ]
优势
- 结构化潜在空间:通过 KL 散度正则化,VAE 学习到结构化的潜在表示
- 生成能力:可以从潜在空间采样生成新的数据样本
- 无监督学习:不需要标签数据就能学习数据的表示
- 概率框架:提供了完整的概率模型框架
局限性
- 模糊输出:由于 KL 散度正则化,生成的结果可能过于平滑
- 后验崩塌:编码器可能忽略输入信息,导致 KL 项接近零
- 近似差距:变分推断的近似可能导致次优解
应用
- 图像生成:生成新的图像样本
- 表示学习:学习数据的低维表示
- 异常检测:基于重构误差检测异常样本
- 数据压缩:通过潜在表示压缩数据
参考文献
- Kingma, D. P., & Welling, M. (2013). Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114.
- Higgins, I., et al. (2017). beta-VAE: Learning basic visual concepts with a constrained variational framework.
- Sohn, K., et al. (2015). Learning structured output representation using deep conditional generative models.