Latent Diffusion:潜在扩散模型
定义
Latent Diffusion(潜在扩散模型,LDM)把扩散过程从高维的像素空间搬到低维的潜在空间(latent space):先用 VAE 把图像压缩成小的 latent 表示,在 latent 上做扩散/去噪,最后用 VAE 解码回像素。Stable Diffusion 就是 Latent Diffusion 的代表(Rombach et al., 2022)。
直观理解
直接在像素空间扩散太贵:一张 512×512 的图有约 26 万维,而像素间大量信息是冗余的(相邻像素高度相关)。
LDM 的核心观察是:感知上重要的「语义信息」可以压缩到一个很小的 latent。扩散模型只需要对「语义」建模,不需要逐像素建模。于是:
原图 → VAE 编码器 → 压缩 latent → 在 latent 中扩散/去噪 → 生成 latent → VAE 解码器 → 输出图片收益:
- 计算量骤降:高分辨率生成从「不可行」变成「可行」;
- 复用预训练 VAE:编解码与扩散解耦,各自独立训练;
- 条件注入自然:文本 prompt 通过编码器变成 embedding,用 cross-attention 注入网络。
公式推导
1. VAE 压缩
编码器把图像 映射到低维 latent:,解码器重建 ,latent 维度远小于像素维度。训练目标含重建损失 + 正则项,使 latent 空间规整(见 VAE)。
2. 在 latent 上做标准 DDPM
扩散过程与 DDPM 同构,只是把 换成 latent :
网络预测噪声 ,其中 是条件(如 CLIP 文本编码器)得到的 embedding。
3. 条件注入:cross-attention
文本 prompt 经文本编码器得到 ,通过 cross-attention 注入 U-Net 的每一层(作为 key/value,latent 作为 query)。这让网络在每个去噪尺度上都能「看到」文本语义。
4. 损失与采样
损失与 DDPM 同构,只是换成 latent:
采样时用 CFG 做引导,配合 DDIM 加速。生成出的 latent 经解码器 得到最终图像。