Stable Diffusion 模型原理与部署实战
Stable Diffusion(简称 SD)是一个基于潜在扩散模型(Latent Diffusion Models, LDMs)的文图生成模型。它建立在自注意力机制和扩散过程的基础上,旨在生成高质量的图像。
论文核心解析
本文参考的论文为 High-Resolution Image Synthesis with Latent Diffusion Models,发表于计算机视觉顶会 CVPR 2022。
背景与动机
在生成模型研究中,扩散过程模型通过模拟随机过程的演化来生成图像,而自注意力机制则能有效捕捉序列中的依赖关系。Stable Diffusion 将两者结合,利用扩散步骤逐渐从噪声中恢复图像细节,同时借助自注意力机制增强图像不同位置间的关联信息。
核心架构
-
训练自编码模型(AutoEncoder)
- 编码器负责将输入图像压缩成低维潜在表示(latent representation),解码器则将其还原为像素空间图像。
- 这一步是为了降低计算复杂度,将操作转移到潜在空间进行。
-
感知压缩(Perceptual Compression)
- 利用预训练的自编码模型对图片进行压缩,转换到潜在表示空间。
- 这种方法保留了重要特征,忽略了高频噪声,大幅降低了训练和采样的成本。
-
潜在表示空间上的 Diffusion 操作
- 在潜在空间执行类似标准扩散模型的流程。
- 具体实现采用 time-conditional UNet,结合时间条件信息进行图像生成。
目标函数
扩散模型可视为时序去噪自编码器,目标是预测输入图像的噪音版本。在潜在扩散模型中,引入预训练的感知压缩模型(编码器 E 和解码器 D),使得模型能在潜在表示空间中学习:

其中 $x_t$ 是模型预测的下一个时间步图像,$\epsilon_t$ 为采样得到的噪音。
条件机制
为了控制图片合成,论文提出了拓展的条件时序去噪自编码器。通过在 UNet 主干网络上增加 cross-attention 机制,模型能重点关注与条件变量(如文本、类别)相关的信息。领域专用编码器将不同模态的条件映射为统一中间表示,从而支持文本生成图像等多种任务。
实验效果
模型在不同数据集(CelebAHQ、FFHQ、LSUN 等)上训练后,均能生成高分辨率样本。下采样因子 $f$ 的选择直接影响感知压缩程度与生成质量之间的平衡。


环境搭建与部署
本地部署 Stable Diffusion WebUI 是上手最快的方式。建议配置具备独立显卡的电脑,显存 6GB 以上运行体验更佳。






