在大概了解了《HiPPO通用框架介绍》后,继续看HiPPO通用框架的相关定义和方法。相关内容在论文《HiPPO: Recurrent Memory with Optimal Polynomial Projections》的第二章描述。
2 The HiPPO Framework: High-order Polynomial Projection Operators
作者将投影作为学习记忆表征的一种方法来解决在线函数近似问题(第2.1节)。第2.2节描述了通用HiPPO框架以实现内存更新,包括引入的技术问题的精确定义,以及解决该问题的方法的概述。第2.3节实例化了框架,这个框架揭示了LMU并产生新内存更新的机制(例如HiPPO-LagT),展示了HiPPO框架的通用性。第2.4节讨论了如何将基于连续时间的主要结果转换为实际的离散版本。最后,在第2.5节中,作者展示了RNN中的门控是如何成为HiPPO存储器的一个实例。
2.1 HiPPO 问题设置
从作者的问题设置可以看出,作者在定义在线近似时,并没有指出SSM。正如苏神所说:"HiPPO 是一个自下而上的框架,它并没有一开始就假设系统必须是线性的,而是从正交基逼近的角度反过来推出其系数的动力学满足一个线性 ODE 系统,这样一来我们就可以确信,只要认可所做的假设,那么线性 ODE 系统的能力就是足够的,而不用去担心线性系统的能力限制了你的发挥。"
内积
关于度量的函数近似,作者指出平方可积的函数空间的内积作为函数近似。这时我才发现,原来傅里叶级数展开就是基于傅里叶基的内积。
苏神在《重温被Mamba带火的SSM:线性系统和HiPPO矩阵》一文中,对这个内积有更详细的阐释。摘录如下:
时间度量
作者关于问题设置,用内积做函数近似,而内积的函数g需要选取合适的多项式,这个多项式基是非常通用的,有多种多项式,而在附录,作者也推导了多种多项式基的闭式解。
然后就是在线近似,挑战在于如何解决给定μ(t)的条件下的闭式优化问题,以及当t→∞时如何在线保持这些系数。
这里需要停留一下,理解一下时间度量μ(t)如何给定?
在上一篇《Mamba学习(七):HiPPO通用框架介绍》的具体案例中提到,在将函数投影到傅里叶基的时候,当时间不断向前变化,t→T时,如何将积分的上下界从[0,1]扩展到[0,T],这个时间映射函数,就是针对历史的时间度量。
更直观的,来看论文中的这张图:
三种时间度量方式,左边是LegT,就是滑窗的方式,在窗内平均分配权重;中间是LagT,采用了指数衰减的权重;右边是LegS,对整个历史平均分配权重。
2.2 通用 HiPPO 框架
这节简要概述了解决这个问题背后的主要思想,为许多度量族μ(t)提供了一种令人惊讶的简单和通用的策略。该框架建立在信号处理文献中研究良好的正交多项式和相关变换的丰富历史之上。前述的形式抽象(定义1)在几个方面与之前关于滑动变换的工作有所不同,在第A.1节中对此进行了详细讨论。时变度量概念允许更适当的选择μ(t),这将导致具有定性不同行为的解决方案。附录C包含了HiPPO框架的全部细节和形式。
2.3高阶投影:测量家族和HiPPO-ODE
我们的主要理论结果是各种度量族μ(t)的HiPPO实例。我们提供了两个自然滑动窗口度量和相应投影算子的例子。对记忆机制的统一观点使我们能够用附录D.1、D.2中提供的相同策略推导出这些闭式解。第一个以原则性的方式解释了勒让德存储单元(LMU)[71]核心的更新,并描述了其局限性,而另一个则是新颖的,展示了HiPPO框架的普遍性。附录D对比了这些度量的权衡(图5),包含了它们的推导证明,并推导了其他基的额外HiPPO公式,如傅里叶(恢复傅里叶循环单元[79])和切比雪夫。
转换后的勒让德(LegT:translated Legendre)度量为最近的历史赋予了统一的权重[t-θ,t]。有一个超参数θ表示滑动窗口的长度,或正在总结的历史长度。转换后的拉盖尔(LagT: translated Laguerre)度量使用指数衰减度量,赋予近期历史更多的重要性。
方程式(1)证明了LMU更新[71,方程式(2)]。此外,我们的推导(附录D.1)表明,在预测之外,还有另一个近似来源。此滑动窗口更新规则需要访问f(t-θ),而f不再可用;相反,它假设当前系数c(t)是函数f(x)x≤t的足够精确的模型,可以恢复f(t-θ)。
2.4 HiPPO 递归:从连续时间到离散时间的 ODE 离散化
关于离散化,前文《HiPPO论文中的离散化SSM的矩阵近似计算》已有探讨。
2.5 低阶投影:门控RNN的记忆机制
前面文章已经提及RNN是低阶投影,这里进一步说出,RNN是有很多隐藏特征,但是只投影了一次。