DDPM
Denoising Diffusion Probabilistic Model 去噪扩散概率模型
DDPM(Denoising Diffusion Probabilistic Models)是扩散模型领域的开山之作,由Jonathan Ho等人于2020年提出。它提供了一个简单而强大的框架,通过模拟一个逐步加噪(前向扩散) 和逐步去噪(反向去噪) 的过程来生成高质量的图像。DDPM的成功极大地推动了扩散模型在生成任务中的应用。
核心思想:噪声与去噪的循环
DDPM的核心思想可以概括为两个过程:
- 前向扩散过程 (Forward Diffusion Process): 这是一个固定的、马尔可夫链式的过程。它在每个时间步
向数据 中添加少量高斯噪声,直到经过 个时间步后,原始数据 完全变为纯高斯噪声 。 - 反向去噪过程 (Reverse Denoising Process): 这是一个需要学习的过程。它训练一个神经网络来预测并移除在每个时间步添加的噪声,从而能够从纯高斯噪声
逐步恢复出原始数据 。
graph TD
subgraph DDPM 核心流程
A[原始数据 x0] --> B{"前向扩散 (逐步加噪)"};
B --> C[纯高斯噪声 xT];
C --> D{"反向去噪 (逐步去噪, 神经网络学习)"};
D --> E[生成数据 x0_hat];
end
style A fill:#fff,stroke:#333,stroke-width:2px
style C fill:#fff,stroke:#333,stroke-width:2px
style E fill:#9f9,stroke:#333,stroke-width:2px前向扩散过程
前向扩散过程是一个固定的马尔可夫链,在每个时间步
其中
一个重要的性质是,我们可以直接从
其中
反向去噪过程
反向去噪过程也是一个马尔可夫链,但其转移概率是需要学习的:
DDPM的关键洞察是,如果
训练目标
DDPM的训练目标是最小化预测噪声
这个损失函数非常简单,使得DDPM的训练非常稳定。
采样过程
训练完成后,生成新样本的过程如下:
- 从纯高斯噪声
开始。 - 对于
: - 使用训练好的神经网络
预测噪声。 - 根据预测的噪声和一些预设的方差,计算
。
其中 , 。 - 使用训练好的神经网络
- 最终得到去噪后的样本
。
U-Net 架构
在DDPM中,用于预测噪声的神经网络通常采用U-Net架构。U-Net是一种卷积神经网络,其编码器-解码器结构和跳跃连接使其非常适合处理图像,并能在不同尺度上捕捉特征。
优缺点分析
| 优点 (Pros) | 缺点 (Cons) |
|---|---|
| 生成质量高:能够生成非常逼真、高质量的图像。 | 采样速度慢:生成一个样本需要迭代 |
| 训练稳定:损失函数简单,训练过程比GAN更稳定。 | |
| 模式覆盖好:相比GAN,更不容易出现模式崩溃,能够覆盖真实数据分布的更多模式。 |