基於模型的強化學習

蒙地卡羅樹搜尋(Monte Carlo tree search,MCTS)

蒙地卡羅樹搜尋(Monte Carlo tree search,MCTS)是有紀律地進行的決策時規劃。面對一個局面,它長出一棵可能未來之樹,但不去展開每一條分支——在圍棋這類遊戲裡那是徒勞——而是把有限的模擬花在最重要之處,反覆深入最有希望的路線,同時偶爾也去查看被冷落的選項。經過許多次模擬後,它推薦看起來最好的動作。

每次模擬有四個階段:選擇,依一條在「利用高價值走法」與「探索少嘗試走法」之間取得平衡的規則沿樹往下走(常用 UCT/PUCT 分數);擴展,在邊界加入一個新節點;評估,估計該節點的價值,傳統上用一次隨機展開、在現代系統裡則用一個習得的價值網路;以及回溯,把結果沿走過的路徑往上傳播,使統計更準。預算用盡後造訪次數最多的動作會被選中。

MCTS 是 AlphaGo、AlphaZero 與 MuZero 背後的搜尋引擎,由神經網路指引該探索哪些分支、如何替葉節點估值,把學習與前瞻熔於一爐。它在「有模型(給定或習得)可供模擬」時大放異彩,而它的隨時可用特性意味著:想得越久,棋就下得越好。

a^* = \arg\max_a \left[ Q(s,a) + c\, P(s,a)\,\frac{\sqrt{\sum_b N(s,b)}}{1+N(s,a)} \right]

AlphaZero 式 MCTS 採用的 PUCT 選擇規則,在價值 Q 與由先驗和造訪次數驅動的探索獎勵之間權衡。

又称
MCTS