Diffusion中反向扩散过程(Reverse Diffusion)详解

反向扩散过程是扩散模型的 “生成核心”,其本质是从纯随机噪声出发,通过逐步去噪恢复出符合真实数据分布的样本(如图像、文本)。如果说正向扩散是 “破坏数据” 的过程,那么反向扩散就是 “重建数据” 的逆操作 —— 它通过学习正向扩散中噪声的累积规律,反向推导出从噪声复原数据的路径。以下从核心目标、数学建模、训练逻辑、迭代过程及关键优化五个维度,全面解析反向扩散的机制。

一、核心目标:从噪声分布到数据分布

反向扩散的最终目标是:从完全服从标准正态分布的噪声 x_T \sim \mathcal{N}(0, I)出发,通过 T 步迭代去噪,生成符合真实数据分布 p_{\text{data}}(x) 的样本 x_0

这一过程需解决两个核心问题:

  1. 如何建模去噪分布:每一步去噪的概率分布(即从 x_t 到 x_{t-1} 的条件分布)是什么形式?
  2. 如何学习去噪规律:如何通过神经网络学习去噪分布的参数,确保最终生成的样本贴近真实数据?
二、数学建模:反向扩散的条件分布

正向扩散是 “确定性加噪” 的马尔可夫链,而反向扩散是 “随机性去噪” 的马尔可夫链 —— 每一步去噪都存在不确定性,需通过概率分布建模。

1. 反向条件分布的形式假设

正向扩散中,每一步加噪的条件分布 p(x_t | x_{t-1}) 是已知的高斯分布(见正向扩散公式)。根据贝叶斯定理,反向扩散的条件分布 p(x_{t-1} | x_t) 也可推导为高斯分布:

p(x_{t-1} | x_t) = \mathcal{N}(x_{t-1}; \mu_t(x_t), \Sigma_t) \qquad \qquad \qquad \text{\footnotesize(1)}

其中:

  • 均值 \mu_t(x_t):去噪后的 “核心信号”,是需要通过模型学习的关键参数;
  • 方差 \Sigma_t:去噪过程的 “不确定性”,在简化模型中可固定为预设值(无需学习)。

这一假设的合理性源于 “高斯分布的共轭性”—— 若正向加噪是高斯过程,反向去噪也必然是高斯过程。

2. 均值 \mu_t(x_t) 的推导(从正向过程反推)

通过贝叶斯定理和正向扩散的公式,可推导出反向均值 \mu_t(x_t) 与正向参数的关系。核心推导步骤如下:

(1)正向扩散中,x_t 与 x_{t-1} 的关系为:x_t = \sqrt{\alpha_t} x_{t-1} + \sqrt{1 - \alpha_t} \epsilon_t \quad \epsilon_t \sim \mathcal{N}(0, I) 

可改写为 x_{t-1} = \frac{1}{\sqrt{\alpha_t}} \left( x_t - \sqrt{1 - \alpha_t} \epsilon_t \right)

(2)根据贝叶斯定理,反向条件分布的均值 \mu_t(x_t) 可表示为:

\mu_t(x_t) = \frac{\sqrt{\alpha_t} (1 - \bar{\alpha}_{t-1})}{1 - \bar{\alpha}_t} x_t + \frac{\sqrt{\bar{\alpha}_{t-1}} \beta_t}{1 - \bar{\alpha}_t} x_0 \qquad \qquad \qquad \text{\footnotesize(2)}

其中 \bar{\alpha}_{t-1} = \prod_{s=1}^{t-1} \alpha_s(前t-1步的累积保真性系数)。

(3)关键转换:用噪声预测替代 x_0 正向扩散中,x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon,可解出 

x_0 = \frac{1}{\sqrt{\bar{\alpha}_t}} \left( x_t - \sqrt{1 - \bar{\alpha}_t} \epsilon \right)

将其代入式(2),并化简后可得:\mu_t(x_t) = \frac{1}{\sqrt{\alpha_t}} \left( x_t - \frac{\beta_t}{\sqrt{1 - \bar{\alpha}_t}} \epsilon \right) \qquad \qquad \qquad \text{\footnotesize(3)}

其中 \epsilon 是正向过程中从 x_0 到 x_t 累积的噪声。

这一转换的核心价值是:反向去噪的均值可通过 “预测正向过程的累积噪声 \epsilon” 来计算,而无需直接已知 x_0—— 这正是神经网络的学习目标。

3. 方差 \Sigma_t 的设定(简化模型的关键)

方差 \Sigma_t 控制去噪过程的随机性,通常有两种设定方式:

  • 固定方差:直接使用正向过程的噪声强度 \beta_t,即 \Sigma_t = \beta_t I(DDPM 采用,简化模型,减少学习参数);
  • 学习方差:通过神经网络额外预测方差参数(如\log \sigma_t^2),增强模型灵活性(但增加训练复杂度)。

在主流扩散模型(如 Stable Diffusion)中,为平衡效率与性能,通常采用固定方差方案。

三、训练逻辑:从 “噪声预测” 到 “去噪能力”

反向扩散的核心是训练一个神经网络,使其能从含噪样本 x_t 和时间步 t 中,预测正向过程累积的噪声 \epsilon,进而通过式(3)计算去噪均值 \mu_t(x_t)

1. 网络结构:噪声预测器

用于预测噪声的神经网络通常采用U-Net 架构(或其变体,如带注意力机制的 U-Net),输入为含噪样本 x_t 和时间步编码 t(通过位置编码融入网络),输出为预测噪声 \hat{\epsilon}(x_t, t)

时间步编码的作用是:让网络感知当前处于扩散的哪一步(早期 / 晚期),因为不同步的噪声特性不同(早期噪声弱,晚期噪声强)。

2. 损失函数:MSE 去噪损失

训练的目标是最小化 “预测噪声” 与 “真实噪声” 的均方误差(MSE):

\mathcal{L} = \mathbb{E}_{x_0, t, \epsilon} \left[ \left\| \hat{\epsilon}(x_t, t) - \epsilon \right\|^2 \right] \qquad \qquad \qquad \text{\footnotesize(4)}

其中:

  • x_0 \sim p_{\text{data}}(x):真实数据样本;
  • t \sim U(1, T):随机采样的时间步;
  • \epsilon \sim \mathcal{N}(0, I):真实噪声;
  • x_t:通过正向扩散公式从 x_0 和 \epsilon 生成的含噪样本。

损失函数的直观意义:让网络学会 “从含噪数据中剥离噪声”—— 当网络能准确预测噪声时,代入式(3)即可计算出 “去噪后的核心信号”。

四、迭代去噪过程:从噪声到数据的分步复原

训练完成后,即可从噪声 x_T \sim \mathcal{N}(0, I) 出发,通过 T 步迭代去噪生成样本。具体步骤如下:

  1. 初始化:从标准正态分布中采样初始噪声 x_T \sim \mathcal{N}(0, I)

  2. 迭代去噪(t = T, T-1, ..., 1:对每一步 t,执行:x_{t-1} = \mu_\theta(x_t, t) + \sigma_t \cdot z \qquad \qquad \qquad \text{\footnotesize(5)}  其中:

    • \mu_\theta(x_t, t) = \frac{1}{\sqrt{\alpha_t}} \left( x_t - \frac{\beta_t}{\sqrt{1 - \bar{\alpha}_t}} \hat{\epsilon}(x_t, t) \right)(用网络预测的噪声 \hat{\epsilon} 计算去噪均值);
    • \sigma_t = \sqrt{\beta_t}(固定方差的标准差);
    • z \sim \mathcal{N}(0, I):当前步的随机噪声(引入随机性,增强生成多样性),当 t=1 时可设 z=0(最终一步输出更稳定)。
  3. 输出结果:迭代至 t=0 时,x_0 即为生成的样本。

五、关键优化:从 “慢生成” 到 “高效生成”

原始反向扩散(如 DDPM)需 1000 步迭代,生成速度极慢。后续研究通过优化去噪过程,大幅提升了效率,核心优化包括:

1. 确定性去噪(DDIM)

DDIM(去噪扩散隐式模型)通过去除迭代中的随机噪声 z,将反向过程改为确定性映射x_{t-1} = \mu_\theta(x_t, t) \qquad \qquad \qquad \text{\footnotesize(6)}

这一修改使生成步数可从 1000 步降至 50 步以内,且生成质量基本无损。其核心原理是:当网络训练充分时,去噪均值 \mu_\theta 已足够接近真实信号,无需额外随机噪声即可生成高质量样本。

2. 潜在空间扩散(LDM)

在潜在空间(而非像素空间)执行反向扩散:

  • 先用自动编码器(VAE)将高维图像压缩至低维隐空间(如从 512×512 压缩至 64×64);
  • 仅在隐空间进行去噪迭代,生成后再通过解码器还原为高分辨率图像。

这一优化将计算量降低至原来的 1/64(因计算量与维度平方成正比),使消费级 GPU 也能运行高清生成。

六、直观理解:从 “噪点” 到 “图像” 的演化

以图像生成为例,反向扩散的演化过程可分为三个阶段:

  1. 初始阶段(t \approx T:输入是完全随机的噪点(类似电视雪花),网络预测的噪声与输入高度相似,去噪后仍以噪声为主,但开始出现微弱的结构趋势(如明暗区域的模糊划分)。

  2. 中期阶段(t \approx T/2:噪声逐渐减少,图像的整体结构(如物体轮廓、场景布局)开始显现,但细节仍模糊(如人脸的五官轮廓可见,但表情不清晰)。

  3. 终末阶段(t \approx 1:噪声基本被去除,图像细节丰富,纹理、色彩等特征清晰,最终输出符合真实分布的样本(如一张清晰的人脸照片)。

七、核心价值:扩散模型生成能力的来源

反向扩散过程的核心贡献是:

  1. 将生成问题转化为去噪问题:通过学习 “如何从噪声中恢复信号”,绕开了直接建模复杂数据分布的难题;
  2. 兼顾生成质量与多样性:每一步的随机噪声 z 确保了生成样本的多样性,而精确的均值预测 \mu_\theta 保证了样本质量;
  3. 支持灵活控制:通过修改时间步、引入条件信息(如文本、姿态),可实现 “条件生成”(如文本引导的图像生成)。

总结

反向扩散过程是扩散模型的 “生成引擎”,其核心逻辑是:通过神经网络学习正向扩散的噪声规律,从纯噪声出发,逐步去噪还原出真实数据。从数学上看,它通过建模高斯条件分布,将去噪问题转化为噪声预测任务;从工程上看,通过确定性去噪、潜在空间扩散等优化,实现了高效高质量的生成。正是反向扩散的巧妙设计,使扩散模型成为当前生成质量最高、应用最广泛的生成模型之一。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨顿

唵嘛呢叭咪吽

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值