Denoising Diffusion Probabilistic Models (DDPM) 论文学习记录

Denoising Diffusion Probabilistic Models (DDPM)

1. 标题与摘要

1.1 核心信息

  • 标题:去噪扩散概率模型
  • 作者:Jonathan Ho, Ajay Jain, Pieter Abbeel (UC Berkeley)
  • 代码:https://github.com/hojonathanho/diffusion

1.2 核心贡献

  1. 理论创新
    • 建立扩散模型与去噪得分匹配(Denoising Score Matching)和Langevin动力学的等价性。
    • 提出加权变分下界目标函数(§3.4)。
  2. 性能突破
    • CIFAR10:Inception Score 9.46,FID 3.17(无条件生成SOTA)。
    • 256×256 LSUN:样本质量媲美ProgressiveGAN。
  3. 新视角
    • 扩散采样过程可解释为渐进有损解压(Progressive Lossy Decompression),泛化自回归解码。

2. 引言

2.1 生成模型背景

  • 现有模型(GANs/VAEs/自回归/流模型)在图像合成上取得进展,但扩散模型此前未证明能生成高质量样本

2.2 扩散模型定义

  • 前向过程(扩散过程)
    q ( x 1 : T ∣ x 0 ) : = ∏ t = 1 T N ( x t ; 1 − β t x t − 1 , β t I ) q(\mathbf{x}_{1:T}|\mathbf{x}_{0}) := \prod_{t=1}^{T} \mathcal{N}(\mathbf{x}_{t}; \sqrt{1-\beta_{t}} \mathbf{x}_{t-1}, \beta_{t} \mathbf{I}) q(x1:Tx0):=t=1TN(xt;1βt xt1,βtI)
    逐步添加高斯噪声(方差表 β 1 : T \beta_{1:T} β1:T 固定或可学)。
  • 反向过程
    p θ ( x 0 : T ) : = p ( x T ) ∏ t = 1 T N ( x t − 1 ; μ θ ( x t , t ) , Σ θ ( x t , t ) ) p_{\theta}(\mathbf{x}_{0:T}) := p(\mathbf{x}_{T}) \prod_{t=1}^{T} \mathcal{N}(\mathbf{x}_{t-1}; \boldsymbol{\mu}_{\theta}(\mathbf{x}_{t}, t), \Sigma_{\theta}(\mathbf{x}_{t}, t)) pθ(x0:T):=p(xT)t=1TN(xt1;μθ(xt,t),Σθ(xt,t))
    学习从噪声重建数据的马尔可夫链。

2.3 本文贡献

  • 首次证明扩散模型可生成高质量样本(优于部分已有模型)。
  • 关键发现:通过 ϵ \epsilon ϵ-预测参数化,建立与去噪得分匹配的显式联系(§3.2)。

在这里插入图片描述
在这里插入图片描述


3. 背景

公式解析

3.1 数学框架

符号 定义
x 0 \mathbf{x}_{0} x0 原始数据
x 1 : T \mathbf{x}_{1:T} x1:T 隐变量(同维噪声)
q ( x t ∣ x t − 1 ) q(\mathbf{x}_{t}|\mathbf{x}_{t-1}) q(xtxt1) 前向转移(加噪)
p θ ( x t − 1 ∣ x t ) p_{\theta}(\mathbf{x}_{t-1}|\mathbf{x}_{t}) pθ(xt1xt) 反向转移(去噪)

3.2 训练目标

优化变分下界(ELBO):
E [ − log ⁡ p θ ( x 0 ) ] ≤ E q [ − log ⁡ p θ ( x 0 : T ) q ( x 1 : T ∣ x 0 ) ] = : L \mathbb{E}[-\log p_{\theta}(\mathbf{x}_{0})] \leq \mathbb{E}_{q} \left[ -\log \frac{p_{\theta}(\mathbf{x}_{0:T})}{q(\mathbf{x}_{1:T}|\mathbf{x}_{0})} \right] =: L E[logpθ(x0)]Eq[logq(x1:Tx0)pθ(x0:T)]=:L
方差缩减形式
L = E q [ D KL ( q ( x T ∣ x 0 ) ∥ p ( x T ) ) ⏟ L T + ∑ t > 1 D KL ( q ( x t − 1 ∣ x t , x 0 ) ∥ p θ ( x t − 1 ∣ x t ) ) ⏟ L t − 1 − log ⁡ p θ ( x 0 ∣ x 1 ) ⏟ L 0 ] L = \mathbb{E}_{q} \left[ \underbrace{D_{\text{KL}}(q(\mathbf{x}_{T}|\mathbf{x}_{0}) \parallel p(\mathbf{x}_{T}))}_{L_{T}} + \sum_{t>1} \underbrace{D_{\text{KL}}(q(\mathbf{x}_{t-1}|\mathbf{x}_{t}, \mathbf{x}_{0}) \parallel p_{\theta}(\mathbf{x}_{t-1}|\mathbf{x}_{t}))}_{L_{t-1}} - \underbrace{\log p_{\theta}(\mathbf{x}_{0}|\mathbf{x}_{1})}_{L_{0}} \right] L=Eq LT DKL(q(xTx0)p(xT))+t>1Lt1 DKL(q(xt1xt,x0)pθ(xt1xt))L0 logpθ(x0x1)

3.3 闭式性质

前向过程任意步采样:
q ( x t ∣ x 0 ) = N ( x t ; α ˉ t x 0 , ( 1 − α ˉ t ) I ) q(\mathbf{x}_{t}|\mathbf{x}_{0}) = \mathcal{N}(\mathbf{x}_{t}; \sqrt{\bar{\alpha}_{t}} \mathbf{x}_{0}, (1 - \bar{\alpha}_{t}) \mathbf{I}) q(xtx0)=N(xt;αˉt x0,(1αˉt)I)
其中 α t : = 1 − β t \alpha_{t} := 1 - \beta_{t} αt:=1βt, α ˉ t : = ∏ s = 1 t α s \bar{\alpha}_{t} := \prod_{s=1}^{t} \alpha_{s} αˉt:=s=1tαs


4. 扩散模型与去噪自编码器

这一部分是整篇论文的核心,它建立了扩散模型与去噪分数匹配之间的深刻联系,并由此引出了简化且高效的训练目标。本章旨在为扩散模型的具体实现做出设计和论证。作者回答了三个关键问题:

  1. 前向过程的方差 β t \beta_t βt 应该如何设定?(对应 L T L_T LT
  2. 反向过程(模型) 应该如何参数化和训练?(对应 L 1 : T − 1 L_{1:T-1} L1:T1
  3. 如何计算最终的数据对数似然?(对应 L 0 L_0 L0

4.1 Forward process and L T L_T LT (前向过程与 L T L_T LT

  • 内容:作者选择将前向过程的方差 β t \beta_t βt 固定为常数,而不是作为可学习的参数。
  • 原因
    1. 简化问题:前向过程 q q q 因此不再包含任何可学习参数,成为一个固定的(预定义的)噪声添加过程。
    2. L T L_T LT 成为常数:损失函数中的 L T = D K L ( q ( x T ∣ x 0 ) ∥ p ( x T ) ) L_T = D_{KL}(q(x_T | x_0) \| p(x_T)) LT=DKL(q(xTx0)p(xT)) 衡量的是前向过程最终分布与先验分布(标准高斯分布)的差异。由于 q q q p p p 都是固定的高斯分布,它们的KL散度是一个可以预先计算的常数在训练过程中不需要优化,可以忽略
  • 实践意义:这大大简化了训练过程,我们只需要关注反向过程的训练 ( L 0 L_0 L0 L T − 1 L_{T-1} LT1)。

4.2 Reverse process and L 1 : T − 1 L_{1:T-1} L1:T1 (反向过程与 L 1 : T − 1 L_{1:T-1}

<think>嗯,用户问的是Denoising Diffusion Probabilistic Models的中文翻译。首先,我需要确认这个词组的准确翻译。根据提供的引用资料,比如引用[2]提到了“生成式AI扩散模型-Diffusion Model Denoising Diffusion Probabilistic Models”,这里的中文翻译应该是“去噪扩散概率模型”。另外,引用[3]也提到了“扩散模型”,所以综合来看,正确的翻译应该是“去噪扩散概率模型”。 接下来,用户可能对DDPM的基本原理和应用场景感兴趣,虽然他们直接问的是翻译,但可能需要进一步的解释。比如,DDPM属于生成模型的一种,通过逐步去噪来生成数据,这个过程类似于扩散的逆过程。根据引用[3],扩散模型基于马尔可夫链,通过反向去噪恢复图像,灵感来自非平衡热力学中的扩散过程。 另外,用户可能还想知道DDPM与其他生成模型(如GAN或VAE)的区别,或者它的优势在哪里。例如,引用[4]提到方差选择对生成结果的影响较小,随着训练步数增加,均值估计的影响更大,这可能说明DDPM在稳定性和生成质量上的优势。 用户可能需要更深入的内容,比如DDPM的训练过程、应用案例或者数学原理。根据引用[4],方差的选择在大部分时间步中是固定的,这可能简化模型训练。此外,DDPM在图像生成、音频合成等领域有广泛应用,这也是用户可能感兴趣的方向。 总结一下,用户的核心需求是中文翻译,但潜在的可能需要了解其基本原理、优势、应用场景以及与其他模型的对比。需要确保回答准确且覆盖这些潜在问题,同时引用提供的资料来支持回答。</think>### Denoising Diffusion Probabilistic Models 的中文翻译 Denoising Diffusion Probabilistic ModelsDDPM)的中文翻译为**去噪扩散概率模型**。该模型是扩散模型(Diffusion Model)的一种实现形式,其核心思想是通过模拟数据逐步加噪和反向去噪的马尔可夫链过程,最终生成高质量的数据样本[^3]。 ### 核心概念解析 1. **加噪过程(正向过程)**:通过多步向数据中添加高斯噪声,将原始数据逐渐变为纯噪声,模拟热力学中的扩散现象。 2. **去噪过程(反向过程)**:通过神经网络学习如何从噪声中逐步恢复原始数据,每一步预测当前噪声并去除,最终生成目标样本[^3]。 3. **方差调整**:在加噪过程中,噪声的方差(如$\beta_t$和$\tilde{\beta}_t$)会根据时间步动态调整,但随着时间步数增加(例如$T=4000$),方差的影响逐渐减弱,均值预测($\mu_\theta(x_t, t)$)成为主导因素[^4]。 ### 示例代码(简化的扩散过程) ```python # 加噪过程示例 def forward_diffusion(x0, t, beta_schedule): noise = torch.randn_like(x0) alpha = 1 - beta_schedule[t] xt = torch.sqrt(alpha) * x0 + torch.sqrt(1 - alpha) * noise return xt, noise ``` ### 相关问题 1. **去噪扩散概率模型与GAN、VAE有何区别?** 2. **DDPM中如何设计有效的噪声调度(Noise Schedule)?** 3. **扩散模型在图像生成以外的领域有哪些应用?** 4. **为什么DDPM的方差调整对生成质量影响较小?** [^4] ### 引用来源 [^1]: Diffusion Model(Denoising Diffusion Probabilistic Models) 作用 [^2]: 【DiffusionDenoising Diffusion Probabilistic Models (DDPM)入门指南 : 扩散模型基于马尔可夫链的反向去噪原理 : 方差$\beta_t$与$\tilde{\beta}_t$对生成结果的影响分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值