Flow Matching for Generative Modeling, 2022
Flow: φ(t, x) 是一个微分同胚映射(diffeomorphic map), 用于把 x 所在的先验分布(如高斯噪声)映射到时间 t 的分布
Flow Matching 把扩散模型的噪声预测任务统一成了向量场回归任务
拉格朗日视角:关注单个粒子随时间的运动轨迹
欧拉视角:关注固定空间点上的场量(如速度、密度)随时间的变化
Continuous Normalizing Flow (CNF): 将简单的先验概率密度 p_0 (噪声)重塑为复杂的概率密度 p_1, 通过一个 push-forward 公式

pt=[ϕt]∗p0   (3)p_t = [\phi_t]_∗p_0 \ \ \ (3)pt=[ϕt]p0   (3)

pt(x)=[ϕt]∗p0(x)=p0(ϕt−1(x))det⁡[∂ϕt−1∂x(x)].   (4)=p0(x0)det⁡[∂ϕt−1∂x(x)]\begin{aligned} p_t(x) &= [\phi_t]_∗p_0(x) \\ &= p_0(\phi^{−1}_t(x)) \det \left[ \frac{∂\phi^{−1}_t}{∂x}(x)\right]. \ \ \ (4) \\ &= p_0(x_0)\det \left[ \frac{∂\phi^{−1}_t}{∂x}(x)\right] \end{aligned}pt(x)=[ϕt]p0(x)=p0(ϕt1(x))det[xϕt1(x)].   (4)=p0(x0)det[xϕt1(x)]
其中行列式 det⁡[∂ϕt−1∂x(x)]\det \left[ \frac{∂\phi^{−1}_t}{∂x}(x)\right]det[xϕt1(x)] 表示从 x0x_0x0 到 x 的体积缩放比例的倒数,因为体积变大,密度等比例缩小,反之亦然。
pt(x)=∫pt(x∣x1)q(x1)dx1   (6)p_t(x)=\int p_t (x|x_1)q(x_1)dx_1 \ \ \ (6)pt(x)=pt(xx1)q(x1)dx1   (6)

ut(x)=∫ut(x∣x1)pt(x∣x1)q(x1)pt(x)dx1   (8)u_t(x)=\int u_t(x|x_1)\frac{p_t(x|x_1)q(x_1)}{p_t(x)}dx_1 \ \ \ (8)ut(x)=ut(xx1)pt(x)pt(xx1)q(x1)dx1   (8)
条件流匹配的损失函数

LCFM(θ)=Et,q(x1),pt(x∣x1)∥vt(x)−ut(x∣x1)∥2   (9)L_{CFM}(\theta) = E_{t,q(x_1),p_t(x|x_1)}\|v_t(x)-u_t(x|x_1)\|^2 \ \ \ (9)LCFM(θ)=Et,q(x1),pt(xx1)vt(x)ut(xx1)2   (9)
ddtψt(x)=ut(ψt(x)∣x1)   (13)\frac{d}{dt}\psi_t(x) = u_t(\psi_t(x)|x_1) \ \ \ (13)dtdψt(x)=ut(ψt(x)x1)   (13)
x0x_0x0pt(x∣x1)p_t(x|x_1)pt(xx1) 进行重参数化,并代入公式 (13), 得到
LCFM(θ)=Et,q(x1),p(x0)∥vt(ψt(x0))−ddtψt(x0)∥2   (14)L_{CFM}(\theta) = E_{t,q(x_1),p(x_0)}\|v_t (\psi_t(x_0)) -\frac{d}{dt} \psi_t(x_0) \|^2 \ \ \ (14)LCFM(θ)=Et,q(x1),p(x0)vt(ψt(x0))dtdψt(x0)2   (14)

ut(x∣x1)=σt′(x1)σt(x1)(x−μt(x1))+μt′(x1)   (15)u_t(x|x_1)=\frac{\sigma_t'(x_1)}{\sigma_t(x_1)}(x-\mu_t(x_1)) + \mu_t'(x_1) \ \ \ (15)ut(xx1)=σt(x1)σt(x1)(xμt(x1))+μt(x1)   (15)
Example II: Optimal Transport conditional VFs
欧拉向量场 VF:
ut(x∣x1)=x1−(1−σmin⁡)x1−(1−σmin⁡)t   (21)u_t(x|x_1) = \frac{x_1 - (1-\sigma_{\min})x}{1-(1-\sigma_{\min})t} \ \ \ (21)ut(xx1)=1(1σmin)tx1(1σmin)x   (21)
拉格朗日流 Flow:
ψt(x)=(1−(1−σmin⁡)t)x+tx1   (22)\psi_t(x)=(1-(1-\sigma_{\min})t)x+tx_1 \ \ \ (22)ψt(x)=(1(1σmin)t)x+tx1   (22)

LCFM(θ)=E(t,q(x1),p(x0))∥vt(ψt(x0))−(x1−(1−σmin⁡)x0)∥2   (23)L_{CFM}(\theta) = E_{(t,q(x_1),p(x_0))}\| v_t(\psi_t(x_0)) - \left( x_1 - (1-\sigma_{\min})x_0\right)\|^2 \ \ \ (23)LCFM(θ)=E(t,q(x1),p(x0))vt(ψt(x0))(x1(1σmin)x0)2   (23)

ut(ψt(x0)∣x1)=x1−(1−σmin⁡)ψt(x0)1−(1−σmin⁡)t=x1−(1−σmin⁡)((1−(1−σmin⁡)t)x0+tx1)1−(1−σmin⁡)t=x1(1−(1−σmin⁡)t)1−(1−σmin⁡)t−(1−σmin⁡)x0=x1−(1−σmin⁡)x0=ddtψt(x0)\begin{aligned}u_t(\psi_t(x_0)|x_1) &= \frac{x_1 - (1-\sigma_{\min})\psi_t(x_0)}{1-(1-\sigma_{\min})t} \\ &=\frac{x_1 - (1-\sigma_{\min})((1-(1-\sigma_{\min})t)x_0+tx_1)}{1-(1-\sigma_{\min})t} \\ &=\frac{x_1(1-(1-\sigma_{\min})t)}{1-(1-\sigma_{\min})t} - (1-\sigma_{\min})x_0 \\ &=x_1-(1-\sigma_{\min})x_0 \\ &=\frac{d}{dt} \psi_t(x_0) \end{aligned}ut(ψt(x0)x1)=1(1σmin)tx1(1σmin)ψt(x0)=1(1σmin)tx1(1σmin)((1(1σmin)t)x0+tx1)=1(1σmin)tx1(1(1σmin)t)(1σmin)x0=x1(1σmin)x0=dtdψt(x0)

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐