Denoising Diffusion Probabilistic Models (DDPM) 背景部分公式解析
1 反向过程 (Reverse Process) 的联合分布定义
p θ ( x 0 : T ) : = p ( x T ) ∏ t = 1 T p θ ( x t − 1 ∣ x t ) , p θ ( x t − 1 ∣ x t ) : = N ( x t − 1 ; μ θ ( x t , t ) , Σ θ ( x t , t ) ) (1) p_{\theta}(\mathbf{x}_{0:T}) := p(\mathbf{x}_{T})\prod_{t=1}^{T} p_{\theta}(\mathbf{x}_{t-1}\!\mid\!\mathbf{x}_{t}), \quad p_{\theta}(\mathbf{x}_{t-1}\!\mid\!\mathbf{x}_{t}) := \mathcal{N}(\mathbf{x}_{t-1}; \boldsymbol{\mu}_{\theta}(\mathbf{x}_{t}, t), \Sigma_{\theta}(\mathbf{x}_{t}, t)) \tag{1} pθ(x0:T):=p(xT)t=1∏Tpθ(xt−1∣xt),pθ(xt−1∣xt):=N(xt−1;μθ(xt,t),Σθ(xt,t))(1)
1.1 简介
这个公式定义了扩散模型的生成过程(或称反向过程)。它是一个马尔可夫链,从纯噪声 x T \mathbf{x}_T xT 开始,逐步去噪,最终生成数据 x 0 \mathbf{x}_0 x0。
- p θ ( x 0 : T ) p_{\theta}(\mathbf{x}_{0:T}) pθ(x0:T):这是从噪声 x T \mathbf{x}_T xT 到数据 x 0 \mathbf{x}_0 x0 的整个序列的联合概率分布。
- p ( x T ) = N ( x T ; 0 , I ) p(\mathbf{x}_{T}) = \mathcal{N}(\mathbf{x}_{T}; \mathbf{0}, \mathbf{I}) p(xT)=N(xT;0,I):这是链的起点。它被固定为标准高斯分布(均值为 0 0 0,方差为 I I I)。生成就是从这样一个简单的分布中采样一个随机噪声开始的。
- ∏ t = 1 T p θ ( x t − 1 ∣ x t ) \prod_{t=1}^{T} p_{\theta}(\mathbf{x}_{t-1}\!\mid\!\mathbf{x}_{t}) ∏t=1Tpθ(xt−1∣xt):联合分布被分解为一系列条件概率的乘积。这体现了马尔可夫性质:每一步 x t − 1 \mathbf{x}_{t-1} xt−1 的生成只依赖于上一步的状态 x t \mathbf{x}_{t} xt,而不依赖于更早的历史。
- p θ ( x t − 1 ∣ x t ) : = N ( x t − 1 ; μ θ ( x t , t ) , Σ θ ( x t , t ) ) p_{\theta}(\mathbf{x}_{t-1}\!\mid\!\mathbf{x}_{t}) := \mathcal{N}(\mathbf{x}_{t-1}; \boldsymbol{\mu}_{\theta}(\mathbf{x}_{t}, t), \Sigma_{\theta}(\mathbf{x}_{t}, t)) pθ(xt−1∣xt):=N(xt−1;μθ(xt,t),Σθ(xt,t)):这是反向过程的核心。每一步的转移核 (transition kernel) 是一个高斯分布。
- μ θ ( x t , t ) \boldsymbol{\mu}_{\theta}(\mathbf{x}_{t}, t) μθ(xt,t):高斯分布的均值。它是一个由神经网络(参数为 θ \theta θ)预测的函数,输入是当前噪声图像 x t \mathbf{x}_t xt 和当前时间步 t t t。
- Σ θ ( x t , t ) \Sigma_{\theta}(\mathbf{x}_{t}, t) Σθ(xt,t):高斯分布的方差。它同样可以由神经网络预测,但在后续的 DDPM 中,为了稳定性和简单性,通常被设置为与时间步 t t t 相关的常数。
1.2 分析
这个定义来源于最初的扩散模型工作。其核心思想是定义一个生成链,学习如何逐步从噪声中重构数据。这个公式是模型的生成蓝图。它描述了“如何从噪声生成图片”的完整过程。然而,这个蓝图最初是无效的,因为神经网络 μ θ \boldsymbol{\mu}_{\theta} μθ 和 Σ θ \Sigma_{\theta} Σθ 还不知道如何正确地去噪。训练模型的目的就是学习这两个函数,使得整个反向过程能够从噪声生成真实的数据分布。
2 前向过程 (Forward Process) 的固定分布
q ( x 1 : T ∣ x 0 ) : = ∏ t = 1 T q ( x t ∣ x t − 1 ) , q ( x t ∣ x t − 1 ) : = N ( x t ; 1 − β t x t − 1 , β t I ) (2) q(\mathbf{x}_{1:T} \!\mid\! \mathbf{x}_{0}) := \prod_{t=1}^{T} q(\mathbf{x}_{t} \!\mid\! \mathbf{x}_{t-1}), \qquad q(\mathbf{x}_{t} \!\mid\! \mathbf{x}_{t-1}) := \mathcal{N}\bigl(\mathbf{x}_{t};\, \sqrt{1-\beta_{t}}\,\mathbf{x}_{t-1},\, \beta_{t}\mathbf{I}\bigr) \tag{2} q(x1:T∣x0):=t=1∏Tq(xt∣xt−1),q(xt∣xt−1):=N(xt;1−βtxt−1,βtI)(2)
2.1 简介
这个公式定义了前向过程(或称扩散过程)。这是一个固定的(非学习的)、预先定义好的过程,它逐步向数据 x 0 \mathbf{x}_0 x0 添加高斯噪声,直到其变成纯噪声 x T \mathbf{x}_T xT。
- q ( x 1 : T ∣ x 0 ) q(\mathbf{x}_{1:T} \!\mid\! \mathbf{x}_{0}) q(x1:T∣x0):这是在给定原始数据 x 0 \mathbf{x}_0 x0 的条件下,所有中间噪声状态 x 1 , … , x T \mathbf{x}_1, \dots, \mathbf{x}_T x1,…,xT 的联合分布。
- ∏ t = 1 T q ( x t ∣ x t − 1 ) \prod_{t=1}^{T} q(\mathbf{x}_{t} \!\mid\! \mathbf{x}_{t-1}) ∏t=1Tq(x

最低0.47元/天 解锁文章
1256

被折叠的 条评论
为什么被折叠?



