第三部《強化學習》64/100 🔍 損失函數、剪切範圍與訓練技巧!

更新 發佈閱讀 11 分鐘

AI時代系列(3) 機器學習三部曲: 📘 第三部:《強化學習 —— AI 的決策與進化》

64/100 第七週:📌 高階強化學習演算法

64.PPO 演算法細節解析 🔍 損失函數、剪切範圍與訓練技巧!

PPO近端策略優化演算法 在 2017 年由 OpenAI 提出,透過簡單裁剪 (clip) 機制,實現穩定更新,且容易實作。

________________________________________

🎯 本單元目標

深入理解 PPO 的損失函數設計與數學原理

掌握剪切範圍的影響與調整策略

探索實作中常見的訓練技巧、穩定訓練與最佳化方式

________________________________________

🔍 一、PPO 損失函數詳細解析

✅ 基礎式子:

PPO 使用的是 Clipped Surrogate Objective,如下:

L_CLIP(θ) = E_t [ min( r_t(θ) * Â_t , clip( r_t(θ), 1 - ε, 1 + ε ) * Â_t ) ]

其中:

r_t(θ) = π_θ(a_t | s_t) / π_θ_old(a_t | s_t) (新舊策略的比值)

Â_t 是 advantage(優勢函數估計值)

ε 是超參數(一般設為 0.1 ~ 0.3)

👉

想像你在教一隻小狗表演跳圈圈:

1️⃣ r_t(θ) 是什麼?

這代表「新的訓練方法」和「舊的訓練方法」相比,進步了多少。

假設:

o 舊方法:用零食 A 獎勵,小狗 8 成會跳圈圈;

o 新方法:換了零食 B 獎勵,小狗 9 成會跳圈圈;

那麼 r_t(θ) 大概就是 9/8 = 1.125(新舊比值)。

2️⃣ Â_t 是什麼?

這代表「這次跳圈圈的價值有多高」,也就是 Advantage。

比如說:

o 如果小狗成功跳一個大圈,觀眾很開心,價值高 → Â_t 比較大;

o 如果只是小圈,觀眾反應普通,Â_t 比較小。

3️⃣ 為什麼要 clip (限制範圍)?

PPO 怕你太興奮,一下子用新方法做太大的調整。

如果新方法一出現,r_t(θ) 變成 2、3、甚至 10 倍,

那你可能會太早「全押在新方法」上,萬一只是運氣好,反而學壞。

所以:

👉 PPO 幫你設定一個保險繩:「不管新方法再好,最多就讓比值在 1 ± ε 之間(例如 0.9 到 1.1)」。

白話總結:

PPO 就像在教狗表演,雖然會根據新表現來調整訓練方法,但又怕改太快失控,所以每次訓練都「小幅微調」。

min() 這個動作,就是自我保護:如果新方法好,慢慢調整;

如果新方法太激進,先把效果「剪平」後再調整,穩穩進步。

________________________________________

⚙ 二、完整的 PPO 總損失函數(包含三大項)

PPO 實際訓練時會同時考慮:

1️⃣ Clipped Policy Loss(策略損失)

就像你每天練習投籃,教練會幫你微調出手動作,

如果今天出手角度比昨天進步一點點,教練會說:「很好,繼續照這樣調整!」

但如果你一下子改太多,出手完全不一樣,教練就會說:「慢一點,別突然大改!」

防止策略更新過快

________________________________________

2️⃣ Value Function Loss(值函數損失)

像你做投資:

你要學會判斷「這家公司的未來價值是多少?」

每次錯估,虧錢了,就當作一次學習,讓估值模型變得更準。

________________________________________

3️⃣ Entropy Bonus(熵獎勵)

像你在城市裡找好餐廳:

如果你只去吃過一次就覺得這家最好,那可能錯過更好的。

保持適度好奇心,偶爾試試新餐廳,避免錯失機會。

________________________________________

🔧 PPO 總損失函數如下:

L_PPO = L_clip - c1 * L_value + c2 * L_entropy

PPO 的訓練就像一位嚴謹的教練,核心是穩定穩定再穩定。

透過 L_clip 來控制每次策略更新的幅度,像駕駛一輛車一樣穩穩前進,避免一次大轉彎而失控。

同時輔以 L_value,讓模型學習準確地預估每個動作未來能帶來多少回報,像是在不斷訓練自己的投資眼光,幫助判斷何時該做什麼決策。

而為了避免太快鎖死在某些固定行為上,還會加入一點 L_entropy,讓模型保持探索的好奇心,像偶爾去旅行冒險,尋找可能的更好方案。

整個訓練中,策略更新穩定是最核心(主要考慮 L_clip),價值預估次之(c1=0.5),探索獎勵則適度引導(c2=0.01)。最終讓模型在穩健更新、準確預估與持續探索之間,取得最佳的學習平衡。

一句話總結 PPO:

PPO 就像一位教練:「每天穩穩訓練,估值越來越準,還會鼓勵你偶爾冒險,但不准你一夜暴衝失控。」

________________________________________

📏 三、剪切範圍(clip range)怎麼設定?

PPO 中的 clip range (ε) 是控制每次策略更新幅度的重要超參數。

一般而言,預設值 0.2 是最常用、穩定且效果良好的選擇,適用於大多數標準訓練環境,如 OpenAI Gym 等經典任務。如果任務環境特別穩定、結構簡單,允許更快學習時,可以考慮稍微提高到 0.3,加快收斂速度,但穩定性會稍微下降。

反之,當遇到高風險、極度複雜或容易崩潰的環境時,建議保守設定在 0.1,讓每次更新更小幅度、更穩定。

通常 ε 超過 0.3 之後很少使用,容易導致策略震盪與不穩定,除非你對環境特性非常了解並能控制其風險。整體來說,clip range 越小越穩,越大學得越快但越冒險,要根據任務特性做適當取捨。

________________________________________

🛠 四、訓練技巧總整理(實務最重要區塊)

在實際訓練 PPO 時,為了提升穩定性與收斂效果,常採用一系列實務技巧。

Advantage 估計通常使用 GAE(Generalized Advantage Estimation),設定 λ = 0.95 與 γ = 0.99,可有效降低估計方差。

優化器方面建議使用 Adam,學習率設定在 2.5e-4 到 3e-4 之間通常有不錯的效果。資料收集方面,建議每累積 2048 筆樣本後進行一次更新,每次更新進行 4 到 10 個 epoch 的多次學習,並將資料切分成 32 到 64 個 mini-batch 做訓練。

保持探索,熵獎勵初期可以設為 0.01,隨著訓練穩定後可逐步降低。止損機制方面,建議每次更新的最大 KL divergence 控制在 0.01 到 0.03 之間,避免更新幅度過大導致崩潰失穩。此外,搭配 gradient clipping 正則化可以有效防止梯度爆炸,提升整體訓練穩定性。這些設置在多數環境下被證明能讓 PPO 穩定且高效地學習。

________________________________________

🧪 五、常見失敗與解法

在 PPO 訓練過程中,常見幾個典型問題與對應解法。當策略出現大幅震盪時,通常是因為剪切值(clip range)設定過大或學習率步長過高,此時可考慮適當降低 clip 值或引入 KL 懲罰項來穩定更新。

如果值函數預估不準,可能是訓練次數不足或目標值本身波動過大,可以透過增加 value loss 的更新次數或對 value loss 也進行 clip 處理來改善。若模型在早期就失去探索多樣性,往往是因為熵獎勵設得太小或未加入,此時可提高 entropy bonus 以鼓勵探索更多行為模式。

最後,當整個訓練無法收斂時,通常是因為收集的資料量過少或每次更新的 epoch 次數不足,可以增加 rollout 資料量或提升每次訓練的更新輪數來促進收斂效果。透過針對性調整,能有效強化 PPO 訓練的穩定性與學習效率。

________________________________________

✅ 單元總結

元素 重點摘要

Clipped Loss 限制策略變動幅度,穩定更新

Value Loss 預測未來獎勵的重要組件,避免策略盲目探索

Entropy Bonus 提高策略的多樣性與探索性

clip ε 值 控制策略更新幅度,建議設為 0.2

GAE 減少 Advantage 的估計方差,提高樣本效率

實作技巧 mini-batch SGD、entropy、early stopping 都是穩定訓練的關鍵

________________________________________

🎓 延伸任務

✅ 修改剪切範圍 ε = 0.1, 0.2, 0.3 分別訓練 Pendulum-v1,觀察學習曲線

✅ 在 PPO 損失函數中關掉熵項,比較策略表現差異

✅ 加入 early stop 條件(如 max_KL > 0.02),觀察是否避免策略崩潰

🏠 PPO 的生活應用案例

1️⃣ 飲食控制 – 健康減重

如果突然大幅減少熱量(等於一次更新太大),容易造成身體負擔或復胖。PPO 的剪裁概念就像設定每天僅小幅調整飲食比例,既能控制進度,又能長期保持穩定效果。


2️⃣ 交通駕駛 – 平穩轉彎

開車轉彎時如果打方向盤過猛,就可能失控。PPO 的剪裁範圍 ε 就像「轉彎角度限制」,讓駕駛只在合理幅度內調整方向,確保行車安全又能逐步抵達目的地。


3️⃣ 職場管理 – 員工績效提升

公司要提升團隊表現,如果一次推動過多新規制度,員工可能反感或效率下降。PPO 的精神就是「逐步微調」:設小目標、給適度獎勵(entropy bonus 保持動力),在不引起反彈的情況下穩定提升績效。





留言
avatar-img
留言分享你的想法!
avatar-img
Hansen W的沙龍
10會員
274內容數
AIHANS沙龍是一個結合AI技術實戰、產業策略與自我成長的知識平台,主題涵蓋機器學習、生成式AI、創業經驗、財務規劃及哲學思辨。這裡不只提供系統化學習資源與實作案例,更強調理性思維與行動力的結合。無論你是AI初學者、創業者,還是追求人生升維的行者,都能在這裡找到前進的方向與志同道合的夥伴。
Hansen W的沙龍的其他內容
2025/09/25
PPO 以剪裁目標函數取代 TRPO 的複雜限制,兼顧穩定性與簡單性。透過策略比裁剪、GAE 與 mini-batch SGD,能高效更新策略,廣泛應用於遊戲、機器人與對話系統,是現今強化學習的主流方法。
2025/09/25
PPO 以剪裁目標函數取代 TRPO 的複雜限制,兼顧穩定性與簡單性。透過策略比裁剪、GAE 與 mini-batch SGD,能高效更新策略,廣泛應用於遊戲、機器人與對話系統,是現今強化學習的主流方法。
2025/09/25
TRPO 透過代理目標函數與 KL 散度限制,在「信任區間」內進行小步更新,結合共軛梯度法與線性搜尋,保證策略穩定提升。適合連續控制任務,但實作較複雜、計算成本高,卻在理論上具備穩定改進保障。
2025/09/25
TRPO 透過代理目標函數與 KL 散度限制,在「信任區間」內進行小步更新,結合共軛梯度法與線性搜尋,保證策略穩定提升。適合連續控制任務,但實作較複雜、計算成本高,卻在理論上具備穩定改進保障。
2025/09/25
TRPO 透過限制新舊策略間的 KL 散度,在「信任區間」內小步更新,避免性能退步並提升穩定性。適用於高維連續控制如機器人任務,但實作複雜。理念可類比投資、健身與職涯轉換的漸進式進步。
2025/09/25
TRPO 透過限制新舊策略間的 KL 散度,在「信任區間」內小步更新,避免性能退步並提升穩定性。適用於高維連續控制如機器人任務,但實作複雜。理念可類比投資、健身與職涯轉換的漸進式進步。
看更多
你可能也想看
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 129 中說,Bidirectional Encoder Representations from Transformers (BER
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 129 中說,Bidirectional Encoder Representations from Transformers (BER
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 繼 AI說書 - 從0開始 - 82 與 xxx ,我們談論了衡量 AI 模型的方式,那當你訓練的模型比 State-of-the-Art 還要好並想要進行宣稱時,需要
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 繼 AI說書 - 從0開始 - 82 與 xxx ,我們談論了衡量 AI 模型的方式,那當你訓練的模型比 State-of-the-Art 還要好並想要進行宣稱時,需要
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformer 可以透過繼承預訓練模型 (Pretrained Model) 來微調 (Fine-Tune) 以執行下游任務。 Pretrained Mo
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformer 可以透過繼承預訓練模型 (Pretrained Model) 來微調 (Fine-Tune) 以執行下游任務。 Pretrained Mo
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Trainin
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Trainin
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 先做個總回顧: Transformer 架構總覽:AI說書 - 從0開始 - 39 Attention 意圖說明:AI說書 - 從0開始 - 40 Transfo
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 先做個總回顧: Transformer 架構總覽:AI說書 - 從0開始 - 39 Attention 意圖說明:AI說書 - 從0開始 - 40 Transfo
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News