张芷铭的个人博客

扩散模型学习路线分为四个阶段:基础入门 → 理论深化 → 进阶模型 → 应用实践,涵盖从 DDPM 到 Stable Diffusion 的完整知识体系。

学习路线总览

阶段学习目标关键内容推荐资源
基础入门理解基本概念与流程扩散过程/逆过程、DDPM、U-Net 结构、损失函数DDPM 原始论文、苏剑林博客
理论深化掌握数学原理与改进模型贝叶斯推导、ELBO 优化、DDIM 加速、SDE/ODE 统一视角宋飏 SDE 论文、DDIM 论文
进阶模型学习现代高效架构Latent Diffusion、Rectified Flow、Consistency ModelsStable Diffusion 论文、Rectified Flow 论文
应用实践实现图像生成与编辑条件生成、ControlNet、LoRA 微调、多模态应用Hugging Face Diffusers 库

核心理论要点

基础概念

  • 前向过程:数据 $x_0$ 通过逐步添加高斯噪声被破坏为纯噪声 $x_T$,每一步服从 $q(x_t|x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t} x_{t-1}, \beta_t I)$
  • 反向过程:学习条件概率 $p_\theta(x_{t-1}|x_t)$ 逐步从噪声中恢复数据
  • 训练目标:$L_{\text{simple}}(\theta) = \mathbb{E} \left[ | \epsilon - \epsilon_\theta( \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1-\bar{\alpha}_t} \epsilon, t ) |^2 \right]$

关键数学模型

  • ELBO 优化:通过最大化 ELBO 近似数据似然,推导出可训练的损失函数
  • 贝叶斯推导:逆过程条件概率 $q(x_{t-1}|x_t, x_0)$ 的闭式解为高斯分布
  • 噪声调度:参数 $\beta_t$ 控制噪声添加节奏,影响训练稳定性和生成质量

理论扩展

  • DDIM:将扩散过程视为非马尔可夫链,通过隐式模型加速采样
  • SDE/ODE 视角:将扩散模型统一为随机微分方程的解,逆过程对应确定性 ODE 求解
  • 流匹配:直接学习从噪声到数据的确定性路径,简化训练并提升生成速度

工程实践指南

代码实战入门

  • 基础实现:使用 PyTorch 或 JAX 复现 DDPM,重点理解噪声预测网络的前向-反向过程
  • 推荐项目
    • Hugging Face 的 2 小时动手学习扩散模型 课程
    • DDPM 官方代码(PyTorch/JAX 版)

现代框架应用

  • Stable Diffusion:潜在扩散模型(Latent Diffusion),在隐空间进行扩散以降低计算成本
  • 控制生成技术:集成 ControlNet、IP-Adapter 等工具实现空间约束和多模态生成
  • 加速推理:应用 DDIM 采样、DPM-Solver 或知识蒸馏提升生成速度

实战技巧

  • 超参数调优:注意力机制配置、学习率调度、噪声策略(如 v-prediction)对生成质量至关重要
  • 损失函数设计:除噪声预测外,可引入感知损失、对抗损失提升视觉保真度
  • 评估指标:使用 FID、IS 等客观指标,结合人工评估生成效果

优质资源推荐

类型资源名称特点
论文DDPM扩散模型奠基之作
论文Score-Based SDE统一扩散与分数匹配
论文Rectified Flow直线生成路径简化模型
课程/博客苏剑林《生成扩散模型漫谈》中文推导详细,适合入门
课程/博客普渡大学扩散模型教程适合初学者构建知识体系
代码库Hugging Face Diffusers预训练模型丰富,接口简单
代码库Stability AI Stable Diffusion工业级开源模型

学习建议

  1. 循序渐进:从 DDPM 出发,确保理解基础再学习 SDE、Flow 等高级主题
  2. 理论代码结合:阅读论文时同步运行代码,通过调试理解变量流向与数学公式的对应关系
  3. 参与社区:关注 Hugging Face、GitHub 最新项目,参与开源贡献以提升实践能力

Comments