从“确定性编码”到“概率性编码”
为了更好地理解VAE,我们先从其前身——标准自编码器说起。

-
标准自编码器:
-
变分自编码器的飞跃:
核心机制:损失函数与“重参数化技巧”
VAE 的训练目标是最大化数据 x 的证据下界,其损失函数由两部分组成:
损失 = 重构损失 + KL 散度损失
- 重构损失:与标准自编码器类似,衡量解码器输出与原始输入的差异(如交叉熵或均方误差),这确保了生成的数据要像原始数据。
- KL 散度损失:衡量编码器产生的分布
N(μ, σ²)与先验分布N(0, I)之间的差异,它的作用是“正则化”潜在空间,使其趋向于标准正态分布,从而保证空间的规整性和可生成性。
一个关键挑战:采样操作不可导
直接从分布 N(μ, σ²) 采样 z 是一个随机过程,梯度无法反向传播,VAE 使用了一个聪明的 “重参数化技巧” 来解决:
- 不直接采样
z,而是改为:z = μ + σ ⊙ ε ε是从标准正态分布N(0, I)中采样的随机噪声。- 这样,随机性被转移到了
ε上,而μ和σ成为了可导的确定性参数,梯度得以顺利通过。
比喻理解
- 标准自编码器:像是一个“无损压缩”算法,它试图为每张图片找一个特定的“压缩代码”来精确还原它。
- 变分自编码器:像是一个“画家”,它不记忆代码,而是学习图片的“本质特征”(如姿势、表情、发型),对于一张人脸图片,编码器会学习到“微笑程度=0.8,脸型=0.3”等属性的概率分布,生成时,你只需要告诉解码器“我想要一个微笑程度=0.9,脸型=0.5的人脸”,它就能画出来,潜在空间的每个维度都对应着某种有意义的语义特征。
主要特点与优点
- 是一个显式的概率生成模型:直接对数据分布建模。
- 潜在空间结构化、连续:便于插值和语义操作(如将“微笑”属性从0渐变到1)。
- 训练相对稳定:与GAN相比,VAE的训练过程更不易崩溃。
- 编码解码一体化:既能生成,也能进行数据压缩和表示学习。
主要缺点
- 生成的样本通常比GAN更模糊:这是由损失函数(如均方误差)和拟合目标(数据分布的“平均”)决定的。
- 可能面临“后验坍缩”问题:在训练中,解码器可能过于强大,导致KL散度项失效,编码器输出退化为先验分布。
典型应用
- 生成新数据:生成新的图像、音乐、文本等。
- 数据降维与可视化:将高维数据映射到二维/三维潜在空间。
- 数据去噪与修复。
- 半监督学习:利用未标记数据学习更好的数据表示。
- 生成:在潜在空间中进行有意义的属性插值和编辑(如改变人脸表情、发型)。
变分自编码器的核心概念,是将自编码器的确定性思想,与变分推断的概率性思想相结合,它通过将输入编码为一个概率分布,并利用KL散度正则化潜在空间,从而学习到一个结构良好、连续且完整的低维流形,这使得它不仅能重构输入,更能作为一个强大的生成模型,从学习到的数据分布中创造出新的、合理的数据样本。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。