LDM潜在扩散模型的探索

之前介绍了DDPM的稳定扩散模型理论基础。

https://blog.csdn.net/liliang199/article/details/156280004

LDM进一步将扩散过程从高维像素空间转移到低维潜在空间,提升计算效率保持生成质量。

这里尝试对LDM进行详细的理论分析和推导过程,所用示例参考和修改自网络资料。

LDM改进本质是表示学习与生成建模的分离,使大规模扩散模型训练成为可能。

感知压缩:通过自动编码器获得低维、语义丰富的潜空间。

高效扩散:在潜空间中学习数据分布,大幅降低计算成本。

条件集成:利用注意力机制实现灵活的条件控制。

1 动机与核心思想

1.1 DDPM局限性

DDPM 直接在像素空间进行前向扩散和反向去噪,面临如下问题

1)计算代价高

每个时间步需处理高维数据,尤其对高分辨率图像,如 512×512×3,参数量大,训练和推理慢。

2)信息冗余

图像包含大量高频细节(如纹理),扩散过程需对所有像素进行均匀处理,效率低下。

1.2 LDM方案

针对DDPM问题,LDM引入两阶段策略:

1)感知压缩

使用预训练的自动编码器(Autoencoder)将图像压缩到潜空间

其中,c为潜空间通道数。

2)潜空间扩散

在潜空间上执行扩散过程,利用潜空间的语义紧凑性,使扩散模型专注于高级语义信息。

2 LDM推导

2.1 符号定义

为理顺LDM推导过程,对用到的概念进行定义约束。

原始图像:

编码器:,将映射为潜变量

解码器:,重构图像

扩散时间步:

前向噪声调度:,定义

2.2 前向扩散

给定潜变量,前向过程定义为:

与 DDPM 相同,可直接计算任意时间步的分布:

重参数化:,其中

2.3 反向生成

反向过程从标准高斯噪声开始,逐步去噪:

与 DDPM 类似,固定方差,学习均值

通过重参数化,训练网络预测噪声

2.4 训练目标ELBO

损失函数为潜空间的去噪得分匹配:

其中:

  • 来自训练集

-

2.5 条件生成机制

LDM支持多种条件输入,如文本、类别、语义图。以文本条件为例,引入交叉注意力机制:

其中为条件编码器(如CLIP文本编码器)。

在 U-Net 的注意力层中,将 作为 Key 和 Value。

2.6 图像重建与生成

1)训练阶段

先独立训练自动编码器,通常采用感知损失+对抗损失;

然后固定训练潜扩散模型。

2)生成阶段

  1. 采样

  2. 执行步反向扩散得到

  3. 解码:

3 关键改进

3.1 计算效率分析

设像素空间维度,潜空间维度

通常压缩比,且 较小,比如c=4。

因此,

前向/反向传播的 FLOPs 减少约倍,这是因为卷积操作对于LDM作用于潜空间

附加好处就是内存占用降低,允许更大 batch size 或更高分辨率生成。

3.2 信息语义聚焦

在这里,自动编码器充当信息语义聚焦,主要表现为:

  • 编码器丢弃高频细节(纹理噪声),保留语义结构(形状、布局)。

  • 扩散过程在潜空间中学习更平滑的分布,避免像素级过拟合。

从理论角度尝试解释这一现象,图像分布可分解为:

其中为解码器引入的重构不确定性。

针对LDM,扩散模型只需学习潜先验,其维度更低、更易建模。

3.3 隐式正则化与生成质量

感知损失预训练,自动编码器使用感知损失如 LPIPS或对抗损失,确保潜空间对齐语义特征。

分离优化:扩散模型无需学习像素细节,专注于语义生成,提升了FID、CLIP-score等指标。

3.4 灵活的条件控制

从控制条件介入的角度看,将扩散过程从像素空间转移到潜空间,更便于注入条件信息。

主要在于:

1)U-Net 的多个分辨率层添加交叉注意力,实现细粒度控制。

2)条件信息在潜空间中直接影响语义变量,避免像素空间中的局部混乱。

3.5、LDM vs DDPM总结

LDM vs DDPM如下所示

方面 DDPM LDM
操作空间 像素空间(高维) 潜空间(低维)
计算复杂度
训练目标 像素噪声预测 潜变量噪声预测
条件机制 通常简单拼接 交叉注意力,多尺度融合
生成质量侧重 像素级保真度 语义一致性、整体结构
可扩展性 受限,高分辨率训练昂贵 易于扩展至高分辨率(如 Stable Diffusion)

4 推导补充

4.1 潜扩散变分下界

原始数据对数似然:

其中:

  • 为编码器分布(近似后验)。

  • 为潜先验,由扩散模型建模:

代入扩散模型的 ELBO,最终得到两阶段损失:

1)重构损失:

2)潜扩散损失:

4.2 噪声预测

反向过程的真实后验为高斯分布(已知 DDPM 推导):

代入,可得:

因此,预测等价于预测均值。

reference


一文读懂Stable Diffusion 论文原理+代码超详细解读

https://zhuanlan.zhihu.com/p/640545463

SD稳定扩散模型理论基础的探索

https://blog.csdn.net/liliang199/article/details/156280004

相关推荐
Mintopia2 小时前
容器化部署 Flux.1-dev 文生图模型应用 | 共绩算力
人工智能·llm·图片资源
Fabarta技术团队2 小时前
枫清科技出席AI4S创新论坛——生态共建,智驱AI+科研新体系
大数据·人工智能·科技
墨染天姬2 小时前
【AI】2025 个人知识库工具排名
人工智能
Biehmltym2 小时前
【AI】04AI Aent:十分钟跑通LangGraph项目:调用llm+agent开发+langSmith使用
java·人工智能·langchain·langgraph
正见TrueView2 小时前
智能手机惊变2025:固化的高端、流动的中场,与闯入门口的AI革命
人工智能·智能手机
Csvn2 小时前
🐫 Ollama 基础使用指南
人工智能·python
悟乙己2 小时前
LLM+数据可视化的终点?蚂蚁AntV 的AI新玩法:Text2Graph
人工智能·信息可视化·llm·数据可视化
SCBAiotAigc2 小时前
opencv-python学习笔记(一):画线、打开摄像头
人工智能·python·opencv
Sopaco2 小时前
从会话历史到智能记忆:Cortex Memory如何重新定义AI记忆系统
人工智能