HiPPO推导

Published on: 2026-03-04

Written by: Siriuns
description: Mathematical foundation of S4: a derivation of HiPPO.

关于S4架构HiPPO的推导

在隐空间中考虑LLM, 此时我们需要学习/预测隐空间中一个高维向量的走势, 模型的核心部分输入记为 𝐱(t)d; 为了减少存储开销/简化模型, 我们将𝐱(t)的通道之间解耦, 从而仅需考虑一个输入为 x(t) 的模型. SSM 模型假设系统为

{𝐡(t)=𝐀𝐡(t)+𝐁x(t)𝐡(0)=0

我们需要对该 ODE 离散化. 该方程为 一阶线性常系数微分方程, 有通用解法如下:

𝐡(t)𝐀𝐡(t)=𝐁x(t)e𝐀t(𝐡(t)𝐀𝐡(t))=e𝐀t𝐁x(t)e𝐀t𝐡(t)=0te𝐀τ𝐁x(τ)dτ𝐡(t)=e𝐀t0te𝐀τ𝐁x(τ)dτ

此时我们采用 ZOH (即零阶保持假设) 来离散化, 记时间步为 Δ, 将 𝐡(kΔ),x(kΔ) 简记为 𝐡k,xk.

𝐡k=ekΔ𝐀0kΔe𝐀τ𝐁x(τ)dτ=ekΔ𝐀r=0k1rr+1eΔ𝐀τ𝐁xrdτ=ekΔ𝐀r=0k1(erΔ𝐀e(r+1)Δ𝐀)(𝐀1𝐁xrΔ)

于是不难发现

𝐡k+1=e(k+1)Δ𝐀r=0k(erΔ𝐀e(r+1)Δ𝐀)(𝐀1𝐁xrΔ)=eΔ𝐀𝐡k+(eΔ𝐀1)(Δ𝐀)1𝐁xr

此时我们记 eΔ𝐀𝐀d, 记 (eΔ𝐀1)(Δ𝐀)1𝐁𝐁d, 从而得到形式简洁的 一阶线性常系数差分方程.

𝐡k+1=𝐀d𝐡k+𝐁dxr

对这个式子直接展开就可以得到

𝐡k+1=r=0k𝐀dr𝐁dxkr

此时方程可以进行并行运算, 相比原来的 RNN 可以更快训练. 我们记𝐠r=𝐀dr𝐁d, 可以把这个式子写成卷积的形式.

𝐡k+1=r=0k𝐠rxkr=(𝐠x)[k]

这个卷积可以用 FFT 等算法来加速, 并且支持并行计算.