Stable Diffusion 全链路深度解析:从潜空间到语义生成
一、 整体架构总览:降维打击与模态融合
Stable Diffusion 的核心思想是将扩散过程从高维的像素空间 (Pixel Space) 转移到低维的潜空间 (Latent Space)。这种做法不仅大幅降低了计算成本,还通过解耦“感知压缩”与“语义生成”,提高了生成质量。
整个训练通路可以抽象为:
-
感知压缩器 (VAE):负责将图像
压缩为隐向量 ,或将 反推回图像。 -
语义编码器 (CLIP):负责将文本提示词
映射为 U-Net 能理解的特征向量。 -
生成引擎 (U-Net):在潜空间中进行条件扩散过程,学习预测噪声。
二、 组件一:VAE——空间的感知压缩
VAE 在 SD 中充当“空间翻译官”。它通过自编码结构学习图像的低维表示。
1. 数学定义与映射
-
编码器
:将图像 映射到潜空间 。在 SD 中, ,下采样倍数通常为 8(即 )。 -
解码器
:将潜变量映射回像素空间 。
2. 训练目标(变分下界与正则化)
VAE 的训练不仅仅是 MSE 损失,它包含了一个正则化项以确保潜空间
-
KL 正则化:确保
接近标准正态分布,防止潜空间出现过于稀疏的“空洞”,这对后续扩散模型的采样至关重要。 -
感知损失 (Perceptual Loss):在 SD 的 VAE 训练中,还会加入 LPIPS 或 GAN Loss 来保证重建图像的视觉清晰度(而非仅仅是像素对齐)。
三、 组件二:CLIP——语义的桥梁
为了实现“文生图”,我们需要一个能同时理解图像和文本的模型。OpenAI 的 CLIP (Contrastive Language-Image Pre-training) 提供了这一能力。
1. 对比学习推导
CLIP 通过大规模对(图像
训练目标是最大化对角线上的相似度:
直觉解释:这一损失函数的核心思想是”匹配的对应该更相似”。对于每个样本
是温度参数,控制 softmax 的锐度 是余弦相似度函数 - 分母是对所有文本的相似度求和,体现对比学习的”对比”特性
2. 在 SD 中的应用
在 Stable Diffusion 推理时,我们冻结 CLIP 的 Text Encoder(通常是 ViT-L/14 的一部分)。文本
CLIP 的核心作用:
- 语义对齐:将文本中的抽象语义(如”一只在睡觉的猫”)映射到图像特征空间
- 零样本迁移:预训练好的 CLIP 可以理解任意文本描述,无须针对特定类别微调
- 条件信息提取:CLIP 提取的文本特征
包含丰富的语义信息,可引导 U-Net 生成对应的视觉内容
四、 组件三:U-Net 与 Cross-Attention 核心逻辑
SD 使用的 U-Net 是一个带有空间变压器 (Spatial Transformer) 的增强版本,它是实现噪声预测的主体。
1. U-Net 结构组成
-
ResNet Blocks:处理潜空间特征图的局部纹理。
-
Spatial Transformer Blocks:包含 Self-Attention 和 Cross-Attention,处理全局依赖和外部条件。
2. Cross-Attention 的数学细节
这是文本引导图像生成的关键。在 U-Net 的中间层,潜特征
- 物理意义:注意力图(Attention Map)决定了文本中的哪个单词(如“猫”)应该对应潜特征图中的哪个空间位置。通过这种方式,文本语义被“注入”到了潜空间的去噪过程中。
五、 整体训练通路:全链路数学推导
现在我们将上述组件串联,描述 Stable Diffusion 的训练全过程。
1. 前向扩散(像素到潜空间的退化)
给定训练图像
随后根据 DDPM 的加噪公式,在时间步
2. 预测与损失函数(目标优化)
U-Net 网络
其训练目标是预测注入的噪声
详细步骤拆解:
-
采样图像
。 -
编码图像:
。 -
采样时间步:
。 -
生成噪声:
。 -
前向加噪:计算
(利用重参数化技巧)。 -
编码文本:
。 -
前向传播:
。 -
反向传播:更新 U-Net 参数
。
六、 推理/采样通路:无分类器引导 (CFG)
在推理时,我们需要从纯噪声
1. CFG 的数学推导
为了增强文本的一致性,使用 Classifier-Free Guidance (CFG)。其核心思想是:在无条件和有条件之间进行线性插值,以增强条件信号同时保留一定的多样性。
- 其中
是引导强度(Guidance Scale),通常在 之间 是空字符串的 CLIP 编码(对应无条件生成) - 当
时,退化为普通条件预测; 越大,条件引导越强
直觉:CFG 本质上是在估计条件梯度
2. 采样流程
经过
Algorithm: Stable Diffusion Sampling
- 初始化:
- 文本编码:
- 迭代去噪:对
: - 预测噪声:
- CFG 修正:
- 更新:
- 预测噪声:
- 解码:
七、 总结:Stable Diffusion 的严谨定义
Stable Diffusion 是一个基于潜空间扩散的生成模型。它利用 VAE 实现感知压缩,解决计算开销问题;利用 CLIP 实现多模态对齐,解决控制问题;利用 U-Net 的 Cross-Attention 机制在低维潜空间内执行受条件的去噪逆过程。其本质是在概率分布的对数梯度(Score Function)引导下,从高斯分布向特定语义分布的映射。