【论文翻译】SSM状态空间模型卷积和循环模式表达的解释

时间:2024-03-07 19:10:11

文章目录

    • 2.4 SSM 表达的解释
      • 2.4.1 SSM作为连续模型
      • 2.4.2 SSM作为递归
      • 2.4.3 SSM作为卷积

这篇文章是Mamba作者博士论文 MODELING SEQUENCES WITH STRUCTURED STATE SPACES
的第二章的部分翻译,这部分关于SSM的卷积和循环模式表达的解释,主要讨论了 Δ \Delta Δ参数。
上一部分是 SSM状态空间模型的循环和卷积模式

2.4 SSM 表达的解释

2.3部分关注于SSSM计算上的概念:如何应用它们。在这一部分,我们拓展在SSSM上的直觉,相比于相近的序列模型如何解释他们。注意这一部分对于在实际中应用SSM并不必要,特别对于Chapter 3来说不是前提。

  • 部分2.4.1讨论如何解释SSM的自然连续,特别是新的 Δ \Delta Δ参数
  • 部分2.4.2和2.4.3将SSSM和RNN和CNN做比较,关注于它们的建模能力和表达能力。特别是,我们展示了RNN和CNN如何被SSM解释。

2.4.1 SSM作为连续模型

SSSM的连续解释偏离了标准的序列模型。模型(和它的额外 Δ \Delta Δ 参数)如何被解释,特别是当输入 u k u_k uk并不真正来自对一个潜在连续信号 u ( t ) u(t) u(t)

Δ \Delta Δ作为调制参数

我们注意到以下事实:

Lemma 2.13. 对于所有的标准离散化方法(例如欧拉,后向欧拉,广义双线性变换,零阶保持),离散化系统取决于 Δ \Delta Δ ( A , B ) (\textbf A, \textbf B) (A,B)通过它们的积。 ( Δ A , Δ B ) (\Delta \textbf A, \Delta\textbf B) (ΔA,ΔB)

Corollary 2. 14. SSSM ( Δ , A , B ) (\Delta, \textbf A, \textbf B) (Δ,A,B) S S M ( A , B ) SSM(\textbf A, \textbf B) SSM(A,B)以步长 Δ \Delta Δ离散化等价于 S S S M ( 1 , Δ A , Δ B ) SSSM(1, \Delta \textbf A, \Delta\textbf B) SSSM(1,ΔA,ΔB),它们计算的是相同的序列到序列映射。

因此,我们并不把 Δ \Delta Δ解释为一个固定的步长,我们把 Δ \Delta Δ看作一个额外参数简单调制核心的SSM参数 ( A , B ) (A, B) (A,B)

Δ \Delta Δ作为时间缩放

Δ \Delta Δ的调制解释可以被看作对于(离散)输入控制依赖的长度。更准确地,它捕捉了依赖长度比例 1 Δ \frac{1}{\Delta} Δ1。这一直觉来自于注意到线性ODE的缩放保持了相同的动态,但是简单改变了系统变化的速率。

Lemma 2. 15. 常微分方程 y ′ = c A y + c B u y^{'} = c\textbf Ay+c\textbf Bu y=cAy+cBu变化速度是SSM y ′ = A y + B u y^{'} = \textbf Ay+\textbf Bu y=Ay+Bu c c c倍,前一个映射 u ( c t ) ↦ x ( c t ) u(ct)\mapsto x(ct) u(ct)x(ct)如果后者映射为 u ( t ) ↦ x ( t ) u(t)\mapsto x(t) u(t)x(t)

出于这个原因,我们把 Δ \Delta Δ作为一个时间尺度。对于我们介绍的SMM重要的新类别,这种连接会被形式化地更明确(Chapter 5)

Δ \Delta Δ调整采样速率

尽管 Δ \Delta Δ并不被认为是数据地步长,它依然可以被解释为一个和真实步长相近地量化。特别是,如果数据步长用 c c c缩放,即时间序列地采样速率用 1 c \frac{1}{c} c1缩放,则模型的 Δ \Delta Δ参数也应该被 c c c缩放。

作为一个具体的例子,考虑一个输入序列 s ( 1 ) s^{(1)} s(1)和另一个序列 x ( 2 ) x^{(2)} x(2)每一个元素赋值一次。换句话说, x ( 2 ) x^{(2)} x(2)可以被看作从从和 x ( 1 ) x^{(1)} x(1)相同的数据中产生,但是采样率翻倍(或者步长减半)则可以被验证为 S S M ( Δ , A , B , C ) ( x ( 1 ) ) = S S M ( Δ / 2 , A , B , C ) ( x ( 2 ) ) SSM(\Delta, A, B, C)(x^{(1)}) = SSM(\Delta/2, A, B, C)(x^{(2)}) SSM(Δ,A,B,C)(x(1))=SSM(Δ/2,A,B,C)(x(2))(至于离散化误差,在ZOH情况下是准确的)

Δ \Delta Δ 在别的连续模型

在深度学习中存在别的连续时间模型,实际上,第一个RNN经常被解释为连续动态系统的近似。用步长 Δ \Delta Δ离散化通常是这些模型的步长部分。然而,多数基于NDE和ODE的RNN模型将它作为一个重要的但是不可训练的超参数,然而SSSM可以训练它来控制依赖长度。

相比于经典的SSM,我们强调以下是这一部分最重要的直觉。

Remark 2.9 在经典的SSM, Δ \Delta Δ被解释为一个步长是数据的核心属性。相反,在 S S S M SSSM SSSM Δ \Delta Δ被解释为一个可训练的参数表达时间缩放。

Δ \Delta Δ在RNN和CNN

最后,我们注意因为SSM的循环和卷积表达式离散化的下游,把SSSM直接看作一个RNN或者CNN, Δ \Delta Δ有别的解释。

在下一个部分,我们会展示传统RNN的门控机制是可学习 Δ \Delta Δ的一个版本。最后,作为一个CNN,时间缩放 Δ \Delta Δ可以被看作控制卷积核的“宽度”。

2.4.2 SSM作为递归

部分2.3.2讨论了如何解释和计算一个SS(S)M作为一个线性递归。然而,尽管SSM是一个线性递归,流行的RNN模型是有每时间步间有激活函数的非线性序列模型。这引发了一个问题:如何将有表现型的SSM和通常的RNN比较。

RNN 的门控机制

我们展示了 了两个和RNN和ODE相关的结果,可能引起广泛的兴趣。我们第一个结果是RNN普遍存在的门控机制实际上可以被解释为一个步长的模拟或者时间缩放 Δ \Delta Δ

Lemma 2.16 一个 ( 1 − D ) (1-D) (1D)门控递归 x t = ( 1 − σ ( z ) x t − 1 + σ ( z ) u t x_t = (1-\sigma(z)x_{t-1}+\sigma(z)u_t xt=(1σ(z)xt1+σ(z)ut σ \sigma σ是sigmoid函数, z z z是一个任意表达,可以看作是一个 1 − D 1-D 1D线性常微分方程 x ˙ ( t ) = − x ( t ) + u ( t ) \dot x(t) = -x(t)+u(t) x˙(t)=x(t)+u(t)的后向欧拉离散化。

证明:应用一个离散化需要一个正的步长 Δ \Delta Δ。最简单的参数化一个正函数是通过对任意表达 z z z应用指数函数 Δ = e x p ( z ) \Delta = exp(z) Δ=exp(z)。将其带入欧拉离散化,可以产生门控递归。

我们强调对于RNN表现经验上来说重要的门控机制,通常被认为是平滑优化的启发形式。相对应的是,Lemma .16提供了一个优雅的解释并说明它实际可以从第一定律推出,甚至是Sigmoid形式。

picard 迭代作为非线性动态的深度方向估计

尽管Lemma2.16包含了使用离散化对连续系统估计,第二个结果是关于使用Picard迭代,一种经典的ODE技术(简要介绍在附录A.1)粗略讲,深度线性RNN模型的每一层都可以被看作逐次的Picard迭代 x 0 ( t ) , x 1 ( ) t , . . . x_0(t),x_1()t,... x0(t),x1()t,...估计一个由非线性ODE定义的函数 x ( t ) x(t) x(t)。这表明了我们使用线性而不是非线性递归并没有丢失掉建模能力,而这些“时间”维度的非线性可以被转移到深度神经网络的"深度"方向而不牺牲掉表达力。

Lemma 2.17. 用Position-wise非线性函数(无限地)深度堆叠由一阶SSM层可以(局部地)估计非线性ODE x ˙ ( t ) = − x + f ( t , x ( t ) ) \dot x(t) = -x + f(t, x(t)) x˙(t)=x+f(t,x(t))

Koopman算子

尽管超过了这篇文章的范围,我们提到线性和非线性动态系统的第三个联系通过Koopman算子理论。Orvieto讨论了如何用非线性的“前馈”块插入线性RNN层是足够模拟高度非线性系统的(在有足够规律性情况下)

讨论:RNN作为SSM

Lemma2.16和2.17介绍了通常的RNN可以表达为围绕(线性)SSM构建的深度神经网络。尽管我们相信这些结果在概念上是稳固的给RNN-SSM联系提供了实际的简介,它们同样有缺陷。

  • 目前的SSSM例如S4处理 Δ \Delta Δ相比于门控RNN有一些严格:T-SSM定义连续 Δ \Delta Δ是一个数据独立的参数对于每个时间步来说是常数,而RNN的门通常是输入 u u u的函数在时间步间是变化的(注意这并不是一个基础限制,可以直接在循环模式中定义时变SSSM其 Δ \Delta Δ参数是数据的函数)
  • 线性和非线性RNN的Picard和Koopman联系更加概念化,例如,应用在无限深度或宽度的限制条件下,具体的定量或者非渐进的动态分析需要更多的研究。

然而,我们强调,这些概念上的联系得到了实质性的支持,经验证据表明,深度新型SSM/RNN的性能优于经典RNN。除了本文S4发展的强经验性结果,我们注意到最流行和有效的RNN变体也朝着类似的方向发展。这些RNN例如LSTM、GRU、QRNN和SRU包含一个隐藏状态 x t ∈ R H x_t\in \mathcal{R}^H xtRH,包含独立门控 H H H个通道。因此,根据Lemma2.16,他们实际上也近似于Lemma2.17中形式的ODE。总的来说,SSM和这些流行的RNN模型都可以被看作近似于相同类型的潜在连续动力学,通过使用深度方向上的非线性近似和离散化(gates)和早时间方向上的离散化(gates)

附录B.1对这些结果有更多准确的描述和证明。

2.4.3 SSM作为卷积

如2.4.2部分所说,一个相似的问题可以被提出,关于SSSM的表达能力和传统CNN的比较。对于一个同时是循环和卷积的模型,人们可能会期望它会以其它方式受限制。特别是,卷积表达是通过展开一个特定的LTI递归,这表明,只有卷积中受限制的一类可以表达为一个SSM,然而经典的结果表明几乎所有的卷积实际上都可以表达为一个SSM。

卷积作为LTI-SSM

任何(连续,时不变)SSM可以被写成系统 K K K的脉冲响应的卷积:
S S M ( A , B , C ) ( u ) = K ∗ u w h e r e   K ( t ) = C e t A B SSM(\textbf A,\textbf B, \textbf C)(u) = K \ast u \\where\ K(t) = \textbf Ce^{t\textbf A}\textbf B SSM(A,B,C)(u)=Kuwhere K(t)