你在學投籃時,會不會想要有人每投一球就告訴你剛才好不好?
演員-評論家就是這種「邊做邊評」的強化學習方法。「演員」負責決定下一步要做什麼動作,「評論家」負責評估這個動作好不好。兩者互相合作:演員根據評論家的回饋調整策略,評論家根據演員的表現更新評估標準。
這比只看最終結果好壞的方法學得更快更穩定,因為每一步都有即時回饋。
就像先用生活中的例子抓住核心用途,再回頭看名詞和公式,理解會穩很多。
容易混淆
演員-評論家 vs 策略梯度 vs Q-Learning
演員-評論家:演員選動作,評論家評分,兩者配合學習。
策略梯度:只有演員,看最終結果好壞來調整策略,沒有即時評分。
Q-Learning:只有評論家,學每個狀態-動作的價值,選價值最高的動作。
最關鍵的區別:演員-評論家結合了兩者的優點,既能直接學策略(演員),又能用價值估計減少學習的不穩定性(評論家)。
記住這句就好
一個負責做決定,一個負責打分數,邊做邊學。
實際案例
AlphaGo 的訓練
DeepMind 的 AlphaGo 在訓練過程中使用了演員-評論家的變體。策略網路(演員)決定下哪一步棋,價值網路(評論家)評估當前局面的勝率。這讓 AlphaGo 能在每一步棋都得到回饋,而不是等到整盤棋結束才知道好不好。
機器人行走控制
OpenAI 用 PPO(一種演員-評論家的改良版)訓練虛擬機器人學走路。演員決定每個關節的力矩,評論家評估當前姿勢離「穩定行走」有多遠。從完全不會走到穩定行走大約需要幾百萬步的訓練。
深入了解
演員-評論家的主要變體
方法 特點 適用場景 A2C(Advantage Actor-Critic) 用優勢函數減少方差 一般強化學習任務 A3C(Asynchronous A2C) 多個環境平行訓練,加速學習 需要大量探索的環境 PPO(Proximal Policy Optimization) 限制策略更新幅度,訓練更穩定 連續動作空間、機器人控制 SAC(Soft Actor-Critic) 加入最大熵探索,平衡探索和利用 複雜連續控制任務 TD3(Twin Delayed DDPG) 用兩個評論家減少過高估計 連續動作空間
情境判斷
Q1(直覺題): 你要訓練一個遊戲 AI 玩超級瑪利歐,每一步都需要即時決策(跳、跑、停)。你應該用 Q-Learning 還是演員-評論家?
→ 演員-評論家更適合。Q-Learning 需要列舉所有可能的動作組合,但瑪利歐的動作空間複雜且需要連續決策,演員-評論家能更自然地處理這類問題。
Q2(判斷題): 你用演員-評論家訓練一個交易機器人,訓練過程中評論家的價值估計一直震盪不收斂。你應該怎麼處理?
→ 這是演員-評論家的常見問題:演員和評論家互相影響導致不穩定。可以嘗試降低學習率、使用目標網路(target network)延遲更新評論家、或換用更穩定的 PPO 或 TD3 演算法。
常見問題
演員-評論家比純策略梯度好在哪?
主要是方差更小,學得更穩。純策略梯度要等到整個回合結束才能更新,中間好壞參半的動作很難被正確歸因。評論家提供每一步的價值估計,讓演員能更精準地知道哪個動作真的有幫助。
評論家不準怎麼辦?
評論家不準會誤導演員。常見的解法是用兩個獨立的評論家(如 TD3),取較小的估計值來避免過度樂觀。也可以用 GAE(Generalized Advantage Estimation)來平衡偏差和方差。
演員-評論家能處理離散動作空間嗎?
可以。雖然演員-評論家在連續動作空間特別有優勢,但 A2C/A3C 等方法對離散動作空間(如棋盤遊戲、Atari 遊戲)也表現很好。