如果试错很贵,能不能先学一个环境模型,在模型里试动作?可以。但如果模型把某条危险路线误判成捷径,规划器(planner)反而可能更愿意选它。预测误差一旦影响选择,平均预测得准就不够了。

先分清 3 个对象

动力学模型(dynamics model)预测执行动作后会发生什么;规划器搜索一串动作。

策略(policy)则直接根据状态选择动作。可以只用模型和规划器,不必另训策略。用已知物理方程规划,也不等于从交互中学会了一个模型或策略。

一个简单模型拟合状态变化,而不是整个下一状态:

$$ \hat s_{t+1}=s_t+f_\psi(s_t,a_t),\qquad L_{\rm model}=\mathbb E_{\mathcal D}\|f_\psi(s,a)-(s'-s)\|^2. $$

这是方便的建模选择,不是定理。随机环境要考虑预测分布;像素观测(observation)还可能需要 latent state,而不是对所有像素均等做 MSE。预测下一帧和预测潜在状态各丢掉什么,见学什么样的模型;完全在潜在状态里想象和学习的做法,见 Dreamer。

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

模型预测控制(MPC)每次从当前真实状态出发,搜索长度 $H$ 的动作序列:

$$ a_{t:t+H-1}^*= \arg\max_{a_{t:t+H-1}} \sum_{k=0}^{H-1}\gamma^k\hat r(\hat s_{t+k},a_{t+k}) +\gamma^H\hat V(\hat s_{t+H}). $$

这里先按确定性模型写:$\hat s_t=s_t$,后续状态由模型和候选(candidate)动作序列推出;随机模型还需要对预测回报(return)取期望或采用明确的风险准则。没有可靠的末端价值估计时,可以省略尾项,但也就忽略了规划范围之外的回报。找到序列后只执行第一个动作,收到新观测再规划,而不是把最初的计划一口气走完。

真实状态 → 采样多条动作序列 → 模型滚动预测 → 给序列评分
       → 留下好序列并更新采样分布 → 执行第一个动作
       → 观察真实下一状态 → 重新规划

CEM(cross-entropy method)是常用的一种搜索方式:反复采样、挑 elite、拟合新的动作分布。它是优化器,不是保证全局最优的魔法。

先亲眼看一次:模型说到了,实际上还没到

把小车放在 $x=3$,目标是 0。真实环境为 $x_{t+1}=x_t+a_t$,模型却以为 $\hat x_{t+1}=\hat x_t+\hat b a_t$,动作只能是 -1、0、1。规划时最小化:

$$ \sum_{k=0}^{H-1}\left(\hat x_{t+k+1}^{\,2}+0.1a_{t+k}^2\right). $$

调模型增益,看预测偏差会怎样影响行动;调规划长度,看多往后想几步要花多少计算。这个小实验枚举全部 $3^H$ 条动作序列,不是 CEM 或神经网络,这样可以单独看模型误差和反馈的作用。

静态例子:H=5、模型增益=1.5。原计划以为两步就到,真实位置却停在 1;每步观察并重新规划能在这个例子里到达 0。真实累计 cost 分别为 8.2 和 5.3。

先试什么 应该观察什么 不能据此推出什么
把模型增益设成 1 在这个例子里,预测与执行重合 真实 world model 不需要校准(calibration)
改成 1.5 原计划过早停下,反馈触发继续前进 MPC 能修正所有类型的模型错误
改成 0.5 原计划走过头,重规划及时停下 所有控制问题都能安全回头
增大 H 枚举序列数按 $3^H$ 增加 更长 horizon 必然有更好的真实效果

两种方法都实际走 $H$ 步,但 MPC 每步又向前看 $H$ 步、重新搜索。它花了更多计算,不能把这张图当同计算预算 benchmark。这里也没有障碍、观测噪声或不可逆动作。

世界本来随机,还是模型还不懂?

不确定性 意思 一个直观例子 可以做什么
偶然不确定性(aleatoric uncertainty) 给定当前信息,结果仍有随机性 同样的动作受到随机阵风影响 预测分布,按风险而不只按均值规划
认知不确定性(epistemic uncertainty) 数据不足或模型知识不够 没见过这种路面,不知道刹车效果 补数据、比较多个模型、限制外推

“不可约”总是相对当前信息而言;加上风速传感器后,原来的一部分随机性可能变得可预测。Ensemble 的分歧只是模型不确定性的近似,不能当作可靠性的保证。

固定同一个状态和动作,只看下一状态的一个分量 $X'$。用全方差(variance)公式,就能把成员内部和成员之间的差异分开。令 $M$ 是 ensemble 成员索引:

$$ \operatorname{Var}(X')= \mathbb E_M[\operatorname{Var}(X'\mid M)] +\operatorname{Var}_M(\mathbb E[X'\mid M]). $$

两个等权模型的预测均值为 0、2,各自方差为 1,那么混合分布总方差为 $1+1=2$。第一项来自成员内部,第二项来自成员之间。这是混合分布的精确分解;把第二项解释成真实 epistemic uncertainty,还需要模型和校准假设。

误差为什么会越滚越大

先固定同一个初始状态和同一串动作,比较确定性真实系统 $f$ 与模型 $\hat f$。假设在轨迹(trajectory)经过的区域内,两者的一步误差一致不超过 $\epsilon$,且真实动力学 $f$ 对状态是 $L$-Lipschitz。记 $e_k=\|s_k-\hat s_k\|$,则:

$$ e_0=0,\qquad e_{k+1}\le Le_k+\epsilon,\qquad e_H\le\epsilon\sum_{j=0}^{H-1}L^j. $$

$L=1$ 时最多按 $H\epsilon$ 累积;$L>1$ 时可能放大得更快。若初始状态已有误差,右侧还要加 $L^H e_0$。这个界比较的是同一串动作下的状态误差,不是两个反馈策略的回报差;训练集上的平均 MSE 也不等于这里要求的一致误差上界。规划器还可能把模型带到训练中少见的区域,让这些前提不再成立。

例如模型低估了接近障碍物的碰撞风险,最优模型路线可能恰好贴着障碍走;平均一步 MSE 不一定暴露这类决策相关错误。

一步均方误差小,可能把两条路平均成墙

假设同一个输入下,下一位置等概率为 −1 和 +1。平方误差最优的点预测是均值 0,但真实系统一次也不会到 0。若 0 恰好代表不可通过的位置,用这个平均状态规划就会出问题。

可以预测分布,而不只是一个均值。例如高斯模型的负对数似然包含:

$$ \tfrac12\left[(s'-\mu)^2/\sigma^2+\log\sigma^2\right]+\text{constant}. $$

方差可以解释随机性,但 $\log\sigma^2$ 项会惩罚无限放大方差。单高斯仍可能表达不好两个分离的模式,需要根据任务考虑混合分布、潜在变量或其他模型。把网络换成 ensemble 也不自动解决每个成员都使用错误分布族的问题。

规划越努力,为什么可能越会钻模型漏洞?

设两条路线的预测收益为 3 和 10,真实收益却是 3 和 −5。规划器选第二条,并不是搜索不够认真;恰恰是把错误预测优化得很好。继续增加搜索预算,可能只是更稳定地找到同一个漏洞。

可做一个区分实验:固定模型,只增加搜索预算,同时比较模型预测收益与真实收益。若前者越来越高、后者下降,优先检查模型被利用的区域,而不是继续优化搜索器。再固定 planner,补这些区域的真实数据,看落差是否缩小。

短 rollout、模型分歧惩罚和约束可以降低部分风险,但各有代价:短视会漏掉远期收益,保守惩罚可能错过真实好路线,错误的约束模型也不能提供安全保证。它们应与无模型基线(baseline)、已知模型的 oracle 对照,而不是只比较模型自己的分数。

规划预算怎么取舍

选择 好处 风险
更长 horizon 能看到更晚的收益 误差累积、搜索变难
更多候选序列 搜索更充分 每次决策更慢
Ensemble / uncertainty penalty 能提示部分不可靠区域 模型可能一起犯错,非安全保证
短模型 rollout + 真数据 减少长期模型漂移 仍需控制合成数据占比和偏差

PETS 用概率模型与 ensemble 表达不确定性,并结合采样规划。MCTS 则在离散动作树中分配搜索预算;二者都需要一个可用于预测的模型,但搜索结构不同。这里不展开完整树搜索实现;规划和学习怎样互相喂手算了一棵两动作的小树。

复现时别只报 model loss

检查层次 固定什么 看什么
单步预测 留出的真实 transition 均值误差、概率校准,而不只总体 MSE
多步预测 初始状态和动作序列 误差怎样随 horizon 增长
决策相关误差 Planner 真正选出的动作 有没有专门利用模型不准的地方
闭环控制 真实环境与预算 Return、安全失败、延迟和交互次数

尽量按轨迹或时间段拆训练/测试,而不只是把相邻 transition 随机打散。否则测试集可能仍紧挨着训练轨迹,看不出真正的外推问题。

同时看真实环境回报、规划耗时、不同规划长度下的误差,以及训练数据未覆盖区域的失败率。和 model-free 方法比较时,交互预算与计算预算都要说明;“少采了数据”不等于“更快更便宜”。

参考:PETS。继续拆开看学什么样的模型和规划与 LQR,然后读实验与排错,或转到固定数据下的 RL。

本页术语 13
规划器 planner
利用模型比较未来动作序列,再选择当前要执行的动作
动力学模型 dynamics model
预测给定状态和动作后,下一状态或其分布会怎样变化
策略 policy
给定状态,规定怎样选动作;可以输出一个动作,也可以输出动作的概率分布
观测 observation
智能体实际收到的信息,可能只是环境完整状态的一部分
模型预测控制 model predictive control, MPC
反复规划一段未来,只执行第一步,再根据真实反馈重新规划
候选 candidate
召回阶段捞出来、等待精排挑选的内容
回报 return
从某一步开始,把后续奖励按约定累加;有折扣时还要乘上相应的折扣权重
校准 calibration
模型给出的置信度是否等于真实正确率
偶然不确定性 aleatoric uncertainty
在当前信息条件下,结果本身仍有的随机性;增加观测有时能减少它
认知不确定性 epistemic uncertainty
数据或模型知识不足造成的不确定性,可通过新证据减少,但估计并不自动可靠
方差 variance
估计量的波动幅度;重要性加权最容易在这里爆炸
轨迹 trajectory
与环境交互得到的一串状态、动作和奖励;采样时也可能只保存其中一段
基线 baseline
用来比较新方法的参考方法或配置