MINIBLOG

Blog Note Tags Links About
Home Search
Jun 7, 2026
miniyuan

生成模型 2:Diffusion Model


Diffusion 训练目标最终可以简化为一句话:给干净图像加已知噪声,然后训练网络预测这部分噪声。

Diffusion Models

From VAE to Hierarchical Latent Variable Models

单层 VAE 的生成过程为 z→xz\to xz→x。一个 latent code 需要同时编码 object category、shape、pose、texture 与 fine details,这对高维图像生成非常困难。若 decoder 使用简单高斯条件分布,多个合理输出还会被均值化,导致图像模糊。

自然的扩展是引入多个 latent variables。以两个隐变量为例:

pθ(x,z1,z2)=p(z1)pθ(z2∣z1)pθ(x∣z2)p_\theta(x,z_1,z_2)=p(z_1)p_\theta(z_2\mid z_1)p_\theta(x\mid z_2)pθ​(x,z1​,z2​)=p(z1​)pθ​(z2​∣z1​)pθ​(x∣z2​)

这类模型称为 Hierarchical VAE。Diffusion Model 可以看作一种特殊的层级 VAE:隐变量不再只有一两个,而是形成 x0,x1,…,xTx_0,x_1,\dots,x_Tx0​,x1​,…,xT​ 的长链。

Markov Chain Perspective

Diffusion Model 定义一组变量:

  • x0x_0x0​:观测数据,也即真实图像;
  • x1,…,xTx_1,\dots,x_Tx1​,…,xT​:逐步加噪后的 latent variables;
  • xTx_TxT​:最终应近似标准高斯分布 N(0,I)\mathcal{N}(0,I)N(0,I)。

该序列构成 Markov Chain(马尔可夫链),即每一步只依赖相邻状态。生成方向为 xT→xT−1→⋯→x0x_T\to x_{T-1}\to\cdots\to x_0xT​→xT−1​→⋯→x0​,推断或加噪方向为 x0→x1→⋯→xTx_0\to x_1\to\cdots\to x_Tx0​→x1​→⋯→xT​。

与普通 VAE 不同,Diffusion 的 inference model 没有可学习参数,而是人为设计一个固定的 forward diffusion process,使数据最终收敛到标准高斯噪声。

Forward Diffusion Process

Single-Step Noising

前向过程定义为逐步向图像加入高斯噪声:

q(xt∣xt−1)=N(xt;1−βtxt−1,βtI)q(x_t\mid x_{t-1}) = \mathcal{N}\left(x_t;\sqrt{1-\beta_t}x_{t-1},\beta_t I\right)q(xt​∣xt−1​)=N(xt​;1−βt​​xt−1​,βt​I)

其中 βt\beta_tβt​ 是预设的 Noise Schedule(噪声调度),控制第 ttt 步加入多少噪声。令 αt=1−βt\alpha_t=1-\beta_tαt​=1−βt​,可写成重参数化形式:

xt=αtxt−1+1−αtϵt−1,ϵt−1∼N(0,I)x_t=\sqrt{\alpha_t}x_{t-1}+\sqrt{1-\alpha_t}\epsilon_{t-1}, \quad \epsilon_{t-1}\sim\mathcal{N}(0,I)xt​=αt​​xt−1​+1−αt​​ϵt−1​,ϵt−1​∼N(0,I)

这表示每一步保留一部分上一时刻信号,并加入一部分标准高斯噪声。

Diffusion Kernel

由于每一步都是线性高斯变换,可以直接从 x0x_0x0​ 跳到任意 xtx_txt​。定义:

αˉt=∏i=1tαi\bar{\alpha}_t=\prod_{i=1}^{t}\alpha_iαˉt​=i=1∏t​αi​

则有:

q(xt∣x0)=N(xt;αˉtx0,(1−αˉt)I)q(x_t\mid x_0) = \mathcal{N}\left(x_t;\sqrt{\bar{\alpha}_t}x_0,(1-\bar{\alpha}_t)I\right)q(xt​∣x0​)=N(xt​;αˉt​​x0​,(1−αˉt​)I)

采样形式为:

xt=αˉtx0+1−αˉtϵ,ϵ∼N(0,I)x_t=\sqrt{\bar{\alpha}_t}x_0+\sqrt{1-\bar{\alpha}_t}\epsilon, \quad \epsilon\sim\mathcal{N}(0,I)xt​=αˉt​​x0​+1−αˉt​​ϵ,ϵ∼N(0,I)

该公式称为 Diffusion Kernel。它使训练时不必真的从 111 到 ttt 逐步加噪,而是可以随机采样一个 ttt 后一步得到 xtx_txt​。

Noise Schedule

DDPM 中常用线性噪声调度:

βt=βmin⁡+t−1T−1(βmax⁡−βmin⁡)\beta_t=\beta_{\min}+\frac{t-1}{T-1}(\beta_{\max}-\beta_{\min})βt​=βmin​+T−1t−1​(βmax​−βmin​)

典型设置为 βmin⁡≈10−4\beta_{\min}\approx10^{-4}βmin​≈10−4、βmax⁡=0.02\beta_{\max}=0.02βmax​=0.02、T=1000T=1000T=1000。设计目标是让 αˉT→0\bar{\alpha}_T\to0αˉT​→0,使:

q(xT∣x0)≈N(0,I)q(x_T\mid x_0)\approx\mathcal{N}(0,I)q(xT​∣x0​)≈N(0,I)

也即无论初始图像是什么,经过足够多步加噪后都近似成为纯高斯噪声。

Reverse Denoising Process

Reverse Distribution Modeling

生成图像需要从噪声 xTx_TxT​ 逐步恢复到数据 x0x_0x0​。真实反向分布 q(xt−1∣xt)q(x_{t-1}\mid x_t)q(xt−1​∣xt​) 不可直接得到,因此引入可学习模型:

pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),σt2I)p_\theta(x_{t-1}\mid x_t) = \mathcal{N}\left(x_{t-1};\mu_\theta(x_t,t),\sigma_t^2I\right)pθ​(xt−1​∣xt​)=N(xt−1​;μθ​(xt​,t),σt2​I)

其中 μθ(xt,t)\mu_\theta(x_t,t)μθ​(xt​,t) 由神经网络预测,σt\sigma_tσt​ 可固定或部分学习。实际网络通常输入噪声图 xtx_txt​ 和时间步 ttt,输出与图像同维度的预测量。

ELBO Objective

Diffusion Model 的联合分布为:

pθ(x0:T)=p(xT)∏t=1Tpθ(xt−1∣xt)p_\theta(x_{0:T}) = p(x_T)\prod_{t=1}^{T}p_\theta(x_{t-1}\mid x_t)pθ​(x0:T​)=p(xT​)t=1∏T​pθ​(xt−1​∣xt​)

对 log⁡pθ(x0)\log p_\theta(x_0)logpθ​(x0​) 使用变分下界可得:

log⁡pθ(x0)≥Eq(x1:T∣x0)[log⁡pθ(x0:T)q(x1:T∣x0)]\log p_\theta(x_0) \ge \mathbb{E}_{q(x_{1:T}\mid x_0)} \left[ \log\frac{p_\theta(x_{0:T})}{q(x_{1:T}\mid x_0)} \right]logpθ​(x0​)≥Eq(x1:T​∣x0​)​[logq(x1:T​∣x0​)pθ​(x0:T​)​]

展开后主要包含三类项:

项含义
LTL_TLT​约束 q(xT∣x0)q(x_T\mid x_0)q(xT​∣x0​) 接近先验 p(xT)p(x_T)p(xT​),通常近似为 0
Lt−1L_{t-1}Lt−1​让模型反向一步 pθ(xt−1∣xt)p_\theta(x_{t-1}\mid x_t)pθ​(xt−1​∣xt​) 匹配真实后验 q(xt−1∣xt,x0)q(x_{t-1}\mid x_t,x_0)q(xt−1​∣xt​,x0​)
L0L_0L0​最后一步重建数据 x0x_0x0​

其中核心项为:

Lt−1=DKL(q(xt−1∣xt,x0)∥pθ(xt−1∣xt))L_{t-1} = D_{\mathrm{KL}} \left( q(x_{t-1}\mid x_t,x_0) \| p_\theta(x_{t-1}\mid x_t) \right)Lt−1​=DKL​(q(xt−1​∣xt​,x0​)∥pθ​(xt−1​∣xt​))

由于前向过程是高斯链,真实后验 q(xt−1∣xt,x0)q(x_{t-1}\mid x_t,x_0)q(xt−1​∣xt​,x0​) 也是高斯分布,因此可将优化目标化为高斯均值之间的匹配。

Noise Prediction Parameterization

DDPM 的关键简化是:不直接预测 μθ\mu_\thetaμθ​,而是让网络预测加到 x0x_0x0​ 上的噪声 ϵ\epsilonϵ。均值可由预测噪声重参数化为:

μθ(xt,t)=1αt(xt−1−αt1−αˉtϵθ(xt,t))\mu_\theta(x_t,t) = \frac{1}{\sqrt{\alpha_t}} \left( x_t-\frac{1-\alpha_t}{\sqrt{1-\bar{\alpha}_t}}\epsilon_\theta(x_t,t) \right)μθ​(xt​,t)=αt​​1​(xt​−1−αˉt​​1−αt​​ϵθ​(xt​,t))

最终训练目标可简化为:

L=Ex0∼D, t∼[1,T], ϵ∼N(0,I)[∥ϵ−ϵθ(αˉtx0+1−αˉtϵ,t)∥2]\mathcal{L} = \mathbb{E}_{x_0\sim\mathcal{D},\,t\sim[1,T],\,\epsilon\sim\mathcal{N}(0,I)} \left[ \left\| \epsilon- \epsilon_\theta \left( \sqrt{\bar{\alpha}_t}x_0+\sqrt{1-\bar{\alpha}_t}\epsilon, t \right) \right\|^2 \right]L=Ex0​∼D,t∼[1,T],ϵ∼N(0,I)​[​ϵ−ϵθ​(αˉt​​x0​+1−αˉt​​ϵ,t)​2]

也即网络输入 xtx_txt​ 和 ttt,输出预测噪声 ϵθ(xt,t)\epsilon_\theta(x_t,t)ϵθ​(xt​,t),损失为真实噪声与预测噪声之间的 L2 距离。

注:Diffusion 训练不是让网络直接从噪声图预测干净图,而是预测“当前图像中被加入的噪声成分”。干净图可由 xtx_txt​ 和预测噪声间接恢复。

DDPM Training Pipeline

Training Pipeline:

  1. 从数据集采样干净图像 x0x_0x0​。
  2. 随机采样时间步 t∈{1,…,T}t\in\{1,\dots,T\}t∈{1,…,T}。
  3. 采样高斯噪声 ϵ∼N(0,I)\epsilon\sim\mathcal{N}(0,I)ϵ∼N(0,I)。
  4. 用 Diffusion Kernel 构造噪声图: xt=αˉtx0+1−αˉtϵx_t=\sqrt{\bar{\alpha}_t}x_0+\sqrt{1-\bar{\alpha}_t}\epsilonxt​=αˉt​​x0​+1−αˉt​​ϵ
  5. 将 (xt,t)(x_t,t)(xt​,t) 输入去噪网络,得到 ϵθ(xt,t)\epsilon_\theta(x_t,t)ϵθ​(xt​,t)。
  6. 最小化 ∥ϵ−ϵθ(xt,t)∥22\|\epsilon-\epsilon_\theta(x_t,t)\|_2^2∥ϵ−ϵθ​(xt​,t)∥22​。

DDPM Sampling Pipeline

Sampling Pipeline:

  1. 从标准高斯采样初始噪声 xT∼N(0,I)x_T\sim\mathcal{N}(0,I)xT​∼N(0,I)。
  2. 对 t=T,T−1,…,1t=T,T-1,\dots,1t=T,T−1,…,1:
    • 用网络预测噪声 ϵθ(xt,t)\epsilon_\theta(x_t,t)ϵθ​(xt​,t);
    • 根据反向高斯分布计算 xt−1x_{t-1}xt−1​;
    • 除最后一步外,可额外注入高斯随机性。
  3. 得到最终样本 x0x_0x0​。

这一过程通常需要很多去噪步,因此原始 DDPM 的采样速度慢于 GAN,但图像质量与模式覆盖通常更好。

Network Architecture and Time Conditioning

早期 DDPM 常使用 U-Net 作为去噪网络。输入为噪声图 xtx_txt​,输出为同维度噪声预测 ϵθ\epsilon_\thetaϵθ​。U-Net 的 encoder-decoder 结构和 skip connections 有利于同时处理全局语义与局部细节。

时间步 ttt 需要被注入网络,常见方法包括:

  1. 使用类似 Transformer 的 sinusoidal embedding 将 ttt 编码为向量。
  2. 经 MLP 得到调制参数。
  3. 通过 Adaptive Group Normalization(AdaGN)或 scale/shift 调制中间特征。

注:标准像素空间 DDPM 中,xtx_txt​ 与图像 x0x_0x0​ 同维度;这不同于普通 VAE 中低维 latent code 的设置。

Alternative Perspectives: Score and SDE

Diffusion 也可从 Score Function 角度理解。对任意分布 p(x)p(x)p(x),score function 定义为:

s(x)=∇xlog⁡p(x)s(x)=\nabla_x\log p(x)s(x)=∇x​logp(x)

它是一个指向高概率密度区域的向量场。Score-based generative model 训练网络近似数据分布在不同噪声水平下的 score,从而指导样本从噪声区域移动到数据高密度区域。

连续时间下,加噪过程还可写成 Stochastic Differential Equation(SDE):

dx=f(x,t)dt+g(t)dwd\mathbf{x}=f(\mathbf{x},t)dt+g(t)d\mathbf{w}dx=f(x,t)dt+g(t)dw

其中 dwd\mathbf{w}dw 表示布朗运动噪声。Diffusion 的生成可理解为学习并求解反向时间 SDE。

Flow Matching

Basic Idea

Flow Matching 提供了另一种生成视角:从噪声分布 pnoisep_{\mathrm{noise}}pnoise​ 到数据分布 pdatap_{\mathrm{data}}pdata​ 学习一个连续速度场。设:

z∼pnoise,x∼pdata,t∼Uniform(0,1)z\sim p_{\mathrm{noise}},\quad x\sim p_{\mathrm{data}},\quad t\sim\mathrm{Uniform}(0,1)z∼pnoise​,x∼pdata​,t∼Uniform(0,1)

使用线性插值得到中间状态:

xt=(1−t)x+tzx_t=(1-t)x+tzxt​=(1−t)x+tz

对应速度为:

v=z−xv=z-xv=z−x

因为:

dxtdt=z−x=v\frac{dx_t}{dt}=z-x=vdtdxt​​=z−x=v

因此训练网络 vθ(xt,t)v_\theta(x_t,t)vθ​(xt​,t) 预测该速度场:

L=Ex,z,t[∥vθ(xt,t)−(z−x)∥22]\mathcal{L} = \mathbb{E}_{x,z,t} \left[ \left\| v_\theta(x_t,t)-(z-x) \right\|_2^2 \right]L=Ex,z,t​[∥vθ​(xt​,t)−(z−x)∥22​]

Training and Sampling

Training Pipeline:

  1. 采样数据 x∼pdatax\sim p_{\mathrm{data}}x∼pdata​。
  2. 采样噪声 z∼pnoisez\sim p_{\mathrm{noise}}z∼pnoise​。
  3. 采样时间 t∼Uniform(0,1)t\sim\mathrm{Uniform}(0,1)t∼Uniform(0,1)。
  4. 构造 xt=(1−t)x+tzx_t=(1-t)x+tzxt​=(1−t)x+tz。
  5. 令目标速度 v=z−xv=z-xv=z−x,训练 vθ(xt,t)v_\theta(x_t,t)vθ​(xt​,t) 预测 vvv。

Sampling Pipeline:

  1. 采样初始点 x1∼pnoisex_1\sim p_{\mathrm{noise}}x1​∼pnoise​。
  2. 选择步数 TTT,例如 T=50T=50T=50。
  3. 从 t=1t=1t=1 向 t=0t=0t=0 数值积分:
xt−Δt=xt−vθ(xt,t)Δtx_{t-\Delta t}=x_t-v_\theta(x_t,t)\Delta txt−Δt​=xt​−vθ​(xt​,t)Δt
  1. 得到 x0x_0x0​ 作为生成样本。

Flow Matching 的采样本质上是在解一个 ODE(常微分方程),而 DDPM 的反向采样通常带有随机噪声,更接近 SDE。

Unified Form with Diffusion

更一般地,可写成:

xt=atx+btzx_t=a_t x+b_t zxt​=at​x+bt​z

网络预测某个目标:

ctx+dtzc_t x+d_t zct​x+dt​z

不同生成模型对应不同的系数设计:

方法ata_tat​btb_tbt​网络目标
Flow Matching1−t1-t1−ttttz−xz-xz−x
Diffusionαˉt\sqrt{\bar{\alpha}_t}αˉt​​1−αˉt\sqrt{1-\bar{\alpha}_t}1−αˉt​​噪声 ϵ\epsilonϵ 或 score

该统一视角说明:Diffusion 与 Flow Matching 都是在不同噪声水平下学习“如何从噪声状态回到数据状态”的向量场,只是路径、目标参数化和采样方程不同。

Conditional Flow Matching

若希望进行条件生成,只需将条件 yyy 加入网络:

vθ(xt,t,y)v_\theta(x_t,t,y)vθ​(xt​,t,y)

训练时使用成对数据 (x,y)(x,y)(x,y),例如图像与类别标签、图像与文本描述、视频与文本描述。采样时固定 yyy,即可生成满足条件的样本。

Latent Diffusion Models

Motivation

直接在像素空间做 Diffusion 代价很高。例如 1024×1024×31024\times1024\times31024×1024×3 图像包含数百万像素,若每次去噪都运行大型网络,训练与采样成本都非常大。

Latent Diffusion Model(LDM)的核心思想是:先将图像压缩到低维 latent space,再在 latent 上做 Diffusion。这样既保留主要语义和结构,又显著减少计算量。

Autoencoder Compression

先训练一个 encoder-decoder:

x∈RH×W×3→z∈RHD×WD×Cx\in\mathbb{R}^{H\times W\times3} \to z\in\mathbb{R}^{\frac{H}{D}\times\frac{W}{D}\times C}x∈RH×W×3→z∈RDH​×DW​×C

例如:

256×256×3→32×32×16256\times256\times3\to32\times32\times16256×256×3→32×32×16

Encoder 和 Decoder 通常是 CNN,并可加入 attention。训练完成后冻结 encoder/decoder,只在 latent space 训练 diffusion model。

Encoder-Decoder Training

LDM 中的 autoencoder 通常是 VAE 变体:

  1. 使用很小权重的 KL prior,使 latent space 保持一定连续性和可采样性。
  2. 加入 reconstruction loss,保证 latent 能重构图像。
  3. 为避免 VAE decoder 输出模糊,可加入 Discriminator,使用 GAN loss 提升重构图像的真实感。

因此现代 LDM pipeline 可概括为:

VAE+GAN+Diffusion\text{VAE}+\text{GAN}+\text{Diffusion}VAE+GAN+Diffusion

LDM Training and Generation Pipeline

Training Pipeline:

  1. 训练 autoencoder,将图像 xxx 编码为 latent zzz 并重构回图像。
  2. 冻结 encoder 和 decoder。
  3. 对 latent zzz 加噪,得到 noisy latent ztz_tzt​。
  4. 训练 diffusion model 在 latent space 中预测噪声或速度场。

Sampling Pipeline:

  1. 从 latent space 采样随机噪声。
  2. 在 latent space 中迭代去噪,得到 clean latent。
  3. 用冻结的 decoder 将 clean latent 解码为图像。

注:Latent diffusion 是当前图像生成中最常见的工程范式。它把“高质量图像合成”拆成两个问题:视觉压缩与 latent 空间生成。

Conditional Diffusion and Diffusion Transformer

Conditional Diffusion

无条件 Diffusion 学习 p(x)p(x)p(x),条件 Diffusion 学习 p(x∣y)p(x\mid y)p(x∣y)。条件 yyy 可以是类别、文本、边缘图、深度图、人体姿态、分割图或参考图像。

常见条件注入方式包括:

条件类型注入方式代表应用
类别标签embedding 后通过 scale/shift 调制网络class-conditional generation
文本text encoder + cross-attentiontext-to-image
空间控制图额外分支或 ControlNetedge/depth/pose control
时间步 ttttimestep embedding + normalization modulation所有 diffusion 模型

以 cross-attention 为例,条件信号 yyy 先经过领域编码器 τ(y)\tau(y)τ(y),被去噪信号 xtx_txt​ 经过网络得到特征 ϕ(xt)\phi(x_t)ϕ(xt​),再构造:

Q=WQϕ(xt),K=WKτ(y),V=WVτ(y)Q=W_Q\phi(x_t),\quad K=W_K\tau(y),\quad V=W_V\tau(y)Q=WQ​ϕ(xt​),K=WK​τ(y),V=WV​τ(y)

这样去噪过程中的视觉 token 可以读取文本或其他条件 token。

ControlNet

ControlNet 用于给预训练 diffusion model 添加空间控制信号,例如 canny edge、depth map、pose 或 segmentation map。其目标是在保持原模型生成能力的同时,让输出图像遵循额外结构约束。

Pipeline:

  1. 输入文本 prompt 与控制图。
  2. 文本通过 text encoder 得到 text embeddings。
  3. 控制图通过额外网络分支提取空间条件特征。
  4. 去噪网络在 cross-attention 与控制分支共同作用下迭代去噪。
  5. 输出同时满足文本语义与空间控制的图像。

Diffusion Transformer

Diffusion Transformer(DiT)用标准 Transformer blocks 替换 U-Net 作为去噪网络。基本流程为:

  1. 将 latent image 切分为 patches,并视作 token 序列。
  2. 输入 Transformer blocks。
  3. 输出每个 patch 对应的噪声、velocity 或 clean latent 预测。

DiT 的核心问题是如何注入条件,尤其是 timestep ttt 与文本条件。常见做法包括:

  1. 对 timestep 使用 embedding,经 MLP 预测 scale/shift。
  2. 通过 Adaptive Layer Normalization(AdaLN)调制 Transformer block。
  3. 对文本、图像等条件使用 cross-attention 或 joint attention。

Text-to-Image Pipeline

现代 text-to-image LDM/DiT 可概括为:

  1. 文本 prompt 输入预训练 text encoder,例如 T5 或 CLIP。
  2. 随机采样 noisy latents。
  3. Diffusion timestep 作为标量条件注入 DiT。
  4. DiT 结合 text embeddings 与 noisy latents,预测去噪方向。
  5. 多步迭代后得到 clean latents。
  6. Decoder 将 clean latents 解码为输出图像。

以 FLUX.1 一类模型为例,常见配置包括 T5 + CLIP text encoder、8x8 latent downsampling、大规模 DiT,以及 latent patchify 后的 image tokens。

Text-to-Video Pipeline

视频生成将 latent 从二维扩展到三维时空张量:

zt∈RT×H′×W′×Cz_t\in\mathbb{R}^{T\times H'\times W'\times C}zt​∈RT×H′×W′×C

流程与 text-to-image 类似,但 DiT 需要同时建模时间、空间与文本条件:

  1. 文本 prompt 经 text encoder 得到文本 token。
  2. 采样 noisy video latents。
  3. DiT 在时空 latent tokens 上迭代去噪。
  4. Decoder 将 clean video latents 解码为视频帧序列。

视频生成的难点在于长时序一致性、物体身份保持、运动合理性和物理交互。现代视频 diffusion 模型通常使用更大的 DiT、更强文本编码器和时空压缩 autoencoder。

Applications and Frontiers

Multimodal Generation Applications

Diffusion 与 Flow Matching 已扩展到多种生成任务:

应用目标
Text-to-Image根据文本生成图像
Image Editing根据文本或 mask 修改已有图像
Personalization学习特定主体或风格并在新场景中生成
Text-to-3D利用 2D diffusion prior 优化 3D 表示
Text-to-Music根据文本生成音乐或音频
Text-to-Video根据文本生成时序一致的视频

其中 conditional generation 尤其重要,因为实际应用往往不是“随机生成一张图”,而是生成满足文本、结构、风格、主体或时序约束的内容。

Evolution of Generative Models

模型密度/采样方式优点局限
GAN隐式密度,直接采样图像清晰,采样快训练不稳定,mode collapse
Autoregressive Model显式分解,逐 token 采样似然清晰,可扩展到离散 token高分辨率视觉采样慢
Diffusion Model迭代去噪,可由 ELBO 推导质量与模式覆盖较均衡采样步数多,计算成本高
Latent Diffusion在压缩 latent 上迭代去噪大幅降低成本,当前主流依赖 autoencoder 质量
Flow Matching学习 ODE 速度场训练简洁,采样路径直观仍需数值积分与条件建模

Key Takeaways

Diffusion Model 的重要性在于,它把高维图像生成转化为一系列局部、可监督的去噪问题。虽然完整 ELBO 推导较复杂,但最终训练目标极其简单:随机选时间步、加已知噪声、预测噪声。

Latent Diffusion 解决了像素空间计算量过大的问题,Conditional Diffusion 与 ControlNet 使生成过程可控,DiT 则将扩散模型接入 Transformer scaling law。 当前图像和视频生成的主流系统,通常就是 text encoder、latent autoencoder、DiT/U-Net 去噪器与条件控制模块的组合。

目录
  • Diffusion Models
    • From VAE to Hierarchical Latent Variable Models
    • Markov Chain Perspective
  • Forward Diffusion Process
    • Single-Step Noising
    • Diffusion Kernel
    • Noise Schedule
  • Reverse Denoising Process
    • Reverse Distribution Modeling
    • ELBO Objective
    • Noise Prediction Parameterization
    • DDPM Training Pipeline
    • DDPM Sampling Pipeline
    • Network Architecture and Time Conditioning
    • Alternative Perspectives: Score and SDE
  • Flow Matching
    • Basic Idea
    • Training and Sampling
    • Unified Form with Diffusion
    • Conditional Flow Matching
  • Latent Diffusion Models
    • Motivation
    • Autoencoder Compression
    • Encoder-Decoder Training
    • LDM Training and Generation Pipeline
  • Conditional Diffusion and Diffusion Transformer
    • Conditional Diffusion
    • ControlNet
    • Diffusion Transformer
    • Text-to-Image Pipeline
    • Text-to-Video Pipeline
  • Applications and Frontiers
    • Multimodal Generation Applications
    • Evolution of Generative Models
    • Key Takeaways
© 2026 miniyuan. All rights reserved.
Go to miniyuan's GitHub repo