🎭 Actor-Critic · iPAS 進階

Actor-Critic:演員負責演、評論家負責評,兩者互相教

策略梯度 變異太大、學得抖。Actor-Critic 找來一個「評論家」即時打分當基準,大幅降低變異——它把策略法(Actor)價值法(Critic)的優點合在一起,是現代強化學習(PPO、SAC…)的共同骨架。

演員 Actor 策略評論家 Critic 價值優勢函數低變異A2C · A3C · PPO

🤝 一、它把兩條路線合起來

前面學過 RL 的兩條路:價值法(學 Q/V)和 策略法(學 π)。Actor-Critic 同時用兩個網路,各司其職:

🎬 Actor 演員(策略 π)

看當前狀態,決定要做什麼動作(輸出機率,如 80% 往左、20% 往右)。它就是策略法那一半。

📋 Critic 評論家(價值 V)

不下場,只幫狀態打分(這局面有多好),再算出優勢告訴 Actor「這步比預期好還是差」。它就是價值法那一半。

🏅 二、運動員 + 教練比喻

Actor 是運動員,Critic 是教練

運動員(Actor)看著場上情況做動作;教練(Critic)不親自下場,但每一步都即時喊:「這姿勢很有希望」或「你快跌倒了」。
關鍵是這個即時回饋——運動員不必等比賽結束才知道剛剛那球好不好,每一步都能馬上修正。這就是 Actor-Critic 比純策略梯度學得又快又穩的祕密。

🎮 三、動手玩:平衡桿 CartPole

目標是讓桿子不要倒。左邊是環境,中間Actor 顯示左/右動作機率,右邊 Critic 顯示 V(s) 與最重要的優勢(Advantage)。按「自動訓練」連跑。

環境 (Environment)

狀態 (State): 平衡中

🎬 演員 Actor — 策略 $\pi(a|s)$

根據狀態決定動作機率。

選擇動作: -

📋 評論家 Critic — 價值 $V(s)$

評分這個狀態好不好,計算優勢 (Advantage)。

預測價值 V(s): 0.00
實際回報 (Target): 0.00
優勢函數 (Advantage)
0.00

🗺️ 怎麼看

盯著右下角的優勢數字綠色(正)=這步結果比教練預期的好(驚喜)→ Actor 會調高該動作機率;紅色(負)=比預期差(失望)→ 調低。中間紅色長條會隨之改變左右機率。這條「優勢訊號」就是 Critic 在教 Actor。

🎯 四、核心:優勢函數(Advantage)

這是 Actor-Critic 最關鍵、也最常考的一招——不看「絕對回報」,看「比預期好多少」。

$$ A_t \;=\; \underbrace{r_t + \gamma V(s_{t+1})}_{\text{實際發生的}} \;-\; \underbrace{V(s_t)}_{\text{Critic 原本的預測}} $$
A > 0 驚喜 😀實際比教練預測的 → Actor 大幅調高這個動作的機率。
A < 0 失望 😟實際比預測的 → Actor 調低這個動作的機率。

🧠 為什麼用「優勢」而不是原始回報?

原始回報忽高忽低、雜訊大。減掉 Critic 的基準後,只剩「相對於平均好多少」——數值穩定多了,這就是 Critic 當 baseline(基準線) 降變異的作用。也常寫成 A=Q − V

🔁 五、Actor 與 Critic 怎麼互相幫忙

Critic 幫 Actor提供低變異的基準分,讓 Actor 的更新不再忽上忽下、學得更穩。
Actor 幫 Critic不斷去探索新狀態,給 Critic 更多資料來校準自己的評分標準。

一邊演、一邊評、一起進步

兩個網路同時訓練:Critic 用 TD 誤差(就是上面的優勢)修正自己的價值估計;Actor 用同一個優勢調整動作機率。良性循環。

📊 六、為什麼贏過純策略梯度?

比較純策略梯度 (REINFORCE)Actor-Critic
學習訊號整回合的總回報(雜訊大)Critic 的優勢(低變異)
更新時機等整回合結束每步即時更新
穩定度 / 收斂抖、慢穩、快

👪 七、Actor-Critic 家族:A2C / A3C / PPO

📌 一個框架,很多名字

A2C(Advantage Actor-Critic):同步版,一個主程式控制多個環境一起收資料。
A3C(Asynchronous…):非同步版,多個 worker 在不同 CPU 核心各自跑、各自更新全域網路。(實務上 A2C 在 GPU 常更穩更快。)
還有 PPO、SAC、DDPG、TD3——現代強化學習的主力幾乎都是 Actor-Critic 的變體,差別在怎麼讓訓練更穩、怎麼處理連續動作

🧪 八、觀念自我檢測

先想再點開。

Q1. Actor 和 Critic 各負責什麼?

Actor=策略,決定動作(輸出機率);Critic=價值函數,幫狀態打分、算優勢來指導 Actor。

Q2. 優勢函數 A 是什麼?

實際發生的 − Critic 的預測」= r + γV(s′) − V(s),也就是 Q − V,表示某動作比預期好多少

Q3. A > 0 代表什麼、Actor 怎麼反應?

比預期好(驚喜) → Actor 調高該動作機率;A < 0 則調低。

Q4. 為什麼比純策略梯度好?

Critic 當 baseline 降變異、可每步即時更新(不必等整回合),更穩更快。

Q5. A2C 和 A3C 差在哪?

A2C 同步A3C 非同步(多 worker 各自更新全域網路)。

✅ 九、30 秒重點整理

Actor+Critic策略法 + 價值法合體。
Actor 演、Critic 評運動員+教練。
優勢 A=r+γV(s′)−V(s)比預期好多少。
A>0 調高、A<0 調低該動作機率。
Critic 當 baseline降變異、可即時更新。
家族A2C/A3C、PPO、SAC、DDPG。

📝 iPAS 考點提醒

Actor-Critic 結合策略法與價值法,是強化學習的重要架構。重點:Actor(演員)決定行動、Critic(評論家)估計價值並回饋,降低純策略梯度的高變異、加速學習。易混點:Critic 不直接選行動(那是 Actor 的事),它提供這步好不好的訊號;A2C、A3C 是常見變體。情境:遊戲與連續控制等需要穩定又能處理連續行動的任務。

想練情境題與詳解 → AI 學習與考證地圖

❓ 常見問題

Actor-Critic 是什麼?

結合策略(Actor)與價值(Critic):Actor 決定動作、Critic 評估動作好壞並指導 Actor 更新,兼具兩者優點。

Actor 和 Critic 各做什麼?

Actor 是策略函數、輸出動作或動作機率;Critic 是價值函數、估計狀態或動作價值,用來算出優勢、告訴 Actor 哪些動作比預期好。

比起純策略梯度好在哪?

純策略梯度(如 REINFORCE)用整段回報估計、變異大;Critic 提供低變異的價值基準(baseline),讓更新更穩、更快收斂。

什麼是優勢函數(Advantage)?

A(s,a)=Q(s,a)−V(s),表示某動作比該狀態平均好多少;用優勢而非原始回報能降低變異、聚焦相對優劣。

常見的 Actor-Critic 演算法?

A2C/A3C、DDPG、TD3、PPO、SAC 等都屬此框架,差別在如何穩定訓練與處理連續動作。

🧭 相關主題

← 返回 AI 學習與考證地圖