第 3 课 · Lesson 0003

KGC 双线性注意力 + 统计先验门控

Mission: 为组会分享而学 — 把 KGC 从"先验调制注意力"降到张量级可默画

第 1 课你已知 KGC 只吃外生;第 2 课 HCM 不碰外生。这一课把 KGC 的精确数据流拆开:统计先验 $S$ 从哪来、双线性公式为何等价两条投影支路、log-gating 怎么掐断零先验、条件如何注入 $Y_s$ 变成 $\tilde Y_s$。读完后你应能默写 Eq.10–14,并说清"为什么不直接把 $S$ 拼到输入上"。

KGC 要解决什么

纯数据驱动的内生–外生注意力(TimeXer 式交叉注意、简单拼接)容易学到训练集里的静态伪相关。在确定性预测里这已经有害;在概率生成的多步 ODE 积分里,错误相关会沿轨迹滚雪球放大,OOD 关系漂移时更脆。

朴素做法是"把先验权重直接拼到输入端"。论文明确反对:这改不了注意力投影空间本身——投影仍不随统计环境移动。KGC 改在查询投影子空间里做先验调制:让 $s_{ij}$ 插值两套投影,而不是在输入上加一个 bias。

链上角色:KGC 定义"有条件模式 $v_\theta(\cdot,c)$ 里 $c$ 如何进入网络"。它回答 how to condition,不回答 how hard to condition(那是 CFG 的 $\gamma$)。

统计先验 $S$:一张 $N\times D$ 的依赖图

$$S=\{s_{ij}\mid 1\le i\le N,\,1\le j\le D\}\in\mathbb R^{N\times D}$$

$s_{ij}$ = 第 $i$ 个内生变量与第 $j$ 个外生变量的统计关联强度。从输入上下文显式提取(非学习),主实验用 Pearson 相关;消融含 Granger 因果(附录 B.2 有伪代码)。

消融结论(组会可用):同阶段 Pearson 整体优于 Granger;混合时历史 Granger + 未来 Pearson 最好——因果贴"过去驱动",相关贴"同期/未来协变"。

进入注意力前先归一化到 $[0,1]$:

$$\tilde S=\mathrm{Norm}(|S|)\in[0,1]^{N\times D}.$$

核心公式:双线性插值投影空间

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

把括号展开,立刻看清两路:

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

$s_{ij}$ 大 → 更听 $W_2$ 方向的交互;$s_{ij}=0$ → 完全退回 $W_1$ 的纯数据驱动。这就是"按先验强度在两套投影之间动态插值"。

别把 Eq.10 理解成加性 bias:$s_{ij}$ 不是加到 attention score 上的偏置,而是改了 query 投影矩阵本身($W_1+s_{ij}W_2$)。投影空间随统计环境移动——这才是相对"输入端拼先验"的结构优势。

实现分解:不显式构造满双线性矩阵

Eq.10 对每个 $(i,j)$ 都有不同的投影矩阵 $W_1+s_{ij}W_2$,直接实现代价高。论文用两条因子化 query–key 支路等价实现,不显式形成满双线性矩阵。

以历史外生注入为例(query 来自流状态 $Y_s$,key 来自 $X_{\text{exo}}$):

$$ \begin{aligned} A_b &= \frac{(Y_s W_{1,q})\,(X_{\text{exo}} W_{1,k})^\top}{\sqrt d},\\ A_g &= \frac{(Y_s W_{2,q})\,(X_{\text{exo}} W_{2,k})^\top}{\sqrt d}. \end{aligned} \qquad\text{(Eq.11–12)} $$

权重形状(历史侧):

与 Eq.10 的对应:

最终注意力矩阵再加 log-gating:

$$\boxed{A=\mathrm{Softmax}\!\big(A_b+\tilde S\odot A_g+\log(\tilde S+\delta)\big)}\qquad\text{(Eq.13)}$$

其中 $\delta$ 是数值稳定的小常数。

log-gating:先验为零就掐断

$\log(\tilde S+\delta)$ 是加性门控:

论文原话:当统计知识为零时,"attention score is strongly suppressed"。直觉:若先验说"这对变量无关",就不该让数据驱动注意力偷偷学出假相关——log-gating 是硬闸门,不只是软缩放。

三层防护:$A_b$(总有)+ $\tilde S\odot A_g$(先验缩放的第二子空间)+ $\log(\tilde S+\delta)$(零先验硬掐)。三者叠在一起,才叫"知识引导",不是"知识提示一下"。

条件注入:从 $A$ 到 $\tilde Y_s$

$$\boxed{\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}}\qquad\text{(Eq.14)}$$

张量形状走读:

  1. $A\in\mathbb R^{N\times D}$:每个内生变量对 $D$ 个外生变量的注意力权重
  2. $X_{\text{exo}}\in\mathbb R^{D\times T}$:$A X_{\text{exo}}\in\mathbb R^{N\times T}$——按注意力加权聚合外生历史
  3. $(A X_{\text{exo}})W_v\in\mathbb R^{N\times F}$:把 $T$ 步聚合结果投影到 $F$ 步预测空间
  4. $+Y_s$:残差连接,保留原流状态

$\tilde Y_s$ 才是喂给速度场网络的条件化状态。源仍是 $Y_0$;KGC 改的是路径上每一步状态如何听外生。

顺序注入:先历史、后未来

历史外生 $X_{\text{exo}}$ 与未来外生 $Y_{\text{exo}}$ 顺序用同一套方法注入。演示用历史侧;未来侧时间维从 $T$ 换成 $F$,对应 key/value 投影权重形状随之变为 $F\times d$、$F\times F$ 一类。未来外生不可用时,跳过该步即可——这是 KITE 兼容"仅历史外生"设定的接口。

Y_s (N×F) ──┬── W1,q ──► Q1 ──┐ │ ├──► A_b = Q1 K1^T / √d X_exo (D×T) ─┼── W1,k ──► K1 ──┘ │ ├── W2,q ──► Q2 ──┐ │ ├──► A_g = Q2 K2^T / √d └── W2,k ──► K2 ──┘ S (N×D) ──► |·| ──► Norm ──► S̃ ∈ [0,1]^{N×D} │ A = Softmax( A_b + S̃ ⊙ A_g + log(S̃+δ) ) ∈ R^{N×D} │ ┌───────────────┘ ▼ A · X_exo · W_v ∈ R^{N×F} + Y_s = Ỹ_s │ ▼ (可选)再用 Y_exo 同样注入一次 │ ▼ 条件化状态 ──► v_θ(·, s, c̃)

一张表收口

形状角色
$S,\tilde S$$N\times D$统计先验 / 归一化先验
$A_b$$N\times D$数据驱动注意力 logits
$A_g$$N\times D$先验子空间注意力 logits
$A$$N\times D$Softmax 后的依赖图
$\tilde Y_s$$N\times F$条件注入后的流状态
组会上讲 KGC,建议这条线:"我们不把统计先验拼到输入上,而是改 query 投影:Attn = q(W1 + s·W2)k^T。实现上拆成两条支路 Ab(数据)和 Ag(先验),用 S̃ ⊙ Ag 做缩放,再用 log(S̃+δ) 在先验为零时硬掐注意力。query 来自流状态 Ys,key 来自外生,A 是 N×D 的内生–外生依赖图,最后 A·X_exo·Wv 残差加回 Ys 得到条件化状态。历史/未来外生顺序注入。这样先验改的是投影空间本身,而不是输入上的一个偏置——这是抗伪相关的结构关键。"

自测

Check 1
Eq.10 里 $s_{ij}$ 作用在哪里?
对。$s_{ij}$ 调制的是投影矩阵本身,不是 score 上的加性 bias。这是相对"输入端拼先验"的结构差异。
Check 2
$\log(\tilde S+\delta)$ 在 $\tilde s_{ij}\to 0$ 时做什么?
对。$\log(\tilde s+\delta)\to-\infty$,Softmax 后该 $(i,j)$ 权重≈0——先验说无关时硬掐,防数据支偷偷学假相关。
Check 3
$A_b+\tilde S\odot A_g$ 与双线性展开的对应是?
对。展开 $q(W_1+sW_2)k^\top=qW_1k^\top+s(qW_2k^\top)$,正是 $A_b+\tilde S\odot A_g$ 的两条支路。这是"实现分解=双线性公式"的关键桥梁。
组会高频追问:KGC 和 CFG 谁先谁后?——KGC 定义有条件通路的结构;CFG 在"有 $c$ / 无 $c$"两种速度之间外推。若 KGC 学到的条件差本身被伪相关污染,加大 $\gamma$ 等于放大脏信号。所以 KGC 是 CFG 的前提,不是可选项。下一课讲 CFG 时会把这条链钉死。