广哥在硅谷 · 用思考抵达清晰,用行动靠近自由
CVPR 2022 · CompVis

Latent Diffusion
Stable Diffusion 论文详解

High-Resolution Image Synthesis with Latent Diffusion Models · Curated Chinese Edition
Rombach et al. · LMU Munich 中文精校版 9 章 · 约 25 分钟阅读
📋 内容摘要

2022 年,慕尼黑大学 CompVis 团队的 Rombach 等人发表了 LDM 论文。它做了一件改变历史的事:把扩散模型从昂贵的像素空间,搬到了高效的潜在空间——训练成本从「数百 V100 天」压缩到「单 A100 数天」,推理速度提升数倍。基于这篇论文开源的代码与模型,几个月后催生了 Stable Diffusion——AI 绘画从此变成了人人可玩的事。本文是该论文的中文精校版,逐章讲透:为什么要去潜在空间、自编码器怎么训、Cross-Attention 如何接入文本条件、压缩比 f 的最佳点是多少。

章节目录
  1. 引言 · 像素空间扩散的代价
    The cost of pixel-space diffusion
  2. 核心洞察 · 感知 vs 语义压缩
    Perceptual vs Semantic Compression
  3. 两阶段方法总览
    The Two-Stage Approach
  4. 第一阶段:感知压缩自编码器
    Perceptual Image Compression
  5. 第二阶段:潜在扩散模型 LDM
    Latent Diffusion Models
  6. 跨模态条件机制 · Cross-Attention
    Conditioning Mechanism
  7. 压缩比 f 的最佳点
    The Sweet Spot of f=4-8
  8. 实验结果与文生图
    Results & Text-to-Image
  9. 总结:开源如何改变世界
    Open-Source as Disruption
CHAPTER 01 · MOTIVATION

引言:像素空间扩散的代价

Why pixel-space diffusion is too expensive
📌 本节核心要点

2021 年的扩散模型已经在图像合成上做到了 SOTA,但代价是:训练一个最强的 DM 需要数百 V100 天。这种"算力门槛"把这项技术锁在了少数大公司里。LDM 论文要解决的,就是这个民主化问题——让普通研究者也能玩得起扩散模型。

Diffusion Models DDPM UNet GPU-days

2021 年,扩散模型已经成为图像合成领域的事实之王。在类别条件生成、超分辨率、修复(inpainting)等任务上全面超过 GAN。它的好处很明显:训练稳定、模式覆盖完整、不易模式坍缩。

但有一个绕不开的问题——太贵了

论文里给了一个具体数字:训练一个当时最强的 DM,通常需要 150 到 1000 个 V100 GPU 天。即使训练好了,生成 5 万张样本也要在单块 A100 上跑大约 5 天。原因是扩散模型在像素空间反复迭代——一个 512×512 的图像意味着每一步都要在几十万维空间里做完整的 UNet 前向 + 反向,而采样需要几十到上千步。

这件事有两层后果。第一,训练这种模型的资源只属于极少数公司和实验室,AI 绘画无法民主化。第二,即使训练好了,推理也是慢且贵——根本没法做实时交互或大规模部署。

LDM 论文给出的回答是:既然图像里大部分像素只是「察觉不到的细节」,为什么不先把这些细节压缩掉,只在「语义层面」做扩散?

广哥在硅谷◆ ◆ ◆
CHAPTER 02 · INSIGHT

核心洞察:感知 vs 语义压缩

Perceptual vs Semantic Compression
📌 本节核心要点

作者分析了像素空间扩散的"率失真曲线",发现学习可以划成两个阶段:感知压缩阶段(去掉高频细节但语义没变化)和语义压缩阶段(学习内容的实际构成)。结论是:把感知压缩交给一个小模型一次性做完,让昂贵的扩散模型只专注于语义压缩

Rate-Distortion Perceptual Loss Semantic Bits

整篇论文最深刻的洞察来自一张图——已经训练好的像素空间扩散模型的率失真曲线。作者分析后发现,扩散学习过程可以大致划分成两个阶段。

第一阶段,感知压缩(Perceptual Compression)。模型在这里去掉的是高频的、几乎无法察觉的细节——纹理噪声、像素级抖动,等等。这些信息占了图像绝大部分比特,但对人类视觉几乎没有意义。

第二阶段,语义压缩(Semantic Compression)。模型在这里学的才是真正的"内容"——这是一只猫、是 Picasso 风格、人物站在街道上。这才是生成模型真正应该做的事。

一张数字图像的大部分比特,
都对应着我们感觉不到的细节。
把感知压缩交给小模型,
把语义压缩留给扩散模型。

— THE CORE INSIGHT OF LDM

问题在于:在像素空间训练扩散模型,意味着这两个阶段都在同一个昂贵的 UNet 里完成——大部分计算资源被浪费在感知压缩上,因为梯度和网络评估必须在所有像素上做。这是巨大的浪费。

解药很自然:先训练一个独立的"感知压缩器"——一个自编码器,把图像压缩到一个低维但感知等价的潜在空间。然后在这个潜在空间里训练扩散模型

这就是 Latent Diffusion Model(LDM)的命名由来。

广哥在硅谷◆ ◆ ◆
CHAPTER 03 · METHOD

两阶段方法总览

The Two-Stage Approach
📌 本节核心要点

训练分两个独立阶段:(1) 训练一个通用的自编码器,把图像压缩到潜在空间 $z$;(2) 在 $z$ 空间训练扩散模型。这种解耦的最大好处是——自编码器只训练一次,可以被多个不同的扩散模型复用。

Two-Stage Training Decoupling Reusable Encoder

论文的方法可以用一句话概括:把扩散模型从像素空间搬到由预训练自编码器定义的潜在空间

训练分为两个清晰分离的阶段:

第一阶段:训练一个自编码器,由一个编码器 $\mathcal{E}$ 和一个解码器 $\mathcal{D}$ 组成。给定图像 $x \in \mathbb{R}^{H \times W \times 3}$,$\mathcal{E}$ 把它压缩到潜在表示 $z = \mathcal{E}(x)$,$\mathcal{D}$ 再把 $z$ 重建回图像 $\tilde{x} = \mathcal{D}(\mathcal{E}(x))$。

第二阶段:在 $z$ 这个低维空间上训练标准的扩散模型——但所有 UNet 的前向/反向计算,都发生在 $z$ 空间而不是像素空间。

这种解耦有三个核心好处

第一,计算效率大幅提升。UNet 不再在数十万维的像素上做迭代,而是在 $32 \times 32 \times 4$ 这样的小张量上。

第二,利用 UNet 的归纳偏置。LDM 保留了 UNet 在空间数据上的归纳偏置,所以不需要像 VQGAN 那样把空间结构展平成 1D 序列。

第三,通用的压缩器训练一次,可以被多次重用——同一个自编码器可以服务于无条件生成、文生图、超分辨率、修复等多个任务的扩散模型。这点对工业部署极为关键。

广哥在硅谷◆ ◆ ◆
CHAPTER 04 · STAGE 1

第一阶段:感知压缩自编码器

Perceptual Image Compression
📌 本节核心要点

自编码器用感知损失 + patch 级对抗损失训练,避免传统 L2 损失带来的模糊。两种正则化方案:KL-reg(类似 VAE,对潜空间施加轻微 KL 惩罚)和 VQ-reg(解码器内做向量量化)。下采样因子 $f$ 满足 $f = H/h = W/w$。

Perceptual Loss PatchGAN KL-reg / VQ-reg

自编码器训练的关键是避免重建出"糊"的图像。如果只用像素空间的 L2 或 L1 损失,重建会偏向模糊的平均值——感知质量很差。

LDM 的自编码器结合了三种损失:感知损失(用预训练 VGG 比较特征图差异)、patch 级对抗损失(一个判别器,要求每个 patch 看起来真实)、以及一个轻微的正则项

设输入图像 $x \in \mathbb{R}^{H \times W \times 3}$。编码器把 $x$ 压成 $z = \mathcal{E}(x)$,其中 $z \in \mathbb{R}^{h \times w \times c}$。下采样因子定义为 $f = H/h = W/w$。论文实验了 $f = 2^m$,其中 $m$ 为非负整数(即 1, 2, 4, 8, 16, 32)。

为了避免潜空间方差过大、不利于后续扩散建模,作者引入两种正则化:

第一种,KL-reg:对学到的潜变量施加一个对标准正态的轻微 KL 惩罚,类似 VAE。

第二种,VQ-reg:在解码器里加一层向量量化(Vector Quantization)。可以理解成 VQGAN 但把量化层吸收进解码器。

注意一个关键设计选择:因为后续的扩散模型直接利用 $z$ 的二维结构,所以压缩率不需要太激进——这与之前依赖"把潜空间展成 1D 序列再用自回归 Transformer 建模"的工作(如 VQGAN)完全不同。LDM 在保留 2D 结构的同时,可以用相对温和的压缩率,获得更好的重建。

广哥在硅谷◆ ◆ ◆
CHAPTER 05 · STAGE 2

第二阶段:潜在扩散模型 LDM

Latent Diffusion Models
📌 本节核心要点

原始扩散损失定义在像素空间 $x$ 上。LDM 把 $x$ 替换成自编码器输出 $z$,损失变成在潜空间上预测噪声。这是唯一的形式变化——其余 UNet 架构、噪声调度、采样算法都不变。但实际效果是:训练快 10 倍以上,推理快数倍。

Denoising Objective UNet Backbone Time-Conditional

先回顾标准扩散模型的训练目标。扩散模型学习的是逐步去噪一个高斯噪声变量——也就是反向求解一个固定的马尔可夫链。最常用的简化目标是:

$$L_{DM} = \mathbb{E}_{x,\, \epsilon \sim \mathcal{N}(0, 1),\, t}\left[\| \epsilon - \epsilon_\theta(x_t, t) \|_2^2\right]$$

其中 $t$ 在 $\{1, ..., T\}$ 上均匀采样,$x_t$ 是 $x$ 在时间步 $t$ 加噪后的版本,$\epsilon_\theta$ 是一个时间条件 UNet,预测被加入的噪声。这是 DDPM 标准公式。

LDM 的修改简洁得令人吃惊——把 $x$ 全部换成 $z = \mathcal{E}(x)$

$$L_{LDM} = \mathbb{E}_{\mathcal{E}(x),\, \epsilon \sim \mathcal{N}(0, 1),\, t}\left[\| \epsilon - \epsilon_\theta(z_t, t) \|_2^2\right]$$

就这么一个小改动。UNet 架构本身、噪声调度、采样算法(DDIM 之类)——全部不变。

但实际效果天差地别:

· UNet 现在工作在 $32 \times 32 \times 4$ 之类的小张量上,而不是 $512 \times 512 \times 3$ 的像素张量
· 前向 $z_t$ 可以高效地通过 $\mathcal{E}$ 提前计算(因为前向过程是固定的)
· 从 $p(z)$ 采样得到的样本,只需要一次通过 $\mathcal{D}$ 就能解码回像素空间的图像

这就是整个性能跃升的来源——"在小张量上跑扩散"比"在大张量上跑扩散"快了一个数量级

广哥在硅谷◆ ◆ ◆
CHAPTER 06 · CONDITIONING

跨模态条件机制 · Cross-Attention

How LDM accepts text prompts
📌 本节核心要点

LDM 通过在 UNet 里加 Cross-Attention 层,让扩散模型接受多模态条件输入——文本提示、语义图、布局,都可以。这是 Stable Diffusion 文生图能力的真正来源。条件输入 $y$ 先通过一个领域专属编码器 $\tau_\theta$ 投到中间表示,然后通过 cross-attention 接入 UNet。

Cross-Attention Text Conditioning Domain Encoder

能让 LDM 真正破圈的,是它对条件生成的设计——尤其是文生图。

扩散模型原则上可以建模条件分布 $p(z|y)$,做法是把条件 $y$ 接入去噪 UNet 变成 $\epsilon_\theta(z_t, t, y)$。但之前的工作大多只用类别标签或模糊的输入图,没有解决"任意模态条件"的问题。

LDM 的方案:用 Cross-Attention 把任意模态的条件接入 UNet

具体做法是这样的。给定条件 $y$(比如一段文本),先用一个领域专属编码器 $\tau_\theta$(比如 BERT 风格的 Transformer)把它编码成中间表示 $\tau_\theta(y) \in \mathbb{R}^{M \times d_\tau}$。然后通过 cross-attention 接入 UNet 的中间层:

$$\text{Attention}(Q, K, V) = \text{softmax}\!\left(\frac{Q K^T}{\sqrt{d}}\right) V$$ $$Q = W_Q^{(i)} \cdot \varphi_i(z_t), \quad K = W_K^{(i)} \cdot \tau_\theta(y), \quad V = W_V^{(i)} \cdot \tau_\theta(y)$$

翻译一下:Query 来自 UNet 当前层的图像潜表示(图像在「问」),Key 和 Value 来自条件编码(文本在「答」)。这正是 Transformer 里的标准 cross-attention 模式,只是搬到了扩散 UNet 里。

条件 LDM 的训练目标随之扩展为:

$$L_{LDM} = \mathbb{E}_{\mathcal{E}(x),\, y,\, \epsilon \sim \mathcal{N}(0, 1),\, t}\left[\| \epsilon - \epsilon_\theta(z_t, t, \tau_\theta(y)) \|_2^2\right]$$

其中 $\epsilon_\theta$ 和 $\tau_\theta$ 通过这个损失联合优化。这个机制非常灵活——$\tau_\theta$ 可以是任何对应模态的"专家":文本就用 Transformer、语义图就用 CNN、布局就用 embedding。

正是这个 Cross-Attention 设计,让同一套 LDM 框架可以同时支持文生图、图像修复、语义合成、超分辨率等多种条件任务。

广哥在硅谷◆ ◆ ◆
CHAPTER 07 · TRADEOFF

压缩比 f 的最佳点

The Sweet Spot of f=4-8
📌 本节核心要点

下采样因子 $f$ 既不能太小(=1 退化成像素扩散,没省),也不能太大(=32 信息损失太多,限制画质)。$f = 4$ 到 $f = 8$ 是甜蜜点——LDM-4 在复杂数据集上效果最好,LDM-8 在更简单数据集和速度敏感场景更优。

f=4 / f=8 DDIM Sampling FID Scores

这一节是论文的关键消融实验。作者训了 6 个不同压缩比的 LDM($f \in \{1, 2, 4, 8, 16, 32\}$,LDM-1 等价于纯像素扩散),在固定 A100 算力和训练步数下对比。

结果非常清晰:

· $f = 1, 2$ 训练慢——把太多感知压缩留给扩散模型自己做,浪费算力
· $f = 16, 32$ 早期就饱和——第一阶段压缩过激,丢了太多信息,扩散模型再怎么训也救不回来
· $f = 4, 8, 16$ 之间是最佳区间——在 ImageNet 上训 2M 步后,LDM-1 和 LDM-8 的 FID 差距高达 38 分

从采样速度看(用 DDIM 采样器对比 FID vs 步数),LDM-4 和 LDM-8 在 CelebA-HQ 和 ImageNet 上都全面碾压 LDM-1——质量更高、速度更快。

论文给的实践建议很明确:复杂数据集用 LDM-4 保证质量,更简单的数据集或速度敏感场景用 LDM-8。Stable Diffusion 后续公开发布的所有模型都使用 LDM-8 配置(潜空间是 $64 \times 64 \times 4$,对应 $512 \times 512$ 的像素图像)。

广哥在硅谷◆ ◆ ◆
CHAPTER 08 · RESULTS

实验结果与文生图

Benchmarks & Text-to-Image
📌 本节核心要点
CelebA-HQ FID 5.11 LAION-400M COCO DDIM

论文做了大量实验,覆盖无条件生成、类别条件生成、文生图、修复、超分辨率等多个任务。我挑最有代表性的两类来讲。

无条件图像生成。在 $256 \times 256$ 分辨率的 CelebA-HQ 上,LDM-4 拿到 5.11 FID,刷新 SOTA——超过了之前所有基于似然的模型和 GAN。在 FFHQ 上 4.98 FID,在 LSUN-Churches 上 4.02 FID。在 LSUN-Bedrooms 上 2.95 FID,与 ADM 接近,但参数只有 ADM 的一半、训练资源是 ADM 的 1/4

文生图。这是真正破圈的部分。作者在 LAION 数据集上训了一个 1.45B 参数的 LDM-KL-8-G 模型,在 MS-COCO 上评估:

方法FID ↓IS ↑参数量
CogView27.1018.204 B
LAFITE26.9426.0275 M
GLIDE12.246 B
Make-A-Scene11.844 B
LDM-KL-8-G12.6330.291.45 B

看出门道了吗?LDM-KL-8-G 在 FID 上跟 6B 参数的 GLIDE 几乎打平,但参数只有它的四分之一。这意味着:以更低的训练和推理成本,做到了同等水平的文生图能力。

论文里还展示了大量惊艳的样本——"一只画风像 Picasso 的僵尸"、"一张写着 Latent Diffusion 的街道标志"、"一幅水彩画风的、长得像章鱼的椅子"……这些 prompt 几年前还需要专业插画师工作几小时,现在 LDM 几秒就能给出多种诠释。

1.45B 参数,达到 GLIDE 6B 的水平。
开源、可重训、单卡可玩。
AI 绘画的民主化时代,从这里开始。

— THE DEMOCRATIZATION MOMENT
广哥在硅谷◆ ◆ ◆
CHAPTER 09 · LEGACY

总结:开源如何改变世界

Why this paper changed everything
📌 本节核心要点

LDM 这篇论文的真正影响,不在于刷了多少 FID,而在于它开源了代码和预训练模型——几个月后基于它构建的 Stable Diffusion 发布,AI 绘画一夜之间变成了开源生态。今天你听过的所有 AI 绘画应用——Midjourney、ComfyUI、SDXL、Flux、ControlNet——它们的根都扎在这篇 2022 年的 CVPR 论文里。

2022 年 4 月,LDM 论文在 arxiv 上发布。同年 8 月,CompVis、Stability AI、Runway 合作把训好的模型作为 Stable Diffusion v1.4 公开发布——任何人可以在一张消费级 GPU 上跑、可以微调、可以商用。

这件事的影响巨大。在 Stable Diffusion 之前,AI 绘画是 OpenAI DALL-E、Google Imagen、Midjourney 这些闭源 API的特权。在它之后,一个完整的开源生态在几个月内长出来:

· ControlNet 让你能精确控制构图和姿势
· LoRA 让普通人能训练自己的画风模型
· SDXL、SD3、Flux 等后续模型不断把质量推向新高
· ComfyUI、Automatic1111 等工具让非技术用户也能玩

所有这些,都建立在 LDM 论文奠定的那个核心架构上:自编码器压缩 + 潜空间扩散 + Cross-Attention 条件

一篇 CVPR 论文 + 一次开源发布 =
把一个被锁在大公司手里的能力,
变成了人人可玩的开源生态
这就是为什么开源才是 AI 民主化的真正引擎。

— THE OPEN-SOURCE DISRUPTION

到这里,Transformer 系列三部曲就讲完了——Transformer 把序列建模从循环范式中解放,ViT 把这个解放扩展到视觉,LDM 把生成模型从像素牢笼中解放。三篇论文,三次"用更简单的方式做更难的事"。

下一集,我会接着讲计算机视觉的另一根脊梁——CS231n 的 CNN 讲义。看看在 Transformer 出现之前,神经网络是怎么征服视觉世界的。它的设计哲学和 ViT 是镜像:把"位置"作为强归纳偏置烧进结构里。两种哲学的对照,会让你对深度学习的演化看得更透。