跳转到内容

模型误差、利用与不确定性

优化器会利用模型的错误(model exploitation)找到现实中不存在的高回报。本章讨论不确定性估计(集成、贝叶斯)、悲观规划、以及在离线设定下模型方法的保守化(MOPO、MOReL)。

模型利用:优化器找到不存在的奖励

Section titled “模型利用:优化器找到不存在的奖励”

学到的模型必有误差。麻烦在于:策略优化会主动利用这些误差。如果模型在某个区域错误地预测了高回报,actor-critic 或规划器会精确地找到那个区域——因为那是模型认为最好的地方。这叫模型利用(model exploitation),是 Goodhart 定律在 RL 里的形式:被优化的模型不再是好度量。

关键事实:模型误差随 rollout 长度复合增长。每一步的预测误差进入下一步的状态,再被下一步的误差放大——一步误差 1%1\% 的模型,HH 步 rollout 的误差可以指数级超过它。这意味着:

  • 短 rollout 是通用防御(→ Dyna 与模型预测控制中 MBPO 的设计原则);
  • 长视野想象(如 Dreamer 的 15 步想象)需要模型本身极准或训练过程对误差稳健。

不确定性估计:知道模型不知道什么

Section titled “不确定性估计:知道模型不知道什么”

防御的第二条腿是让策略知道模型不知道什么:

  • 概率模型:模型输出分布而非点估计(高斯、离散分布),随机性反映噪声——但概率模型的随机性不等于模型误差(见过很多次的数据也可能有噪声);
  • 集成模型(ensemble):训练 MM 个独立初始化的模型,模型间分歧(预测的方差)作为认知不确定性(epistemic uncertainty)的度量——没见过的数据上分歧大。这是最实用且最常用的手段(PETS、MBPO、Ensemble-DQN 皆如此);
  • 贝叶斯方法:维护参数的后验,原则性但计算昂贵,实践中常以集成为近似。

有了不确定性度量,两种用法:

  • 悲观规划:把不确定性作为惩罚加进规划目标,rpenalty=r^−λ u(s,a)r_{\text{penalty}} = \hat{r} - \lambda\, u(s, a)——不确定的区域被自动视为"可能有坏处",策略不去碰模型不靠谱的地方;
  • 乐观探索:反过来,不确定的区域被视为"可能有好处"(UCB 的哲学),用于在线探索。

离线 RL + 世界模型是误差问题的最坏情形(→ 第七卷):

  • 模型只在数据集覆盖的区域上可靠,数据集外(OOD)的预测是外推,误差没有界;
  • 策略优化又会把 OOD 区域的高回报误差精确利用。

MOPO (Yu et al., 2020) 与 MOReL (Kidambi et al., 2020) 是两条代表性保守化路线:

  • MOPO:模型输出不确定性 uu,在 rollout 奖励上减 λu\lambda u——悲观奖励让策略远离模型不可靠的区域;
  • MOReL:定义"不确定区域",模型误差有界的区域才允许规划,区域外直接截断 rollout(返回一个 pessimistic 下界)——最坏情况下的性能保证。

两者的共同哲学:悲观换来安全——宁可少学一点,不要学到错误的东西。与价值方法的保守化(CQL,→ 分布偏移与保守估计:CQL、IQL)互为镜像:CQL 悲观的是价值,MOPO/MOReL 悲观的是模型。

  • 模型误差随 rollout 长度复合增长
  • 用不确定性惩罚奖励是通用手段
  • 离线 + 模型 = 双重分布偏移