Stable Diffusion 模型原理与本地部署实践
论文讲解
论文题目: High-Resolution Image Synthesis with Latent Diffusion Models(基于潜在扩散模型的高分辨率图像合成)
该论文被计算机视觉顶会 CVPR 2022 收录。Stable Diffusion (SD) 是一个基于 Latent Diffusion Models (LDMs) 的文图生成 (text-to-image) 模型。它建立在自注意力机制和扩散过程的基础上,设计灵感来自于在自然图像建模领域取得巨大成功的扩散过程模型。
背景介绍
在生成模型研究中,扩散过程模型和自注意力机制是两个备受关注的领域。扩散过程模型通过模拟随机过程的演化来生成图像;自注意力机制则能有效捕捉输入序列中不同位置之间的依赖关系。研究人员探索将两者结合以提高生成性能,Stable Diffusion 应运而生。
Stable Diffusion 的提出
Stable Diffusion 是一种基于扩散过程和自注意力机制的生成模型,旨在生成高质量图像。它采用一系列扩散步骤逐渐生成图像,每个步骤中模型预测图像的条件分布并生成下一个扩散步骤的输入。通过结合自注意力机制,SD 能够捕捉图像中不同位置的关联信息,生成更真实、细节丰富的图像。
Stable Diffusion 在图像生成领域的应用
SD 不仅用于生成高质量图像,还可应用于图像修复、超分辨率重建、图像合成等任务。其灵活的生成过程和强大的能力使其成为图像生成领域的重要成果。
模型框架
-
训练自编码模型 (AutoEncoder)
- 训练包含编码器和解码器的自编码模型。编码器将输入图像压缩成潜在表示 (latent representation),解码器将潜在表示解码回原始像素空间图像。
- 目的是将图像压缩到低维潜在表示空间,为后续 diffusion 操作做准备。
-
感知压缩 (Perceptual Compression)
- 利用训练好的自编码模型对图片进行压缩,转换到潜在表示空间。
- 在潜在表示空间上操作,称为感知压缩,因为它保留了重要图像特征。
-
潜在表示空间上的 diffusion 操作
- 在潜在表示空间上进行 diffusion 操作,过程与标准扩散模型类似。
- 具体实现为 time-conditional UNet,一种结合了时间条件信息的 UNet 结构。
图片感知压缩
图片感知压缩通过忽略高频信息、保留基础特征来实现高效压缩。这降低了模型训练和采样的计算复杂度,使模型能在较短时间内生成高质量图像。
- 方法原理:利用预训练的自编码模型(如 VAE)学习图像的潜在表示空间。该空间在感知上等同于图像空间但维度更低,保留了重要特征并忽略不重要的高频信息。
- 方法优势:只需训练一个通用的自编码模型即可应用于不同的扩散模型训练和图像生成任务。
- 训练过程:通常分两阶段。首先训练自编码器学习潜在表示空间,为避免异化,常采用 KL 正则化 (KL-reg) 和矢量量化正则化 (VQ-reg)。Stable Diffusion 主要采用 AutoencoderKL 实现。
潜在扩散模型
扩散模型可理解为时序去噪自编码器,目标是根据输入图像预测去噪后的变体或噪音。目标函数如下:

其中 $x_t$ 是模型预测的下一个时间步的图像,$x_{t-1}$ 是当前时间步的输入图像,$ε_t$ 是从均匀分布中采样得到的噪音。
在潜在扩散模型中,引入预训练的感知压缩模型(编码器 E 和解码器 D)。目标函数如下:















