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

相关推荐
冬奇Lab17 小时前
Workflow 系列(02):设计范式——四层架构、三种 Context 传递模式与确认门设计
人工智能·agent·工作流引擎
冬奇Lab17 小时前
每日一个开源项目(第145篇):Trellis - 把项目记忆、规范和任务上下文持久化进代码仓库
人工智能·开源·资讯
有道AI情报局17 小时前
Harness即产品
人工智能·agent
罗西的思考18 小时前
机器人 / 强化学习】HIL-SERL:人类在环驱动的具身智能进化框架
人工智能·算法·机器学习
IT_陈寒20 小时前
SpringBoot自动配置的坑,我的API突然就404了
前端·人工智能·后端
笃行35020 小时前
从零到上线:用 EdgeOne Makers + CodeBuddy 搭一个「对账核对员」AI Agent
人工智能
用户68563262086920 小时前
Claude Code 乱猜字段名?我给它写了一个"数据库查询约束 Skill"
人工智能
你_好20 小时前
# 给你的产品嵌入一个「会操作界面的 AI 助手」
人工智能
ShallWeL20 小时前
【机器学习】(3)—— 线性回归:梯度下降
人工智能·机器学习
陈广亮20 小时前
Prompt、Context、Harness、Agentic:LLM 应用四层嵌套结构,搞清自己卡在哪一层
人工智能