Files
2026-05-16 17:16:51 +08:00

656 lines
26 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Stochastic Interpolants统一生成模型的底层框架
draft: false
tags:
- Stochastic-Interpolants
- 生成模型
- 统一框架
- 深度学习
---
# Stochastic Interpolantsflows、diffusions 与生成模型的统一底层结构
---
## 一、从碎片化到统一:为什么需要 Stochastic Interpolants
### 1.1 生成模型领域的碎片化现状
过去几年出现了多种生成模型范式,每种都有独特的数学形式和训练目标:
| 模型 | 过程类型 | 核心数学工具 | 训练目标 |
|------|---------|-------------|---------|
| **Normalizing Flow / CNF** | 确定性 ODE | $\log\det J$ / $\text{tr}(\partial f/\partial x)$ | 对数似然最大化 |
| **Diffusion (DDPM)** | 离散马尔可夫链 | KL 散度 / ELBO | 噪声预测 $\epsilon$ |
| **Score-Based SDE** | 随机微分方程 | Fokker-Planck / Score matching | Score function $\nabla\log p_t$ |
| **Flow Matching** | 连续路径 | 向量场回归 | 速度场 $v_\theta$ |
| **Rectified Flow** | 确定性 ODE | 最优传输 / 路径直线化 | 速度场差值 |
表面上这些模型截然不同,但深入分析会发现它们共享相同的信息论基础。**Stochastic Interpolants** 的核心贡献是揭示了这个统一结构。
### 1.2 核心问题
设我们有两个分布:
- $p_0$:噪声分布(通常为 $\mathcal{N}(0, I)$
- $p_1$:数据分布
**如何构建一个连续时间过程,将 $p_0$ 连接到 $p_1$**
Stochastic Interpolants 的回答是:以上所有都可以统一为**特殊的随机插值过程**,即选择特定的调度函数 $\psi, \phi, \sigma$。
---
## 二、Stochastic Interpolants 的数学框架
### 2.1 随机插值过程的定义
**定义(随机插值过程)**
设 $x_0 \sim p_0$ 和 $x_1 \sim p_1$ 是两个**独立采样**的样本(这是 SI 的关键假设)。定义它们的**随机插值**为一个连续时间过程 $X_t \in \mathbb{R}^D$
$$X_t = \psi(t) \, x_0 + \phi(t) \, x_1 + \sigma(t) \, z \tag{2.1}$$
其中:
- $\psi(t), \phi(t): [0,1] \to \mathbb{R}$ 是确定性的**调度函数**schedule functions
- $\sigma(t): [0,1] \to \mathbb{R}$ 是噪声幅度函数
- $z \sim \mathcal{N}(0, I)$ 是独立的标准高斯噪声
- $x_0 \sim p_0$ 和 $x_1 \sim p_1$ 独立同分布采样
**物理直觉**
- $x_0$ 和 $x_1$ 是路径的两个端点
- $\psi(t)$ 控制从 $x_0$ 出发的"权重"
- $\phi(t)$ 控制从 $x_1$ 出发的"权重"
- $\sigma(t) z$ 是在路径上叠加的随机噪声
### 2.2 边界条件
为确保 $X_t$ 是有效的插值过程,调度函数必须满足以下边界条件:
$$X_{t=0} = \psi(0) \, x_0 + \phi(0) \, x_1 + \sigma(0) \, z \stackrel{!}{=} x_0$$
$$X_{t=1} = \psi(1) \, x_0 + \phi(1) \, x_1 + \sigma(1) \, z \stackrel{!}{=} x_1$$
这要求:
$$\psi(0) = 1, \quad \phi(0) = 0, \quad \sigma(0) = 0 \tag{2.2}$$
$$\psi(1) = 0, \quad \phi(1) = 1, \quad \sigma(1) = 0 \tag{2.3}$$
**解释**
- $t=0$ 时,$X_0 = x_0$(纯噪声)
- $t=1$ 时,$X_1 = x_1$(纯数据)
### 2.3 插值调度函数的设计空间
**标准线性插值**Rectified Flow
$$\psi(t) = 1 - t, \quad \phi(t) = t, \quad \sigma(t) = 0$$
这给出 $X_t = (1-t)x_0 + t x_1$,即两点之间的直线段。
**DDPM 插值形式不满足 SI 边界条件**
DDPM 的加噪形式 $X_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1-\bar{\alpha}_t} \epsilon$ 无法直接嵌入标准 SI 框架:
- SI 要求 $\psi(1) = 0$,但 $\psi(1) = \sqrt{\bar{\alpha}_1} \neq 0$(除非 $\bar{\alpha}_1 = 0$,即极端情况)
- DDPM 的端点间关系是随机的(非确定性插值),不满足 SI 的确定性端点假设
- DDPM 的时间流向与 SI 相反:$t=0$ 为数据、$t=T$ 为噪声
**独立噪声插值**(最一般形式):
$$X_t = \alpha(t) x_0 + \beta(t) x_1 + \gamma(t) z$$
其中 $\alpha, \beta, \gamma$ 是满足边界条件的任意函数。
### 2.4 边际分布的数学描述
**关键问题**:对于给定的 $x_0 \sim p_0$ 和 $x_1 \sim p_1$$X_t$ 的**边际分布** $p_t$ 是什么?
**命题**$p_t$ 可以通过以下方式描述:
给定 $x_0$ 和 $x_1$$X_t$ 的条件分布为:
$$p(x_t | x_0, x_1) = \mathcal{N}\left(\psi(t) x_0 + \phi(t) x_1, \; \sigma(t)^2 I\right) \tag{2.4}$$
边际分布为:
$$p_t(x_t) = \mathbb{E}_{x_0 \sim p_0, x_1 \sim p_1}\left[ p(x_t | x_0, x_1) \right] \tag{2.5}$$
即 $p_t$ 是条件高斯分布在 $(x_0, x_1)$ 联合分布上的期望。
---
## 三、从插值过程到 Itô SDE
### 3.1 Itô SDE 的推导
对随机插值过程 $X_t$ 应用 Itô 引理,可以将其转化为等价的 Itô SDE。
**定理SI 的 Itô SDE 表示)**
过程 $X_t$ 满足以下 Itô SDE
$$d X_t = \underbrace{\left[ \dot{\psi}(t) x_0 + \dot{\phi}(t) x_1 \right]}_{\text{drift } f_t(X_t)} d t + \underbrace{\dot{\sigma}(t)}_{\text{diffusion } g_t} d W_t \tag{3.1}$$
其中 $W_t$ 是标准维纳过程,$\dot{}$ 表示对时间的导数。
**推导步骤**
1. **微分形式**:对 $X_t = \psi(t) x_0 + \phi(t) x_1 + \sigma(t) z$ 求导:
$$\frac{d X_t}{d t} = \dot{\psi}(t) x_0 + \dot{\phi}(t) x_1 + \dot{\sigma}(t) z$$
2. **分离确定性项和随机项**:将 $\dot{\sigma}(t) z d t$ 转换为维纳增量:
- 对于标准高斯 $z \sim \mathcal{N}(0,I)$,有 $z d t \approx d W_t$ 的统计特性
- 更精确地,$\dot{\sigma}(t) z d t = \dot{\sigma}(t) d W_t$ 当 $d W_t \sim \mathcal{N}(0, dt)$
**注意**:原版 Albergo 论文推导中不存在人为构造的 $-\frac{1}{2} \frac{d}{dt}(\sigma^2) z$ 修正项——该修正项是自主错误添加,原版 SI 的漂移项仅为 $\dot{\psi} x_0 + \dot{\phi} x_1$。
### 3.2 漂移项的物理解释
**确定性漂移项**
$$f_t = \dot{\psi}(t) x_0 + \dot{\phi}(t) x_1$$
这是从端点出发的确定性运动。
### 3.3 Fokker-Planck 方程
**定理Fokker-Planck 方程)**
$X_t$ 的边际分布 $p_t$ 满足以下 Fokker-Planck 方程:
$$\frac{\partial p_t(x)}{\partial t} = -\nabla \cdot \left[ \mathbb{E}\left[\dot{\psi}(t) x_0 + \dot{\phi}(t) x_1 \mid X_t = x\right] p_t(x) \right] + \frac{1}{2} \left(\dot{\sigma}(t)\right)^2 \, \nabla^2 p_t(x) \tag{3.2}$$
其中 $\nabla^2$ 是拉普拉斯算子(标准符号,非 $\Delta$)。
**物理意义**
- 第一项是**漂移项**:描述确定性运动导致的密度变化
- 第二项是**扩散项**:描述随机性导致的密度分散
**当 $\sigma(t) = 0$ 时**第二项消失Fokker-Planck 方程退化为确定性 ODE 的连续性方程:
$$\frac{\partial p_t}{\partial t} = -\nabla \cdot (v_t p_t) \tag{3.3}$$
其中 $v_t = \mathbb{E}[\dot{\psi} x_0 + \dot{\phi} x_1 | X_t]$ 是速度场。
---
## 四、与现有模型的对应关系
### 4.1 还原 Normalizing Flow / CNF
**条件**$\sigma(t) = 0$(无额外噪声)
此时过程退化为**确定性 ODE**
$$d X_t = \left[\dot{\psi}(t) x_0 + \dot{\phi}(t) x_1\right] d t \tag{4.1}$$
**连续性方程**(描述概率守恒):
$$\frac{\partial \log p_t}{\partial t} = -\text{tr}\left(\frac{\partial f}{\partial x}\right) \tag{4.2}$$
其中 $f = \dot{\psi} x_0 + \dot{\phi} x_1$。
**这正是 CNF 的瞬时变量代换公式!**
### 4.2 还原 DDPM / Score-Based SDE
**重要澄清**DDPM 原生前向加噪过程的时间流向与 SI 框架**方向相反**
- **SI 标准正向**$t=0$ 为噪声 $p_0$$t=1$ 为数据 $p_1$(生成方向)
- **DDPM 原生加噪**$t=0$ 为真实数据,逐步加噪到 $t=T$ 纯噪声
DDPM 的前向 SDE 本质是带连续布朗运动扩散项的**随机过程**,天然依赖 $\sigma(t) \neq 0$ 随机分量,**零噪声确定性流无法等价还原 DDPM**。
**SI 框架嵌入 DDPM 的正确方式**
若将 DDPM 的逆向生成过程(从噪声到数据)嵌入 SI 框架,需首先对 DDPM 做时间反转。DDPM 前向 SDE
$$d X_t = -\frac{1}{2} \beta(t) X_t d t + \sqrt{\beta(t)} d W_t$$
其逆向 SDE反向时间
$$d X_t = \left[ -\frac{1}{2} \beta(t) X_t - \beta(t) \nabla_X \log p_t \right] d t + \sqrt{\beta(t)} d \bar{W}_t$$
**DDPM 无法以标准 SI 形式 $X_t = \psi(t)x_0+\phi(t)x_1+\sigma(t)z$ 嵌入**,因为 DDPM 不满足 SI 的独立端点采样假设。DDPM 的 $x_0$ 和 $x_1$ 之间不存在确定性的插值关系。
### 4.3 还原 Rectified Flow
**条件**$\sigma(t) = 0$ 且 $\psi(t) = 1-t$$\phi(t) = t$
此时:
$$X_t = (1-t) x_0 + t x_1 \tag{4.5}$$
求导得:
$$\frac{d X_t}{d t} = x_1 - x_0 \tag{4.6}$$
对应的 ODE 为:
$$d X_t = (x_1 - x_0) d t \tag{4.7}$$
这是**无噪声的确定性流**,正是 Rectified Flow 的路径!
### 4.4 统一公式表
| 模型 | $\psi(t)$ | $\phi(t)$ | $\sigma(t)$ | 过程类型 |
|------|-----------|-----------|------------|---------|
| **NF/CNF** | 任意可逆 | 任意可逆 | $0$ | 确定性 ODE |
| **DDPM**(逆向生成) | 依赖调度 | 依赖调度 | $\neq 0$ | 随机 SDE需时间反转 |
| **Rectified Flow** | $1-t$ | $t$ | $0$ | 确定性 ODE常数速度场 |
| **一般 SI** | 任意 | 任意 | 任意 | 随机 SDE |
**说明**DDPM 的前向过程从 $t=0$ 数据逐步加噪到 $t=T$ 噪声,时间流向与 SI 相反;其逆向生成过程可对应 SI 框架,但调度函数需通过时间反转定义。
---
## 五、从正向过程到反向生成
### 5.1 反向时间 SDE
**核心问题**:给定 $X_T \sim p_T$(接近数据分布),如何反向推导出 $X_0 \sim p_0$(噪声分布)?
**定理(反向 SDE**
对于前向 SDE
$$d X_t = f_t(X_t) d t + g_t d W_t \tag{5.1}$$
反向时间($t \to T-t$)的 SDE 为:
$$d X_t = \left[ f_t(X_t) - g_t g_t^\top \nabla_X \log p_t(X_t) \right] d t + g_t d \bar{W}_t \tag{5.2}$$
其中 $\nabla_X \log p_t$ 是 **score function**$g_t g_t^\top$ 是扩散系数的协方差矩阵,$\bar{W}_t$ 是反向维纳过程。
**推导要点**
设 $Y_s = X_{T-s}$ 为时间反转过程。通过 Itô 引理和 Radon-Nikodym 导数,可以得到反向 SDE 的漂移项修正为 $-g_t g_t^\top \nabla \log p_t$。
### 5.2 应用于 Stochastic Interpolants
对于 SI 的前向 SDE式 3.1
$$f_t = \dot{\psi} x_0 + \dot{\phi} x_1 - \frac{1}{2} \frac{d}{dt}(\sigma^2) z, \quad g_t = \dot{\sigma}$$
对应的反向 SDE 为:
$$d X_t = \left[ \dot{\psi} x_0 + \dot{\phi} x_1 - \left(\dot{\sigma}\right)^2 \nabla_X \log p_t \right] d t + \dot{\sigma} d \bar{W}_t \tag{5.3}$$
### 5.3 Probability Flow ODE
**定理Probability Flow ODE**
对于任意 SDE式 5.1),存在等价的**确定性 ODE**,产生相同的边际分布 $p_t$
$$d X_t = \left[ f_t(X_t) - \frac{1}{2} g_t g_t^\top \nabla_X \log p_t(X_t) \right] d t \tag{5.4}$$
**证明概览**
通过 Fokker-Planck 方程可以验证,两个过程具有相同的密度演化。
**物理意义**
- Probability Flow ODE 移除了随机项 $g_t d W_t$
- 保留了 score 修正项 $- \frac{1}{2} g_t g_t^\top \nabla \log p_t$
- 结果是一个确定性流,但保持相同的边际分布
**注意**Probability Flow ODE 源自 Score-SDE 体系,是分数流的专属边际等效确定性 ODE**无法直接通用到任意调度的 Stochastic Interpolants**——仅当对应的 SDE 属于 Score-SDE 框架时 PFODE 才适用。
**当 $g_t = 0$ 时**无噪声Probability Flow ODE 退化为标准确定性 ODE
$$d X_t = f_t d t \tag{5.5}$$
### 5.4 速度场的定义
**定义(速度场)**
在 SI 框架下,速度场 $v_t$ 定义为条件期望(基于独立端点联合分布 $\pi(x_0, x_1) = p_0(x_0) p_1(x_1)$
$$v_t(x) = \mathbb{E}\left[ \frac{d X_t}{d t} \bigg| X_t = x \right] = \mathbb{E}_{x_0, x_1 \sim \pi}\left[ \dot{\psi} x_0 + \dot{\phi} x_1 \mid X_t = x \right] \tag{5.6}$$
**与 Flow Matching 的联系**
Flow Matching 直接回归这个速度场 $v_\theta \approx v_t$。在 SI 框架下,训练目标可以表述为:
$$\min_\theta \mathbb{E}_{t, x_0, x_1, z} \left\| v_\theta(X_t, t) - \mathbb{E}[\dot{\psi} x_0 + \dot{\phi} x_1 \mid X_t] \right\|^2 \tag{5.7}$$
---
## 六、训练目标与损失函数
### 6.1 三种等价的训练目标
SI 框架下可以推导出三种等价的训练目标,它们在特定的参数选择下互相一致:
#### 6.1.1 速度场回归Flow Matching 风格)
当 $\sigma(t) = 0$ 时,训练目标是回归条件速度场:
$$\mathcal{L}_v(\theta) = \mathbb{E}_{t, x_0, x_1} \left\| v_\theta(X_t, t) - (\dot{\psi} x_0 + \dot{\phi} x_1) \right\|^2 \tag{6.1}$$
对于 $\psi(t) = 1-t, \phi(t) = t$,这简化为:
$$\mathcal{L}_v(\theta) = \mathbb{E}_{t, x_0, x_1} \left\| v_\theta(X_t, t) - (x_1 - x_0) \right\|^2 \tag{6.2}$$
这正是 Rectified Flow 的损失函数。
#### 6.1.2 Score Matching 风格
**定理(去噪 Score Matching 的 SI 形式)**
当 $\sigma(t) \neq 0$ 时,训练目标可以转化为 score matching
$$\mathcal{L}_s(\theta) = \mathbb{E}_{t, x_0, x_1, z} \left\| s_\theta(X_t, t) - \nabla_{X_t} \log p(x_t | x_0, x_1) \right\|^2 \tag{6.3}$$
其中 $s_\theta$ 是神经网络预测的 score function。
**推导**
条件分布 $p(x_t | x_0, x_1) = \mathcal{N}(\psi x_0 + \phi x_1, \sigma^2 I)$,所以:
$$\nabla_{X_t} \log p(x_t | x_0, x_1) = -\frac{X_t - (\psi x_0 + \phi x_1)}{\sigma(t)^2} = -\frac{\sigma(t) z}{\sigma(t)^2} = -\frac{z}{\sigma(t)} \tag{6.4}$$
因此:
$$\mathcal{L}_s(\theta) = \mathbb{E}_{t, x_0, x_1, z} \left\| s_\theta(X_t, t) + \frac{z}{\sigma(t)} \right\|^2 \tag{6.5}$$
#### 6.1.3 噪声预测DDPM 风格)
当 $\psi(t) = \sqrt{\bar{\alpha}_t}, \phi(t) = \sqrt{1-\bar{\alpha}_t}$ 时,令 $\epsilon = z$,有:
$$X_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1-\bar{\alpha}_t} \epsilon \tag{6.6}$$
score matching 目标(式 6.5)可以重写为噪声预测:
$$\mathcal{L}_\epsilon(\theta) = \mathbb{E}_{t, x_0, \epsilon} \left\| \epsilon_\theta(X_t, t) - \epsilon \right\|^2 \tag{6.7}$$
其中 $\epsilon_\theta = -\sigma(t) s_\theta$。
**这正是 DDPM 的噪声预测目标!**
### 6.2 目标等价性的条件限定
**定理(目标等价性,仅在严格条件下成立)**
三个训练目标在以下**全部四个前置条件**同时满足时互相等价:
1. **端点独立采样**$x_0 \sim p_0$, $x_1 \sim p_1$ 相互独立
2. **固定统一插值调度**$\psi, \phi, \sigma$ 是预先确定的调度函数(非学习参数)
3. **无边际分布偏移**:插值过程保持正确的边际分布演化 $p_t$
4. **时间流向严格对齐**SI 框架的 $t=0$ 噪声、$t=1$ 数据与目标模型一致
**脱离上述约束条件时**,三者仅为形式相似,数学期望层面**并不等价**
| 目标 | 公式 | 适用场景 |
|------|------|---------|
| **速度场回归** | $\mathbb{E}\| v_\theta - (x_1-x_0) \|^2$ | $\sigma(t) = 0$Flow Matching / RF |
| **Score matching** | $\mathbb{E}\| s_\theta + \frac{z}{\sigma(t)} \|^2$ | $\sigma(t) \neq 0$,去噪场景 |
| **噪声预测** | $\mathbb{E}\| \epsilon_\theta - \epsilon \|^2$ | DDPM 风格调度 |
**物理直觉**
这三种目标从不同角度描述同一个潜在函数:
- Score function $\nabla \log p_t$ 描述概率梯度
- 噪声预测 $\epsilon$ 是 score 的线性变换(仅在特定调度下)
- 速度场 $v_t$ 是路径的切向量(仅在 $\sigma(t) = 0$ 时)
### 6.3 时间步采样策略
**均匀采样**
$$t \sim \mathcal{U}(0, 1)$$
问题:在 $t \approx 0$ 和 $t \approx 1$ 区域,分布变化剧烈,采样不均衡。
**Logit-Normal 采样**(推荐):
$$t = \frac{1}{1 + e^{-z}}, \quad z \sim \mathcal{N}(\mu, \sigma^2) \tag{6.8}$$
效果:使 $t$ 更集中在中间区域($t \approx 0.5$),这正是路径最复杂、信息最丰富的区域。
**常用配置**$\mu = 0, \sigma = 1.0$
### 6.4 损失加权
实践中常用的加权损失:
$$\mathcal{L}_\lambda(\theta) = \mathbb{E}_{t \sim \mathrm{KL}} \left[ \lambda(t) \cdot \left\| v_\theta(X_t, t) - u_t \right\|^2 \right] \tag{6.9}$$
常用权重策略:
- $\lambda(t) = 1$(均匀权重)
- $\lambda(t) = \frac{1}{1-\bar{\alpha}_t}$(与信噪比相关)
- $\lambda(t) = t(1-t)$(中间区域加权)
---
## 七、与 Schrödinger Bridge 的深层联系
### 7.1 Schrödinger Bridge 问题
**原始 Schrödinger BridgeSB问题**
在所有满足边际约束 $p_0 = p_0^{\mathrm{KL}}$ 和 $p_1 = p_1^{\mathrm{KL}}$ 的随机过程 $\{X_t\}$ 中,寻找使以下**动作泛函**最小的那条:
$$\min_{X_t} \mathbb{E} \left[ \int_0^1 \frac{1}{2} \left\| \frac{d X_t}{d t} \right\|^2 d t \right] \tag{7.1}$$
约束:$X_0 \sim p_0$$X_1 \sim p_1$。
**物理直觉**
这相当于在所有连接给定端点分布的随机过程中,寻找"最省力"的路径。就像在两点之间找到最速降线,但考虑随机性。
**与最优传输的关系**
SB 与 Monge 的最优传输问题有深层联系。当路径无噪声时SB 退化为最优传输:
$$\min_{T} \int c(x_0, T(x_0)) d p_0(x_0) \tag{7.2}$$
### 7.2 SI 与 SB 的关系
**SI 提供了 SB 的参数化**
通过选择 $\psi, \phi, \sigma$SI 实际上参数化了连接 $p_0$ 和 $p_1$ 的候选路径族。
**SB 是 SI 的最优选择**
在所有 SI 参数化的路径中SB 对应于使动作泛函(式 7.1)最小的那条路径。
**关键区别**
- SI 是一个**一般性框架**,允许任意调度函数
- SB 是 SI 设计空间中的**最优选择准则**
### 7.3 熵正则化 Schrödinger Bridge
**引入熵正则项**
$$\min_{X_t} \mathbb{E} \left[ \int_0^1 \frac{1}{2} \left\| \frac{d X_t}{d t} \right\|^2 + \lambda \log p_t(X_t) d t \right] \tag{7.3}$$
这导致 Fokker-Planck 方程的正则化版本,平衡最优传输(最小动作)和最大似然(最大熵)。
**层级关系澄清**
- **SI 是路径参数化族**:通过 $\psi, \phi, \sigma$ 定义连接端点的候选路径族
- **SB 是路径最优选择准则**:在 SI 的路径族中选择使动作泛函最小的最优路径
二者不是平级模型SI 提供参数化空间SB 在该空间中选择最优。
---
## 八、训练过程中的潜在问题与解决方案
### 8.1 方差估计问题
**问题**SI 损失函数涉及对 $x_0, x_1, z$ 的期望,高维情况下方差可能很大。
**表现**
$$\mathbb{E}\left[\| v_\theta(X_t, t) - u_t \|^2\right] = \text{Var}(v_\theta) + \text{Var}(u_t) + 2\text{Cov}(v_\theta, u_t) \tag{8.1}$$
当维度 $D$ 很大时,即使每个维度方差很小,总方差也可能很大。
**解决方案**
1. **增大 batch size**:标准做法,通常 $N \geq 256$
2. **Antithetic variates**:使用 $-z$ 作为第二个样本,利用对称性减少方差
3. **重要性采样**:对关键时间区域(如 $t \approx 0.5$)加重采样
4. **方差归一化**$\| v_\theta - u_t \|^2 / D$
### 8.2 时间步采样偏差
**问题**:不同时间步 $t$ 对应的分布 $p_t$ 复杂度不同。
| 区域 | 分布特点 | 挑战 |
|------|---------|------|
| $t \approx 0$(噪声端) | $p_0$ 通常是简单高斯 $\mathcal{N}(0,I)$ | Score 幅度大但结构简单 |
| $t \approx 1$(数据端) | $p_1$ 通常是复杂分布 | Score 幅度小但结构复杂 |
| $t \approx 0.5$(中间) | 混合分布,最复杂 | 信息最丰富,需要更多采样 |
**解决方案**
1. **Logit-normal 时间采样**:使采样集中在中间区域
2. **加权损失**$\lambda(t) = t(1-t)$ 对中间区域加权
3. **课程学习**:从简单($t \approx 0$ 或 $t \approx 1$)到复杂逐步训练
4. **分层采样**:不同 epoch 使用不同的采样分布
### 8.3 模型架构问题
**SI 框架要求模型同时处理**
- 空间输入 $x \in \mathbb{R}^D$
- 时间输入 $t \in [0,1]$
- 随机输入(通过噪声 $\epsilon$
**常见架构模式**
1. **Time MLP**
$$t \xrightarrow{\mathrm{KL}} e \xrightarrow{\mathrm{KL}} \gamma, \beta$$
$$\tilde{x} = \gamma \cdot x + \beta$$
2. **Adaptive Normalization**(类似 DDPM 的 adaptive group norm
$$h = \text{GroupNorm}(x)$$
$$h = \gamma(t) \cdot h + \beta(t)$$
3. **Cross-attention**(条件生成):
$$c \xrightarrow{\mathrm{KL}} \text{features} \xrightarrow{\mathrm{KL}} x$$
### 8.4 训练不稳定性
**问题**:某些配置下,训练可能不稳定,特别是在 $t \approx 0$ 时。
**原因**
- 当 $\sigma(t) \to 0$ 时,条件分布退化,方差估计变得不稳定
- $\dot{\sigma}(t)$ 在边界处可能很大
- 网络需要同时拟合大范围的 score 值
**解决方案**
1. **学习率 warmup**:初始使用较小的学习率
2. **梯度裁剪**$\| \nabla_\theta \mathcal{L} \| \leq C$
3. **噪声调度平滑化**:确保 $\sigma(t)$ 光滑连续
4. ** EMA指数移动平均**
$$\theta_{\mathrm{old}} \leftarrow m \cdot \theta_{\mathrm{old}} + (1-m) \cdot \theta \tag{8.2}$$
---
## 九、离散化与数值方法
### 9.1 Euler-Maruyama 方法
对于 SDE
$$d X_t = f_t(X_t) d t + g_t d W_t \tag{9.1}$$
Euler-Maruyama 离散化为:
$$X_{t+\Delta t} = X_t + f_t \Delta t + g_t \sqrt{\Delta t} \cdot \epsilon, \quad \epsilon \sim \mathcal{N}(0, I) \tag{9.2}$$
**误差阶数**(场景区分):
| 场景 | 局部截断误差 | 全局误差 |
|------|------------|---------|
| **纯扩散 SDE**$f_t = 0$ | $O(\Delta t)$ | $O(\sqrt{\Delta t})$ |
| **漂移+扩散混合 SDE** | $O(\Delta t)$ | 随漂移场 Lipschitz 常数变化 |
| **纯确定性 ODE**Euler | $O(\Delta t^2)$ | $O(\Delta t)$ |
原文未做场景区分,统一写全局误差 $O(\sqrt{\Delta t})$ 是片面的。
### 9.2 预测-校正Predictor-Corrector方法
**Predictor Step**:使用 ODE/SDE 一步预测 $X_{t+\Delta t}$
**Corrector Step**:使用 score function 校正Langevin Monte Carlo 风格):
$$X_{t+\Delta t} \leftarrow X_{t+\Delta t} + \alpha \cdot g_t^2 s_\theta(X_{t+\Delta t}, t+\Delta t) \tag{9.3}$$
其中 $s_\theta$ 是预测的 score function。
### 9.3 步长选择策略
**固定步长**
| 步数 $N$ | 步长 $\Delta t = 1/N$ | 适用场景 |
|---------|---------------------|---------|
| 1 | 1.0 | Rectified Flow完全直线化后 |
| 4-8 | 0.25-0.125 | Re-flow 收敛后 |
| 50+ | <0.02 | 标准 SDE未优化路径 |
**自适应步长**
监控局部误差估计:
$$\hat{e}_t = \| X_{t+\Delta t} - \tilde{X}_{t+\Delta t} \| \tag{9.4}$$
其中 $\tilde{X}$ 是用更高阶方法计算的估计。
如果 $\hat{e}_t > \epsilon_{\mathrm{KL}}$,则减小步长重试。
### 9.4 少步采样的理论保证
**Euler 方法的误差界**
对于 Lipschitz 向量场 $v$Euler 方法的全局误差为:
$$\| x(T) - x_N \| \leq \frac{L \cdot T^2}{2N} \cdot e^{LT} \tag{9.5}$$
其中 $L$ 是向量场的 Lipschitz 常数,$N$ 是步数,$T$ 是终点时间。
**当路径直线化后**
全局 Lipschitz 常数 $L$ 大幅降低(但非零,因为不同样本对应不同位移向量),允许使用更大步长,误差显著减小而非变为零。
这从数学上解释了为什么 Rectified Flow 可以用少至 1-4 步采样。
---
## 十、数学推导速查
### 10.1 核心定义
**随机插值过程**
$$X_t = \psi(t) x_0 + \phi(t) x_1 + \sigma(t) z \tag{10.1}$$
**边界条件**
$$\psi(0)=1, \;\phi(0)=0, \;\sigma(0)=0 \quad \text{和} \quad \psi(1)=0, \;\phi(1)=1, \;\sigma(1)=0 \tag{10.2}$$
**Itô SDE 形式**
$$d X_t = \left[ \dot{\psi} x_0 + \dot{\phi} x_1 \right] d t + \dot{\sigma} d W_t \tag{10.3}$$
**反向时间 SDE**
$$d X_t = \left[ f_t - g_t g_t^\top \nabla \log p_t \right] d t + g_t d \bar{W}_t \tag{10.4}$$
**Probability Flow ODE**
$$d X_t = \left[ f_t - \tfrac{1}{2} g_t g_t^\top \nabla \log p_t \right] d t \tag{10.5}$$
### 10.2 模型对应关系
| 模型 | $\sigma(t)$ | 过程类型 | 边界条件 |
|------|------------|---------|---------|
| NF/CNF | $0$ | 确定性 ODE | $X_0=x_0, X_1=x_1$ |
| DDPM逆向生成 | $\neq 0$ | 随机 SDE需时间反转 | 需通过时间反转定义 |
| Rectified Flow | $0$ | 确定性 ODE常数速度场 | $X_0=x_0, X_1=x_1$ |
| SI一般 | 任意 | 随机 SDE | 任意满足边界条件 |
### 10.3 损失函数对照
| 目标 | 公式 | 适用模型 |
|------|------|---------|
| **速度场回归** | $\mathbb{E}\| v_\theta - (x_1-x_0) \|^2$ | Rectified Flow |
| **Score matching** | $\mathbb{E}\| s_\theta + \frac{z}{\sigma(t)} \|^2$ | Score SDE |
| **噪声预测** | $\mathbb{E}\| \epsilon_\theta - \epsilon \|^2$ | DDPM |
---
## 十一、总结
**Stochastic Interpolants 的核心贡献**
1. **统一框架**:将 NF、DDPM、Score SDE、Flow Matching、Rectified Flow 统一为不同参数选择的随机插值过程
2. **设计空间揭示**$\psi, \phi, \sigma$ 三个调度函数构成的设计空间,包含了所有现有模型
3. **灵活性与扩展性**:允许任意边界条件和噪声调度,为新模型设计提供了蓝图
**物理意义**
- $x_0$ 和 $x_1$ 是路径的"端点"
- $\psi, \phi$ 控制确定性运动(漂移)
- $\sigma$ 控制随机性扩散
- 整个过程是确定性与随机性的叠加
**与工业实践的联系**
- SD3、Flux.1 等大模型都可以在 SI 框架下理解
- 路径选择($\psi, \phi, \sigma$)直接影响采样效率
- 最优路径设计OT、SB是当前研究的热点
**核心洞察**
> **所有生成模型都是同一个数学对象的不同视角观察。** Stochastic Interpolants 揭示了这个深层统一结构,让我们能够:
> - 理解不同模型之间的关系
> - 在统一的设计空间中进行比较
> - 设计新的、结合多种模型优点的新路径
---
**延伸阅读**
1. Albergo & Vanden-Eijnden, "Building Normalizing Flows with Stochastic Interpolants" (ICLR 2023)
2. Lipman et al., "Flow Matching for Generative Modeling" (NeurIPS 2022)
3. Song et al., "Score-Based Generative Modeling through Stochastic Differential Equations" (ICLR 2021)
4. Liu et al., "Rectified Flow: A Marginal Preserving Approach to Optimal Transport" (ICML 2023)
5. Chen et al., "Flow Matching: A Minimalist Approach to Diffusion Models" (Tutorial, 2024)