AI時代系列(3) 機器學習三部曲: 📘 第三部:《強化學習 —— AI 的決策與進化》
65/100 第七週:📌 高階強化學習演算法
65.Twin Delayed DDPG(TD3)💡 雙網路控制減少過估計!
Twin Delayed
DDPG(Deep Deterministic Policy Gradient)雙重延遲深度確定性策略梯度演算法
TD3 是在 DDPG 不穩定的基礎上,加入雙 Q、延遲更新與目標平滑三大技巧,有效解決連續控制中 Q 值高估與訓練不穩定的問題。
________________________________________
🎯 學習目標
• 了解 TD3 的誕生背景與改進動機
• 掌握 TD3 的三大創新技巧
• 理解「雙 Q 網路」如何有效減少過估計誤差(Overestimation Bias)
• 比較 TD3 與 DDPG 的差異與應用場景
________________________________________
🚦 一、背景:為什麼需要 TD3?
DDPG 是連續控制領域的一種 Actor-Critic 方法,適用於像 Pendulum 或 HalfCheetah 等高維連續動作空間。
但 DDPG 容易出現以下問題:
問題 原因
過估計 Q 值 Critic 只有一個網路,更新中可能放大 Q
策略震盪大 Actor 每步都更新,導致不穩定
探索過於隨機 加雜訊方式粗糙,學不到精細控制
✅ TD3 在 2018 年由Fujimoto 提出,針對這些問題提出三大改進。
________________________________________
🧠 二、TD3 三大創新核心技術
________________________________________
1️⃣ 雙 Q 網路(Twin Q-networks)
在 TD3 中,為了避免 DDPG 常見的 Q 值高估問題,特別引入了雙 Q 網路架構,分別訓練兩個 Critic:Q_θ1 和 Q_θ2。每次計算目標值時,使用兩者預測中的較小值來作為 target Q,即 y = r + γ ⋅ min(Q_θ1'(s', a'), Q_θ2'(s', a'))。這種保守估計的設計,有效降低了高估偏差,避免 Actor 策略因過度樂觀的價值估計而學習出錯誤行為,讓整個強化學習過程更穩定、更可靠。
✅ 這樣可以有效降低 Q 值的過估計偏差(Overestimation Bias)
________________________________________
2️⃣ 延遲更新策略(Delayed Policy Update)
• Actor 策略不是每一步都更新,而是 每隔 d 步(如 2 步)才更新一次
• 這樣 Critic 有足夠時間收斂,避免 Actor 被不穩定 Q 值誤導
________________________________________
3️⃣ 目標策略平滑(Target Policy Smoothing)
在 TD3 中,為了讓目標 Q 值的估計更穩定,避免策略過度依賴單一精準動作,特別在計算 Q target 時,對動作加入隨機平滑雜訊。具體做法是:先透過目標 Actor 產生下一步動作 π_θ'(s'),再加上一個來自正態分布 N(0, σ) 且經過裁剪(clip)在 [-c, c] 範圍內的隨機噪音 ϵ,形成平滑後的目標動作 a' = π_θ'(s') + ϵ。這樣的設計能防止 Critic 過度學習對單一精準動作的價值,而導致過擬合與不穩定,有助於整個訓練過程的穩健收斂。
✅ 可避免策略因微小動作差異而估計出過高 Q 值(尖峰現象)
________________________________________
🧰 三、TD3 實作流程架構
for each training step:
1. 與環境互動,存入 replay buffer
2. 從 buffer 中取出一批 (s, a, r, s') 資料
3. 用雙 Q 網路計算目標 y(使用 min)
4. 分別更新 Q1、Q2(Critic)
5. 每 N 步更新一次 Actor(Policy)
6. 同步 target 網路(τ)
________________________________________
📊 四、TD3 與 DDPG 比較總覽
Q 網路數量:DDPG 使用 1 個;TD3 使用 2 個並取最小值以降低偏差。 策略更新頻率:DDPG 每步都更新;TD3 採延遲更新,提升穩定性。 探索策略:DDPG 加 OU noise;TD3 改用平滑高斯噪聲。 是否抗過估計:DDPG ❌ 無;TD3 ✅ 有效避免過估計。 實作難度:DDPG 中等;TD3 中高(需兩套 Critic 網路)。 成熟度:DDPG 📉 漸漸過時;TD3 📈 已成為連續控制任務主流。
________________________________________
🧪 五、超參數建議值(實務建議)
在 TD3 的實務訓練中,通常會採用以下建議參數設定以提升穩定性與收斂效率:批次大小(batch size)設定在 100 到 256 之間,可平衡穩定與效率;
Actor 的更新頻率採用延遲更新,每 2 到 3 次 Critic 更新後才更新一次 Actor;在目標動作平滑時,加入的隨機噪聲標準差 σ 設為 0.2,並將噪聲裁剪在 [-0.5, 0.5] 範圍內,避免過大擾動影響穩定性;
目標網路的軟更新係數 τ 設定為 0.005,可讓 target network 平穩跟隨學習進度;而經驗回放緩衝區(replay buffer)建議大小至少為 10 萬筆以上,以確保學習樣本的多樣性與充分性。這些設定能有效發揮 TD3 在連續控制任務中的穩定學習優勢。
________________________________________
✅ 小結:TD3 的三劍客法則
技術 目的 效果
🎯 雙 Q 評估 抵抗 Q 值過估計 更準確更穩定
⏳ 延遲 Actor 更新 等 Critic 收斂 避免策略震盪
🌊 策略平滑雜訊 平滑目標 Q 減少尖峰 Q 偏誤
________________________________________
🎓 延伸任務與挑戰
• ✅ 用 TD3 訓練 Pendulum-v1 或 LunarLanderContinuous-v2 並觀察收斂速度
• ✅ 比較使用單 Q(DDPG)與雙 Q(TD3)在同樣環境下學習曲線的差異
• ✅ 測試不同 target smoothing 噪聲大小對穩定性的影響
________________________________________
🏠 TD3 的生活應用案例
1️⃣ 雙 Q 網路 → 朋友共同給建議
就像你要買車,如果只聽一個朋友的建議,可能會因他太樂觀而高估車子價值。TD3 用兩個 Critic,就像同時聽兩個朋友意見,並選擇「較保守的看法」來決定,避免因一人過度樂觀而做錯選擇。
2️⃣ 延遲更新 → 學習樂器
練習鋼琴時,如果每彈一個音就立刻改手勢,會變得混亂不穩定。TD3 的延遲更新就像是「先彈一段旋律,聽清楚問題後,再慢慢修正手勢」,這樣更穩定地進步。
3️⃣ 目標策略平滑 → 廚師調味
煮菜時若鹽巴一次加太多,味道會失衡。TD3 在目標動作中加小幅隨機噪聲,就像廚師調味時「小勺小勺加」,讓口味平滑自然,不會因一次極端的調整而毀掉整鍋菜。