近端策略最佳化 是什麼?
Proximal Policy Optimization:近端策略最佳化 的完整解釋
改進的策略梯度演算法,透過信賴域約束防止策略過大更新,提高訓練穩定性。
核心概念
PPO的核心創新是在目標函數中引入截斷(clipping)機制。定義重要性採樣比例r_t(θ) = π_θ(a_t|s_t) / π_old(a_t|s_t),表示新策略與舊策略對某行為的相對概率。若r_t > 1,新策略傾向選擇此行為;若r_t < 1,則相反。
PPO目標函數定義為:L^CLIP(θ) = E[min(r_t(θ)A_t, clip(r_t(θ), 1-ε, 1+ε)A_t)]。clip函數將r_t限制在[1-ε, 1+ε]範圍。當優勢A_t > 0時(好行為),目標鼓勵提高π_θ(a_t|s_t),但不超過1+ε倍;當A_t < 0時(壞行為),則鼓勵降低,但不低於1-ε倍。
這個設計巧妙防止了過度更新。未加截斷時,單次更新可導致策略比例激增,使用截斷後,即使數據給出更新信號也受限。這保護策略在數據不一致或樣本少時的穩定性。ε常取0.1或0.2,是超參數。
運作原理
PPO的訓練流程包括兩個階段。第一階段收集經驗:使用當前策略π_old與環境互動收集軌跡。第二階段更新策略:用收集的批次數據進行多次梯度更新。與在線學習的策略梯度不同,PPO每次使用固定批次數據多次更新,提高樣本效率。
更新時通常也包含價值函數損失。評論者損失為L^VF(φ) = (V_φ(s_t) - V_target)²,其中V_target是折扣回報或廣義優勢估計GAE的目標。總損失為L = L^CLIP - c1·L^VF + c2·S[π],其中S[π]是策略熵正則項,防止策略過度確定性。
單步更新的梯度計算:∇L^CLIP = E[∇min(...)·A_t]。關鍵是min()函數的梯度。當clip約束未觸發時,梯度等同原始策略梯度;當觸發時梯度為零。這使得更新自動停止當比例超過邊界。
廣義優勢估計GAE是實踐中重要的改進:A_t = Σ_{l=0}^∞(γλ)^l δ_{t+l},其中δ_t = r_t + γV(s_{t+1}) - V(s_t)。GAE用參數λ權衡多步回報,λ=0時回到一步TD,λ=1時為蒙地卡羅。通常取λ=0.95。
實際應用
OpenAI的ChatGPT使用PPO作為RLHF(人工反饋強化學習)的核心算法。系統先用有監督學習訓練基礎模型,再用PPO根據人工評分微調,使模型產出更符合人類偏好的回答。這使LLM能與人類價值對齐。
機器人學習廣泛應用PPO。從簡單導航到複雜操作,PPO都展現出色性能。例如四足機器人學習行走、爬樓梯、跳躍等動作,PPO訓練速度快,策略穩定,易於部署到真實機器人。
Dota 2和其他複雜遊戲的AI訓練使用PPO。OpenAI Five(Dota 2 AI)和其他遊戲AI系統均基於PPO架構。其獨特優勢是能有效利用大量並行環境,擴展到數千個並行線程而訓練仍穩定。
自動駕駛模擬器訓練中,PPO用於教導車輛智能體安全駕駛。系統通過虛擬環境大量訓練,PPO確保行為逐步改進,避免危險行為突發。
推薦系統中,PPO優化內容推薦策略。系統根據使用者點擊和停留時間反饋,逐步改進推薦算法,但受PPO約束防止推薦內容出現劇烈變化。
常見誤區
許多人認為PPO的截斷機制使其不如TRPO有理論保障。實際上PPO雖然沒有TRPO的單調改進性證明,但實踐中性能往往更佳,且訓練穩定性足以應對大多數問題。理論與實踐的差異是常見的。
另一誤區是批次大小不重要。PPO對批次大小敏感,批次太小導致梯度估計高方差,太大則計算效率低。通常需要256到2048之間。在研究時必須適當調整以得到穩定結果。
有人認為PPO必須更新多次才有效。實際上更新次數是另一超參數,取決於數據質量。好的數據(來自高性能策略)可能一次更新足夠,差的數據(來自隨機策略)則需多次。通常3-10次較為常見。
與相關技術的比較
- 與TRPO的比較:TRPO用複雜的二階優化實現信賴域約束,PPO用簡單截斷。PPO計算效率高得多,易於實現和調試。TRPO有單調改進保障,PPO無,但實踐中PPO經常表現更佳。PPO已在工業應用中廣泛取代TRPO。
- 與A3C的比較:A3C用異步並行訓練多個行動者,PPO則用單個行動者批量訓練。PPO對並行化要求低,易於在單機多GPU上實現。A3C通常用CPU並行,A3C優勢是減少計算延遲,PPO優勢是資料利用率更高。
- 與DQN的比較:DQN離線更新價值函數,PPO同步更新策略。DQN支持長期離策略訓練,PPO則短期同策略。DQN更適合記憶體限制下重複利用舊數據,PPO適合樣本充足的場景。
- 與策略梯度的比較:PPO是策略梯度的改進,加入截斷和批量訓練。相比基礎策略梯度,PPO訓練穩定,超參數對結果影響小,適應性強。是現代實踐中通常的策略梯度變種。