第三部《強化學習》47/100 Dueling DQN 架構 💥 將狀態價值與動作優勢分開估算!

更新 發佈閱讀 9 分鐘

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

47/100 第五週:📌 Deep Q-Network(DQN)與深度強化學習入門

47.Dueling DQN 架構 💥 將狀態價值與動作優勢分開估算!

________________________________________

🎯 單元導讀

在傳統 DQN 中,神經網路會直接學出每個動作的 Q 值:

Q(s, a) → 表示在狀態 s 下,執行動作 a 的預期總報酬

但在某些情境中,有些動作的選擇幾乎不影響總價值,例如在安全區內左右移動的差異不大。

這時,若硬是學所有動作的 Q 值,反而會干擾學習進度。

Dueling DQN 是一種改良架構,它將 Q 值拆解為兩部分:

狀態價值 V(s)

動作優勢 A(s, a)

讓神經網路能更有效率地學習「狀態好壞」與「動作差異」!

________________________________________

🧠 一、Dueling DQN 的核心觀念

Dueling 架構將 Q 函數拆解為:

Q(s, a) = V(s) + A(s, a)

但這樣拆會造成問題:Q 值可能不唯一(因為任意常數可加到 A 上)

所以實務中使用以下修正公式:

Q(s, a) = V(s) + [A(s, a) - mean_a A(s, a)]

這樣能保證 A(s, a) 是「相對優勢」,可正可負且和為零。

________________________________________

🧱 二、神經網路架構改動

在傳統 DQN 中:

Input(s) → Shared Hidden Layers → Q(s, a)

在 Dueling DQN 中:

Input(s)

Shared Hidden Layers

分支一:估算 V(s)

分支二:估算 A(s, a)

組合輸出 Q(s, a) = V(s) + (A(s, a) - mean(A(s, ·)))

這種架構讓模型即使在無法明確區分動作貢獻時,也能先學好整體狀態價值!

| 主要優點:

----------------------------------------

- 即使動作間貢獻難以分辨,仍能穩定學習狀態價值。

- 提高學習穩定性與效率。

- 對樣本利用更有效率,收斂更快。

________________________________________

🧪 三、PyTorch 架構範例

python

class DuelingDQN(nn.Module):

def __init__(self, state_dim, action_dim):

super().__init__()

self.shared = nn.Sequential(

nn.Linear(state_dim, 128),

nn.ReLU()

)

self.value_stream = nn.Sequential(

nn.Linear(128, 64),

nn.ReLU(),

nn.Linear(64, 1)

)

self.advantage_stream = nn.Sequential(

nn.Linear(128, 64),

nn.ReLU(),

nn.Linear(64, action_dim)

)

def forward(self, x):

x = self.shared(x)

v = self.value_stream(x)

a = self.advantage_stream(x)

q = v + (a - a.mean(dim=1, keepdim=True))

return q

這段程式碼定義了一個 Dueling DQN 的神經網路結構。輸入為狀態向量 x,首先經過共享的隱藏層 self.shared,提取通用特徵。接著,特徵分別送入兩個不同的分支:

Value Stream:

Linear(128 -> 64) -> ReLU -> Linear(64 -> 1)

Advantage Stream:

Linear(128 -> 64) -> ReLU -> Linear(64 -> action_dim)

最後,兩個分支輸出合併成最終 Q 值

Q(s, a) = V(s) + [ A(s, a) - mean_A ]

其中:

mean_A = 平均所有動作的 A(s, a)

mean_A = sum(A(s, a)) / action_dim

這樣的結構可以讓模型即使在各動作貢獻難以分辨時,仍能先穩定學習整體狀態價值 V(s),提升學習穩定性與收斂速度。

________________________________________

📈 四、Dueling 架構的好處

優點 說明

更快速辨別「好狀態」 即使動作無明顯差異,也可單獨學到 V(s)

穩定訓練 對無區別性的動作具有更高容忍度

模型可解釋性提升 可明確區分狀態價值與動作優勢

________________________________________

📸 五、應用場景舉例

在許多實務場景中,Dueling DQN 架構特別適用,因為許多時候「動作之間的差異不明顯」。例如:

在遊戲內的非關鍵區域,無論選擇哪個動作,對狀態價值影響不大,此時重點在學好 V(s);

自駕車的巡航行駛階段,像是微幅轉向、輕微加減速,多數行動對整體狀態沒有明顯改變;

資產配置中,當多個投資組合在某個經濟狀態下的預期報酬相近,便可聚焦於估算整體的 V(s),而無需過度分辨 A(s, a)。

透過分離 V(s) 與 A(s, a),模型能更有效率地學習核心狀態價值,節省資源並提升學習穩定性。

________________________________________

🔍 六、生活中的類比與啟發

1️⃣ V(s) 像是你當下處境的總體價值

👉 例如「現在在學習AI」,就是一個高 V(s) 狀態

2️⃣ A(s, a) 像是在這個情境下的選項比較

👉 例如「是繼續讀書還是練習程式」,都在同個狀態下比較哪個行動更值得

3️⃣ 為何要扣除平均 A?

👉 就像要知道某個選項好不好,必須相對於「整體平均」才有意義!

________________________________________

✅ 七、小結與啟示

Dueling DQN 拆解 Q(s, a) 成 V(s) + A(s, a),提升學習效率與穩定性

特別適合處理某些動作無明顯價值差異的環境

加強模型對「狀態好壞」與「動作優劣」的分離理解能力

有效提升訓練效果,並具備更好的泛化能力!



留言
avatar-img
留言分享你的想法!
avatar-img
Hansen W的沙龍
10會員
274內容數
AIHANS沙龍是一個結合AI技術實戰、產業策略與自我成長的知識平台,主題涵蓋機器學習、生成式AI、創業經驗、財務規劃及哲學思辨。這裡不只提供系統化學習資源與實作案例,更強調理性思維與行動力的結合。無論你是AI初學者、創業者,還是追求人生升維的行者,都能在這裡找到前進的方向與志同道合的夥伴。
Hansen W的沙龍的其他內容
2025/09/24
Double DQN 透過將動作「選擇」與「評估」分離,解決 DQN 中 Q 值過度估計的問題。主網路選動作,目標網路評估價值,避免偏差與不穩定,使學習更穩健,策略更接近真實最優解。
2025/09/24
Double DQN 透過將動作「選擇」與「評估」分離,解決 DQN 中 Q 值過度估計的問題。主網路選動作,目標網路評估價值,避免偏差與不穩定,使學習更穩健,策略更接近真實最優解。
2025/09/24
Target Network 透過分離主網路與目標網路,避免 Q 值自我干擾,降低震盪與發散風險。透過硬更新或軟更新保持目標穩定,使訓練更收斂。就像人生中需設定穩定的方向,避免頻繁改變而失去導航。
2025/09/24
Target Network 透過分離主網路與目標網路,避免 Q 值自我干擾,降低震盪與發散風險。透過硬更新或軟更新保持目標穩定,使訓練更收斂。就像人生中需設定穩定的方向,避免頻繁改變而失去導航。
2025/09/24
Experience Replay 透過記憶池隨機抽樣過去經驗,打破時間相關性,提升學習效率與穩定性。Prioritized Replay 更聚焦於難學經驗,加速收斂。就像人類復盤與重點複習,讓 AI 學習更全面、有效。
2025/09/24
Experience Replay 透過記憶池隨機抽樣過去經驗,打破時間相關性,提升學習效率與穩定性。Prioritized Replay 更聚焦於難學經驗,加速收斂。就像人類復盤與重點複習,讓 AI 學習更全面、有效。
看更多
你可能也想看
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開始 - 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 到 AI說書 - 從0開始 - 85 的說明,有一個很重要的結論:最適合您的模型不一定是排行榜上最好的模型,您需要學習 NLP 評
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 從 AI說書 - 從0開始 - 82 到 AI說書 - 從0開始 - 85 的說明,有一個很重要的結論:最適合您的模型不一定是排行榜上最好的模型,您需要學習 NLP 評
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 繼 AI說書 - 從0開始 - 82 與 xxx ,我們談論了衡量 AI 模型的方式,那當你訓練的模型比 State-of-the-Art 還要好並想要進行宣稱時,需要
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 繼 AI說書 - 從0開始 - 82 與 xxx ,我們談論了衡量 AI 模型的方式,那當你訓練的模型比 State-of-the-Art 還要好並想要進行宣稱時,需要
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 仔細看 AI說書 - 從0開始 - 66 中,Decoder 的 Multi-Head Attention 框框,會發現有一條線空接,其實它是有意義的,之所以空接,是因
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 仔細看 AI說書 - 從0開始 - 66 中,Decoder 的 Multi-Head Attention 框框,會發現有一條線空接,其實它是有意義的,之所以空接,是因
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News