文本编码器
文本先被分词并编码为条件序列。Stable Diffusion 2.1 使用 OpenCLIP ViT/H 文本编码器,U-Net 中的 Cross-Attention(交叉注意力)在每个去噪阶段读取这些条件特征。
SHELF 01 / STABLE DIFFUSION · 2026
Stable Diffusion 是 Latent Diffusion Model(潜空间扩散模型,简称 LDM)的代表系统。 它把文本条件、潜空间自编码器和扩散去噪网络拼成一条可运行的生成链,本页重点理解为何这样组合、SD 2.1 的关键配置,以及训练与推理各自发生了什么。
01 / WHY LATENT DIFFUSION
早期扩散模型通常直接在像素空间运行。高分辨率图像会让每一次 U-Net 前向都很昂贵,而采样又要重复许多步。 Latent Diffusion 的思路是先用预训练自编码器去掉对感知质量不那么重要的像素冗余,再只在压缩后的 latent 上学习去噪。原论文把这件事描述为在计算复杂度与细节保留之间寻找更好的工作点。
VAE 的编码器将图像 x 映射为 latent z,扩散模型学习的是 p(z) 而不是直接学习 p(x)。 这样可以显著降低空间尺寸与扩散网络的计算量;随后 VAE Decoder 把去噪后的 latent 还原为图像。代价是 VAE 的重建误差会成为系统质量上限的一部分,因此编码器、解码器和扩散模型必须一起考虑。
02 / SYSTEM MAP
扩散理论说明如何从噪声恢复数据分布,Stable Diffusion 则补齐了一个可控系统所需的条件输入、低维表示和图像输出。 下面的分层也解释了为什么换 checkpoint、VAE、文本编码器或采样器都可能改变结果。
文本先被分词并编码为条件序列。Stable Diffusion 2.1 使用 OpenCLIP ViT/H 文本编码器,U-Net 中的 Cross-Attention(交叉注意力)在每个去噪阶段读取这些条件特征。
U-Net 使用下采样、瓶颈、上采样和 skip connection 组合全局结构与局部细节。时间步嵌入告诉网络当前噪声强度,文本条件决定它应朝哪一种语义结构去恢复。
Variational Autoencoder(变分自编码器,简称 VAE)负责图像与 latent 的双向转换。训练时它提供被加噪的 latent,推理时 Decoder 决定最终 RGB 图像的颜色、纹理与重建细节。
03 / TRAINING & SAMPLING
在训练阶段,图像首先经 VAE Encoder 得到干净 latent z₀;系统随机采样时间步与高斯噪声,构造带噪 latent zₜ;U-Net 接收 zₜ、时间步和文本条件,学习预测噪声、干净样本或速度。推理阶段则从随机噪声开始,用同一参数化和调度器反复更新。
VAE Encoder 将图像映射到潜空间
随机时间步与噪声构造训练样本
读取文本条件并预测去噪目标
调度器迭代更新,最后由 VAE 解码
ε̂ = εᵤ + s · (ε𝚌 − εᵤ)Classifier-Free Guidance(无分类器引导,简称 CFG)把无条件预测 εᵤ 与文本条件预测 ε𝚌 线性组合。引导尺度 s 增大通常会加强提示词约束,但也可能造成过饱和、细节失真或多样性下降。
vₜ = √ᾱₜ ε − √(1 − ᾱₜ) z₀v-prediction(速度参数化)将噪声与干净 latent 组合为训练目标。SD 2 系列的模型配置采用该参数化,因此推理时需要匹配 scheduler 与模型配置,不能直接照搬 SD 1.x 的习惯设置。
04 / SD 2.1 AS A CASE
SD 2.1 不是只换了一组权重。模型卡记录了其 768 级别路线、OpenCLIP ViT/H 文本编码器、v-prediction 配置以及经过过滤的 LAION-5B 图文数据子集。它提醒我们:模型架构、训练数据、文本编码器和推理配置共同决定输出,不应只以 checkpoint 名称判断兼容性。
SD 2.1 的文本编码器与 SD 1.x 不同。LoRA、文本反演或 ControlNet 等附加组件必须确认它们依赖的基座与文本编码器,不能只看文件扩展名。
模型卡中的数据过滤、审美评分与安全策略属于模型能力的一部分。它们会影响可生成内容、提示词表现和潜在偏差,使用或再训练前都应回到原始资料核对。
同一个模型的输出会随 sampler、steps、CFG、seed 和分辨率变化。比较版本时,应固定这些条件再看语义、构图与细节,而不是只比较单张样图。
模型名称、训练数据和运行参数可能随着版本变化。此页的技术解释用于建立阅读路径,具体权重许可、数据使用和支持配置应以对应版本的模型卡与官方文档为准。