Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
  • 第4章:去噪扩散概率模型(DDPM)

第4章:去噪扩散概率模型(DDPM)

4.1 DDPM的原始论文与核心思想

4.1.1 原始论文背景

去噪扩散概率模型(Denoising Diffusion Probabilistic Models, DDPM)由Ho等人在2020年提出(论文《Denoising Diffusion Probabilistic Models》),是扩散模型发展史上的里程碑工作。该论文首次系统性地建立了基于马尔可夫链的扩散模型理论框架,并通过变分推断实现了高效训练。

4.1.2 核心思想概述

DDPM的核心思想包含两个对称过程:

  1. 前向扩散过程(Forward Process)
    通过固定方差的马尔可夫链逐步向数据添加高斯噪声,将复杂数据分布转化为简单的高斯分布。

    q(xt∣xt−1)=N(xt;1−βtxt−1,βtI)q(x_t|x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t}x_{t-1}, \beta_t\mathbf{I}) q(xt​∣xt−1​)=N(xt​;1−βt​​xt−1​,βt​I)

  2. 逆向去噪过程(Reverse Process)
    通过神经网络学习逐步去噪,从纯噪声中重建原始数据分布:

    pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),Σθ(xt,t))p_\theta(x_{t-1}|x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t,t), \Sigma_\theta(x_t,t)) pθ​(xt−1​∣xt​)=N(xt−1​;μθ​(xt​,t),Σθ​(xt​,t))

4.1.3 关键理论突破

  1. 重参数化技巧
    将噪声预测目标转化为对ϵθ(xt,t)\epsilon_\theta(x_t,t)ϵθ​(xt​,t)的预测,而非直接预测均值:

    # 伪代码示例:噪声预测网络
    def forward(self, x, t):
        # x: 带噪样本, t: 时间步
        return self.model(x, t)  # 输出预测噪声
    
  2. 简化损失函数
    采用加权MSE损失,重点关注高频细节:

    L=Et,x0,ϵ[∥ϵ−ϵθ(xt,t)∥2]\mathcal{L} = \mathbb{E}_{t,x_0,\epsilon}\left[\|\epsilon - \epsilon_\theta(x_t,t)\|^2\right] L=Et,x0​,ϵ​[∥ϵ−ϵθ​(xt​,t)∥2]

  3. 渐进式生成理论
    通过数百至数千步的微小更新保证生成质量,与GANs的单步生成形成对比。

4.1.4 与早期模型的区别

特性DDPMGANsVAEs
训练稳定性高低(模式坍塌)中等
生成质量极高高中等
采样速度慢(需多步)快(单步)快(单步)
理论可解释性强弱中等

4.1.5 案例研究:CIFAR-10生成

原始论文中DDPM在CIFAR-10上取得:

  • Inception Score (IS): 9.46
  • Fréchet Inception Distance (FID): 3.17
    (当时超越多数GANs模型)

DDPM生成流程示意图
图:DDPM的前向扩散与逆向去噪过程对比

数学补充:前向过程的闭式解
对于任意时间步ttt,可以直接计算xtx_txt​的分布:

q(xt∣x0)=N(xt;αˉtx0,(1−αˉt)I)q(x_t|x_0) = \mathcal{N}(x_t; \sqrt{\bar{\alpha}_t}x_0, (1-\bar{\alpha}_t)\mathbf{I}) q(xt​∣x0​)=N(xt​;αˉt​​x0​,(1−αˉt​)I)

其中αˉt=∏s=1t(1−βs)\bar{\alpha}_t = \prod_{s=1}^t(1-\beta_s)αˉt​=∏s=1t​(1−βs​)

Last Updated:: 5/28/25, 11:37 PM