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

最優性與改進:邁向最優策略

貪婪改進絕不會讓策略變差——把它和評估串成迴圈,你就能抵達最優策略。這是每個強化學習方法的骨架。

「最優」是什麼意思

我們終於能精確地說出強化學習到底想找到什麼。一個策略是最優的(optimal),當沒有任何別的策略能從任何狀態取得更高的期望回報。值得注意的是,在有限的馬可夫決策過程(MDP)中,這樣的策略必定存在,而且有唯一的最優價值函數(optimal value function)V*(與 Q*)為所有最優策略所共享。最優策略(optimal policy)便容易讀出:在每個狀態,採取使 Q* 最大的動作——也就是相對於最優價值的貪婪選擇。

V^*(s) = \max_{a}\sum_{s',r} p(s',r \mid s,a)\bigl[r + \gamma\, V^*(s')\bigr]

貝爾曼最佳方程定義了 V*:求解 MDP 就是找到這個值,最佳策略隨之自然得出。

貪婪改進:依價值函數行動

假設你手上有某個當前策略 π 的價值函數——不是最優的,就只是你現在擁有的。關鍵的一步在此:建立一個新策略,相對於 Q_π 貪婪地行動,依你當前的估計挑選最好的動作。直覺上,你是在說「就這一步,做我目前知識所建議的最好的事,然後照舊繼續」。這個新的貪婪策略,就是改進的原料。

\pi'(s) = \operatorname*{arg\,max}_{a} Q_\pi(s,a) = \operatorname*{arg\,max}_{a}\sum_{s',r} p(s',r \mid s,a)\bigl[r + \gamma\, V_\pi(s')\bigr]

貪婪行動:改進後的策略在每個狀態都選擇 Q_π 值最高的動作。

策略改進定理

貪婪地行動真的有幫助,還是可能適得其反?策略改進定理(policy improvement theorem)給出了保證:相對於 V_π 的貪婪策略絕不會比 π 差,而且除非 π 本來就已是最優,否則嚴格更好。這是強化學習的理論基石——它擔保「先評估、再貪婪行動」是一座只升不降的階梯。優勢讓道理變得鮮明:貪婪改進挑的是優勢為正的動作,而那依定義就勝過策略當前的基線。

廣義策略迭代

把這兩塊放進一個迴圈,你就得到強化學習的主旋律。評估當前策略以取得其價值,接著對那個價值貪婪行動來改進策略;反覆進行。這支雙人舞——價值追著策略、策略追著價值——就是廣義策略迭代(generalized policy iteration,GPI),而幾乎每個演算法都是它的一個特例。

  1. 從任意策略 π 出發。
  2. 評估:對當前的 π 計算(或估計)V_π / Q_π。
  3. 改進:把 π 設成相對於那些價值貪婪的策略。
  4. 重複。評估與改進拉向同一個不動點——最優策略。
觀看廣義策略迭代的運行:在網格世界中,評估與改進不斷循環,直到策略攀升至最佳。

互動式網格世界,反覆的評估與貪婪改進步驟收斂到最佳策略。

各演算法如何實現 GPI

各種變體的差別,只在於改進前把評估做到多徹底策略迭代(policy iteration)完整評估後才改進。價值迭代(value iteration)在兩次改進之間只做一次貝爾曼最優掃描——把兩步壓成一步。動態規劃(dynamic programming)在已知模型時這麼做;蒙地卡羅時間差分法在模型未知時,改從抽樣得到的經驗來做;而策略梯度法則做「柔性」版本,一次一點地把策略推向高優勢的動作。

看見這個樣式,正是整個這條學習軌跡的報酬。回報定義目標、價值函數衡量進展、貝爾曼方程式讓價值可計算,而 GPI 則把衡量轉化為一個穩定改進的策略。你日後遇見的每一個演算法——從 DQNPPO——都是運行這同一個迴圈的某種特定方式。

回顧