动机:对角化(Motivation: Diagonalization)
计算离散时间状态空间模型(SSM)(3)的主要瓶颈在于需要通过矩阵
A
A
A进行重复的矩阵乘法运算。例如,像LSSL中那样朴素地计算(5),需要进行 L 次连续的
A
A
A矩阵乘法。这种方法需要
O
(
N
2
L
)
O(N^2 L)
O(N2L)次操作和
O
(
N
L
)
O(NL)
O(NL)的空间。
具体来说,这意味着每一步计算都要涉及到 A A A的乘法操作,随着步数 L L L的增加,计算复杂度会显著增加。这些操作不仅耗费大量的计算资源,还需要存储大量的中间结果,因为每次乘法运算都需要维护一个 N × N N \times N N×N的矩阵。
优化这一过程的关键在于寻找可以减少乘法操作次数或者优化乘法运算的方法,以提高计算效率并减少存储需求。
引理 3.1 共轭在SSM上的等价关系
引理 3.1: 共轭在状态空间模型 (SSM)(A, B, C)上构成了等价关系,即 (A, B, C) ∼ (V-1AV, V-1B, CV)
证明:
我们将两个 SSM 写出来,分别用 x x x和 x ~ \tilde{x} x~表示状态:
对于第一个 SSM:
x
˙
=
A
x
+
B
u
y
=
C
x
\dot{x} = Ax + Bu \\ y = Cx
x˙=Ax+Buy=Cx
对于第二个 SSM:
x
~
˙
=
V
−
1
A
V
x
~
+
V
−
1
B
u
y
=
C
V
x
~
\dot{\tilde{x}} = V^{-1}AV \tilde{x} + V^{-1}Bu \\ y = CV \tilde{x}
x~˙=V−1AVx~+V−1Buy=CVx~
通过将右侧的 SSM 乘以
V
V
V,可以得到:
V
x
~
˙
=
V
(
V
−
1
A
V
x
~
+
V
−
1
B
u
)
V
x
~
˙
=
A
V
x
~
+
B
u
V \dot{\tilde{x}} = V (V^{-1}AV \tilde{x} + V^{-1}Bu) \\ V \dot{\tilde{x}} = AV \tilde{x} + Bu
Vx~˙=V(V−1AVx~+V−1Bu)Vx~˙=AVx~+Bu
令
x
=
V
x
~
x = V \tilde{x}
x=Vx~,我们有:
x
˙
=
A
x
+
B
u
y
=
C
x
\dot{x} = A x + Bu \\ y = C x
x˙=Ax+Buy=Cx
因此,这两个 SSM 计算出完全相同的操作符 u → y u \rightarrow y u→y,只是通过 V V V在状态 x x x中进行了基底变换。
解释:
共轭在状态空间模型中的作用在于,通过适当的矩阵 V V V进行基底变换,可以将原始的状态空间表示 ( A , B , C ) (A, B, C) (A,B,C)转换为一个等价的状态空间表示 ( V − 1 A V , V − 1 B , C V ) (V^{-1}AV, V^{-1}B, CV) (V−1AV,V−1B,CV)。这种等价关系意味着在状态空间中进行的变换并不改变系统的输入输出特性,而是通过改变状态表示的基底来简化计算。
这种方法的一个重要应用是将矩阵 A A A转换为一个更有结构的形式,比如对角矩阵。对角矩阵的计算特别简单,因为对角元素的幂次计算可以单独进行,从而大大减少计算的复杂度。通过这种方法,可以显著提高离散时间 SSM 的计算效率。
综上所述,引理 3.1 表明,通过适当的共轭变换,可以将状态空间模型简化为计算更高效的形式,从而克服在实际应用中的计算瓶颈。
引理 3.1 的动机:通过共轭将 A A A转换为规范形式
引理 3.1: 共轭在状态空间模型 (SSM)(A, B, C)上构成了等价关系,即 (A, B, C) ∼ (V^{-1}AV, V^{-1}B, CV)。
动机:
将矩阵
A
A
A转换为规范形式(例如对角矩阵),可以显著简化计算过程,提高计算效率。特别地,如果
A
A
A是对角矩阵,计算相应的卷积核
K
K
K(公式 (4))将变得更加易处理。
规范形式的优点
-
计算简化:
当 A A A是对角矩阵时,矩阵的幂次计算变得非常简单。这是因为对角矩阵的幂次计算只需对其对角元素进行幂次运算:
D = diag ( λ 1 , λ 2 , . . . , λ N ) D = \text{diag}(\lambda_1, \lambda_2, ..., \lambda_N) D=diag(λ1,λ2,...,λN)
D k = diag ( λ 1 k , λ 2 k , . . . , λ N k ) D^k = \text{diag}(\lambda_1^k, \lambda_2^k, ..., \lambda_N^k) Dk=diag(λ1k,λ2k,...,λNk)
这大大简化了计算。 -
卷积核 K K K的高效计算:
当 A A A被对角化后,计算卷积核 K K K可以表示为范德蒙德乘积。范德蒙德矩阵的乘法运算可以通过快速傅里叶变换(FFT)高效计算,从而显著降低计算复杂度。理论上,这只需要 O ( ( N + L ) log 2 ( N + L ) ) O((N + L) \log^2(N + L)) O((N+L)log2(N+L))次算术运算【29】。
例子
假设我们有一个矩阵
A
A
A,其对角化形式为
D
D
D,并且
A
A
A被共轭变换为
V
−
1
A
V
=
D
V^{-1}AV = D
V−1AV=D。对于状态空间模型中的计算:
K
=
(
C
B
,
C
A
B
,
.
.
.
,
C
A
L
−
1
B
)
K = (CB, CAB, ..., CA^{L-1}B)
K=(CB,CAB,...,CAL−1B)
在
A
A
A是对角矩阵的情况下,计算
C
A
k
B
CA^kB
CAkB变得更加简单和高效,因为每次幂次计算仅涉及对角元素的幂次运算。
总结
通过将矩阵 A A A转换为规范形式(特别是对角化),可以显著简化状态空间模型的计算。这一方法利用了范德蒙德矩阵的性质,通过快速傅里叶变换等高效算法,降低了计算复杂度,使得状态空间模型在处理大规模序列数据时更加高效和实用。
具体应用
对于实际应用中的 SSM,尤其是在处理长序列数据时,将 A A A转换为对角形式或其他易处理的规范形式,可以大大减少计算负担,提升算法的效率和性能。通过这种方式,可以更有效地处理复杂的时序数据任务,提高系统的响应速度和准确性。
引理 3.2:HiPPO 矩阵的对角化
引理 3.2: 公式(2)中的 HiPPO 矩阵 A A A可以通过矩阵 V V V对角化,具体如下:
V i j = ( i + j i − j ) V_{ij} = \binom{i+j}{i-j} Vij=(i−ji+j)
特别地,对于 V 3 i , i V_{3i,i} V3i,i有:
V 3 i , i = ( 4 i 2 i ) ≈ 2 4 i V_{3i,i} = \binom{4i}{2i} \approx 2^{4i} V3i,i=(2i4i)≈24i
因此,矩阵 V V V的元素大小可以达到 2 4 N / 3 2^{4N/3} 24N/3。
详细解释
-
HiPPO 矩阵 A A A的对角化:
根据引理 3.2,我们知道 HiPPO 矩阵 A A A可以通过矩阵 V V V对角化。这意味着存在一个矩阵 V V V和一个对角矩阵 D D D,使得:
A = V D V − 1 A = VDV^{-1} A=VDV−1
其中, V V V的元素通过组合数计算得到。 -
矩阵 V V V的元素:
矩阵 V V V的元素通过组合数表示:
V i j = ( i + j i − j ) V_{ij} = \binom{i+j}{i-j} Vij=(i−ji+j)
特别地,对于对角元素 V 3 i , i V_{3i,i} V3i,i,我们有:
V 3 i , i = ( 4 i 2 i ) ≈ 2 4 i V_{3i,i} = \binom{4i}{2i} \approx 2^{4i} V3i,i=(2i4i)≈24i
这是因为组合数在大指数时可以近似为指数函数。 -
数值问题:
由于 V V V的元素大小可以达到 2 4 N / 3 2^{4N/3} 24N/3,这意味着当状态大小 N N N增大时,矩阵 V V V中的元素将呈指数级增长,导致数值计算中的溢出或精度问题。这种增长使得对角化在数值上变得不可行。
结论
尽管理论上 HiPPO 矩阵 A A A可以通过矩阵 V V V对角化,但由于 V V V的元素大小呈指数级增长,导致数值计算不稳定。这种数值不稳定性使得直接对角化方法在实际应用中不可行。因此,我们需要寻找其他方法来解决状态空间模型中的数值问题,以实现稳定且高效的计算。
这进一步说明了在第3节中提出的挑战,即需要开发数值上稳定且高效的算法来计算卷积核 K K K。