网站建设分金手指专业一wordpress主题 洛米
网站建设分金手指专业一,wordpress主题 洛米,上海网站建设zj kt,wordpress英文版变中文版【DDPM 扩散模型】Part 7#xff1a;最后总结#xff01;Denoising Diffusion Probabilistic Models论文全维度详解这是整个扩散模型体系从「基础 → 全局」的总结。
希望这篇文章能够让你真正理解DDPM1. 模型总览
扩散模型包含两个过程#xff1a;
正向过程 (Forward Proce…【DDPM 扩散模型】Part 7最后总结Denoising Diffusion Probabilistic Models论文全维度详解这是整个扩散模型体系从「基础 → 全局」的总结。希望这篇文章能够让你真正理解DDPM1. 模型总览扩散模型包含两个过程正向过程 (Forward Process / Diffusion Process,qqq)固定规则的马尔可夫链逐渐向数据添加高斯噪声直至数据变成纯噪声。反向过程 (Reverse Process,pθp_\thetapθ)参数化的马尔可夫链训练神经网络去学习逆向去噪的概率分布从纯噪声还原数据。2. 正向过程 (Forward Process)正向过程被定义为一个固定的马尔可夫链。给定真实数据分布x0∼q(x0)x_0 \sim q(x_0)x0∼q(x0)我们在每一步添加少量高斯噪声。2.1 单步转移公式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−βtxt−1,βtI)xtx_txt当前时间步的图像变量。βt\beta_tβt方差调度参数 (Variance Schedule)。这是一个预先设定的超参数常数随ttt线性增加如10−4→0.0210^{-4} \to 0.0210−4→0.02。它决定了每一步加噪的幅度。1−βt\sqrt{1 - \beta_t}1−βt对上一步图像xt−1x_{t-1}xt−1的缩放系数。为了防止在不断加噪过程中数值爆炸必须衰减原始信号以保持方差稳定。N\mathcal{N}N表示高斯正态分布。2.2 任意步转移公式 (重参数化技巧)为了高效训练我们需要直接从x0x_0x0得到xtx_txt而不是循环ttt次。定义新变量αt1−βt\alpha_t 1 - \beta_tαt1−βtαˉt∏s1tαs\bar{\alpha}_t \prod_{s1}^t \alpha_sαˉt∏s1tαs(累积乘积)推导出的边缘分布公式为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;αˉtx0,(1−αˉt)I)采样形式用于代码实现xtαˉtx01−αˉtϵ,ϵ∼N(0,I)x_t \sqrt{\bar{\alpha}_t} x_0 \sqrt{1 - \bar{\alpha}_t} \epsilon, \quad \epsilon \sim \mathcal{N}(0, \mathbf{I})xtαˉtx01−αˉtϵ,ϵ∼N(0,I)αˉtx0\sqrt{\bar{\alpha}_t} x_0αˉtx0信号项。随着ttt增大αˉt→0\bar{\alpha}_t \to 0αˉt→0原始图像信息逐渐消失。1−αˉtϵ\sqrt{1 - \bar{\alpha}_t} \epsilon1−αˉtϵ噪声项。随着ttt增大系数趋向 1噪声主导图像。ϵ\epsilonϵ从标准正态分布采样的真实噪声这是后续训练的Target标签。3. 反向过程与后验分布 (Reverse Process)反向过程的目标是推断q(xt−1∣xt)q(x_{t-1} | x_t)q(xt−1∣xt)。由于我们无法直接求得q(xt−1∣xt)q(x_{t-1} | x_t)q(xt−1∣xt)需要遍历整个数据集我们使用神经网络pθp_\thetapθ来近似它。3.1 近似分布定义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))μθ(xt,t)\mu_\theta(x_t, t)μθ(xt,t)模型需要预测的均值核心学习目标。Σθ(xt,t)\Sigma_\theta(x_t, t)Σθ(xt,t)模型需要预测的方差。在 DDPM 论文中作者将其固定为常数σt2I\sigma_t^2 \mathbf{I}σt2I通常设为βtI\beta_t \mathbf{I}βtI不进行训练。3.2 真实的后验均值 (μ~t\tilde{\mu}_tμ~t)为了指导模型预测均值μθ\mu_\thetaμθ我们需要知道理论上的真实后验均值μ~t\tilde{\mu}_tμ~t是什么。利用贝叶斯公式q(xt−1∣xt,x0)q(x_{t-1} | x_t, x_0)q(xt−1∣xt,x0)可以推导出μ~t(xt,x0)1αt(xt−βt1−αˉtϵ)\tilde{\mu}_t(x_t, x_0) \frac{1}{\sqrt{\alpha_t}} \Big( x_t - \frac{\beta_t}{\sqrt{1 - \bar{\alpha}_t}} \epsilon \Big)μ~t(xt,x0)αt1(xt−1−αˉtβtϵ)这个公式表明如果我们知道xtx_txt和其中包含的噪声ϵ\epsilonϵ我们就能算出最佳的去噪方向回到xt−1x_{t-1}xt−1的中心。逻辑链真实反向均值μ~t\tilde{\mu}_tμ~t由xtx_txt和ϵ\epsilonϵ决定。模型输入是xtx_txt但不知道ϵ\epsilonϵ。因此模型的任务变成了预测xtx_txt中的噪声ϵ\epsilonϵ。4. 训练目标 (Training Objective)4.1 参数化选择根据 3.2 的推导我们将模型的均值μθ\mu_\thetaμθ参数化为μθ(xt,t)1αt(xt−βt1−αˉtϵθ(xt,t))\mu_\theta(x_t, t) \frac{1}{\sqrt{\alpha_t}} \Big( x_t - \frac{\beta_t}{\sqrt{1 - \bar{\alpha}_t}} \epsilon_\theta(x_t, t) \Big)μθ(xt,t)αt1(xt−1−αˉtβtϵθ(xt,t))ϵθ(xt,t)\epsilon_\theta(x_t, t)ϵθ(xt,t)这是神经网络的直接输出。网络接收xtx_txt和ttt输出一个与图像同维度的噪声预测图。θ\thetaθ神经网络U-Net的所有可学习参数权重和偏置。4.2 简化损失函数 (Simplified Loss)原始的变分下界 (ELBO) 包含复杂的 KL 散度项。论文证明通过上述参数化优化 KL 散度等价于优化预测噪声和真实噪声之间的均方误差 (MSE)Lsimple(θ)Et,x0,ϵ[∥ϵ−ϵθ(αˉtx01−αˉtϵ,t)∥2]L_{\text{simple}}(\theta) \mathbb{E}_{t, x_0, \epsilon} \Big[ \| \epsilon - \epsilon_\theta(\sqrt{\bar{\alpha}_t} x_0 \sqrt{1 - \bar{\alpha}_t} \epsilon, t) \|^2 \Big]Lsimple(θ)Et,x0,ϵ[∥ϵ−ϵθ(αˉtx01−αˉtϵ,t)∥2]ϵ\epsilonϵ正向过程中加入的真实噪声Ground Truth。ϵθ(...)\epsilon_\theta(...)ϵθ(...)模型根据脏图预测的噪声。优化过程梯度下降更新θ\thetaθ使ϵθ\epsilon_\thetaϵθ无限接近ϵ\epsilonϵ。5. 算法流程 (Algorithms)这是模型落地的具体步骤对应论文中的伪代码。5.1 训练算法 (Training)Repeat开始迭代训练。x0∼q(x0)x_0 \sim q(x_0)x0∼q(x0)从数据集中采样一张洁净图片。t∼Uniform({1,…,T})t \sim \text{Uniform}(\{1, \dots, T\})t∼Uniform({1,…,T})随机采样一个时间步例如t500t500t500。ϵ∼N(0,I)\epsilon \sim \mathcal{N}(0, \mathbf{I})ϵ∼N(0,I)采样一个标准高斯噪声。构造xtx_txt计算xtαˉtx01−αˉtϵx_t \sqrt{\bar{\alpha}_t}x_0 \sqrt{1-\bar{\alpha}_t}\epsilonxtαˉtx01−αˉtϵ。计算梯度计算损失∥ϵ−ϵθ(xt,t)∥2\| \epsilon - \epsilon_\theta(x_t, t) \|^2∥ϵ−ϵθ(xt,t)∥2关于θ\thetaθ的梯度。更新θ\thetaθ使用优化器如 Adam更新网络参数。Until converged直到 Loss 不再下降。5.2 采样算法 (Sampling / Inference)xT∼N(0,I)x_T \sim \mathcal{N}(0, \mathbf{I})xT∼N(0,I)从标准正态分布采样纯噪声。FortT,…,1t T, \dots, 1tT,…,1do从最后一步倒推。z∼N(0,I)z \sim \mathcal{N}(0, \mathbf{I})z∼N(0,I)采样随机噪声如果t1t1t1则z0z0z0。计算去噪步xt−11αt(xt−1−αt1−αˉtϵθ(xt,t))σtzx_{t-1} \frac{1}{\sqrt{\alpha_t}} \Big( x_t - \frac{1 - \alpha_t}{\sqrt{1 - \bar{\alpha}_t}} \epsilon_\theta(x_t, t) \Big) \sigma_t zxt−1αt1(xt−1−αˉt1−αtϵθ(xt,t))σtz前半部分大括号内基于预测噪声算出的后验均值μ~t\tilde{\mu}_tμ~t确定性部分。后半部分 (σtz\sigma_t zσtz)随机扰动项。模拟朗之万动力学 (Langevin Dynamics)增加多样性防止图像坍缩。End for。Returnx0x_0x0输出生成的图像。6. 网络架构 (Model Architecture)在实现中ϵθ\epsilon_\thetaϵθ具体由以下组件构成Backbone: U-Net输入xtx_txt(例如32×32×332 \times 32 \times 332×32×3)。输出ϵpred\epsilon_\text{pred}ϵpred(与输入同尺寸32×32×332 \times 32 \times 332×32×3)。结构包含下采样Downsampling提取特征瓶颈层Bottleneck处理语义上采样Upsampling恢复分辨率。Time Embedding (位置编码)问题U-Net 共享权重必须知道当前处理的是ttt是多少。解决使用 Transformer 中的正弦位置编码 (Sinusoidal Embedding) 将标量ttt映射为向量通过 MLP 处理后加到 U-Net 的每个残差块 (Residual Block) 中。Self-Attention (自注意力)位置通常在 U-Net 的低分辨率层如16×1616 \times 1616×16特征图处。目的捕捉长距离依赖Global Context解决卷积核感受野有限的问题。7. 符号公式完整对照表符号定义/公式含义与备注x0x_0x0Data真实数据原图。xTx_TxTN(0,I)\mathcal{N}(0, \mathbf{I})N(0,I)纯高斯噪声正向过程的终点反向过程的起点。xtx_txtLatent第ttt步的潜变量含噪图像。ϵ\epsilonϵNoise真实噪声。训练时的 Target服从N(0,I)\mathcal{N}(0, \mathbf{I})N(0,I)。ϵθ\epsilon_\thetaϵθFunction预测噪声。神经网络的输出依赖于输入xt,tx_t, txt,t和参数θ\thetaθ。θ\thetaθParameters神经网络U-Net的所有权重和偏置。βt\beta_tβtHyperparameter方差调度。控制每一步加噪的量。常数线性增加。αt\alpha_tαt1−βt1 - \beta_t1−βt单步保留原始信息的比例。αˉt\bar{\alpha}_tαˉt∏s1tαs\prod_{s1}^t \alpha_s∏s1tαs累积保留比例。用于一步计算xtx_txt。q(xt∣x0)q(x_t|x_0)q(xt∣x0)Distribution正向扩散分布。根据αˉt\bar{\alpha}_tαˉt直接定义的分布。pθ(xt−1∣xt)p_\theta(x_{t-1}|x_t)pθ(xt−1∣xt)Distribution反向生成分布。模型试图拟合的目标分布。μ~t\tilde{\mu}_tμ~tFormula真实后验均值。已知x0x_0x0时xt−1x_{t-1}xt−1的理论最佳中心。μθ\mu_\thetaμθFormula预测均值。模型通过预测ϵθ\epsilon_\thetaϵθ间接计算出的xt−1x_{t-1}xt−1中心。σt\sigma_tσt/Σ\SigmaΣFormula反向过程的方差。DDPM 中固定为βt\beta_tβt或β~t\tilde{\beta}_tβ~t。TTTConstant扩散总步数通常为 1000。MSELossMean Squared Error均方误差。LsimpleL_{\text{simple}}Lsimple的计算方式。祝你天天开心我将更新更多有意思的内容欢迎关注最后更新2025年12月作者Echo