LLM 基础概念Stable Diffusion扩散模型VAE速答 · 约 6 分钟更新 2026-09-28

为什么 Stable Diffusion 要在潜空间做扩散?VAE 起什么作用?

一句话结论

核心原因是直接在像素空间做扩散计算量太大。VAE 负责将高维像素图像压缩到低维潜空间,让扩散模型在低计算量下运行,生成结束后再由 VAE 解码回像素图像,它决定了图像细节的上限。

先这样答

Stable Diffusion 选择在潜空间做扩散,根本原因是直接在像素空间计算的代价过高。像素空间的计算量随着图像分辨率呈平方级增长,而引入 VAE 作为桥梁,可以将高维的像素数据压缩到低维的潜空间中。扩散过程全部在这个低维空间完成,计算量会骤降数个量级。

VAE 在整个架构中起到了双向转换的作用。在模型训练阶段,VAE 的编码器负责把输入的真实像素图像进行压缩,将其线性尺寸缩小到约八分之一,从而转换为潜空间特征。因为特征图的尺寸大幅减小,扩散模型在这个潜空间里进行加噪和去噪的计算压力就小得多。到了推理生成阶段,扩散模型根据文本等条件生成的同样是潜空间特征,这时候就需要 VAE 的解码器出场,把低维特征重新映射回高维,还原成人类肉眼可见的像素图像。

这种架构设计意味着生成图像的细节上限由 VAE 决定。由于扩散模型并不直接接触像素,如果 VAE 在编码压缩或者解码还原的过程中丢失了高频信息,最终生成的图像就会出现细节模糊,这也就是常说的细节丢失是 VAE 的锅。可以这样向面试官总结,Stable Diffusion 利用 VAE 剥离了高频感知细节和低频语义结构,让扩散模型专注于在低维空间学习分布,解决了高分辨率图像生成的计算资源瓶颈。

面试官会怎么追问

  • 「如果把 VAE 的压缩倍率继续加大,潜空间尺寸进一步缩小,会发生什么?」 计算量会进一步降低,生成速度变快。但压缩倍率过大会导致图像的高频细节严重丢失。VAE 解码器在还原时无法无中生有,最终会导致生成的图像边缘模糊,甚至出现结构性失真。

  • 「生成的图像在人脸或者小文字区域经常变形,除了调整扩散模型,还能怎么解决?」 可以针对性地微调 VAE 模型。因为人脸和文字包含大量高频细节,容易在 VAE 的压缩解压过程中丢失。单独在包含大量清晰人脸或文字的数据集上微调 VAE 的解码器,能够改善这些特定区域的重建质量。

  • 「为什么有时候扩散模型去噪已经很完美了,出图还是觉得不够清晰?」 这是因为图像的最终清晰度受限于 VAE 解码器的重建上限。扩散模型在潜空间的去噪只保证了语义结构的正确性,而像素级的纹理细节是由 VAE 解码器负责还原的。如果 VAE 本身能力不足,就会成为整个生成管线的短板。

回答的坑

错误认为 VAE 参与了扩散模型的加噪和去噪计算,正确方向应明确 VAE 仅负责在扩散前后进行特征空间转换,扩散过程本身在潜空间独立完成。

把图像细节丢失的原因全部归结于扩散模型训练不足,正确方向应指出 VAE 的编解码过程是有损压缩,细节模糊往往是 VAE 重建能力不足导致的。

—— 本题完 ——