变分自编码器(Variational Autoencoders,VAE)原理
1. 简介
变分自编码器 (Variational Autoencoder, VAE) 是一种生成模型 (Generative Model),由 Kingma 和 Welling 于 2013 年提出。它巧妙地结合了深度学习(神经网络的拟合能力)和贝叶斯推断(概率统计理论)。
为什么我们需要 VAE?
普通的自编码器 (AE) 虽然能很好地进行数据压缩和特征提取,但在生成新数据方面存在缺陷:
- AE 的局限性:AE 将输入映射为隐空间中一个固定的点(确定性映射)。其隐空间往往是不连续的(过拟合),这意味着如果你在隐空间中随机取一个点进行解码,生成的图像很可能是毫无意义的噪声。
- VAE 的改进:VAE 将输入映射为隐空间中的一个概率分布(通常是高斯分布,概率性映射)。
核心思想
VAE 不再让编码器输出一个具体的向量 ,而是输出该向量服从的分布参数(均值 和方差 )。
这种做法带来了两个核心优势:
- 连续性 (Continuity):隐空间中相近的点解码出的结果也是相近的。
- 完备性 (Completeness):隐空间中的点都能解码出有意义的结果(通过 KL 散度约束实现)。
这使得 VAE 具备了生成能力:我们可以直接从标准正态分布 中采样 ,然后通过解码器生成全新的样本。