LLM2021· CVPR 2022· CLASSIC

High-Resolution Image Synthesis with Latent Diffusion Models (Stable Diffusion)

Rombach et al. (Heidelberg/Runway)

在 VAE 压缩后的 latent space 上做 diffusion——把 512×512 生成做到消费级 GPU,开启开源 AIGC 浪潮。

arXiv:2112.10752
#diffusion#generative#stable-diffusion#vision

核心贡献

  • 01两阶段:先训 VAE 把图像压到 4×64×64 latent,再在 latent 上做 diffusion
  • 02Cross-attention 把文本/类别/segmentation map 注入 U-Net
  • 03比像素空间 diffusion 快 ~30×、显存少 ~10×
  • 04成为 Stable Diffusion 的论文基础;权重开源催生整个生态

像素空间 diffusion 算力爆炸(512² × 1000 步 × U-Net)。Latent Diffusion 先用 VQ-GAN 风格的 VAE 把图压到 4×64×64,再在这个 latent 上跑标准 diffusion;最后 VAE decoder 还原到像素。Conditioning(text/segmap/depth)通过 cross-attention 注入每个 U-Net block。

面试视角

为什么 VAE 压缩没损失太多? 4× 下采样后大部分信息保留,纹理细节由 diffusion 重新生成。VAE vs VQ-VAE 选哪个? 连续 VAE(KL 正则)训练简单,SD 用这个;VQ 用于离散 token 生成(Parti、Muse)。Cross-attention 怎么接入文本? Text encoder(CLIP-L 或 T5)出 token embeddings,作为 K/V,U-Net 中间层的 spatial features 作为 Q。SD vs SDXL 区别? SDXL 用更大 U-Net + 双 text encoder (CLIP-L + OpenCLIP-G) + refiner 二段。SD3 / FLUX 改了什么? 转向 DiT(Transformer 替代 U-Net)+ Rectified Flow。

相关论文