DDPM 扩散模型完全指南 — Part 1:直观理解与整体框架

🧨 专为零基础想搞懂扩散模型的同学打造的深度通俗指南

🎯 目标:不用任何数学基础,也能彻底理解 DDPM 在做什么

📅 最后更新:2025年11月


📋 目录


1. 什么是扩散模型(Diffusion Model)?

1.1 先来一句最白话的定义

扩散模型是一种 “先把图像弄坏,再学着修复回来” 的生成模型。

这句话其实已经涵盖了全部核心思想。


1.2 为什么叫“扩散”?

因为它的正向过程真的像“墨水在水里扩散”那样:

一张清晰的图片
→ 加一点噪声(像撒一点点沙子)
→ 再加一点…
→ 到最后完全变成随机噪声(啥都看不出来)

这叫 扩散(Diffusion)


1.3 反向过程是什么?

你从一坨纯噪声开始,一步一步把噪声去掉:

随机噪声 → 有点轮廓 → 更清晰 → 最终得到完整图像

这叫 去噪(Denoising)

生成图像就是把去噪做得很厉害。


2. 为什么会有扩散模型?(GAN 不够用了)

在扩散模型出现之前,图像生成领域一直被 GAN 统治。

GAN 很强,但有几个致命缺陷:

❌ GAN 难训练

判别器和生成器互相斗,谁强谁弱都会崩。

❌ 模式崩塌(Mode Collapse)

GAN 有时只会生成一两种样子,比如:

“无论输入什么,都给你一个类似的脸。”

❌ 不稳定

想让 GAN 稳定训练,需要调大量超参数、技巧、魔法。


扩散模型的优势:

✅ 稳定训练(不需要对抗)

它只是做一个简单任务:预测噪声。
不像 GAN 那样互相斗。

✅ 图像质量极高

可以生成超细节、超真实的图像。

✅ 可控性强

可以轻松添加条件(文本、图等),是 Stable Diffusion 的基础。

因此,后来所有顶级生成模型都转向了扩散。


3. 扩散模型的终极思想:来回两步法

扩散模型要做的事只有两步:


🥤 第 1 步:往图像里倒垃圾(加噪声)

一步一步往图片里加高斯噪声:

清晰图 → 带噪图 → 更带噪图 → …… → 纯噪声

这个过程叫 前向扩散(Forward Diffusion)
噪声越加越多,直到完全随机。


🧹 第 2 步:从垃圾堆里“捡回图像”(去噪)

训练一个神经网络,让它学会:

给你一个带噪图 → 我告诉你这幅图里什么是噪声

如果你能不断把噪声去掉,就能还原出一张清晰的图。

从纯噪声出发去噪,就能生成一张新的图像。

这个过程叫 反向扩散(Reverse Diffusion)


一句话总结:

扩散模型就是一个学会“把噪声变成图像”的超级去噪机器。


4. 前向扩散:把图像“慢慢毁掉”

前向扩散其实很简单,就是重复做下面这件事:

x_{t} = x_{t-1} 加一点高斯噪声

每一步加的噪声都非常小,但加很多步之后,就彻底变成随机噪声。

为什么要逐步加噪?

因为一步加太多噪声图像会完全毁掉,网络学不会。
但如果 1000 步慢慢加,图像变化非常平滑、规律,学习更容易。

就像:

你拍一个玻璃逐渐起雾的视频——每一帧变化都很小,但最终整张都白了。


5. 反向扩散:从噪声里“把图像救回来”

这是扩散模型最关键的部分。

反向扩散的目标:

根据 x_t(带噪图),预测噪声 ε,并把它去掉,得到 x_{t-1}。

所以模型实际学的不是图像,而是 背后的噪声结构

网络做的事非常简单:

输入:带噪图 x_t
输出:它觉得里面的噪声 ε

得到噪声后:

带噪图 - 噪声 = 更接近真实图像

然后重复这个操作 1000 次,就从随机噪声恢复出了图片。


6. 整体框架图(最重要的一页)

这是让你“一图看懂扩散模型”的框架,我用最简单的形式画:

前向(训练前自己加噪):图像毁掉
------------------------------------
x0 → x1 → x2 → … → xT
(加一点噪) (加一点噪) … (纯噪声)

反向(模型学习去噪):图像重建
------------------------------------
xT → xT-1 → xT-2 → … → x0
(去一点噪) (去一点噪) … (清晰图)
            ↑
      网络学习的是这一步:预测噪声 ε

真正训练网络的是 反向过程的每一步(去噪步骤)。

而生成图像就是模拟“反向过程”。


7. 扩散模型到底学了什么?

你可能会以为模型学的是:

  • “如何画猫”
  • “如何画人脸”
  • “如何画风景”

实际上不是。

扩散模型学的核心是:

带噪图像 → 里面噪声长什么样?

只要知道噪声,就能把它从图里扣掉,就能恢复出干净信号。

这叫 噪声预测(Noise Prediction)

更惊人的是:

只学噪声,就能自动学到世界上的语义和结构!

  • 学会什么是脸、眼睛、鼻子
  • 学会什么是建筑、天空、树
  • 学会光照、纹理、边缘

因为为了去噪,它必须理解“什么是图像的真实结构、什么是噪声”。


8. 扩散模型能做什么?

扩散模型的应用非常广:

🎨 图像生成

Stable Diffusion 的整个核心就是 DDPM。

🎭 图像编辑

  • 给照片上色
  • 从草图变成真实图片
  • 去瑕疵与修复老照片

💄 风格转换

  • 把白天变成夜晚
  • 把现实变成动漫
  • 把小猫变老虎(条件编辑)

🧠 文本生成图像

“一个骑着鲨鱼的猫” 这种模型现在也能画。

🎬 视频生成(基于扩散的升级版)

  • Runway Gen-2
  • Sora(OpenAI)

一切从这篇 DDPM 论文开始。


9. 与 GAN、VAE 的对比(帮你建立正确认知)

下面这个表最能说明扩散模型为什么会成为主流:

┌──────────────────────────────────────────┐
│              GAN vs VAE vs Diffusion       │
├───────────────┬───────────┬───────────────┤
│ 特性           │ GAN       │ VAE           │ Diffusion │
├───────────────┼───────────┼───────────────┤
│ 图像质量       │ ★★★★★     │ ★★☆          │ ★★★★★     │
│ 训练稳定性     │ ★★        │ ★★★★         │ ★★★★★     │
│ 可控性         │ ★★★       │ ★★★          │ ★★★★★     │
│ 模式崩塌       │ 易崩       │ 不崩          │ 不崩        │
│ 解释性         │ 差         │ 中等          │ 很好        │
│ 生成速度       │ ⭐⭐⭐⭐⭐     │ ⭐⭐⭐⭐        │ ⭐(慢)    │
└──────────────────────────────────────────┘

总结一句:

GAN:快,但不稳定
Diffusion:稳,质量高,就是慢

后来各种论文(如 DDIM)已经让采样越来越快。


🎉祝你天天开心,我将更新更多有意思的内容,欢迎关注!

最后更新:2025年11月
作者:Echo

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐