基础知识:动态系统、控制与状态空间

基础知识:动态系统、控制与状态空间

Charles Lv8

状态空间、动力学、稳定性、控制、规划和 MPC 描述系统如何随时间变化,以及动作如何把系统推向目标。世界模型与具身智能文章借这套语言连接状态预测、动作选择、安全约束和闭环反馈。

状态:描述系统当前足够信息的变量

状态可以写成 sts_t。它可能包含机器人位姿、关节角、速度、相机观测、任务进度,也可能是模型学出来的 latent。

一个离散时间系统常写成:

st+1=f(st,at)s_{t+1}=f(s_t,a_t)

如果有随机性:

st+1P(st,at)s_{t+1}\sim P(\cdot\mid s_t,a_t)

世界模型里的核心问题就是学习这个转移:给定当前状态和动作,未来会怎样。

第一行是确定性版本:当前状态 sts_t 和动作 ata_t 通过函数 ff 直接给出下一状态。第二行是随机版本:下一状态从条件分布 P(st,at)P(\cdot\mid s_t,a_t) 里采样,不是固定点。机器人抓取里,同一个动作可能因为摩擦、遮挡或物体姿态不同产生不同结果,所以随机版本更贴近现实。

后面看世界模型时,如果写成 pθ(zt+1zt,at)p_\theta(z_{t+1}\mid z_t,a_t),就是把真实状态 sts_t 换成模型 latent ztz_t,把真实转移 PP 换成神经网络参数化的转移模型。

状态空间:把所有可能状态放在一起

状态空间 S\mathcal{S} 是所有状态的集合。对机器人来说,它可能非常大:位置、姿态、速度、物体状态、接触关系、环境布局都可能进入状态。

如果状态选得太少,系统不满足马尔可夫性;如果状态太大,学习和控制会很难。所以很多模型用 latent state 压缩状态,但这会带来一个关键问题:压缩后的状态是否还保留控制需要的信息。

向量场:每个位置都有一个运动方向

连续时间系统写成:

x˙=f(x)\dot{x}=f(x)

这里 x˙\dot{x} 是状态变化率。可以把 f(x)f(x) 想成向量场:状态空间里每个点都有一个箭头,告诉你下一瞬间往哪走。

x˙\dot{x}dxdt\frac{dx}{dt} 的简写,表示状态随时间变化的速度,不是一个新变量。如果 f(x)f(x) 在某个区域指向目标,轨迹会往目标靠近;如果 f(x)f(x) 指向外侧,轨迹可能发散。

Vector field

图源:Wikimedia Commons: Vector field。原图展示平面中每个点对应的向量方向。这里的重点是:动态系统和 flow 类生成模型都可以先看成“沿一个方向场移动”的问题。

扩散模型里的 score field、Rectified Flow 的 velocity field、机器人控制里的动力学模型,都可以借用这个直觉。

稳定性:小扰动会不会被放大

一个系统稳定,意思是小扰动不会让轨迹跑飞。训练里的梯度爆炸、机器人控制里的振荡、世界模型 rollout 里的误差累积,都可以看成稳定性问题。

如果状态更新反复乘上一个矩阵:

xt+1=Axtx_{t+1}=Ax_t

那么 AA 的特征值会影响系统是否发散。虽然实际模型更复杂,但这个线性系统直觉非常重要:某些方向被反复放大,误差就会越来越大。

如果 AA 在某个方向上相当于每步乘以 1.2,这个方向的误差会越滚越大;如果每步乘以 0.8,误差会逐渐衰减。RNN 的梯度爆炸/消失、世界模型 rollout 的 drift、控制系统振荡,都可以先用这个“反复放大或衰减”的直觉理解。

控制:选择动作让系统走向目标

控制问题可以写成:

mina0:T1t=0T1c(st,at)+cT(sT)\min_{a_{0:T-1}} \sum_{t=0}^{T-1} c(s_t,a_t) + c_T(s_T)

其中 cc 是每一步代价,cTc_T 是终点代价。控制关心一段动作序列会把系统带到哪里,不只看下一步动作是否合理。

这里 a0:T1a_{0:T-1} 是一整段候选动作,c(st,at)c(s_t,a_t) 可以同时包含离目标多远、是否碰撞、能耗多高和是否违反安全约束。不同代价项的权重会直接改变控制器的行为:只惩罚距离可能撞障碍,只惩罚能耗又可能停在原地。

MPC:规划一段,只执行第一步

Model Predictive Control 在每个时刻 tt 解一个有限 horizon 问题:

minat:t+H1k=0H1c(st+k,at+k)+cT(st+H)\min_{a_{t:t+H-1}} \sum_{k=0}^{H-1} c(s_{t+k},a_{t+k}) + c_T(s_{t+H})

同时满足模型约束:

st+k+1=f(st+k,at+k)s_{t+k+1} = f(s_{t+k},a_{t+k})

它的闭环步骤是:

  1. 从当前观测或 belief state sts_t 出发。
  2. 提出多条长度为 HH 的候选动作序列。
  3. 用动力学模型 rollout 每条候选的未来状态。
  4. 累加任务、碰撞、能耗和终点代价,选出最低代价序列。
  5. 只执行第一步 ata_t,获得新观测后从头再算。

这就是为什么世界模型如果要服务控制,必须能对不同动作产生不同未来,而不只是生成自然视频。

一个一维小例子:状态 ss 表示离目标 0 的有符号距离,动力学是:

sk+1=sk+aks_{k+1}=s_k+a_k

初始 s0=2s_0=2,动作只能取 1-1+1+1,horizon 为 2。代价定义为:

J=s12+s22+0.1(a02+a12)J = s_1^2+s_2^2 + 0.1(a_0^2+a_1^2)

四条候选的代价是:

候选动作 预测状态 代价
(1,1)(-1,-1) 2102\to1\to0 1.2
(1,+1)(-1,+1) 2122\to1\to2 5.2
(+1,1)(+1,-1) 2322\to3\to2 13.2
(+1,+1)(+1,+1) 2342\to3\to4 25.2

MPC 选择 (1,1)(-1,-1),但只执行第一个 1-1。如果传感器发现真实新状态是 1.21.2 而不是模型预测的 1,下一轮就从 1.21.2 重新规划。这一步“只执行第一步,再刷新观测”是 MPC 抵抗模型误差的关键。

CEM:没有可用梯度时,用 elite 候选更新搜索分布

连续动作空间不可能把所有动作序列逐一枚举。Cross-Entropy Method 常被 PlaNet 一类 latent planner 用作 MPC 内部的候选优化器。

先在动作序列空间维护一个分布,例如:

at:t+H1(i)N(μr,diag(σr2)),i=1,,Na_{t:t+H-1}^{(i)} \sim \mathcal N \left( \mu_r, \operatorname{diag}(\sigma_r^2) \right), \qquad i=1,\ldots,N

rr 轮迭代做四件事:

  1. 从当前分布采样 NN 条动作序列。
  2. 用世界模型 rollout,并计算每条序列的总代价 J(i)J^{(i)}
  3. 保留代价最低的 elite set Er\mathcal E_r
  4. 用 elite 的均值和方差更新下一轮搜索分布:

μr+1=1EriEra(i)\mu_{r+1} = \frac{1}{|\mathcal E_r|} \sum_{i\in\mathcal E_r} a^{(i)}

σr+12=1EriEr(a(i)μr+1)2\sigma_{r+1}^2 = \frac{1}{|\mathcal E_r|} \sum_{i\in\mathcal E_r} \left( a^{(i)}-\mu_{r+1} \right)^2

重复几轮后,采样分布会集中到低代价区域。最后取最优序列或分布均值作为 MPC 计划,再只执行第一步。

CEM 的优势是不用对 simulator 或 world model 求动作梯度,非光滑碰撞代价也能进入评分。代价是需要大量 candidate rollout,而且结果依赖样本数、elite 比例、迭代轮数和初始方差。模型推理慢时,CEM 搜索预算会直接变成控制延迟。

这里的 Cross-Entropy Method 是一种采样优化算法,不是分类训练里的 cross-entropy loss。后面读 PlaNetRSSM、Dreamer 与规划和 V-JEPA 2-AC 时,先问 CEM 在哪里采样、由谁评分、horizon 多长,以及 planner 是否真的闭环执行。

可控性与可观测性

可控性问:通过动作,能不能把系统从当前状态推到目标状态。

可观测性问:通过传感器观测,能不能推断系统真实状态。

在具身智能里,这两个问题非常现实:相机可能看不到遮挡物,动作接口可能太粗,语言指令可能不包含精确控制目标。VLA 输出动作 token 前,底层系统仍然要处理状态估计、控制约束和安全边界。

常见误读

误读 更稳的理解
世界模型就是视频生成 可控制的世界模型必须对动作敏感
动作预测准确就能执行 执行还要满足动力学、安全和反馈控制
状态越压缩越好 压缩必须保留决策变量
open-loop rollout 好就能闭环 闭环会放大误差,也会遇到分布外状态
MPC 会把整条最优序列一次执行完 它通常只执行第一步,然后用新观测重新规划
CEM 就是 cross-entropy classification loss 这里的 CEM 是用 elite 样本更新候选分布的无梯度优化方法

读完以后怎么判断

看到状态、动作、动力学或控制,先问:状态是否足够,动作怎样进入转移,目标函数是什么,候选由梯度还是采样优化,系统是否稳定,闭环反馈在哪里。这个框架会支撑世界模型、VLA、机器人数据和安全部署文章。

  • Title: 基础知识:动态系统、控制与状态空间
  • Author: Charles
  • Created at : 2026-06-04 09:00:00
  • Updated at : 2026-06-04 09:00:00
  • Link: https://charles2530.github.io/2026/06/04/ai-files-prerequisite-math-dynamic-systems-and-control/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments