強化學習 · 策略梯度

PPO 近端策略優化

更新策略像登山:一次跨太大會摔下去、救不回來。PPO 規定「每次只走一小步」,用裁剪目標把更新綁在舊策略附近——穩定、好調、還是 ChatGPT 訓練的關鍵一步。

小步快跑clip 裁剪目標不偏離舊策略穩定好調RLHF 微調

💡一句話定義

PPO(Proximal Policy Optimization,近端策略優化)是一種穩定又好用的策略梯度法:透過限制每次策略更新的幅度,避免一步更新太大導致崩潰。它兼顧「持續進步」與「不跑偏」,是當今最常用的深度 RL 演算法之一。

🎮互動:裁剪目標函數

拖三根滑桿:Advantage(動作好壞)、Clip ε(安全範圍)、Ratio(新舊策略比)。綠帶是安全區,紫線是 PPO 目標。當比率超出安全區、且方向對 PPO 不利時,就觸發裁剪(紫線變平、狀態轉紅)。

🎚️ PPO 裁剪目標 互動演示
Ratio r_t 1.0 (No Change) Objective Function
等待操作...
1.0
正值 = 好動作 (應該增加機率); 負值 = 壞動作 (應該減少機率)
0.2
1.0
新舊策略的比率 (πnew / πold). 1.0 代表沒變。

🧗核心比喻:小步快跑

傳統策略梯度發現某步很好,就想大幅增加做它的機率。但步子跨太大(更新太大),策略可能跑偏、徹底崩壞、很難救回。PPO 的想法是「小步快跑」:允許更新,但不能離舊策略太遠——像登山規定每次只移動一小步,確保安全。

🧮裁剪目標(Clipped Objective)

$$ L^{CLIP} = \min\!\big(\underbrace{r_t(\theta)\,A_t}_{\text{原目標}},\; \underbrace{\text{clip}(r_t(\theta),\,1-\epsilon,\,1+\epsilon)\,A_t}_{\text{裁剪後}}\big) $$ rt=新舊策略機率比 πnewold(希望接近 1);At=優勢函數(比平均好多少);ε=裁剪範圍(常 0.1~0.2)。取兩項最小值=不獎勵過度更新。

✂️圖解:好動作 vs 壞動作

👍Advantage > 0(好動作)
想增加機率,但 Ratio 一旦超過 1+ε,PPO 切斷獎勵(線變平),防止過度自信更新。
👎Advantage < 0(壞動作)
想減少機率,但 Ratio 低於 1−ε 時停止懲罰,防止策略塌縮為 0。

🧭PPO 在強化學習的定位

PPO 屬策略梯度/Actor-Criticon-policy:直接學「策略」。相對 DQN(價值法、off-policy、樣本效率較高但只能離散動作),PPO 更穩、更好調、能處理連續動作,還能把同一批資料重用多次提升效率——代價是 on-policy 樣本效率不如 off-policy。

🎯應用場景(含 ChatGPT RLHF)

① ChatGPT(RLHF):PPO 是訓練的最後一步。Reward Model 當裁判給回答打分;PPO Agent 學生成高分回答,但被限制不能偏離原始語言模型太遠(免得為拿高分講出不通順怪話)。
② 機器人控制:更新太大機器人會做危險動作跌倒,PPO 保證動作學習平滑。
③ 遊戲 AI:OpenAI 用 PPO 訓出擊敗職業選手的 Dota 2 AI(OpenAI Five)。

自我檢測

Q1. PPO 是什麼?
一種穩定又好用的策略梯度法;透過限制每次策略更新的幅度,避免一步更新太大導致崩潰。
Q2. PPO 怎麼限制更新幅度?
用裁剪(clip)的目標函數:當新舊策略的機率比超出範圍(如 ±0.2)就裁掉,避免過度更新,兼顧進步與穩定。
Q3. 為什麼 PPO 這麼流行?
實作相對簡單、超參數不太敏感、訓練穩定、效果好,且可多次重用同批資料;是許多 RL 與 RLHF 的預設選擇。
Q4. PPO 用在哪些地方?
機器人控制、遊戲 AI,以及大型語言模型的 RLHF 微調(用人類偏好訓練),例如 ChatGPT。

🎯重點整理

📝 iPAS 考點提醒

PPO(近端策略優化)是目前最常用的深度強化學習演算法之一,也是 RLHF 微調 LLM 的常見選擇。重點:屬 Actor-Critic 的策略梯度法,用裁剪(clipping)限制每次更新幅度,避免策略一次更新太多而崩潰,兼顧穩定與效率。易混點:PPO 是 on-policy、樣本效率不如 off-policy 的 DQN,但更穩好調。情境:機器人、遊戲,以及 ChatGPT 等 LLM 的人類回饋微調。

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

❓ 常見問題

PPO 是什麼?

Proximal Policy Optimization,一種穩定又好用的策略梯度法;透過限制每次策略更新的幅度,避免一步更新太大導致崩潰。

PPO 怎麼限制更新幅度?

用裁剪(clip)的目標函數:當新舊策略的機率比超出範圍(如正負 0.2)就裁掉,避免過度更新,兼顧進步與穩定。

為什麼 PPO 這麼流行?

實作相對簡單、超參數不太敏感、訓練穩定、效果好;是許多 RL 與 RLHF(人類回饋強化學習)的預設選擇。

PPO 和傳統策略梯度差在哪?

傳統策略梯度一次更新可能太大、不穩;PPO 限制更新幅度並可多次重用同批資料,樣本效率較高。

PPO 用在哪些地方?

機器人控制、遊戲 AI,以及大型語言模型的 RLHF 微調(用人類偏好訓練)等。

🧭 相關主題

← 返回 AI 學習與考證地圖