Diffusion 可视化实验室Diffusion Model Visualization Lab

通过 8 个交互式模块,从零理解扩散模型 (Diffusion Models) 的完整工作原理:前向加噪、反向去噪、U-Net 架构、噪声调度、采样算法、条件引导、潜在扩散与训练过程。所有可视化均由纯 SVG 实时绘制,零外部依赖。

纯 HTML/CSS/JS 零依赖 · 单文件 8 个交互模块 实时 SVG 可视化 暗色工程主题
01

前向扩散过程

Forward Diffusion · q(x_t | x_{t-1})
控制台
python · forward

前向扩散逐步向干净图像 x_0 添加高斯噪声,经过 T 步后变为纯噪声。该过程是确定性的(给定 x_0 和噪声),关键在于其闭式解 q(x_t|x_0) 允许直接跳转到任意时间步 t,这是训练时随机采样 t 的基础。信噪比 SNR = ᾱ_t / (1 - ᾱ_t) 随 t 增大而下降。

02

反向去噪过程

Reverse Diffusion · p_θ(x_{t-1} | x_t)
控制台
python · reverse

反向过程从纯噪声 x_T 出发,学习用 U-Net 预测每一步的噪声 ε_θ(x_t, t),逐步去噪还原出干净图像。每一步均值 μ_θ 由模型预测的噪声计算,并加入受控随机性 z(采样时)。这是生成的核心:模型从未见过真实去噪过程,而是通过拟合前向噪声来"学会"逆转它。

03

U-Net 架构

U-Net Architecture · Encoder · Bottleneck · Decoder
控制台
python · unet

U-Net 是扩散模型的去噪骨干:编码器逐级下采样提取多尺度特征,解码器逐级上采样还原图像。跳跃连接 (Skip Connections) 将编码器的高分辨率细节直接传递给解码器,是恢复精细结构的关键。注意力块 (Attention) 在低分辨率层捕捉长程依赖。时间步 t 通过嵌入注入每个 ResNet 块。

04

噪声调度策略

Noise Schedule · Linear · Cosine · Sigmoid
控制台
python · schedule

噪声调度决定 β_t 如何随时间步变化,进而控制 ᾱ_t 的衰减曲线。线性调度简单但后期信噪比下降过快;余弦调度让 ᾱ_t 平滑下降,各阶段信噪比更均衡,生成质量更佳;Sigmoid 调度在中间阶段加速、两端平缓。调度直接影响训练稳定性与采样质量。

05

采样算法

Sampling · DDPM · DDIM · DPM-Solver · Euler
控制台
python · sampling

采样算法决定如何从训练好的模型生成图像,核心是质量与速度的权衡。DDPM 需约 1000 步但质量最佳且随机性强;DDIM 通过确定性跳跃将步数压缩到 20-50 步;DPM-Solver 利用 ODE 求解仅需 10-20 步即可逼近 DDPM 质量;Euler 是最简单的 ODE 积分器。轨迹越直、步数越少则速度越快。

06

条件引导

Conditional Guidance · Classifier-Free · Classifier · None
控制台
python · guidance

条件引导控制生成样本对条件 (如文本提示) 的遵循程度。无分类器引导 (CFG) 同时预测有条件和无条件噪声,按引导尺度 w 外推:w 越大越对齐但多样性下降、易过饱和。分类器引导依赖额外分类器的梯度。无引导 (w=1) 即普通条件采样。CFG 是现代文生图模型的标配。

07

Latent Diffusion

潜在扩散 · VAE Encoder · Latent Space · VAE Decoder
控制台
python · ldm

Latent Diffusion (LDM, Stable Diffusion 的基础) 将扩散过程从像素空间转移到低维潜在空间:先用 VAE 编码器把图像压缩为潜在表示 (压缩因子 f=8),在潜在空间训练扩散模型,生成后再用 VAE 解码器还原。这使计算量与显存需求大幅降低 (约 48× 压缩),是高分辨率文生图可行的关键。

08

训练过程

Training Process · Loss · EMA · Backprop
控制台
python · training

训练循环:随机采样时间步 t 与噪声 ε,构造带噪样本 x_t,让 U-Net 预测噪声,以 MSE 损失监督。EMA (指数移动平均) 维护权重的平滑副本,推理时使用 EMA 权重可获得更稳定、更高质量的生成结果。学习率与批大小影响训练稳定性——学习率过高会震荡发散,过低则收敛缓慢。