Hippo Operator

type
status
date
slug
summary
tags
category
icon
password
💡
Hippo 算子本质上是一个在线函数逼近算子,它将输入函数 的历史(即 在区间 上的取值)投影到一个由正交多项式构成的有限维子空间上,从而压缩历史信息。
具体来说,论文中将这一过程分为两个步骤:
  1. 构造最佳多项式逼近
  1. ODE离散化

构造最佳多项式逼近

💡
整个过程包括以下几个步骤:
  • 选择适当的测度 和正交多项式基
  • 计算最优逼近的系数

1.确定逼近子空间

假设希望对定义在区间 上的输入函数 进行逼近。我们选取一个 维的多项式子空间

2.选取正交基

在子空间 G 内选取一组正交基 ,正交性是相对于区间 上测度 定义的,即要求
若将这些基函数归一化,则有 对所有 i 成立。

3.定义最佳逼近问题

我们希望在子空间 中寻找一个多项式 ,使得 在区间 上的 误差最小。
上的限制仍为 (或记为 ),则逼近误差定义为
因此,最佳逼近问题可以表述为
注意:由于 为有限维子空间,且 ,故此正交投影是唯一存在的

4.利用正交性求解系数

由于 为正交基,任意 都可以写成
其中系数 待定。由正交投影的性质,最佳逼近 应满足
也即
因此,可以求得
当基 已经归一化时,上式简化为
这样,我们就得到了最佳逼近多项式
💡
在这有一个问题,即系数 的等式是如何得到的?经过查询得到以下回答:
在 Hilbert 空间中,对于平方误差最小化问题,最佳逼近解正好是正交投影解。
For Example
设我们希望在有限维子空间 G (由正交基 构成)中寻找多项式 ,使得残差最小。
根据正交投影定理,最佳逼近 必须满足对于所有
代入 ,我们得到
如果所选的基 是正交的(或正交归一化的),则
  • 对于
  • 而对于 则有
因此,对于每个 得到
当基已经归一化时(即 ),便有
这就是为什么在最优逼近问题中,解的系数有一个确定的解析表达式。这个结果依赖于 Hilbert 空间中的正交投影定理,它保证了在给定的子空间内,唯一的最小二乘解正是 的正交投影。

ODE离散化

💡
整个过程分为
  • 关于 求导,并利用正交多项式的递推关系,导出系数的更新 ODE。
  • 离散化 ODE 得到递推公式,实现在线更新。
在得到最优逼近的系数表达后,对 关于时间 进行求导,利用积分求导法则(Leibniz 法则)以及正交多项式的一些特殊性质,将导数写成 之间的线性关系。
其中 表示系数向量,而矩阵 和向量 则由选取的度量和正交多项式基导出。
💡
利用 Leibniz 积分求导法则,对    关于    求导,可以得到
这里有两部分:
  • 边界项:由于积分上限是  ,在    处的贡献为
  • 积分项:积分内部我们需要计算 
2. 利用正交多项式的特殊性质
正交多项式通常满足某种微分或递推关系,这使得其关于    的变化(如果基本身随  t  变化,例如在构造时用了“时变”尺度)可以写成其本身的线性组合。也就是说,我们可以设
其中系数    依赖于所选基和度量的具体形式。将这个表达代入积分项,我们得到
但注意,右侧的积分正是    的定义,因此有
3. 得到闭合的 ODE 形式
将边界项和积分项组合起来,我们得到
也可以写成向量形式:
其中矩阵    的    项为  ,而向量    的    分量为
在实际推导中,针对不同的度量和正交多项式基(例如对应 LMU 的滑动窗口或者 LegS 的缩放测度),可以精确计算出  A(t)  和  B(t)  的具体形式,从而得出一个严格的线性 ODE 表达式。
得到公式 (1) 之后,需要考虑离散化的问题,这是因为公式 (1) 是在连续时间的假设下推导得到的。
而在实际中, 往往是离散采样得到的序列 。我们希望能在每个离散时刻 上更新系数 ,并用它来表示历史信息。因此,需要一个离散版本的更新公式:
使得当 时,该离散系统与原连续系统尽量一致。

常见的离散化方法

显式欧拉 (Forward Euler)
最基本的方法是显式欧拉法:
若我们令 ,以及在区间 上近似 , ,则有
此时
显式欧拉法实现简单,但在某些情况下数值稳定性较差。

双线性变换 (Bilinear Transform)
双线性变换(又称 Tustin 法)是一种在数字信号处理和控制理论中常用的离散化方法,能够较好地平衡数值稳定性和精度。它将微分算子
替换,从而得到
这在很多控制系统和信号处理应用里都被广泛使用,既能较好地保持稳定性,又保留了原系统的特征。

零阶保持 (Zero-Order Hold, ZOH)
ZOH 方法假设在区间 内输入 不变(即零阶保持),然后对线性系统做解析求解,得到
可对角化或有合适的结构,可快速计算矩阵指数 。这样
ZOH 在很多连续-离散系统建模中十分常见,也常用于 HiPPO 的数值实现。
在 HiPPO 中的典型做法
HiPPO 中最常见的离散化方式是双线性法 (bilinear transform) 或 ZOH:
  1. 双线性法:因为它有时被认为能更好地处理频域失真、且保持一定稳定性;
  1. ZOH:当把 视作在每个离散步长 内常值时,这种方法直接给出精确解的积分形式。
两种方法各有优点:双线性变换实现起来相对简单(不需要显式计算矩阵指数),ZOH 在某些情况下更精确但要计算指数积分。根据实际需要或数值稳定性考虑选择即可。
💡

Hippo-LegT

在 Hippo‐LegT 中,我们希望对输入函数    在一个滑动窗内进行逼近。具体地,令
表示在区间 上均匀加权的测度,其中 是滑动窗长度。目标是以一个低维多项式来近似历史  (这里实际上只关注窗内信息)。
  1. 选择正交基与构造逼近
为了使逼近问题有解析解,我们选择一个与测度 相关的正交多项式基。具体做法是:
  • 对区间 做一个线性变换,把它映射到标准区间 (或者 ),
  • 选择标准的 Legendre 多项式作为基,然后再经过适当的平移与缩放得到一组基函数,我们记为
其中 是标准 Legendre 多项式, 是归一化因子,保证在 下正交归一。
那么,在时刻 上,最佳逼近多项式为
其最优系数通过正交投影直接得到:
  1. 对投影系数 求导
为了实现在线更新,我们需要推导    随时间的变化率。对
关于 求导,需要注意两个方面:
  • 积分上下限的依赖:上限 与下限 都随 变化;
  • 基函数随 t 的依赖:由于 是对区间进行平移与缩放得到的,故它本身也依赖
利用 Leibniz 积分法则,我们有
化简得
Prev
Mamba: hardware parallel scan alg
Next
Hippo: Sliding Transforms
Loading...