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

在重要處規劃:價值等價模型與 MuZero

前沿想法:別對整個世界建模——只建到足以正確規劃的程度,再像冠軍一樣搜尋。

預測一切的麻煩

到目前為止的每個模型,都試圖重現環境——盡可能忠實地預測下一狀態或下一觀測。但忠實重建其實是錯的目標:一個模型可以很擅長預測無關緊要的細節,卻對選擇動作毫無用處;也可以對外觀馬虎,卻完美地適合規劃。我們真正需要的,是一個能讓我們算出正確價值決策的模型,僅此而已。

價值等價模型

價值等價模型(value-equivalent model)翻轉了目標。我們不再要求模型準確預測下一狀態,而是要求它在用於規劃時,做出與真實環境相同的未來價值與獎勵預測。模型的內部狀態完全不必像真實世界;它們只需支撐正確的貝爾曼(Bellman)式回溯即可。這讓模型得以忽略一切不影響答案的東西——對重建法浪費容量的問題,是一帖有力的解藥。

V^{\pi}(s) = \mathbb{E}\!\left[\, r_{t+1} + \gamma\, V^{\pi}(s_{t+1}) \;\middle|\; s_t = s \right]

价值等价模型只需做对这一点:贝尔曼方程所定义的未来价值,而不是精确的下一个状态。

MuZero:用價值等價模型來規劃

MuZero 是建立在這個原則上的里程碑系統。它一起學三個網路——一個把觀測映成抽象潛在狀態的表徵(representation)函數、一個預測下一潛在狀態與獎勵的動態(dynamics)函數,以及一個從潛在狀態輸出策略與價值的預測(prediction)函數。三者都不為了重建觀測而訓練;它們只為了「透過它們做規劃時能重現正確的策略、價值與獎勵」而訓練。同一套演算法在從未被告知規則的情況下,精通了圍棋、西洋棋、將棋以及 Atari。

s^{0}=h_\theta(o_{\le t}),\quad (s^{k+1},\hat{r}^{k+1})=g_\theta(s^{k},a^{k}),\quad (\boldsymbol{p}^{k},v^{k})=f_\theta(s^{k})

MuZero 的三个学习网络:表示函数 h 把观测编码为潜在状态,动力学函数 g 预测下一个潜在状态与奖励,预测函数 f 输出策略与价值。

用 MCTS 做決策時搜尋

MuZero 在決策時規劃,方法是在它學到的潛在模型內部執行蒙地卡羅樹搜尋。這個搜尋建出一棵想像潛在未來的樹,其結果身兼兩職:選出此刻要走的一手,而它發現的改進策略又成為訓練目標,讓網路變得更好——這個自我精進的循環讓人想起 AlphaZero,但這裡沒有現成的模擬器。

蒙特卡洛树搜索的运行过程:MuZero 正是在其学习到的潜在模型内部运行这种搜索。

交互式蒙特卡洛树搜索:扩展节点、选择有希望的分支并回传价值。

  1. 編碼:用表徵網路把當前觀測編成一個潛在根狀態。
  2. 搜尋:用 MCTS 向前展開,僅以動態與預測網路擴張這棵樹。
  3. 行動:在根節點走訪問次數最多的動作,然後從下一個觀測重新搜尋。
  4. 訓練:訓練網路,讓它們的預測對齊搜尋得到的改進策略、觀測到的獎勵,以及自舉得到的價值。

前沿,以及你已經學到的東西

價值等價規劃是基於模型強化學習最活躍的前沿之一:後續工作把 MuZero 推向極致的樣本效率、離線資料與連續控制。整個這條學習軌的主軸其實很簡單——模型是用來向前思考的工具,而最好的模型,是那個讓你的規劃正確的模型,而不是把世界畫得最漂亮的那個。