HiPPO推导
Published on: 2026-03-04
Written by: Siriuns
description: Mathematical foundation of S4: a derivation of HiPPO.
关于S4架构HiPPO的推导
在隐空间中考虑LLM, 此时我们需要学习/预测隐空间中一个高维向量的走势, 模型的核心部分输入记为 x(t)∈Rd; 为了减少存储开销/简化模型, 我们将x(t)的通道之间解耦, 从而仅需考虑一个输入为 x(t)∈R 的模型.
SSM 模型假设系统为
{h′(t)h(0)=Ah(t)+Bx(t)=0
我们需要对该 ODE 离散化. 该方程为 一阶线性常系数微分方程, 有通用解法如下:
h′(t)−Ah(t)e−At(h′(t)−Ah(t))e−Ath(t)h(t)=Bx(t)=e−AtBx(t)=∫0te−AτBx(τ)dτ=eAt∫0te−AτBx(τ)dτ
此时我们采用 ZOH (即零阶保持假设) 来离散化, 记时间步为 Δ∈R, 将 h(kΔ),x(kΔ) 简记为 hk,xk.
hk=ekΔA∫0kΔe−AτBx(τ)dτ=ekΔAr=0∑k−1∫rr+1e−ΔAτBxrdτ=ekΔAr=0∑k−1(e−rΔA−e−(r+1)ΔA)(A−1BΔxr)
于是不难发现
hk+1=e(k+1)ΔAr=0∑k(e−rΔA−e−(r+1)ΔA)(A−1BΔxr)=eΔAhk+(eΔA−1)(ΔA)−1Bxr
此时我们记 eΔA 为 Ad, 记 (eΔA−1)(ΔA)−1B 为 Bd, 从而得到形式简洁的 一阶线性常系数差分方程.
hk+1=Adhk+Bdxr
对这个式子直接展开就可以得到
hk+1=r=0∑kAdrBd⋅xk−r
此时方程可以进行并行运算, 相比原来的 RNN 可以更快训练. 我们记gr=AdrBd, 可以把这个式子写成卷积的形式.
hk+1=r=0∑kgrxk−r=(g∗x)[k]
这个卷积可以用 FFT 等算法来加速, 并且支持并行计算.