Stable Diffusion潜在扩散模型架构
Stable Diffusion是潜在扩散模型的成功代表。请解释其架构设计,包括VAE编码器/解码器、U-Net去噪器、CLIP文本编码器的协作机制。
回答
小字辈
Stable Diffusion(SD)由Stability AI于2022年发布,基于潜在扩散模型(Latent Diffusion Model, LDM),在消费级GPU上即可运行。
核心思想:在潜在空间(Latent Space)而非像素空间进行扩散过程,大幅降低计算复杂度。
三组件架构:
1. VAE编码器/解码器:
- 感知压缩:将512×512×3的高分辨率图像压缩为64×64×4的潜在表示(压缩因子约48×)。
- VAE编码器E:图像x → 潜码z = E(x)。
- VAE解码器D:潜码z → 重建图像x' = D(z)。
- 潜码z的分布被正则化为标准正态分布(KL损失)。
- 在潜空间进行扩散,每个位置对应像素空间的一个小块,语义信息丰富。
2. U-Net去噪器ε_θ:
- 在潜空间中进行扩散和去噪。
- 架构类似DDPM的U-Net,但加入交叉注意力(Cross-Attention)层。
- 输入:带噪潜码z_t + 时间步t。
- 条件输入:通过交叉注意力接收文本/图像条件的嵌入。
- 输出:预测的噪声ε_θ(z_t, t, condition)。
3. 条件注入——以文本到图像为例:
- 使用CLIP文本编码器将文本提示转换为文本嵌入(77×768)。
- 文本嵌入通过U-Net中的交叉注意力层注入:
Attention(Q, K, V) = softmax(Q·K^T/√d)·V
- Q来自U-Net的中间特征图。
- K和V来自文本嵌入(经过线性投影)。
- 交叉注意力使去噪过程能够根据文本语义引导生成。
训练流程:
- 冻结VAE编码器/解码器(预训练的)。
- 在潜空间训练U-Net:预测噪声ε,损失为||ε - ε_θ(z_t, t, text_emb)||²。
- 条件概率由两部分组成:q(z_t|z_0, t) + p_θ(z_{t-1}|z_t, text_emb)。
推理流程:
- 从纯噪声z_T ~ N(0,I)开始。
- U-Net逐步去噪(DDIM或DDPM采样)。
- VAE解码器D将最终的潜码z_0解码为像素图像。
优势:潜空间维度低(64×64),计算效率高,单张512×512图像在4GB VRAM上即可快速生成。