讲结果

经典模型 · 扩散模型

观察从随机噪声到清晰图像的逐步演变:t=100(纯噪声)→ t=0(清晰图像),理解扩散模型的逆向去噪过程。

t=100 (高噪声)
t=50 (中等)
t=0 (清晰)
详细模式
加载中...

U-Net 架构详解

时间步 t=50
输入层编码器瓶颈层解码器输出层图像输入256×256×3tConv 164 channels | 256×256Conv 2128 channels | 128×128Conv 3256 channels | 64×64Conv 4512 channels | 32×32Bottleneck1024 channels16×16Upconv 1256 channels | 64×64Upconv 2128 channels | 128×128Upconv 364 channels | 256×256Output3 channels | 256×256去噪图像256×256×3跳跃连接
编码器
瓶颈层
解码器
跳跃连接
时间步注入

扩散过程可视化

噪声去噪输出
加载中...

时间步选择

纯噪声 (t=100)清晰图像 (t=0)

噪声调度器

高噪声
50%
噪声水平
低噪声
50%
图像清晰度
t=50
当前时间步

💡 扩散模型原理:时间步 t=T (100) 表示完全加噪的状态, 通过逆向过程逐步去噪,最终在 t=0 时得到清晰图像。

扩散模型工作原理

什么是扩散模型?

扩散模型(Diffusion Model)是一种基于概率的生成模型,通过模拟"扩散"过程来生成数据。 它的核心思想是:先将数据逐渐添加噪声(前向过程),然后学习如何从噪声中恢复原始数据(逆向过程)。

前向扩散过程

在训练阶段,扩散模型会逐步向数据中添加高斯噪声。经过 T 步后,数据完全变成随机噪声:

x{t} = sqrt(1 - beta{t}) * x{t-1} + sqrt(beta{t}) * z{t}

其中 beta{t} 是噪声调度器,控制每一步添加的噪声量。

逆向生成过程

在生成阶段,模型从纯噪声开始,逐步去噪:

x{t-1} = 1/sqrt(alpha{t}) * (x{t} - (1-alpha{t})/sqrt(1-bar{alpha}{t}) * epsilon_theta(x{t}, t)) + sigma{t} * z

扩散模型的关键组件

1. 噪声调度器

噪声调度器决定了每一步添加多少噪声。常见的调度策略包括线性调度、余弦调度等。

2. U-Net 架构

扩散模型通常使用 U-Net 架构作为去噪网络。U-Net 能够捕捉不同尺度的特征,非常适合图像生成任务。

3. 时间嵌入

模型需要知道当前是第几个时间步,以便应用正确的去噪策略。时间嵌入将时间步信息注入到模型中。

扩散模型的优势

  1. 生成质量高:扩散模型在多个图像生成任务上达到了 SOTA 水平
  2. 训练稳定:相比 GAN,扩散模型的训练更加稳定
  3. 可控性强:可以通过条件输入控制生成结果

应用领域

扩散模型已经广泛应用于:

  • 图像生成(如 Stable Diffusion)
  • 图像修复和超分辨率
  • 文本到图像生成
  • 视频生成

💡 关键点

扩散模型的核心在于"逐步去噪"。通过观察本可视化中的每一步变化, 你可以看到图像如何从杂乱的噪声逐渐变得清晰。