JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

當模型說謊:偏差與不確定性

想像出的經驗好不好,全看模型——本文談複合誤差如何咬人,以及集成模型如何反擊。

核心危機:複合誤差

學到的模型永遠不會完全精確。單一步的誤差也許微不足道,但展開(rollouts)會把每一次的預測當成下一次的輸入餵回去。微小的錯誤一步步被反覆消化,直到想像的軌跡漂進真實世界根本不會出現的狀態。這個滾雪球效應稱為模型偏差與複合誤差(model bias and compounding error),也是天真的基於模型智能體失敗的最大單一原因。

在基于模型的强化学习中,学习到的模型代替了真实环境,每一步的预测都作为下一步的输入反馈回来——误差也就沿着这个回路不断累积。

一个智能体作用于环境并接收下一状态与奖励反馈的回路示意图。

第一道防線:讓展開保持簡短

最簡單也最可靠的修法,是限制你想像得多遠。從許多真實狀態分支出去的短展開(rollouts),能給策略大量便宜的練習,同時又不會走遠到讓誤差爆炸。這正是MPC每一步都重新規劃的原因,也是現代 Dyna 風格方法常常只想像寥寥幾步、就重新以真實資料落地的原因。

誠實的模型:把不確定性也預測出來

一個只輸出單一自信猜測的模型,會藏起自己的無知。機率式動態模型(probabilistic dynamics model)則改為預測下一狀態的分布——通常是一個平均值與一個變異數——這樣它就能說「下一狀態大概在這裡,但我不確定」。這份誠實很重要:在模型不確定的地方,規劃器可以收斂保守;在它有把握的地方,則可以大膽想像。

p_\theta(s_{t+1}\mid s_t,a_t)=\mathcal{N}\!\left(\mu_\theta(s_t,a_t),\ \Sigma_\theta(s_t,a_t)\right)

概率动力学模型对下一个状态预测出一个高斯分布——既给出均值,也给出表达自身不确定性的方差。

把兩種疑慮分開會有幫助。偶然(aleatoric)不確定性是世界本身真正的隨機性;知識(epistemic)不確定性則是模型缺乏資料造成的,更多經驗就能治癒。好的基於模型智能體會同時用知識不確定性來謹慎規劃,並決定接下來該探索什麼。

集成出手相救:PETS

你要如何便宜地量測知識不確定性?在同一份資料上訓練好幾個模型,看它們在哪裡意見分歧。這就是 PETS——具軌跡取樣的機率集成(probabilistic ensembles with trajectory sampling)背後的想法。它結合兩種要素:一群機率網路的集成(ensemble)(分歧揭露知識上的疑慮),以及軌跡取樣(trajectory sampling)(每條想像展開都透過隨機選中的某個集成成員往前推進,於是計畫自動尊重各方意見的離散程度)。

认知不确定性本质上是一种随着数据增多而收缩的贝叶斯疑虑——而 PETS 集成中各模型的分歧正是这种后验离散程度的廉价替身。

一个交互式示意图:随着证据加入,先验分布逐渐收窄为更集中的后验分布。

與 MPC 搭配時,PETS 只用極少的真實資料就達到強勁的控制表現——當不確定性被慎重對待時,這正是基於模型樣本效率(sample efficiency)的生動展示。

把幾道防線組裝起來

  1. 訓練一群機率模型的集成,讓分歧標示出模型無知的地方。
  2. 短時域規劃,讓複合誤差沒有空間滾成雪球。
  3. 讓展開跨集成成員取樣,使單一模型的樂觀幻想被平均掉。
  4. 勤於重新規劃與再擬合,把新鮮的真實資料正好餵到模型最不確定的地方。