第 1 课 · Lesson 0001

KITE 端到端数据流走查

Mission: 为组会分享而学 — 先搭骨架,后续课往里挂细节与推导

这一课只做一件事:把 KITE 从三个输入走到预测分布的完整数据流走一遍,记清"哪个模块吃什么、吐什么、改的是路径上的哪一段"。你已有 Flow Matching 与 KITE 高层认知,所以不重复入门,直接进入张量级走查。读完后你应能不看论文画出这张图。

三种角色与三类输入

KITE 要建模的是协变量条件下的概率预测,即图 1(c) 的范式:

$$p_\theta\!\left(Y_{\text{endo}}\mid X_{\text{endo}},\,X_{\text{exo}},\,Y_{\text{exo}}\right).$$

注意三个输入的语义分裂——这是理解整个数据流的钥匙:

输入形状语义谁读它
$X_{\text{endo}}$$N\times T$历史内生(要预测的东西的过去)HCM
$X_{\text{exo}}$$D\times T$历史外生(已知过去协变量)KGC
$Y_{\text{exo}}$$D\times F$已知未来外生KGC(训练+推理都用)
$Y_{\text{endo}}$$N\times F$预测目标(训练可见,推理要生成)训练路径构造;推理要生成它
最容易被忽视的分裂:HCM 只吃 $X_{\text{endo}}$(内生历史),完全不看外生;KGC 只吃外生。HCM 负责"从哪出发",KGC 负责"路上听谁的"。把这个分工刻在脑子里,后面所有细节都是往这两句话里填肉。

Flow Matching 骨架(30 秒复习)

FM 把生成看成从源 $Y_0\sim p_0$ 沿直线传输到目标 $Y_{\text{endo}}\sim p_1$,学一个向量场 $v_\theta$ 去逼近这条直线的速度:

$$Y_s = s\,Y_{\text{endo}} + (1-s)\,Y_0,\quad \hat v = Y_{\text{endo}}-Y_0,\quad s\in[0,1].$$

训练时 $Y_{\text{endo}}$ 已知,所以 $Y_s$ 和 $\hat v$ 都能算出来,网络回归 $\hat v$。推理时从 $Y_0$ 出发,用学到的 $v_\theta$ 做 ODE 积分到 $s=1$。KITE 改的就是 $Y_0$ 和 $v_\theta$ 的条件通路,FM 直线路径本身没动。

端到端数据流图

输入 X_endo (N×T) ──────────────► [HCM] ──► Y0 = μ + σ·δ ──┐ 仅内生 源分布 │ │ X_exo (D×T) ─┐ │ ├─► 先验 S (N×D) ──┐ │ Y_exo (D×F) ─┘ │ │ ▼ ▼ [KGC 双线性注意力] Y_s = s·Y_endo + (1-s)·Y0 query=Y_s, key=X_exo │ A_b + S̃⊙A_g + log(S̃+δ) │ │ │ ▼ ▼ Ỹ_s = A·X_exo·W_v + Y_s ◄──────┘ (条件注入) │ ▼ 速度场 v_θ(Ỹ_s, s, c̃) │ 训练: c̃ 以 p_con 变 ∅ ← [CFG 联合训练] 损失 L_FM = |v_θ(Ỹ_s,s,c̃) − (Y_endo − Y0)| │ ▼ 推理: v̂ = (1+γ)v_θ(c) − γ·v_θ(∅) ← [CFG 外推] │ ▼ ODE Euler: Y_curr ← Y_curr + v̂·Δs (N 步, s:0→1) │ ▼ Ŷ_endo ∈ R^{N×F} ← p_θ(Y_endo | ·) 的一次采样

逐段走读

① HCM — 用 $X_{\text{endo}}$ 造源 $Y_0$

标准 FM 源是 $\mathcal N(0,I)$。HCM 把它换成历史条件流形,且只用内生历史:

$$\mu_{\text{hist}}=f_\phi(X_{\text{endo}})\in\mathbb R^{N\times F},\quad \sigma_{\text{hist}}=\mathrm{Softplus}(g_\psi(X_{\text{endo}}))+\sigma_{\min},$$ $$\delta_{\text{hist}}=\alpha\,\frac{Mz}{\|Mz\|}+(1-\alpha)\,\epsilon,\quad Y_0=\mu_{\text{hist}}+\sigma_{\text{hist}}\,\delta_{\text{hist}}.$$ 其中 $M\in\mathbb R^{(N\times F)\times r}$ 是可学低秩流形基,$z,\epsilon\sim\mathcal N(0,I)$,$\alpha$ 可学。配套的 coverage constraint $L_{CC}$ 防止 $\sigma$ 塌缩、强制源支撑盖住目标。

数据流要点:HCM 不碰 $X_{\text{exo}}/Y_{\text{exo}}$。它的全部职责是让 $Y_0$ 拓扑上贴近目标邻域,缩短 FM 要学的传输距离。BF:四子件(barycenter/uncertainty/manifold/coverage)细节是第 2 课

② KGC — 用外生 $+$ 先验 $S$ 调制注意力,把条件注入 $Y_s$

FM 每一步的状态 $Y_s$ 要"听"外生条件。KGC 不把先验拼在输入上,而是改注意力的查询投影。统计先验 $S=\{s_{ij}\}\in\mathbb R^{N\times D}$ 给每对(内生 $i$,外生 $j$)一个关联强度:

$$\mathrm{Attn}(q_i,k_j)=q_i\,(W_1+s_{ij}\,W_2)\,k_j^\top.$$

实现上拆两条投影支路($A_b$ 数据驱动、$A_g$ 先验注入),再与归一化先验 $\tilde S=\mathrm{Norm}(|S|)$ 融合并 log-gating:

$$A_b=\frac{(Y_s W_{1,q})(X_{\text{exo}}W_{1,k})^\top}{\sqrt d},\quad A_g=\frac{(Y_s W_{2,q})(X_{\text{exo}}W_{2,k})^\top}{\sqrt d},$$ $$A=\mathrm{Softmax}\!\big(A_b+\tilde S\odot A_g+\log(\tilde S+\delta)\big).$$

注意维度:query 来自 $Y_s$(内生侧,$N$),key 来自 $X_{\text{exo}}$(外生侧,$D$),所以 $A\in\mathbb R^{N\times D}$ 是一张"内生×外生"依赖图。最后把外生信息加权注回状态:

$$\tilde Y_s = A\,X_{\text{exo}}\,W_v + Y_s\in\mathbb R^{N\times F},\qquad W_v\in\mathbb R^{T\times F}.$$

顺序注入:先注历史外生 $X_{\text{exo}}$,再注未来外生 $Y_{\text{exo}}$(同一套方法);未来外生缺失时跳过该步。$\tilde Y_s$ 才是喂给 $v_\theta$ 的条件化状态。BF:双线性/log-gating 的精确机理是第 3 课

③ CFG — 同一个 $v_\theta$ 同时学有/无条件,推理做线性外推

训练时以概率 $p_{\text{con}}$ 把条件 $c$ 换成空条件 $\varnothing$:

$$\tilde c=\begin{cases}\varnothing & \text{w.p. }p_{\text{con}}\\ c & \text{w.p. }1-p_{\text{con}}\end{cases},\qquad L_{\text{FM}}=\big|v_\theta(Y_s,s,\tilde c)-(Y_{\text{endo}}-Y_0)\big|.$$

于是同一个网络既会 $v_\theta(\cdot,c)$(协变量条件)又会 $v_\theta(\cdot,\varnothing)$(协变量无关)。推理时线性外推,$\gamma\ge 0$ 是旋钮:

$$\hat v_s=(1+\gamma)\,v_\theta(Y_s,s,c)-\gamma\,v_\theta(Y_s,s,\varnothing).$$

$\gamma=0$ 退回纯条件生成;$\gamma>0$ 把轨迹从"无外生平均行为"推开、更贴当前协变量驱动。经验最优 $\gamma\in\{1.2,1.4\}$。最后从 $Y_0$ 出发做 $N$ 步 Euler ODE:$Y_{\text{curr}}\gets Y_{\text{curr}}+\hat v\,\Delta s$。

训练 vs 推理的关键差:训练里 $Y_s$ 由真实 $Y_{\text{endo}}$ 构造(有监督回归速度);推理里 $Y_{\text{endo}}$ 未知,只能从 $Y_0$ 起一路积分。BF:CFG 与采样算法伪代码(Appendix B.1 Algorithm 1)是第 4 课

一张表收口

瓶颈模块读什么改路径哪段
拓扑落差(源太远)HCM$X_{\text{endo}}$源 $Y_0$
伪相关放大KGC$X_{\text{exo}},Y_{\text{exo}},S$条件注入 → $\tilde Y_s$
条件强度不可控CFG(不额外读输入)速度场外推 $\hat v$
组会上你可以这样开头:"KITE 没有改 Flow Matching 的直线传输路径,它只改了两样东西——起点 $Y_0$ 和条件如何进入速度场。起点由内生历史单独决定(HCM),条件由外生加统计先验经双线性注意力注入(KGC),最后用 CFG 在'有外生/无外生'两种速度之间线性外推、拧外生强度。三件套解决的恰好是三个不同瓶颈,所以消融里必须三者齐用才最优。"——后续课把这段话逐句填实。

自测

Check 1
在 KITE 数据流中,HCM 模块读取哪些输入?
对。HCM 只吃内生历史 $X_{\text{endo}}$ 造源 $Y_0$;外生全程归 KGC。这个输入分裂是 KITE 设计的核心。
Check 2
KGC 里注意力的 query 和 key 分别来自哪一侧?
对。query 来自流状态 $Y_s$(内生侧,$N$),key 来自 $X_{\text{exo}}$(外生侧,$D$),故 $A\in\mathbb R^{N\times D}$ 是内生×外生依赖图。
Check 3
推理时从什么出发积分 ODE?
对。推理 $Y_{\text{endo}}$ 未知,只能从 $Y_0$(HCM,仅用 $X_{\text{endo}}$)起,用 $\hat v=(1+\gamma)v(c)-\gamma v(\varnothing)$ 做 Euler 积分到 $s=1$。
易混点:别把 KGC 的 $\tilde Y_s=A\,X_{\text{exo}}W_v+Y_s$ 里的 $Y_s$ 当成新的源。$Y_s$ 是 FM 路径上的中间状态;$\tilde Y_s$ 只是经条件注入后喂给 $v_\theta$ 的输入。源始终是 $Y_0$,从训练到推理不变。