The State Space Model (SSM) - 1
Published:
为了给Mamba的介绍做铺垫。过年期间没办法静下心学知识点,只能刷题。今天查漏一个点——状态空间模型(SSM)。
Day6: The State Space Model (SSM)-上
术语状态空间模型具有非常广泛的含义,它简单地表示任何具有潜在状态的循环过程的概念。
1. 什么是状态空间
假如我们在走迷宫,那么状态空间(state space)就是我们在地图中所有可能的状态(states), 包含{ 我们正在哪里?下一步可以往哪个方向走走?下一步我们可能在哪里?}
描述状态的变量,在我们的例子中是X和Y坐标,以及到出口的距离,可以表示为“状态向量”。
例如,当前的状态向量如下:
2. 定义
状态空间包含完整描述系统的最小变量数,这些变量称为状态向量。状态空间模型(State Space Model, SSM)是用于描述这些状态向量的模型,并根据额外的输入预测它们的下一个状态。
SSM作为一种描述动态系统行为的数学模型,它使用一组一阶微分方程(连续时间系统)或差分方程(离散时间系统)来表示系统内部状态的演化,这组方程被称为状态方程;同时用另一组方程来描述系统状态和输出之间的关系,这组方程被称为观测方程(也称为输出方程)。
在时刻t
, SSM为:
映射输入序列
x(t)
——(例如,在迷宫中向左和向下移动)到隐藏状态表示
h(t)
——(一个中间隐藏态,例如,到出口的距离和坐标(x,y))并推导出预测的输出序列
y(t)
——(例如,再次向左移动以更快地到达出口)
3. 连续形式的SSM
(1)状态方程
$h’(t) = Ah(t)+Bx(t)+w(t)$
$h(x)$是系统状态变量,包含所有必要的变量来描述系统在任意时刻的状况,是一个
n
维向量。$h’(x)$是$h(x)$关于时间的微分,表示系统状态的变化率。
A
是系统矩阵,描述了系统状态之间的关系,以及它们如何随时间自然演化(无控制输入时),是一个$n \times n$矩阵。B
是控制输入向量,表示外部输入或控制信号的影响,是一个m
维向量,并且m ≤ n。$x(t)$是输入矩阵,描述了控制输入如何影响系统状态,是一个$n \times m$矩阵。
$\omega(t)$是过程噪声,它代表系统内部的不确定性,一般假设为高斯噪声
(2)观测方程
$y(t) = Ch(t)+Dx(t)+e(t)$
$y(t)$是输出向量或者观测向量,包含所有的测量或观测到的变量,是一个
p
维向量,并且 p ≤ n 矩阵。C
是输出矩阵,描述了系统状态如何影响输出,是一个$p \times n$矩阵。D
是直达传递矩阵(在很多实际系统中,这个矩阵通常是零或者不显著),表示控制输入直接对输出的影响,是一个$n \times m$矩阵。$e ( t ) $是测量噪声,它代表了测量过程中的不确定性或误差,一般假设为高斯噪声。
(3)逐步推导
step1. 假设我们有一些输入信号x(t)
,这个信号首先乘以矩阵B,矩阵B描述了输入如何影响系统。
step2.矩阵A和当前状态相乘。矩阵A描述了内部状态之间是如何连接的。
step3.矩阵C和新的状态相乘。矩阵C描述了状态是如何转化到输出的。
step4.最后,我们可以利用矩阵D提供一个从输入到输出的直接信号。这通常也称为跳跃连接(skip-connection
)。
SSM通常被认为是不包含跳跃连接的部分。在很多实际系统中,这个D
矩阵通常是零或者不显著因此SSM可视化为:
因此,A、B、C是SSM的核心。由于预期输入是连续的,所以SSM的主要表示是连续时间表示(continuous-time representation)。
随着演变,SSM也开始通过一些数学方法,利用到处理离散数据中。