重温SSM(一):线性系统和HiPPO矩阵

引言

前几天,我看了几篇介绍SSM(State Space Model)的文章,才发现自己从未认真了解过SSM,于是决定深入学习相关内容,并记录下我的学习所得。SSM的概念由来已久,但我们这里特指的是深度学习中的SSM。一般认为它的开篇之作是2021年的S4,而SSM最新的变体大概是去年的Mamba。

SSM的背景与发展

SSM在深度学习中的应用起源于S4,但在S4之前有一篇重要的奠基之作《HiPPO: Recurrent Memory with Optimal Polynomial Projections》(简称HiPPO)。本文将从HiPPO开始,深入探讨其基本形式、数学推导及其在SSM中的应用。

基本形式

对于已经对SSM有所了解的读者,可能知道SSM建模所用的是线性ODE系统:
[
\begin{aligned}
x'(t) =&\, A x(t) + B u(t) \
y(t) =&\, C x(t) + D u(t)
\end{aligned}
]
其中 (u(t) \in \mathbb{R}^{d_i}, x(t) \in \mathbb{R}^{d}, y(t) \in \mathbb{R}^{d_o}, A \in \mathbb{R}^{d \times d}, B \in \mathbb{R}^{d \times d_i}, C \in \mathbb{R}^{d_o \times d}, D \in \mathbb{R}^{d_o \times d_i})。

线性系统的选择

线性系统之所以被选择,是因为它们既足够简单,也足够复杂。简单是指线性化是复杂系统的基本近似,而复杂是指即便简单的线性系统也可以拟合异常复杂的函数。

HiPPO的贡献

HiPPO的贡献在于当我们试图用正交基去逼近一个动态更新的函数时,其结果自然而然地成为了线性系统。HiPPO不仅证明了线性系统能够逼近复杂函数,还告诉我们如何去逼近,甚至近似程度如何。

邻近窗口计算与勒让德多项式

通过选取勒让德多项式为基函数,HiPPO在处理实时信号的邻近窗口时,推导出了一个线性ODE系统。这一推导过程展示了线性系统在记忆和逼近动态函数方面的强大能力。

应用与理论意义

HiPPO的理论框架为后来的诸多SSM提供了基础,特别是在深度学习模型中。SSM的应用不仅限于解决复杂的动态系统问题,还展示了其在处理大规模数据和长序列记忆方面的潜力。

总结

本文以尽可能简单的方式重复了HiPPO的主要推导,通过适当的记忆假设,自下而上地导出了线性ODE系统,并且针对勒让德多项式的情形求出了相应的解析解。HiPPO的结果被诸多SSM使用,成为SSM的重要奠基之作。

参考文献

  • 《HiPPO: Recurrent Memory with Optimal Polynomial Projections》

以上内容是对SSM和HiPPO矩阵的简要介绍和总结,希望对大家有所帮助。


原文链接:

发表评论