Diffusion模型原理图解:从噪声到图像的数学之美
引言:生成模型的范式转移
2020年,OpenAI的DALL·E首次将文本到图像生成带入公众视野,但真正让生成式AI实现质的飞跃的,是2022年Stable Diffusion的开源发布。与传统生成对抗网络(GAN)不同,Diffusion模型通过一种优雅的“先破坏、再重建”策略,实现了超越人类想象力的图像生成能力。本文将深入剖析Diffusion模型的数学内核,用图解方式揭示噪声如何转化为精美图像。
前向扩散:有计划的信息毁灭
Diffusion模型的前向过程是一个马尔可夫链,其核心思想是逐步向数据添加高斯噪声,直至原始信息完全被破坏。对于一张256×256像素的RGB图像,我们将其视为一个196608维的向量空间中的点。从原始数据分布\(q(x_0)\)出发,经过T步(通常T=1000)的噪声注入,每一步定义为:
\[ q(x_t|x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t}x_{t-1}, \beta_t I) \]
其中\(\beta_t\)是噪声调度参数。一个关键的设计在于,我们可以直接计算任意时刻t的带噪图像:
\[ x_t = \sqrt{\bar{\alpha}_t}x_0 + \sqrt{1-\bar{\alpha}_t}\epsilon \]
这里\(\bar{\alpha}_t = \prod_{i=1}^t (1-\beta_i)\),\(\epsilon \sim \mathcal{N}(0,I)\)。这个封闭形式使得训练时无需模拟完整的前向链,极大提升了计算效率。
以实际数据为例:当t=100时,\(\bar{\alpha}_t \approx 0.95\),图像仅被轻微扰动;当t=500时,\(\bar{\alpha}_t \approx 0.5\),图像轮廓依稀可辨;当t=1000时,\(\bar{\alpha}_t \approx 0.01\),原始信息几乎完全被高斯噪声淹没。这种渐进式的破坏过程,为后续的逆向重建提供了稳定的梯度信号。
逆向去噪:从混沌中浮现秩序
逆向过程是Diffusion模型的精髓——学习如何从纯噪声逐步恢复数据。其数学形式是正向过程的逆分布:
\[ p_\theta(x_{t-1}|x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t,t), \Sigma_\theta(x_t,t)) \]
但直接预测均值\(\mu_\theta\)非常困难。DDPM(Denoising Diffusion Probabilistic Models)提出一个巧妙的参数化方法:不直接预测去噪后的图像,而是预测当前噪声\(\epsilon_\theta(x_t,t)\)。通过重参数化技巧,去噪过程变为:
\[ x_{t-1} = \frac{1}{\sqrt{\alpha_t}}\left(x_t - \frac{\beta_t}{\sqrt{1-\bar{\alpha}_t}}\epsilon_\theta(x_t,t)\right) + \sigma_t z \]
其中\(z \sim \mathcal{N}(0,I)\),\(\sigma_t\)是后验方差。这个公式的物理意义是:从带��图像\(x_t\)中减去预测的噪声分量,再添加少量随机扰动以保持多样性。
实际训练中,U-Net架构被广泛用于噪声预测网络。以Stable Diffusion为例,其U-Net包含约860M参数,通过3.5亿张LAION-5B数据集的图文对训练。在推理阶段,从纯噪声\(x_T \sim \mathcal{N}(0,I)\)开始,经过50-100步迭代去噪,最终生成512×512的高质量图像。
训练目标:噪声预测的变分下界
Diffusion模型的训练目标源自变分下界(ELBO)的简化形式。原始ELBO包含三个项:重构项、先验匹配项和去噪匹配项。DDPM发现,忽略前两项后,仅保留去噪匹配项仍能取得优异效果:
\[ L_{\text{simple}} = \mathbb{E}_{t,x_0,\epsilon}\left[||\epsilon - \epsilon_\theta(\sqrt{\bar{\alpha}_t}x_0 + \sqrt{1-\bar{\alpha}_t}\epsilon, t)||^2\right] \]
这个损失函数的直观解释是:让网络学会预测加入的噪声\(\epsilon\)。训练时,随机采样时间步t(1到1000),对原始图像添加对应强度的噪声,然后让U-Net预测噪声向量,计算MSE损失。
一个令人惊讶的发现是:当t较小时,预测难度低但重要性高;当t较大时,预测难度高但重要性低。加权策略可以进一步优化,但实际中均匀采样t已能取得良好效果。在ImageNet 256×256上,DDPM实现了FID 4.17的领先性能,而GAN的同期最佳结果为FID 8.33。
加速采样:从1000步到20步
原始DDPM需要1000步采样生成一张图像,这在实践中过于缓慢。DDIM(Denoising Diffusion Implicit Models)通过将马尔可夫链转换为非马尔可夫过程,实现了10-50倍加速。其核心思想是修改逆向过程为确定性映射:
\[ x_{t-1} = \sqrt{\bar{\alpha}_{t-1}}\left(\frac{x_t - \sqrt{1-\bar{\alpha}_t}\epsilon_\theta(x_t,t)}{\sqrt{\bar{\alpha}_t}}\right) + \sqrt{1-\bar{\alpha}_{t-1}}\epsilon_\theta(x_t,t) \]
这个公式使得采样过程不再需要添加随机噪声,从而允许使用更大的步长。实验表明,DDIM仅需50步即可达到DDPM 1000步的生成质量,FID仅从3.17微升至3.51。
更进一步的加速方法包括DPM-Solver,它利用常微分方程(ODE)求解器,将采样步骤压缩至10-20步。具体地,Diffusion模型的逆向过程可以视为概率流ODE的解:
\[ \frac{dx}{dt} = -\frac{1}{2}\beta(t)\left[x + 2\nabla_x \log p_t(x)\right] \]
通过高阶数值求解器(如RK45),DPM-Solver在仅需10步时即可达到FID 4.62,接近1000步的4.17。
条件控制:文本与图像的桥梁
Stable Diffusion等模型的突破在于引入了条件控制机制。通过交叉注意力(Cross-Attention)将文本嵌入注入U-Net的中间层,实现文本到图像的生成。具体地,文本提示通过CLIP编码器转换为768维的嵌入向量,然后通过多头注意力机制与U-Net的中间特征图交互:
\[ \text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d}}\right)V \]
其中Q来自图像特征,K和V来自文本嵌入。这种设计使得模型能够理解“一只穿着宇航服的猫”这样的复杂语义,并在生成过程中保持一致性。
Classifier-Free Guidance(CFG)进一步提升了条件控制的强度。在训练时,模型同时学习无条件生成和条件生成;在推理时,通过插值引导采样方向:
\[ \tilde{\epsilon}_\theta = \epsilon_\theta(x_t, \emptyset) + w \cdot (\epsilon_\theta(x_t, c) - \epsilon_\theta(x_t, \emptyset)) \]
其中w是引导尺度(通常为7.5),c是条件嵌入。增大w会使生成结果更符合条件提示,但可能牺牲多样性。当w=0时,模型退化为无条件生成;w=15时,生成图像几乎完全受控于文本提示,但可能出现伪影。
应用案例:从图像到多模态生成
Diffusion模型的应用已远超图像生成。在文本到视频领域,Make-A-Video将2D Diffusion扩展到3D时空维度,通过时��注意力机制生成16帧视频,帧间一致性达到90%以上。在3D生成方面,DreamFusion利用Score Distillation Sampling (SDS)将2D Diffusion知识迁移到3D NeRF表示,无需3D训练数据即可生成高质量3D模型。
医疗影像领域,Diffusion模型被用于MRI超分辨率重建。2023年的一项研究显示,将4倍下采样的MRI图像通过Diffusion模型重建,PSNR达到32.1dB,比传统插值方法提升4.2dB,比GAN方法提升1.8dB。这种能力对于降低扫描时间、提升患者体验具有重要意义。
结语:噪声中的秩序
Diffusion模型揭示了噪声与信息之间的深层联系——通过精心设计的扩散和去噪过程,纯粹的高斯噪声中能够涌现出复杂的图像结构。从DDPM的1000步采样到Stable Diffusion的实时生成,从无条件生成到多模态控制,Diffusion模型已经改变了我们对生成建模的理解。未来,随着采样算法的进一步优化和模型架构的创新,我们有理由相信,噪声到图像的转化将更加高效、可控,为AI内容创作开辟更广阔的可能性。