DDPM推导与理解:从数学建模到实际应用

DDPM推导与理解:从数学建模到实际应用

0. 前置数学知识

在深入理解DDPM之前,我们需要掌握以下三个核心数学概念:

0.1 马尔科夫链(Markov Chain)

定义:马尔科夫链是一种随机过程,具有"无记忆性"——系统的下一个状态只依赖于当前状态,而与之前的状态无关。

数学表达
P ( X t + 1 = x t + 1 ∣ X t = x t , X t − 1 = x t − 1 , . . . , X 0 = x 0 ) = P ( X t + 1 = x t + 1 ∣ X t = x t ) P(X_{t+1} = x_{t+1} | X_t = x_t, X_{t-1} = x_{t-1}, ..., X_0 = x_0) = P(X_{t+1} = x_{t+1} | X_t = x_t) P(Xt+1=xt+1Xt=xt,Xt1=xt1,...,X0=x0)=P(Xt+1=xt+1Xt=xt)

在DDPM中的应用

  • 前向过程 q ( x t ∣ x t − 1 , x t − 2 , . . . , x 0 ) = q ( x t ∣ x t − 1 ) q(x_t|x_{t-1}, x_{t-2}, ..., x_0) = q(x_t|x_{t-1}) q(xtxt1,xt2,...,x0)=q(xtxt1)
  • 反向过程 p ( x t − 1 ∣ x t , x t + 1 , . . . , x T ) = p ( x t − 1 ∣ x t ) p(x_{t-1}|x_t, x_{t+1}, ..., x_T) = p(x_{t-1}|x_t) p(xt1xt,xt+1,...,xT)=p(xt1xt)

直观理解:就像天气预报,明天的天气只取决于今天的天气,而不需要考虑昨天或更早的天气情况。

0.2 贝叶斯公式(Bayes’ Theorem)

定义:贝叶斯公式描述了在已知某些条件下,如何更新事件发生的概率。

数学表达
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B) = \frac{P(B|A)P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)

在DDPM中的应用
反向过程需要计算 p ( x t − 1 ∣ x t ) p(x_{t-1}|x_t) p(xt1xt),通过贝叶斯公式可以从已知的前向过程 q ( x t ∣ x t − 1 ) q(x_t|x_{t-1}) q(xtxt1)推导出来:
p ( x t − 1 ∣ x t ) = q ( x t ∣ x t − 1 ) p ( x t − 1 ) q ( x t ) p(x_{t-1}|x_t) = \frac{q(x_t|x_{t-1})p(x_{t-1})}{q(x_t)} p(xt1xt)=q(xt)q(xtxt1)p(xt1)

直观理解:就像医生诊断,已知症状(结果)推断病因(原因)的概率。

0.3 正态分布(Normal Distribution)

定义:正态分布(高斯分布)是连续概率分布,由均值 μ \mu μ和方差 σ 2 \sigma^2 σ2决定。

数学表达
X ∼ N ( μ , σ 2 ) X \sim \mathcal{N}(\mu, \sigma^2) XN(μ,σ2)
f ( x ) = 1 2 π σ 2 e − ( x − μ ) 2 2 σ 2 f(x) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} f(x)=2πσ2 1e2σ2(xμ)2

关键性质

1. 对称性

  • 关于均值 μ \mu μ对称: f ( μ + x ) = f ( μ − x ) f(\mu + x) = f(\mu - x) f(μ+x)=f(μx)
  • 均值 = 中位数 = 众数

2. 68-95-99.7规则

  • 68.27%的数据落在 μ ± σ \mu \pm \sigma μ±σ范围内
  • 95.45%的数据落在 μ ± 2 σ \mu \pm 2\sigma μ±2σ范围内
  • 99.73%的数据落在 μ ± 3 σ \mu \pm 3\sigma μ±3σ范围内

3. 线性变换性质
X ∼ N ( μ , σ 2 ) X \sim \mathcal{N}(\mu, \sigma^2) XN(μ,σ2),则:

  • a X + b ∼ N ( a μ + b , a 2 σ 2 ) aX + b \sim \mathcal{N}(a\mu + b, a^2\sigma^2) aX+bN(aμ+b,a2σ2)
  • 特别地: X − μ σ ∼ N ( 0 , 1 ) \frac{X-\mu}{\sigma} \sim \mathcal{N}(0, 1) σXμN(0,1)(标准化)

4. 独立正态变量的线性组合

一般情况:若 X i ∼ N ( μ i , σ i 2 ) X_i \sim \mathcal{N}(\mu_i, \sigma_i^2) XiN(μi,σi2)且相互独立,则:
∑ i = 1 n a i X i ∼ N ( ∑ i = 1 n a i μ i , ∑ i = 1 n a i 2 σ i 2 ) \sum_{i=1}^n a_iX_i \sim \mathcal{N}(\sum_{i=1}^n a_i\mu_i, \sum_{i=1}^n a_i^2\sigma_i^2) i=1naiXiN(i=1naiμi,i=1nai2σi2)

二维特殊情况
X ∼ N ( μ 1 , σ 1 2 ) X \sim \mathcal{N}(\mu_1, \sigma_1^2) XN(μ1,σ12) Y ∼ N ( μ 2 , σ 2 2 ) Y \sim \mathcal{N}(\mu_2, \sigma_2^2) YN(μ2,σ22)且独立,则:
a X + b Y ∼ N ( a μ 1 + b μ 2 , a 2 σ 1 2 + b 2 σ 2 2 ) aX + bY \sim \mathcal{N}(a\mu_1 + b\mu_2, a^2\sigma_1^2 + b^2\sigma_2^2) aX+bYN(aμ1+bμ2,a2σ12+b2σ22)

重要推论

  • a = 1 , b = 1 a=1, b=1 a=1,b=1时: X + Y ∼ N ( μ 1 + μ 2 , σ 1 2 + σ 2 2 ) X + Y \sim \mathcal{N}(\mu_1 + \mu_2, \sigma_1^2 + \sigma_2^2) X+YN(μ1+μ2,σ12+σ22)
  • a = 1 , b = − 1 a=1, b=-1 a=1,b=1时: X − Y ∼ N ( μ 1 − μ 2 , σ 1 2 + σ 2 2 ) X - Y \sim \mathcal{N}(\mu_1 - \mu_2, \sigma_1^2 + \sigma_2^2) XYN(μ1μ2,σ12+σ22)
  • b = 0 b=0 b=0时: a X ∼ N ( a μ 1 , a 2 σ 1 2 ) aX \sim \mathcal{N}(a\mu_1, a^2\sigma_1^2) aXN(aμ1,a2σ12)(与线性变换性质一致)

在DDPM中的应用
重参数化技巧本质上是利用了这个性质:
x t = α ˉ t x 0 + 1 − α ˉ t ϵ x_t = \sqrt{\bar{\alpha}_t}x_0 + \sqrt{1-\bar{\alpha}_t}\epsilon xt=αˉt x0+1αˉt ϵ
可以看作是两个独立正态变量 α ˉ t x 0 \sqrt{\bar{\alpha}_t}x_0 αˉt x0 1 − α ˉ t ϵ \sqrt{1-\bar{\alpha}_t}\epsilon 1αˉt ϵ的线性组合。

5. 条件分布性质
对于联合正态分布,条件分布仍然是正态分布。

6. 中心极限定理
大量独立随机变量的和趋近于正态分布,这解释了为什么正态分布在自然界和工程中如此普遍。

在DDPM中的应用

前向过程

  • 每个时间步的转移概率都是正态分布
    q ( x t ∣ x t − 1 ) = N ( x t ; 1 − β t x t − 1 , β t I ) q(x_t|x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t}x_{t-1}, \beta_t I) q(xtxt1)=N(xt;1βt xt1,βtI)

反向过程

  • 神经网络学习的是正态分布的参数
    p θ ( x t − 1 ∣ x t ) = N ( x t − 1 ; μ θ ( x t , t ) , Σ θ ( x t , t ) ) p_\theta(x_{t-1}|x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t, t), \Sigma_\theta(x_t, t)) pθ(xt1xt)=N(xt1;μθ(xt,t),Σθ(xt,t))

重参数化技巧
利用正态分布的线性变换性质:
x t = α ˉ t x 0 + 1 − α ˉ t ϵ , ϵ ∼ N ( 0 , I ) x_t = \sqrt{\bar{\alpha}_t}x_0 + \sqrt{1-\bar{\alpha}_t}\epsilon, \quad \epsilon \sim \mathcal{N}(0, I) xt=αˉt x0+1αˉt ϵ,ϵN(0,I)

直观理解:正态分布就像测量误差,大多数值都围绕平均值分布,极端值很少出现。在DDPM中,噪声的添加和去除都遵循这种"温和"的变化模式,避免了剧烈的状态跳跃。

1. 概述

去噪扩散概率模型(DDPM, Denoising Diffusion Probabilistic Models)是一种基于概率论的生成模型,其核心思想是通过学习逆转一个逐步加噪的过程来生成数据。DDPM的发展遵循"理论指导实践"的经典路径:先建立数学框架,再设计训练算法,最终实现工程应用。

2. 数学建模:前向与反向过程

2.1 前向扩散过程(Forward Process)

前向过程是一个马尔可夫链,逐步将数据分布转换为标准高斯分布:

联合概率分布
q ( x 1 : T ∣ x 0 ) = ∏ t = 1 T q ( x t ∣ x t − 1 ) q(x_{1:T}|x_0) = \prod_{t=1}^T q(x_t|x_{t-1}) q(x1:Tx0)=t=1Tq(xtxt1)

单步转移概率
q ( x t ∣ x t − 1 ) = N ( x t ; 1 − β t x t − 1 , β t I ) q(x_t|x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t}x_{t-1}, \beta_t I) q(xtxt1)=N(xt;1βt xt1,βtI)

其中 β t \beta_t βt是预定义的噪声调度参数。

重参数化技巧
x t = α ˉ t x 0 + 1 − α ˉ t ϵ , ϵ ∼ N ( 0 , I ) x_t = \sqrt{\bar{\alpha}_t}x_0 + \sqrt{1-\bar{\alpha}_t}\epsilon, \quad \epsilon \sim \mathcal{N}(0, I) xt=αˉt x0+1αˉt ϵ,ϵN(0,I)

2.2 反向去噪过程(Reverse Process)

反向过程同样是一个马尔可夫链,从噪声逐步恢复原始数据:

联合概率分布
p θ ( x 0 : T ) = p ( x T ) ∏ t = 1 T p θ ( x t − 1 ∣ x t ) p_\theta(x_{0:T}) = p(x_T) \prod_{t=1}^T p_\theta(x_{t-1}|x_t) pθ(x0:T)=p(xT)t=1Tpθ(xt1xt)

单步转移概率
p θ ( x t − 1 ∣ x t ) = N ( x t − 1 ; μ θ ( x t , t ) , Σ θ ( x t , t ) ) p_\theta(x_{t-1}|x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t, t), \Sigma_\theta(x_t, t)) pθ(xt1xt)=N(xt1;μθ(xt,t),Σθ(xt,t))

3. 训练目标:变分下界

3.1 证据下界(ELBO)推导

由于直接最大化似然函数 log ⁡ p θ ( x 0 ) \log p_\theta(x_0) logpθ(x0)不可计算,我们转而最大化证据下界:

log ⁡ p θ ( x 0 ) ≥ E q [ log ⁡ p θ ( x 0 ∣ x 1 ) ] − D K L ( q ( x T ∣ x 0 ) ∣ ∣ p ( x T ) ) − ∑ t = 2 T D K L ( q ( x t − 1 ∣ x t , x 0 ) ∣ ∣ p θ ( x t − 1 ∣ x t ) ) \log p_\theta(x_0) \geq \mathbb{E}_q[\log p_\theta(x_0|x_1)] - D_{KL}(q(x_T|x_0) || p(x_T)) - \sum_{t=2}^T D_{KL}(q(x_{t-1}|x_t, x_0) || p_\theta(x_{t-1}|x_t)) logpθ(x0)Eq[logpθ(x0x1)]DKL(q(xTx0)∣∣p(xT))t=2TDKL(q(xt1xt,x0)∣∣pθ(xt1xt))

3.2 简化损失函数

通过数学推导,可以将ELBO简化为预测噪声的均方误差:

L s i m p l e = E x 0 , ϵ , t [ ∣ ∣ ϵ − ϵ θ ( x t , t ) ∣ ∣ 2 ] L_{simple} = \mathbb{E}_{x_0, \epsilon, t}[||\epsilon - \epsilon_\theta(x_t, t)||^2] Lsimple=Ex0,ϵ,t[∣∣ϵϵθ(xt,t)2]

4. ε_θ(x_t, t)的含义与理解

4.1 基本定义

ϵ θ ( x t , t ) \epsilon_\theta(x_t, t) ϵθ(xt,t)是一个噪声预测网络,其输入为:

  • 带噪声的图像 x t x_t xt:当前时间步的观测数据
  • 时间步 t t t:当前处于扩散过程的哪个阶段

输出为:

  • 预测的噪声 ϵ ^ \hat{\epsilon} ϵ^:网络认为添加到原始图像中的噪声

4.2 直观理解

想象你在看一张被雨滴模糊的窗户照片:

  • 输入:模糊的照片(带噪声的图像)+ 知道模糊程度(时间步)
  • 任务:判断哪些部分是雨滴造成的模糊(预测噪声)
  • 目的:擦掉雨滴恢复清晰照片(去噪)
阶段输入输出说明
训练干净图片x0训练好的模型参数让模型学会预测噪声
采样(生成图)纯高斯噪声图片xT生成图片x0一步步去噪,还原为清晰图片

4.3 数学表达

网络学习的目标是:
ϵ θ ( x t , t ) ≈ ϵ t r u e \epsilon_\theta(x_t, t) \approx \epsilon_{true} ϵθ(xt,t)ϵtrue

其中 ϵ t r u e \epsilon_{true} ϵtrue是实际添加到图像中的噪声。

5. 采样过程:从噪声到图像

5.1 生成过程

采样过程是从纯噪声生成图像的逆向过程:

  1. 初始化:从标准高斯分布采样 x T ∼ N ( 0 , I ) x_T \sim \mathcal{N}(0, I) xTN(0,I)
  2. 迭代去噪:对于 t = T , T − 1 , . . . , 1 t = T, T-1, ..., 1 t=T,T1,...,1
    • 预测噪声: ϵ ^ = ϵ θ ( x t , t ) \hat{\epsilon} = \epsilon_\theta(x_t, t) ϵ^=ϵθ(xt,t)
    • 计算均值: μ θ ( x t , t ) = 1 α t ( x t − 1 − α t 1 − α ˉ t ϵ ^ ) \mu_\theta(x_t, t) = \frac{1}{\sqrt{\alpha_t}}(x_t - \frac{1-\alpha_t}{\sqrt{1-\bar{\alpha}_t}}\hat{\epsilon}) μθ(xt,t)=αt 1(xt1αˉt 1αtϵ^)
    • 采样: x t − 1 ∼ N ( μ θ ( x t , t ) , Σ θ ( x t , t ) ) x_{t-1} \sim \mathcal{N}(\mu_\theta(x_t, t), \Sigma_\theta(x_t, t)) xt1N(μθ(xt,t),Σθ(xt,t))
  3. 输出结果:最终得到生成的图像 x 0 x_0 x0

5.2 随机性的来源

每次生成不同图像的原因:

  • 初始噪声 x T x_T xT的随机采样
  • 采样噪声:每步添加的随机噪声 z ∼ N ( 0 , I ) z \sim \mathcal{N}(0, I) zN(0,I)
  • 可控性:通过设置随机种子可复现结果

6. 发展历史:理论到实践的演进

6.1 时间线

年份里程碑贡献者核心贡献
2015扩散模型概念Sohl-Dickstein等提出扩散过程思想
2019数学框架完善Song等(斯坦福)系统化数学推导
2020DDPM模型Ho等(Google Brain)实用训练算法
2021+改进优化多个团队加速采样、条件生成

6.2 发展逻辑

DDPM的发展遵循"数学建模→理论验证→工程实现"的路径:

第一步:数学建模与理论推导先行

  • 灵感来源:最早的“扩散过程”其实是概率图模型(如score matching、SDEs等)和物理中的扩散理论,早在无监督学习领域就有类似思想。
  • 理论建模:DDPM的作者参考了无监督生成建模(比如变分自编码器VAE、GAN、score-based模型等)的思想,提出了“正向扩散+逆向去噪”的概率建模框架。
  • 推导公式:推导出前向过程(加噪声的马尔可夫链)、后向过程(逆向去噪)以及对应的训练目标和采样公式。

第二步:模型训练的可行性探索

  • 神经网络实现:理论上,逆扩散过程的条件概率分布难以精确建模,于是提出用神经网络(如U-Net)来近似预测噪声。
  • 训练实践:通过实验,发现用神经网络预测噪声(而不是直接预测像素、或重建均值)更容易训练、效果更好。
  • 损失函数选择:发现MSE噪声预测损失有很好的生成质量和收敛性。

第三步:理论与实践的不断反馈

  • 实验推动理论完善:实验中不断发现哪些公式、参数、网络结构效果更好,反过来优化理论推导和采样方式(比如DDIM、score-based diffusion、采样加速等)。
  • 理论启发新方法:理论上对马尔可夫链、SDE、score matching的深入理解,进一步催生了很多高效或变体的扩散模型。

7. 实际应用与启示

7.1 应用模式

模式特点适用场景
探索模式随机种子,每次生成不同创意生成、多样性测试
可控模式固定种子,结果可复现实验对比、参数调优
条件模式文本+种子控制可控内容生成

7.2 核心启示

DDPM的成功展示了:

  • 理论指导实践的重要性
  • 数学严谨性在AI研究中的价值
  • 从第一性原理出发的设计思路

8. 总结

DDPM的发展历程清晰地表明:伟大的AI模型始于深刻的数学洞察,成于巧妙的工程实现。数学建模提供了理论基础,训练可行性是理论的自然延伸,而非妥协。这种"理论先行"的研究范式,为后续生成模型的发展树立了典范。

通过理解DDPM的数学本质,我们不仅能更好地应用这一技术,更能学习其背后的科学方法论——用数学语言描述世界,用工程手段实现愿景。


参考:
1、Denoising Diffusion Probabilistic Models
2、DDPM和DDIM公式推导。(精简版)
3、[纯手撕、无PPT、大白话]从零推导diffusion_2_去噪过程
4、一个视频看懂扩散模型DDPM原理推导|AI绘画底层模型
5、大白话AI | 图像生成模型DDPM | 扩散模型 | 生成模型 | 概率扩散去噪生成模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值