🎯 Policy Gradient 策略梯度 · iPAS 進階
Policy Gradient:不算價值,直接「練出一套好策略」
前面的 Q-Learning 、SARSA 都先學「每個動作多值錢」再選。策略梯度走另一條路 :跳過價值,直接調整「策略」本身 ——哪個動作帶來好回報,就把它的機率調高。這讓它天生擅長連續動作 。
策略法 policy-based 直接學策略 π(a|s) 連續動作 梯度上升 REINFORCE
🛣️ 一、強化學習的兩條路線
價值法 (Value-based) 策略法 (Policy-based)
代表 Q-Learning、SARSA、DQN Policy Gradient、REINFORCE
學什麼 每個動作的價值 Q(s,a) 直接學策略 π(a|s) (做各動作的機率)
怎麼選動作 挑 Q 最大的(間接) 照策略的機率抽樣(直接)
一句話
價值法是「先評估、再決定 」;策略法是「直接練出決定的本能 」。做對的動作就調高它的機率,做錯就調低——像反覆練習一個動作直到變肌肉記憶。
🎚️ 二、為什麼策略法適合「連續動作」?
價值法在連續動作會卡住
Q-Learning 要算出每一個 動作的 Q 值再挑最大。但如果動作是「射擊角度 」,它有無限多種(0.1°、0.11°、0.111°…),根本列不完、挑不了。
策略法不算每個動作的價值,而是直接輸出一個機率分布 (例如高斯的平均 μ 和標準差 σ ),動作就從這個分布抽樣 出來。連續動作?抽樣就好,天生支援。
🎮 三、動手玩:大砲射擊場
上圖橘色曲線 就是策略 π(a|s)(一個高斯分布),綠色區 是目標(高獎勵)。下圖大砲每次從高斯抽一個角度 發射。命中 → 正獎勵,脫靶 → 負獎勵。
Mean ($\mu$): 0.0 |
Std Dev ($\sigma$): 1.5 |
Reward: -
單次發射 (Step)
自動訓練 (Auto)
重置 (Reset)
🗺️ 怎麼看
一開始橘色曲線的尖峰(μ)偏在左邊(亂射)。每次命中綠區 得到正獎勵,曲線尖峰就會立刻「飄」向你剛剛射的角度 。按「自動訓練」連發,看 μ 慢慢移進綠區、曲線變又高又窄 (σ 縮小=越來越有把握)。這就是策略被一步步優化的過程。
📈 四、怎麼學?梯度上升(Gradient Ascent)
目標是最大化期望回報 J(θ) 。所以是「上升」——沿著能讓回報變大的方向,調整策略參數 θ:
$$ \theta \leftarrow \theta + \alpha \cdot \nabla_\theta \log \pi_\theta(a|s) \cdot R $$
套到高斯策略的平均值 μ,直觀到不行:
$$ \mu_{new} \leftarrow \mu_{old} + \alpha \cdot (\text{動作} - \mu_{old}) \cdot R $$
R 是正的 ✅ μ 往這次動作的方向移 → 調高該動作未來被選中的機率(「做對了,多做」)。
R 是負的 ❌ μ 往動作的反方向移 → 調低該動作的機率(「做錯了,少做」)。
🧮 五、最基本的版本:REINFORCE
跑完一整回合,再用「實際總回報」加權更新
REINFORCE 是最入門的策略梯度法:完整玩完一個回合,算出實際拿到的總回報 ,再用它加權 調整這回合每個動作的機率——回報高的那些動作,機率往上調。概念簡單 ,但因為要等整回合結束、又靠單次抽樣估計,變異大、收斂慢 。
⚠️ 六、最大痛點:高變異(High Variance)
為什麼不穩?
策略梯度靠「抽樣到的回報」來估更新方向。同一套策略,這次運氣好回報高、下次運氣差回報低——雜訊很大 ,導致訓練忽上忽下、不穩定、樣本效率低。
📊 七、價值法 vs 策略法 總整理
比較 價值法 策略法
學的對象 價值 Q(s,a) 策略 π(a|s)
動作型態 適合離散 離散、連續 都行
隨機策略 較難 天生支援
穩定度 較穩 變異大、需穩定技巧
樣本效率 較高 較低
⚖️ 八、優點與缺點
優點 可處理連續/高維動作 、能學隨機策略 、收斂到的策略較直接。
缺點 變異大 、樣本效率較低、容易陷局部最優 。
🧪 九、觀念自我檢測
先想再點開。
Q1. 策略法和價值法最大的差別?
策略法直接學策略 π(a|s) ;價值法先學價值 Q 再挑最大的動作。
Q2. 為什麼策略法適合連續動作?
它直接輸出機率分布 (如高斯 μ、σ)再抽樣,不必像價值法列舉每個動作的 Q。
Q3. 梯度上升往哪個方向更新?
往提高期望回報 的方向;R 正 → 調高該動作機率、R 負 → 調低。
Q4. REINFORCE 的主要缺點?
變異大、收斂慢 (要等整回合、靠單次抽樣估計)。
Q5. 怎麼降低策略梯度的高變異?
加 baseline /優勢函數 、用 Actor-Critic 、獎勵標準化。
✅ 十、30 秒重點整理
策略法=直接學 π(a|s) 不先算價值。
擅長連續動作 輸出機率分布再抽樣。
梯度上升 R 正調高該動作機率、R 負調低。
REINFORCE 最基本,變異大、收斂慢。
降變異 baseline/優勢/Actor-Critic。
優缺 連續/隨機策略強;變異大、樣本效率低。
📝 iPAS 考點提醒 策略梯度是強化學習的另一大家族(進階,中級科目三可能觸及)。重點:直接學策略(狀態到行動的機率分布),用梯度上升最大化期望回報,適合連續或高維行動空間。易混點:與價值法(如 Q-learning 先學價值再導出策略)是不同路線;策略梯度變異大,需基準線或 Actor-Critic 來穩定。情境:機器人連續控制、需要隨機策略的場景。
想練情境題與詳解 → AI 學習與考證地圖
❓ 常見問題 策略梯度(Policy Gradient)是什麼? 直接學策略(狀態到動作的機率)的強化學習法;沿著能提高期望回報的方向調整策略參數,而非先學價值再推策略。
和價值法(如 Q-learning)差在哪? 價值法先估價值再選動作、適合離散動作;策略法直接優化策略、天生支援連續動作與隨機策略,但變異較大。
REINFORCE 是什麼? 最基本的策略梯度法:用整段回合的實際回報加權更新動作機率(回報高的動作機率調高);簡單但變異大、收斂慢。
怎麼降低策略梯度的高變異? 加 baseline(如狀態價值)、用優勢函數、Actor-Critic 框架、獎勵標準化,都能顯著穩定訓練。
策略梯度的優缺點? 優點:可處理連續或高維動作、能學隨機策略。缺點:變異大、樣本效率較低、易陷局部最優。