深入解析 Flow Matching:从条件概率路径与向量场到条件流匹配
在生成模型的研究中,Flow Matching(流匹配)是一种新颖且高效的方法,用于训练连续归一化流(Continuous Normalizing Flows, CNFs)。本文将聚焦于论文《Flow Matching for Generative Modeling》中第3节“Flow Matching”的两个关键部分:3.1 “从条件概率路径和向量场构造 ( p t p_t pt ) 和 ( u t u_t ut )” 和 3.2 “条件流匹配(Conditional Flow Matching)”。我们将详细解析其原理,探讨数学公式的来源,并推导其背后的过程,帮助读者深入理解这一创新方法。
paper link: https://arxiv.org/pdf/2210.02747
本文的后续部分(第二部分)请参考笔者的另一篇博客:深入解析 Flow Matching(二):从条件概率路径与向量场到条件流匹配
Flow Matching 的基本原理
Flow Matching 是一种基于连续归一化流(CNFs)的生成模型训练方法。CNFs 通过一个时间依赖的向量场 ( v t ( x ) v_t(x) vt(x) ) 定义了一个从初始分布(通常是简单的高斯噪声)到目标数据分布的平滑变换。数学上,这个变换由常微分方程(ODE)描述:
d d t ϕ t ( x ) = v t ( ϕ t ( x ) ) , ϕ 0 ( x ) = x \frac{d}{dt} \phi_t(x) = v_t(\phi_t(x)), \quad \phi_0(x) = x dtdϕt(x)=vt(ϕt(x)),ϕ0(x)=x
其中,( ϕ t \phi_t ϕt ) 是流的映射,将初始分布 ( p 0 p_0 p0 )(如标准正态分布 ( N ( 0 , I ) \mathcal{N}(0, I) N(0,I) ))逐步变换为目标分布 ( p 1 p_1 p1 ),通过推前公式:
p t = [ ϕ t ] ∗ p 0 = p 0 ( ϕ t − 1 ( x ) ) det [ ∂ ϕ t − 1 ∂ x ( x ) ] p_t = [\phi_t]_* p_0 = p_0(\phi_t^{-1}(x)) \det\left[\frac{\partial \phi_t^{-1}}{\partial x}(x)\right] pt=[ϕt]∗p0=p0(ϕt−1(x))det[∂x∂ϕt−1(x)]
Flow Matching 的核心目标是训练一个神经网络参数化的向量场 ( v t ( x ; θ ) v_t(x; \theta) vt(x;θ) ),使其生成的概率路径 ( p t ( x ) p_t(x) pt(x) ) 能够逼近未知的数据分布 ( q ( x ) q(x) q(x) )。传统的 CNF 训练方法(如最大似然估计)需要昂贵的 ODE 模拟,而 Flow Matching 提出了一种“无仿真”(simulation-free)的训练方法,通过直接回归目标向量场来实现高效训练。
其基本损失函数定义为:
L FM ( θ ) = E t , p t ( x ) ∥ v t ( x ) − u t ( x ) ∥ 2 \mathcal{L}_{\text{FM}}(\theta) = \mathbb{E}_{t, p_t(x)} \left\| v_t(x) - u_t(x) \right\|^2 LFM(θ)=Et,pt(x)∥vt(x)−ut(x)∥2
这里,( u t ( x ) u_t(x) ut(x) ) 是生成目标概率路径 ( p t ( x ) p_t(x) pt(x) ) 的真实向量场,( v t ( x ) v_t(x) vt(x) ) 是模型学习到的向量场。然而,直接计算 ( p t p_t pt ) 和 ( u t u_t ut ) 是不可行的,因为我们无法直接访问数据分布 ( q ( x ) q(x) q(x))。因此,论文提出了基于条件概率路径和条件流匹配的解决方案。
3.1 从条件概率路径和向量场构造 ( p t p_t pt ) 和 ( u t u_t ut )
原理与动机
为了解决直接定义 ( p t p_t pt ) 和 ( u t u_t ut ) 的困难,论文引入了条件概率路径的概念。基本思路是:通过为每个数据样本 ( x 1 x_1 x1 )(来自未知分布 ( q ( x 1 ) q(x_1) q(x1) ))定义一个条件概率路径 ( p t ( x ∣ x 1 ) p_t(x | x_1) pt(x∣x1) ),然后通过对其进行边缘化,构造出全局的概率路径 ( p t ( x ) p_t(x) pt(x) )。对应的向量场 ( u t ( x ) u_t(x) ut(x) ) 也通过条件向量场 ( u t ( x ∣ x 1 ) u_t(x | x_1) ut(x∣x1) ) 的某种加权聚合得到。
具体来说:
- 条件概率路径 ( p t ( x ∣ x 1 ) p_t(x | x_1) pt(x∣x1) ):在 ( t = 0 t = 0 t=0 ) 时为标准正态分布 ( p 0 ( x ∣ x 1 ) = N ( x ∣ 0 , I ) p_0(x | x_1) = \mathcal{N}(x | 0, I) p0(x∣x1)=N(x∣0,I) )(噪声),在 ( t = 1 t = 1 t=1 ) 时为集中于 ( x 1 x_1 x1 ) 附近的分布(如 ( p 1 ( x ∣ x 1 ) = N ( x ∣ x 1 , σ 2 I ) p_1(x | x_1) = \mathcal{N}(x | x_1, \sigma^2 I) p1(x∣x1)=N(x∣x1,σ2I) ))。
- 边缘概率路径:通过对 ( q ( x 1 ) q(x_1) q(x1) ) 积分得到:
p t ( x ) = ∫ p t ( x ∣ x 1 ) q ( x 1 ) d x 1 p_t(x) = \int p_t(x | x_1) q(x_1) \, dx_1 pt(x)=∫pt(x∣x1)q(x1)dx1
在 ( t = 1 t = 1 t=1 ) 时,( p 1 ( x ) ≈ q ( x ) p_1(x) \approx q(x) p1(x)≈q(x) )。
- 边缘向量场:通过条件向量场加权平均定义:
u t ( x ) = ∫ u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) d x 1 u_t(x) = \int u_t(x | x_1) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} \, dx_1 ut(x)=∫ut(x∣x1)pt(x)pt(x∣x1)q(x1)dx1
其中,( u t ( x ∣ x 1 ) u_t(x | x_1) ut(x∣x1) ) 是生成 ( p t ( x ∣ x 1 ) p_t(x | x_1) pt(x∣x1) ) 的条件向量场。
数学推导:为什么 ( u t u_t ut ) 生成 ( p t p_t pt )?
论文的关键观察是:边缘向量场 ( u t ( x ) u_t(x) ut(x) ) 确实能够生成边缘概率路径 ( p t ( x ) p_t(x) pt(x))。这通过连续性方程(continuity equation)验证:
d d t p t ( x ) + div ( u t ( x ) p t ( x ) ) = 0 \frac{d}{dt} p_t(x) + \operatorname{div}(u_t(x) p_t(x)) = 0 dtdpt(x)+div(ut(x)pt(x))=0
为什么只要满足连续性方程,( u t u_t ut ) 就能生成 ( p t p_t pt )?后文有详细介绍
推导过程:
-
计算 ( p t ( x ) p_t(x) pt(x) ) 的时间导数:
d d t p t ( x ) = d d t ∫ p t ( x ∣ x 1 ) q ( x 1 ) d x 1 = ∫ d d t p t ( x ∣ x 1 ) q ( x 1 ) d x 1 \frac{d}{dt} p_t(x) = \frac{d}{dt} \int p_t(x | x_1) q(x_1) \, dx_1 = \int \frac{d}{dt} p_t(x | x_1) q(x_1) \, dx_1 dtdpt(x)=dtd∫pt(x∣x1)q(x1)dx1=∫dtdpt(x∣x1)q(x1)dx1 -
因为 ( u t ( x ∣ x 1 ) u_t(x | x_1) ut(x∣x1) ) 生成 ( p t ( x ∣ x 1 ) p_t(x | x_1) pt(x∣x1) ),所以对每个 ( x 1 x_1 x1 ),满足:
d d t p t ( x ∣ x 1 ) = − div ( u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) ) \frac{d}{dt} p_t(x | x_1) = -\operatorname{div}(u_t(x | x_1) p_t(x | x_1)) dtdpt(x∣x1)=−div(ut(x∣x1)pt(x∣x1)) -
将其代入:
d d t p t ( x ) = ∫ − div ( u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) ) q ( x 1 ) d x 1 \frac{d}{dt} p_t(x) = \int -\operatorname{div}(u_t(x | x_1) p_t(x | x_1)) q(x_1) \, dx_1 dtdpt(x)=∫−div(ut(x∣x1)pt(x∣x1))q(x1)dx1 -
根据散度定理和 Leibniz 积分规则(假设积分满足正则条件):
∫ − div ( u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) ) q ( x 1 ) d x 1 = − div ( ∫ u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) q ( x 1 ) d x 1 ) \int -\operatorname{div}(u_t(x | x_1) p_t(x | x_1)) q(x_1) \, dx_1 = -\operatorname{div}\left( \int u_t(x | x_1) p_t(x | x_1) q(x_1) \, dx_1 \right) ∫−div(ut(x∣x1)pt(x∣x1))q(x1)dx1=−div(∫ut(x∣x1)pt(x∣x1)q(x1)dx1) -
代入 ( u t ( x ) u_t(x) ut(x) ) 的定义:
∫ u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) q ( x 1 ) d x 1 = u t ( x ) p t ( x ) \int u_t(x | x_1) p_t(x | x_1) q(x_1) \, dx_1 = u_t(x) p_t(x) ∫ut(x∣x1)pt(x∣x1)q(x1)dx1=ut(x)pt(x) -
因此:
d d t p t ( x ) = − div ( u t ( x ) p t ( x ) ) \frac{d}{dt} p_t(x) = -\operatorname{div}(u_t(x) p_t(x)) dtdpt(x)=−div(ut(x)pt(x))
这表明 ( u t ( x ) u_t(x) ut(x) ) 确实生成 ( p t ( x ) p_t(x) pt(x) )。这一结果由 定理 1 形式化证明,奠定了条件方法的可行性。
3.2 条件流匹配(Conditional Flow Matching)
原理与动机
尽管通过条件路径构造了 ( p t p_t pt ) 和 ( u t u_t ut ),但直接计算 ( L FM \mathcal{L}_{\text{FM}} LFM ) 仍因积分不可解而困难。论文提出了条件流匹配(CFM)目标,作为一个更易处理的替代:
L CFM ( θ ) = E t , q ( x 1 ) , p t ( x ∣ x 1 ) ∥ v t ( x ) − u t ( x ∣ x 1 ) ∥ 2 \mathcal{L}_{\text{CFM}}(\theta) = \mathbb{E}_{t, q(x_1), p_t(x | x_1)} \left\| v_t(x) - u_t(x | x_1) \right\|^2 LCFM(θ)=Et,q(x1),pt(x∣x1)∥vt(x)−ut(x∣x1)∥2
其中,( t ∼ U [ 0 , 1 ] t \sim \mathcal{U}[0,1] t∼U[0,1] ),( x 1 ∼ q ( x 1 ) x_1 \sim q(x_1) x1∼q(x1) ),( x ∼ p t ( x ∣ x 1 ) x \sim p_t(x | x_1) x∼pt(x∣x1) )。CFM 的优点是只需采样条件分布和计算条件向量场,避免了对边缘量的直接计算。
数学推导:为什么 CFM 等价于 FM?
论文的第二个关键观察是:( L FM \mathcal{L}_{\text{FM}} LFM ) 和 ( L CFM \mathcal{L}_{\text{CFM}} LCFM ) 的梯度相等,因此优化 CFM 等价于优化 FM。
推导过程:
-
展开两个损失的平方项:
∥ v t ( x ) − u t ( x ) ∥ 2 = ∥ v t ( x ) ∥ 2 − 2 ⟨ v t ( x ) , u t ( x ) ⟩ + ∥ u t ( x ) ∥ 2 \left\| v_t(x) - u_t(x) \right\|^2 = \left\| v_t(x) \right\|^2 - 2 \langle v_t(x), u_t(x) \rangle + \left\| u_t(x) \right\|^2 ∥vt(x)−ut(x)∥2=∥vt(x)∥2−2⟨vt(x),ut(x)⟩+∥ut(x)∥2
∥ v t ( x ) − u t ( x ∣ x 1 ) ∥ 2 = ∥ v t ( x ) ∥ 2 − 2 ⟨ v t ( x ) , u t ( x ∣ x 1 ) ⟩ + ∥ u t ( x ∣ x 1 ) ∥ 2 \left\| v_t(x) - u_t(x | x_1) \right\|^2 = \left\| v_t(x) \right\|^2 - 2 \langle v_t(x), u_t(x | x_1) \rangle + \left\| u_t(x | x_1) \right\|^2 ∥vt(x)−ut(x∣x1)∥2=∥vt(x)∥2−2⟨vt(x),ut(x∣x1)⟩+∥ut(x∣x1)∥2 -
计算 ( L FM \mathcal{L}_{\text{FM}} LFM ) 的期望:
L FM ( θ ) = E t , p t ( x ) [ ∥ v t ( x ) ∥ 2 − 2 ⟨ v t ( x ) , u t ( x ) ⟩ + ∥ u t ( x ) ∥ 2 ] \mathcal{L}_{\text{FM}}(\theta) = \mathbb{E}_{t, p_t(x)} \left[ \left\| v_t(x) \right\|^2 - 2 \langle v_t(x), u_t(x) \rangle + \left\| u_t(x) \right\|^2 \right] LFM(θ)=Et,pt(x)[∥vt(x)∥2−2⟨vt(x),ut(x)⟩+∥ut(x)∥2] -
计算 ( L CFM \mathcal{L}_{\text{CFM}} LCFM ) 的期望:
L CFM ( θ ) = E t , q ( x 1 ) , p t ( x ∣ x 1 ) [ ∥ v t ( x ) ∥ 2 − 2 ⟨ v t ( x ) , u t ( x ∣ x 1 ) ⟩ + ∥ u t ( x ∣ x 1 ) ∥ 2 ] \mathcal{L}_{\text{CFM}}(\theta) = \mathbb{E}_{t, q(x_1), p_t(x | x_1)} \left[ \left\| v_t(x) \right\|^2 - 2 \langle v_t(x), u_t(x | x_1) \rangle + \left\| u_t(x | x_1) \right\|^2 \right] LCFM(θ)=Et,q(x1),pt(x∣x1)[∥vt(x)∥2−2⟨vt(x),ut(x∣x1)⟩+∥ut(x∣x1)∥2] -
比较各项:
-
第一项:
E p t ( x ) ∥ v t ( x ) ∥ 2 = ∫ ∥ v t ( x ) ∥ 2 p t ( x ) d x = ∫ ∥ v t ( x ) ∥ 2 ∫ p t ( x ∣ x 1 ) q ( x 1 ) d x 1 d x \mathbb{E}_{p_t(x)} \left\| v_t(x) \right\|^2 = \int \left\| v_t(x) \right\|^2 p_t(x) \, dx = \int \left\| v_t(x) \right\|^2 \int p_t(x | x_1) q(x_1) \, dx_1 \, dx Ept(x)∥vt(x)∥2=∫∥vt(x)∥2pt(x)dx=∫∥vt(x)∥2∫pt(x∣x1)q(x1)dx1dx
通过改变积分顺序:
= ∫ q ( x 1 ) ∫ ∥ v t ( x ) ∥ 2 p t ( x ∣ x 1 ) d x d x 1 = E q ( x 1 ) , p t ( x ∣ x 1 ) ∥ v t ( x ) ∥ 2 = \int q(x_1) \int \left\| v_t(x) \right\|^2 p_t(x | x_1) \, dx \, dx_1 = \mathbb{E}_{q(x_1), p_t(x | x_1)} \left\| v_t(x) \right\|^2 =∫q(x1)∫∥vt(x)∥2pt(x∣x1)dxdx1=Eq(x1),pt(x∣x1)∥vt(x)∥2 -
第二项:
E p t ( x ) ⟨ v t ( x ) , u t ( x ) ⟩ = ∫ ⟨ v t ( x ) , u t ( x ) ⟩ p t ( x ) d x \mathbb{E}_{p_t(x)} \langle v_t(x), u_t(x) \rangle = \int \langle v_t(x), u_t(x) \rangle p_t(x) \, dx Ept(x)⟨vt(x),ut(x)⟩=∫⟨vt(x),ut(x)⟩pt(x)dx
代入 ( u t ( x ) u_t(x) ut(x) ):
= ∫ ⟨ v t ( x ) , ∫ u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) d x 1 ⟩ p t ( x ) d x = \int \left\langle v_t(x), \int u_t(x | x_1) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} \, dx_1 \right\rangle p_t(x) \, dx =∫⟨vt(x),∫ut(x∣x1)pt(x)pt(x∣x1)q(x1)dx1⟩pt(x)dx
= ∫ ∫ ⟨ v t ( x ) , u t ( x ∣ x 1 ) ⟩ p t ( x ∣ x 1 ) q ( x 1 ) d x 1 d x = E q ( x 1 ) , p t ( x ∣ x 1 ) ⟨ v t ( x ) , u t ( x ∣ x 1 ) ⟩ = \int \int \langle v_t(x), u_t(x | x_1) \rangle p_t(x | x_1) q(x_1) \, dx_1 \, dx = \mathbb{E}_{q(x_1), p_t(x | x_1)} \langle v_t(x), u_t(x | x_1) \rangle =∫∫⟨vt(x),ut(x∣x1)⟩pt(x∣x1)q(x1)dx1dx=Eq(x1),pt(x∣x1)⟨vt(x),ut(x∣x1)⟩ -
第三项 ( ∥ u t ( x ) ∥ 2 \left\| u_t(x) \right\|^2 ∥ut(x)∥2 ) 和 ( ∥ u t ( x ∣ x 1 ) ∥ 2 \left\| u_t(x | x_1) \right\|^2 ∥ut(x∣x1)∥2 ) 是常数(不依赖 ( θ \theta θ )),仅相差一个与 ( θ \theta θ ) 无关的常数。
-
-
结论:
L FM ( θ ) = L CFM ( θ ) + 常数 \mathcal{L}_{\text{FM}}(\theta) = \mathcal{L}_{\text{CFM}}(\theta) + \text{常数} LFM(θ)=LCFM(θ)+常数
因此:
∇ θ L FM ( θ ) = ∇ θ L CFM ( θ ) \nabla_\theta \mathcal{L}_{\text{FM}}(\theta) = \nabla_\theta \mathcal{L}_{\text{CFM}}(\theta) ∇θLFM(θ)=∇θLCFM(θ)
这由 定理 2 形式化证明,保证了 CFM 的优化效果与 FM 一致。
总结
Flow Matching 通过回归目标向量场提供了一种高效的 CNF 训练方法。3.1 节通过条件概率路径和向量场的边缘化构造了 ( p t p_t pt ) 和 ( u t u_t ut ),解决了直接定义的困难;3.2 节提出的条件流匹配则进一步简化了计算,利用条件分布的易采样性实现了等价优化。这种方法不仅适用于扩散路径,还扩展到了如最优传输(Optimal Transport)路径的更高效路径,显著提升了训练和采样的效率。
两个疑问:
- 为什么满足连续性方程就说明 ( u t u_t ut ) 生成 ( p t p_t pt )?
- 关于条件流匹配中第二项和第三项的推导细节,尤其是 ( ⟨ v t ( x ) , u t ( x ) ⟩ \langle v_t(x), u_t(x) \rangle ⟨vt(x),ut(x)⟩ ) 的含义和推导过程。
问题 1:为什么满足连续性方程就说明 ( u t u_t ut ) 生成 ( p t p_t pt )?
连续性方程的意义
连续性方程(continuity equation)是描述概率密度随时间演化的基本物理和数学工具,在生成模型中,它连接了概率密度路径 ( p t ( x ) p_t(x) pt(x) ) 和向量场 ( v t ( x ) v_t(x) vt(x) )。其形式为:
d d t p t ( x ) + div ( p t ( x ) v t ( x ) ) = 0 \frac{d}{dt} p_t(x) + \operatorname{div}(p_t(x) v_t(x)) = 0 dtdpt(x)+div(pt(x)vt(x))=0
- ( d d t p t ( x ) \frac{d}{dt} p_t(x) dtdpt(x) ):表示概率密度 ( p t ( x ) p_t(x) pt(x) ) 随时间 ( t t t ) 的变化率。
- ( div ( p t ( x ) v t ( x ) ) \operatorname{div}(p_t(x) v_t(x)) div(pt(x)vt(x)) ):表示向量场 ( v t ( x ) v_t(x) vt(x) ) 引起的概率密度“流”的散度,描述了概率质量如何在空间中移动。
这个方程来源于质量守恒原理(或概率守恒),意味着概率密度的总积分始终为 1,即:
∫ p t ( x ) d x = 1 \int p_t(x) \, dx = 1 ∫pt(x)dx=1
如果 ( p t ( x ) p_t(x) pt(x) ) 是时间演化的概率密度路径,而 ( v t ( x ) v_t(x) vt(x) ) 是驱动这种演化的向量场,那么满足连续性方程就保证了 ( v t ( x ) v_t(x) vt(x) ) 能够正确描述 ( p t ( x ) p_t(x) pt(x) ) 的动态变化。
与生成的关系
在连续归一化流(CNFs)中,向量场 ( v t ( x ) v_t(x) vt(x) ) 定义了一个流映射 ( ϕ t ( x ) \phi_t(x) ϕt(x) ),通过常微分方程:
d d t ϕ t ( x ) = v t ( ϕ t ( x ) ) , ϕ 0 ( x ) = x \frac{d}{dt} \phi_t(x) = v_t(\phi_t(x)), \quad \phi_0(x) = x dtdϕt(x)=vt(ϕt(x)),ϕ0(x)=x
这个流 ( ϕ t \phi_t ϕt ) 将初始分布 ( p 0 ( x ) p_0(x) p0(x) ) 推前(push-forward)到 ( p t ( x ) p_t(x) pt(x) ):
p t ( x ) = [ ϕ t ] ∗ p 0 ( x ) = p 0 ( ϕ t − 1 ( x ) ) det [ ∂ ϕ t − 1 ∂ x ( x ) ] p_t(x) = [\phi_t]_* p_0(x) = p_0(\phi_t^{-1}(x)) \det\left[\frac{\partial \phi_t^{-1}}{\partial x}(x)\right] pt(x)=[ϕt]∗p0(x)=p0(ϕt−1(x))det[∂x∂ϕt−1(x)]
关键点:如果 ( v t ( x ) v_t(x) vt(x) ) 生成 ( p t ( x ) p_t(x) pt(x) ),那么 ( p t ( x ) p_t(x) pt(x) ) 的时间演化必须与 ( v t ( x ) v_t(x) vt(x) ) 驱动的流一致。连续性方程正是这一一致性的数学表达。
推导验证
假设 ( v t ( x ) v_t(x) vt(x) ) 生成 ( p t ( x ) p_t(x) pt(x) ),我们可以用流 ( ϕ t ( x ) \phi_t(x) ϕt(x) ) 的性质来验证连续性方程:
- ( p t ( x ) = p 0 ( ϕ t − 1 ( x ) ) det [ ∂ ϕ t − 1 ( x ) ∂ x ] p_t(x) = p_0(\phi_t^{-1}(x)) \det\left[\frac{\partial \phi_t^{-1}(x)}{\partial x}\right] pt(x)=p0(ϕt−1(x))det[∂x∂ϕt−1(x)])。
- 对 (
t
t
t ) 求导(使用链式法则和雅可比行列式的导数),可以推导出:
d d t p t ( x ) = − div ( v t ( x ) p t ( x ) ) \frac{d}{dt} p_t(x) = -\operatorname{div}(v_t(x) p_t(x)) dtdpt(x)=−div(vt(x)pt(x))
反过来,如果 ( v t ( x ) v_t(x) vt(x) ) 和 ( p t ( x ) p_t(x) pt(x) ) 满足连续性方程,那么通过求解 ODE,得到的 ( ϕ t ( x ) \phi_t(x) ϕt(x) ) 一定能正确推前 ( p 0 ( x ) p_0(x) p0(x) ) 到 ( p t ( x ) p_t(x) pt(x) )。因此,满足连续性方程是 ( v t v_t vt ) 生成 ( p t p_t pt ) 的充分必要条件。
直观解释
想象 ( p t ( x ) p_t(x) pt(x) ) 是水流的密度,( v t ( x ) v_t(x) vt(x) ) 是水流的速度场。连续性方程确保水不会凭空出现或消失(守恒),而 ( v t ( x ) v_t(x) vt(x) ) 决定了水如何流动。如果这个方程成立,( v t ( x ) v_t(x) vt(x) ) 就精确地描述了 ( p t ( x ) p_t(x) pt(x) ) 的演化过程。
问题 2:条件流匹配中的第二项和第三项推导
( ⟨ v t ( x ) , u t ( x ) ⟩ \langle v_t(x), u_t(x) \rangle ⟨vt(x),ut(x)⟩ ) 的含义
( ⟨ v t ( x ) , u t ( x ) ⟩ \langle v_t(x), u_t(x) \rangle ⟨vt(x),ut(x)⟩ ) 表示向量 ( v t ( x ) v_t(x) vt(x) ) 和 ( u t ( x ) u_t(x) ut(x) ) 的内积(dot product)。在 ( R d \mathbb{R}^d Rd ) 中,对于两个向量 ( a = ( a 1 , … , a d ) a = (a_1, \dots, a_d) a=(a1,…,ad) ) 和 ( b = ( b 1 , … , b d ) b = (b_1, \dots, b_d) b=(b1,…,bd) ),内积定义为:
⟨ a , b ⟩ = a 1 b 1 + a 2 b 2 + ⋯ + a d b d \langle a, b \rangle = a_1 b_1 + a_2 b_2 + \dots + a_d b_d ⟨a,b⟩=a1b1+a2b2+⋯+adbd
在内积的意义下,( ⟨ v t ( x ) , u t ( x ) ⟩ \langle v_t(x), u_t(x) \rangle ⟨vt(x),ut(x)⟩ ) 衡量了 ( v t ( x ) v_t(x) vt(x) ) 和 ( u t ( x ) u_t(x) ut(x) ) 在方向上的相似性,是平方误差展开中的交叉项:
∥ v t ( x ) − u t ( x ) ∥ 2 = ∥ v t ( x ) ∥ 2 − 2 ⟨ v t ( x ) , u t ( x ) ⟩ + ∥ u t ( x ) ∥ 2 \| v_t(x) - u_t(x) \|^2 = \| v_t(x) \|^2 - 2 \langle v_t(x), u_t(x) \rangle + \| u_t(x) \|^2 ∥vt(x)−ut(x)∥2=∥vt(x)∥2−2⟨vt(x),ut(x)⟩+∥ut(x)∥2
问题的背景
我们从以下表达式开始:
E p t ( x ) ⟨ v t ( x ) , u t ( x ) ⟩ = ∫ ⟨ v t ( x ) , u t ( x ) ⟩ p t ( x ) d x \mathbb{E}_{p_t(x)} \langle v_t(x), u_t(x) \rangle = \int \langle v_t(x), u_t(x) \rangle p_t(x) \, dx Ept(x)⟨vt(x),ut(x)⟩=∫⟨vt(x),ut(x)⟩pt(x)dx
其中 ( u t ( x ) u_t(x) ut(x) ) 定义为:
u t ( x ) = ∫ u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) d x 1 u_t(x) = \int u_t(x | x_1) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} \, dx_1 ut(x)=∫ut(x∣x1)pt(x)pt(x∣x1)q(x1)dx1
代入后,表达式变为:
∫ ⟨ v t ( x ) , ∫ u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) d x 1 ⟩ p t ( x ) d x \int \left\langle v_t(x), \int u_t(x | x_1) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} \, dx_1 \right\rangle p_t(x) \, dx ∫⟨vt(x),∫ut(x∣x1)pt(x)pt(x∣x1)q(x1)dx1⟩pt(x)dx
目标是将其转化为:
∫ ∫ ⟨ v t ( x ) , u t ( x ∣ x 1 ) ⟩ p t ( x ∣ x 1 ) q ( x 1 ) d x 1 d x \int \int \langle v_t(x), u_t(x | x_1) \rangle p_t(x | x_1) q(x_1) \, dx_1 \, dx ∫∫⟨vt(x),ut(x∣x1)⟩pt(x∣x1)q(x1)dx1dx
你的疑问在于:为什么内积 ( ⟨ ⋅ , ⋅ ⟩ \langle \cdot, \cdot \rangle ⟨⋅,⋅⟩ ) 能“提取” ( u t ( x ∣ x 1 ) u_t(x | x_1) ut(x∣x1) ),而 ( p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} pt(x)pt(x∣x1)q(x1) ) 被移到外面?这实际上是内积的线性性质和积分的可交换性共同作用的结果。
详细推导
步骤 1:理解内积的线性性质
内积 ( ⟨ ⋅ , ⋅ ⟩ \langle \cdot, \cdot \rangle ⟨⋅,⋅⟩ ) 是双线性的,这意味着对于向量 ( a a a )、( b b b ) 和标量 ( c c c ),有:
⟨ a , c b ⟩ = c ⟨ a , b ⟩ \langle a, c b \rangle = c \langle a, b \rangle ⟨a,cb⟩=c⟨a,b⟩
更一般地,对于一个积分形式,如果第二个参数是多个向量的线性组合,例如:
⟨ a , ∫ f ( y ) b ( y ) d y ⟩ \langle a, \int f(y) b(y) \, dy \rangle ⟨a,∫f(y)b(y)dy⟩
由于内积对第二个参数是线性的,且假设积分满足交换条件(Fubini 定理成立),我们可以将内积移到积分内部:
⟨ a , ∫ f ( y ) b ( y ) d y ⟩ = ∫ f ( y ) ⟨ a , b ( y ) ⟩ d y \langle a, \int f(y) b(y) \, dy \rangle = \int f(y) \langle a, b(y) \rangle \, dy ⟨a,∫f(y)b(y)dy⟩=∫f(y)⟨a,b(y)⟩dy
这里的 ( f ( y ) f(y) f(y) ) 是标量函数,( b ( y ) b(y) b(y) ) 是向量函数,( a a a ) 是固定向量。
步骤 2:应用到当前问题
现在将这个性质应用到我们的表达式:
⟨ v t ( x ) , ∫ u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) d x 1 ⟩ \left\langle v_t(x), \int u_t(x | x_1) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} \, dx_1 \right\rangle ⟨vt(x),∫ut(x∣x1)pt(x)pt(x∣x1)q(x1)dx1⟩
- ( v t ( x ) v_t(x) vt(x) ) 是固定的向量(对于给定的 ( x x x ) 和 ( t t t ))。
- ( ∫ u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) d x 1 \int u_t(x | x_1) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} \, dx_1 ∫ut(x∣x1)pt(x)pt(x∣x1)q(x1)dx1 ) 是第二个参数,是一个向量,它由 ( u t ( x ∣ x 1 ) u_t(x | x_1) ut(x∣x1) ) 的加权积分组成。
- ( p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} pt(x)pt(x∣x1)q(x1) ) 是标量权重,与 ( x 1 x_1 x1 ) 相关。
根据内积的线性性质:
⟨ v t ( x ) , ∫ u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) d x 1 ⟩ = ∫ ⟨ v t ( x ) , u t ( x ∣ x 1 ) ⟩ p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) d x 1 \left\langle v_t(x), \int u_t(x | x_1) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} \, dx_1 \right\rangle = \int \left\langle v_t(x), u_t(x | x_1) \right\rangle \frac{p_t(x | x_1) q(x_1)}{p_t(x)} \, dx_1 ⟨vt(x),∫ut(x∣x1)pt(x)pt(x∣x1)q(x1)dx1⟩=∫⟨vt(x),ut(x∣x1)⟩pt(x)pt(x∣x1)q(x1)dx1
解释:
- 内积 ( ⟨ v t ( x ) , ⋅ ⟩ \langle v_t(x), \cdot \rangle ⟨vt(x),⋅⟩ ) 可以作用在积分中的每一项 ( u t ( x ∣ x 1 ) u_t(x | x_1) ut(x∣x1) ) 上。
- ( p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} pt(x)pt(x∣x1)q(x1) ) 是标量,作为权重被提取出来,与内积 ( ⟨ v t ( x ) , u t ( x ∣ x 1 ) ⟩ \langle v_t(x), u_t(x | x_1) \rangle ⟨vt(x),ut(x∣x1)⟩ ) 相乘。
- ( v t ( x ) v_t(x) vt(x) ) 不依赖于 ( x 1 x_1 x1 ),因此可以直接移入积分号内。
步骤 3:代回外层积分
现在将这个结果代入外层积分:
∫ ⟨ v t ( x ) , ∫ u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) d x 1 ⟩ p t ( x ) d x \int \left\langle v_t(x), \int u_t(x | x_1) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} \, dx_1 \right\rangle p_t(x) \, dx ∫⟨vt(x),∫ut(x∣x1)pt(x)pt(x∣x1)q(x1)dx1⟩pt(x)dx
替换为:
∫ [ ∫ ⟨ v t ( x ) , u t ( x ∣ x 1 ) ⟩ p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) d x 1 ] p t ( x ) d x \int \left[ \int \left\langle v_t(x), u_t(x | x_1) \right\rangle \frac{p_t(x | x_1) q(x_1)}{p_t(x)} \, dx_1 \right] p_t(x) \, dx ∫[∫⟨vt(x),ut(x∣x1)⟩pt(x)pt(x∣x1)q(x1)dx1]pt(x)dx
步骤 4:简化并交换积分顺序
观察到 ( p t ( x ) p_t(x) pt(x) ) 在内层和外层都出现,可以合并:
∫ ∫ ⟨ v t ( x ) , u t ( x ∣ x 1 ) ⟩ p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) p t ( x ) d x 1 d x \int \int \left\langle v_t(x), u_t(x | x_1) \right\rangle \frac{p_t(x | x_1) q(x_1)}{p_t(x)} p_t(x) \, dx_1 \, dx ∫∫⟨vt(x),ut(x∣x1)⟩pt(x)pt(x∣x1)q(x1)pt(x)dx1dx
其中:
p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) p t ( x ) = p t ( x ∣ x 1 ) q ( x 1 ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} p_t(x) = p_t(x | x_1) q(x_1) pt(x)pt(x∣x1)q(x1)pt(x)=pt(x∣x1)q(x1)
于是:
∫ ∫ ⟨ v t ( x ) , u t ( x ∣ x 1 ) ⟩ p t ( x ∣ x 1 ) q ( x 1 ) d x 1 d x \int \int \left\langle v_t(x), u_t(x | x_1) \right\rangle p_t(x | x_1) q(x_1) \, dx_1 \, dx ∫∫⟨vt(x),ut(x∣x1)⟩pt(x∣x1)q(x1)dx1dx
这正是我们想要的结果:
E q ( x 1 ) , p t ( x ∣ x 1 ) ⟨ v t ( x ) , u t ( x ∣ x 1 ) ⟩ \mathbb{E}_{q(x_1), p_t(x | x_1)} \langle v_t(x), u_t(x | x_1) \rangle Eq(x1),pt(x∣x1)⟨vt(x),ut(x∣x1)⟩
积分顺序交换:
- 从 ( ∫ d x ∫ d x 1 \int dx \int dx_1 ∫dx∫dx1 ) 到 ( ∫ d x 1 ∫ d x \int dx_1 \int dx ∫dx1∫dx ) 的转换依赖于 Fubini 定理,假设积分的被积函数 ( ⟨ v t ( x ) , u t ( x ∣ x 1 ) ⟩ p t ( x ∣ x 1 ) q ( x 1 ) \langle v_t(x), u_t(x | x_1) \rangle p_t(x | x_1) q(x_1) ⟨vt(x),ut(x∣x1)⟩pt(x∣x1)q(x1) ) 满足可积条件(例如 ( v t v_t vt ) 和 ( u t u_t ut ) 有界,且概率密度衰减足够快)。论文在附录 A 中提到这些正则条件。
为什么 ( ⟨ ⋅ , ⋅ ⟩ \langle \cdot, \cdot \rangle ⟨⋅,⋅⟩ ) 只提出 ( u t ( x ∣ x 1 ) u_t(x | x_1) ut(x∣x1) )?
直观解释
- 内积的范围:( ⟨ v t ( x ) , ⋅ ⟩ \langle v_t(x), \cdot \rangle ⟨vt(x),⋅⟩ ) 是一个向量运算符,它作用在第二个参数上。第二个参数 ( ∫ u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) d x 1 \int u_t(x | x_1) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} \, dx_1 ∫ut(x∣x1)pt(x)pt(x∣x1)q(x1)dx1 ) 是一个整体的向量,内积需要对其进行分解。
- 标量 vs 向量:( u t ( x ∣ x 1 ) u_t(x | x_1) ut(x∣x1) ) 是向量,而 ( p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} pt(x)pt(x∣x1)q(x1) ) 是标量权重。内积的线性性质允许我们将标量提取出来,只对向量 ( u t ( x ∣ x 1 ) u_t(x | x_1) ut(x∣x1) ) 进行内积运算。
- 积分的作用:积分是对 ( x 1 x_1 x1 ) 的求和,内积可以“穿透”积分号,因为它是对每个 ( u t ( x ∣ x 1 ) u_t(x | x_1) ut(x∣x1) ) 的线性操作,而标量权重 ( p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} pt(x)pt(x∣x1)q(x1) ) 不影响内积的结构。
类比
想象你在计算一个加权平均向量的内积:
- ( u t ( x ) = ∑ i w i u i u_t(x) = \sum_i w_i u_i ut(x)=∑iwiui )(离散形式),其中 ( w i w_i wi ) 是权重,( u i u_i ui ) 是向量。
- ( ⟨ v , ∑ i w i u i ⟩ = ∑ i w i ⟨ v , u i ⟩ \langle v, \sum_i w_i u_i \rangle = \sum_i w_i \langle v, u_i \rangle ⟨v,∑iwiui⟩=∑iwi⟨v,ui⟩ )。
连续形式下,( ∑ i w i u i \sum_i w_i u_i ∑iwiui) 变成 ( ∫ u t ( x ∣ x 1 ) p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) d x 1 \int u_t(x | x_1) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} \, dx_1 ∫ut(x∣x1)pt(x)pt(x∣x1)q(x1)dx1 ),权重 ( p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} pt(x)pt(x∣x1)q(x1) ) 被提取,内积作用在 ( u t ( x ∣ x 1 ) u_t(x | x_1) ut(x∣x1) ) 上。
总结
这一步的关键是内积的线性性质:
⟨
v
t
(
x
)
,
∫
u
t
(
x
∣
x
1
)
p
t
(
x
∣
x
1
)
q
(
x
1
)
p
t
(
x
)
d
x
1
⟩
=
∫
⟨
v
t
(
x
)
,
u
t
(
x
∣
x
1
)
⟩
p
t
(
x
∣
x
1
)
q
(
x
1
)
p
t
(
x
)
d
x
1
\left\langle v_t(x), \int u_t(x | x_1) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} \, dx_1 \right\rangle = \int \left\langle v_t(x), u_t(x | x_1) \right\rangle \frac{p_t(x | x_1) q(x_1)}{p_t(x)} \, dx_1
⟨vt(x),∫ut(x∣x1)pt(x)pt(x∣x1)q(x1)dx1⟩=∫⟨vt(x),ut(x∣x1)⟩pt(x)pt(x∣x1)q(x1)dx1
- ( ⟨ ⋅ , ⋅ ⟩ \langle \cdot, \cdot \rangle ⟨⋅,⋅⟩ ) 只提出 ( u t ( x ∣ x 1 ) u_t(x | x_1) ut(x∣x1) ) 是因为内积是对向量的操作,标量权重 ( p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} pt(x)pt(x∣x1)q(x1) ) 不参与内积运算。
- 然后,外层积分 ( ∫ p t ( x ) d x \int p_t(x) \, dx ∫pt(x)dx ) 与内层权重合并,消去 ( p t ( x ) p_t(x) pt(x) ),得到最终形式。
为什么 ( p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} pt(x)pt(x∣x1)q(x1) ) 是标量?
定义与性质
让我们分解这个表达式:
- ( p t ( x ∣ x 1 ) p_t(x | x_1) pt(x∣x1) ):条件概率密度,表示在给定 ( x 1 x_1 x1 ) 的条件下,( x x x ) 在时间 ( t t t ) 的概率密度。它是一个标量函数,输入是 ( x x x ) 和 ( x 1 x_1 x1 ),输出是一个非负实数。
- ( q ( x 1 ) q(x_1) q(x1) ):数据分布的概率密度,表示 ( x 1 x_1 x1 ) 的先验概率。它也是一个标量函数,输入是 ( x 1 x_1 x1 ),输出是一个非负实数。
- ( p t ( x ) p_t(x) pt(x) ):边缘概率密度,表示 ( x x x) 在时间 ( t t t ) 的总概率密度,由 ( p t ( x ) = ∫ p t ( x ∣ x 1 ) q ( x 1 ) d x 1 p_t(x) = \int p_t(x | x_1) q(x_1) \, dx_1 pt(x)=∫pt(x∣x1)q(x1)dx1 ) 定义。它同样是一个标量函数,输入是 ( x x x ),输出是一个非负实数。
因此,( p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} pt(x)pt(x∣x1)q(x1) ) 是三个标量函数的乘法和除法,结果仍然是一个标量:
- 分子 ( p t ( x ∣ x 1 ) q ( x 1 ) p_t(x | x_1) q(x_1) pt(x∣x1)q(x1) ) 是两个标量的乘积,单位是概率密度(例如 ( 1 / 单位 d 1/\text{单位}^d 1/单位d ))。
- 分母 ( p t ( x ) p_t(x) pt(x) ) 是边缘概率密度,单位也是概率密度。
- 除法的结果是一个无量纲的标量(单位抵消),表示某种权重。
物理意义
这个表达式实际上是一个条件权重,类似于贝叶斯公式中的后验概率权重:
p
t
(
x
∣
x
1
)
q
(
x
1
)
p
t
(
x
)
=
p
(
x
1
∣
x
,
t
)
\frac{p_t(x | x_1) q(x_1)}{p_t(x)} = p(x_1 | x, t)
pt(x)pt(x∣x1)q(x1)=p(x1∣x,t)
- 它表示在给定 ( x x x ) 和时间 ( t t t ) 的情况下,( x 1 x_1 x1 ) 的条件概率密度。
- 这个权重依赖于 ( x 1 x_1 x1 ),因为 ( p t ( x ∣ x 1 ) p_t(x | x_1) pt(x∣x1) ) 和 ( q ( x 1 ) q(x_1) q(x1) ) 都与 ( x 1 x_1 x1 ) 相关。
由于概率密度是标量,( p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} pt(x)pt(x∣x1)q(x1) ) 自然也是标量,而不是向量或矩阵。
与 ( x 1 x_1 x1 ) 的相关性
- ( p t ( x ∣ x 1 ) p_t(x | x_1) pt(x∣x1) ) 是 ( x 1 x_1 x1 ) 的函数,表示条件路径如何依赖于目标点 ( x 1 x_1 x1 )。
- ( q ( x 1 ) q(x_1) q(x1) ) 是 ( x 1 x_1 x1 ) 的先验分布。
- ( p t ( x ) p_t(x) pt(x) ) 不显式依赖 ( x 1 x_1 x1 )(因为它是边缘化的结果),但 ( p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} pt(x)pt(x∣x1)q(x1) ) 整体上随着 ( x 1 x_1 x1 ) 变化,因此是一个与 ( x 1 x_1 x1 ) 相关的标量权重。
通过例子说明
让我们用一个简单的例子来说明。假设我们在一维空间中工作,时间 ( t t t ) 从 0 到 1,目标是理解 ( p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} pt(x)pt(x∣x1)q(x1) ) 的标量性质。
设置
-
初始分布:( p 0 ( x ) = N ( x ∣ 0 , 1 ) p_0(x) = \mathcal{N}(x | 0, 1) p0(x)=N(x∣0,1) )(标准正态分布)。
-
目标分布:( q ( x 1 ) = N ( x 1 ∣ 2 , 0. 5 2 ) q(x_1) = \mathcal{N}(x_1 | 2, 0.5^2) q(x1)=N(x1∣2,0.52) )(均值为 2,方差为 0.25 的正态分布)。
-
条件概率路径:假设使用线性插值路径(常见于 Flow Matching 的简单实现):
- ( p t ( x ∣ x 1 ) = N ( x ∣ t x 1 , ( 1 − t ) 2 ) p_t(x | x_1) = \mathcal{N}(x | t x_1, (1-t)^2) pt(x∣x1)=N(x∣tx1,(1−t)2) )。
- 这表示从 ( t = 0 t=0 t=0 ) 的 ( N ( 0 , 1 ) \mathcal{N}(0, 1) N(0,1) ) 平滑过渡到 ( t = 1 t=1 t=1 ) 的 ( N ( x 1 , 0 ) \mathcal{N}(x_1, 0) N(x1,0) )(方差趋于 0,集中于 ( x 1 x_1 x1 ))。
-
边缘概率:
p t ( x ) = ∫ p t ( x ∣ x 1 ) q ( x 1 ) d x 1 p_t(x) = \int p_t(x | x_1) q(x_1) \, dx_1 pt(x)=∫pt(x∣x1)q(x1)dx1
由于 ( p t ( x ∣ x 1 ) p_t(x | x_1) pt(x∣x1) ) 和 ( q ( x 1 ) q(x_1) q(x1) ) 都是高斯分布,( p t ( x ) p_t(x) pt(x) ) 是高斯混合的结果,具体形式较复杂,但可以通过卷积计算。
计算示例
假设 ( t = 0.5 t = 0.5 t=0.5 ),( x = 1 x = 1 x=1 ):
-
条件概率密度:
- 设 (
x
1
=
2
x_1 = 2
x1=2):
p 0.5 ( 1 ∣ 2 ) = N ( 1 ∣ 0.5 ⋅ 2 , ( 1 − 0.5 ) 2 ) = N ( 1 ∣ 1 , 0.25 ) p_{0.5}(1 | 2) = \mathcal{N}(1 | 0.5 \cdot 2, (1-0.5)^2) = \mathcal{N}(1 | 1, 0.25) p0.5(1∣2)=N(1∣0.5⋅2,(1−0.5)2)=N(1∣1,0.25)
= 1 2 π ⋅ 0.25 e − ( 1 − 1 ) 2 2 ⋅ 0.25 = 1 0.5 π ≈ 0.798 = \frac{1}{\sqrt{2\pi \cdot 0.25}} e^{-\frac{(1-1)^2}{2 \cdot 0.25}} = \frac{1}{\sqrt{0.5\pi}} \approx 0.798 =2π⋅0.251e−2⋅0.25(1−1)2=0.5π1≈0.798 - 设 (
x
1
=
1.5
x_1 = 1.5
x1=1.5 ):
p 0.5 ( 1 ∣ 1.5 ) = N ( 1 ∣ 0.5 ⋅ 1.5 , 0.25 ) = N ( 1 ∣ 0.75 , 0.25 ) p_{0.5}(1 | 1.5) = \mathcal{N}(1 | 0.5 \cdot 1.5, 0.25) = \mathcal{N}(1 | 0.75, 0.25) p0.5(1∣1.5)=N(1∣0.5⋅1.5,0.25)=N(1∣0.75,0.25)
= 1 0.5 π e − ( 1 − 0.75 ) 2 2 ⋅ 0.25 ≈ 0.637 = \frac{1}{\sqrt{0.5\pi}} e^{-\frac{(1-0.75)^2}{2 \cdot 0.25}} \approx 0.637 =0.5π1e−2⋅0.25(1−0.75)2≈0.637
- 设 (
x
1
=
2
x_1 = 2
x1=2):
-
先验概率:
- ( q ( 2 ) = N ( 2 ∣ 2 , 0.25 ) = 1 0.5 π ≈ 0.798 q(2) = \mathcal{N}(2 | 2, 0.25) = \frac{1}{\sqrt{0.5\pi}} \approx 0.798 q(2)=N(2∣2,0.25)=0.5π1≈0.798 )
- ( q ( 1.5 ) = N ( 1.5 ∣ 2 , 0.25 ) = 1 0.5 π e − ( 1.5 − 2 ) 2 2 ⋅ 0.25 ≈ 0.637 q(1.5) = \mathcal{N}(1.5 | 2, 0.25) = \frac{1}{\sqrt{0.5\pi}} e^{-\frac{(1.5-2)^2}{2 \cdot 0.25}} \approx 0.637 q(1.5)=N(1.5∣2,0.25)=0.5π1e−2⋅0.25(1.5−2)2≈0.637 )
-
边缘概率(近似计算):
( p 0.5 ( 1 ) = ∫ N ( 1 ∣ 0.5 x 1 , 0.25 ) N ( x 1 ∣ 2 , 0.25 ) d x 1 p_{0.5}(1) = \int \mathcal{N}(1 | 0.5 x_1, 0.25) \mathcal{N}(x_1 | 2, 0.25) \, dx_1 p0.5(1)=∫N(1∣0.5x1,0.25)N(x1∣2,0.25)dx1 )。这是一个高斯卷积,均值和方差需要数值积分或解析计算。假设 ( p 0.5 ( 1 ) ≈ 0.4 p_{0.5}(1) \approx 0.4 p0.5(1)≈0.4 )(具体值取决于 ( q ( x 1 ) q(x_1) q(x1) ) 的分布宽度)。 -
计算权重:
- 对于 (
x
1
=
2
x_1 = 2
x1=2 ):
p 0.5 ( 1 ∣ 2 ) q ( 2 ) p 0.5 ( 1 ) = 0.798 ⋅ 0.798 0.4 ≈ 1.593 \frac{p_{0.5}(1 | 2) q(2)}{p_{0.5}(1)} = \frac{0.798 \cdot 0.798}{0.4} \approx 1.593 p0.5(1)p0.5(1∣2)q(2)=0.40.798⋅0.798≈1.593 - 对于 (
x
1
=
1.5
x_1 = 1.5
x1=1.5 ):
p 0.5 ( 1 ∣ 1.5 ) q ( 1.5 ) p 0.5 ( 1 ) = 0.637 ⋅ 0.637 0.4 ≈ 1.014 \frac{p_{0.5}(1 | 1.5) q(1.5)}{p_{0.5}(1)} = \frac{0.637 \cdot 0.637}{0.4} \approx 1.014 p0.5(1)p0.5(1∣1.5)q(1.5)=0.40.637⋅0.637≈1.014
- 对于 (
x
1
=
2
x_1 = 2
x1=2 ):
结果分析
- ( p 0.5 ( 1 ∣ 2 ) q ( 2 ) p 0.5 ( 1 ) = 1.593 \frac{p_{0.5}(1 | 2) q(2)}{p_{0.5}(1)} = 1.593 p0.5(1)p0.5(1∣2)q(2)=1.593 ) 是一个实数(标量),表示 ( x 1 = 2 x_1 = 2 x1=2 ) 对 ( p 0.5 ( 1 ) p_{0.5}(1) p0.5(1) ) 的贡献权重。
- ( p 0.5 ( 1 ∣ 1.5 ) q ( 1.5 ) p 0.5 ( 1 ) = 1.014 \frac{p_{0.5}(1 | 1.5) q(1.5)}{p_{0.5}(1)} = 1.014 p0.5(1)p0.5(1∣1.5)q(1.5)=1.014 ) 也是一个实数,表示 ( x 1 = 1.5 x_1 = 1.5 x1=1.5 ) 的权重。
- 这些值依赖于 ( x 1 x_1 x1 ),但始终是标量,因为它们是概率密度的比值,没有方向性(不像向量)。
标量性质的直观理解
- 概率密度是标量:( p t ( x ∣ x 1 ) p_t(x | x_1) pt(x∣x1) )、( q ( x 1 ) q(x_1) q(x1) )、( p t ( x ) p_t(x) pt(x) ) 都是描述概率的数值,没有空间方向。
- 权重的作用:( p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} pt(x)pt(x∣x1)q(x1) ) 是 ( u t ( x ∣ x 1 ) u_t(x | x_1) ut(x∣x1) ) 的加权系数,用于计算 ( u t ( x ) u_t(x) ut(x) ) 的平均向量。它调整每个 ( u t ( x ∣ x 1 ) u_t(x | x_1) ut(x∣x1) ) 的贡献大小,但本身不改变向量的方向或结构。
总结
- 为什么是标量:( p t ( x ∣ x 1 ) q ( x 1 ) p t ( x ) \frac{p_t(x | x_1) q(x_1)}{p_t(x)} pt(x)pt(x∣x1)q(x1) ) 是概率密度的乘除运算,结果是一个无量纲的实数,没有向量或矩阵的性质。
- 例子验证:通过具体的高斯分布计算,我们看到它输出的是数值(如 1.593 或 1.014),证实了标量特性。
- 与 ( x 1 x_1 x1 ) 相关:权重值随 ( x 1 x_1 x1 ) 变化,反映了不同 ( x 1 x_1 x1 ) 对边缘向量场 ( u t ( x ) u_t(x) ut(x) ) 的贡献差异。
后记
2025年4月7日20点47分于上海,在grok 3大模型辅助下完成。