跳到主要内容

扩散模型

去噪扩散概率模型定义一个逐渐破坏数据的固定过程,并学习一个逐步重建样本的逆过程。

前向过程

设方差调度为 βt\beta_t,且 αt=1βt\alpha_t=1-\beta_t

q(xtxt1)=N ⁣(xt;αtxt1,(1αt)I).q(x_t\mid x_{t-1}) = \mathcal{N}\!\left( x_t;\sqrt{\alpha_t}\,x_{t-1}, (1-\alpha_t)I \right).

αˉt=s=1tαs\bar{\alpha}_t=\prod_{s=1}^{t}\alpha_s。任意时间步都可以直接从干净数据采样:

xt=αˉtx0+1αˉtϵ,ϵN(0,I).x_t = \sqrt{\bar{\alpha}_t}\,x_0 + \sqrt{1-\bar{\alpha}_t}\,\epsilon, \qquad \epsilon\sim\mathcal{N}(0,I).

这个闭式形式使训练时无需模拟此前的每一步加噪。

学习逆过程

生成需要逆向转移

pθ(xt1xt)=N ⁣(xt1;μθ(xt,t),Σθ(xt,t)).p_{\theta}(x_{t-1}\mid x_t) = \mathcal{N}\!\left( x_{t-1};\mu_{\theta}(x_t,t), \Sigma_{\theta}(x_t,t) \right).

一种常见参数化会预测加入 x0x_0 的噪声。广泛使用的简化目标为

Ex0,t,ϵ[ϵϵθ(αˉtx0+1αˉtϵ,t)22].\mathbb{E}_{x_0,t,\epsilon} \left[ \left\| \epsilon-\epsilon_{\theta} \left( \sqrt{\bar{\alpha}_t}x_0 +\sqrt{1-\bar{\alpha}_t}\epsilon, t \right) \right\|_2^2 \right].

这种噪声预测损失与变分目标有关,但具体加权和参数化非常重要;“用均方误差预测噪声”并不是所有扩散模型的完整定义。

采样

  1. 从选定的噪声分布中采样 xTx_T
  2. t=T,,1t=T,\ldots,1,使用学习到的模型和采样器得到 xt1x_{t-1}
  3. 返回最终的 x0x_0 表示。

条件控制会向去噪器提供额外信息,例如类别、文本表示或测量值。引导可以增强条件约束,但也会改变多样性、保真度或校准之间的权衡。

从噪声预测得到逆向一步

原始论文算法 1–2中的离散高斯 DDPM,取 0<βt<10<\beta_t<1αˉ0=1\bar\alpha_0=1。噪声调度须使 αˉT\bar\alpha_T 接近零,终端分布才近似标准高斯;否则从 N(0,I)\mathcal N(0,I) 开始生成会有分布失配,不能仅凭步数很多就忽略它。

使用预测 epsilon 的网络时,逆向均值为

μθ(xt,t)=1αt(xtβt1αˉtϵθ(xt,t)).\mu_\theta(x_t,t)=\frac{1}{\sqrt{\alpha_t}} \left(x_t-\frac{\beta_t}{\sqrt{1-\bar\alpha_t}}\epsilon_\theta(x_t,t)\right).

一种固定方差选择是 β~t=βt(1αˉt1)/(1αˉt)\tilde\beta_t=\beta_t(1-\bar\alpha_{t-1})/(1-\bar\alpha_t)。在 t>1t>1 时重新抽取 ξN(0,I)\xi\sim\mathcal N(0,I),计算 xt1=μθ+β~tξx_{t-1}=\mu_\theta+\sqrt{\tilde\beta_t}\,\xit=1t=1 时直接返回均值,不再加新噪声。这只定义了一种采样器。给定 xtx_tx0x_0 的精确前向后验是高斯,但不知道 x0x_0 时的逆向条件分布一般不是高斯;学习到的高斯转移是一种建模近似。

手算一个标量例子:αˉt=0.64\bar\alpha_t=0.64x0=2x_0=2、本次训练噪声 ϵ=1\epsilon=1,则 xt=0.8(2)+0.6(1)=2.2x_t=0.8(2)+0.6(1)=2.2。若网络预测 0.50.5,噪声平方误差为 0.250.25,对应 x^0=(2.20.6(0.5))/0.8=2.375\hat x_0=(2.2-0.6(0.5))/0.8=2.375。如果预测恰好等于本次抽取的噪声,算术上可恢复 22;但仅凭 xtx_t 无法唯一确定这次噪声。MSE 学习的是条件均值预测,不是能精确逆转每次随机抽样的“答案”。

训练时抽取数据、时间步(通常从 11TT 均匀抽取)和噪声,计算一次去噪器,再用梯度更新参数。生成时没有干净目标,权重固定,反复调用去噪器。噪声目标和网络输出的形状都与 xtx_t 相同,时间步条件告诉网络要处理哪个噪声水平。本文覆盖离散高斯 DDPM,不扩展到流匹配或全部连续时间、蒸馏采样方法。

设计与评估边界

  • 噪声调度、预测目标、模型架构和采样器是彼此独立的设计选择。
  • 标准采样是迭代式的,可能需要多次模型求值;更快的采样器会用近似行为换取计算量。
  • 较低的去噪目标值本身不能证明感知质量、多样性、似然质量或实用性。
  • 条件生成可能复现训练数据中的偏见或记忆结构。
  • 模型的输出空间、预处理和解码器可能与去噪器同样重要。
  • 当前的图像、音频或 API 产品属于前沿笔记;本文只负责持久的概率过程。

规范起点是论文 Denoising Diffusion Probabilistic Models。框架特定的 U-Net 和采样实现留给持续维护的库与论文。

探索关联

先了解 (1)

被引用 (1)

同主题的其他笔记 (1)

打开关联网络