搜尋意圖: 如果你在找「深度Q學習 是什麼」或「深度Q學習 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。
TL;DR: 結合深度神經網路與Q學習的強化學習算法,能在高維狀態空間中進行最優決策。
實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。
下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。
結合深度神經網路與Q學習的強化學習算法,能在高維狀態空間中進行最優決策。
核心概念
深度Q學習(DQN)是2013年由Deepmind提出的突破性算法,其根本創新在於將深度神經網路與傳統Q學習相結合。標準Q學習使用表格(Q-table)存儲狀態-動作對的價值,但在狀態空間巨大(如Atari遊戲的游戲影像,有10^170種可能狀態)的問題中無法適用。DQN使用神經網路作為函數逼近器,直接從高維感知信號(如像素)學習最優策略。
Q學習的基本原理是反覆迭代Bellman方程:Q(s,a) = E[r + γ max Q(s',a')]。DQN的關鍵改進是:
- 使用神經網路逼近Q函數:Q(s,a;θ) ≈ Q*(s,a),其中θ是網路權重。
- 將Q學習的目標改為最小化損失函數:L(θ) = E[(r + γ max Q(s',a';θ⁻) - Q(s,a;θ))²],其中θ⁻是「目標網路」的舊權重。
運作原理
經驗回放(Experience Replay)
DQN中最關鍵的穩定化技術。在標準Q學習中,智能體依序執行動作,產生的樣本之間存在強相關性(連續狀態高度相似),直接用這些樣本訓練網路容易導致發散。DQN將每個轉移 (s,a,r,s') 存儲在回放記憶庫中,訓練時隨機抽樣小批次進行梯度更新,這樣破除了樣本相關性,使訓練更穩定。
目標網路(Target Network)
另一個穩定化技術。DQN使用兩個網路:
- 線上網路(Online Network):每步更新,用於選擇和評估動作。
- 目標網路(Target Network):複製線上網路的權重,但更新頻率較低(如每C步複製一次),用於計算Bellman目標。
這個設計減少目標與預測之間的相關性,使Bellman方程更接近監督學習的框架。
ε-貪心探索
DQN在動作選擇時採用ε-貪心策略:以概率ε選擇隨機動作(探索),以概率1-ε選擇Q值最大的動作(開發)。ε通常隨訓練進行逐漸衰減。
實際應用
DQN在多個領域展現了威力:
- Atari遊戲:在Pong、Breakout等遊戲上達到甚至超越人類水準,是深度強化學習的經典示範。
- 機器人控制:實現機械臂精確抓取與操控。
- 資源分配:數據中心資源調度、電網儲能管理等最優控制問題。
- 自駕車:決策規劃層的動作評估(雖然應用受限於安全性考慮)。
常見誤區
誤區1:誤認為DQN會自動探索環境。實際上DQN高度依賴ε-貪心的探索策略,若ε設置不當(如過小),容易陷入局部最優。
誤區2:認為增加經驗回放緩衝區大小總是更好。實際上超大緩衝區會導致樣本時間性差(訓練用的是很久之前收集的過時樣本),反而可能降低學習效率。
誤區3:忽視獎勵設計的重要性。DQN學習的是累積獎勵最大的策略,若獎勵函數設計不當,即使算法收斂也無法達到預期目標。
與相關技術的比較
- DQN vs. 策略梯度方法:DQN基於價值函數,適合離散動作空間;策略梯度適合連續動作空間。DQN樣本效率較低但漸近性能通常更好。
- DQN vs. 雙倍DQN(Double DQN):Double DQN使用兩個獨立網路的行為選擇與價值評估來減少高估偏差,比標準DQN更穩定。
- DQN vs. 優先經驗回放(Prioritized Experience Replay):優先回放根據TD誤差大小優先抽樣重要樣本,比隨機回放更高效。
- DQN vs. 決策樹/規劃算法:DQN使用數據驅動學習,不需預先構建環境模型;而樹搜索(如AlphaGo的MCTS)基於已知的環境轉移函數。
常見問題
為什麼DQN需要經驗回放?直接用新樣本訓練不行嗎?
直接訓練會出現嚴重問題。強化學習的樣本是由智能體與環境交互產生,連續動作產生的狀態高度相關(今天的狀態與昨天非常相似)。若直接用相關樣本訓練神經網路,容易導致:第一,梯度更新方向偏差很大,網路發散;第二,網路對某類狀態過擬合;第三,樣本效率極低。經驗回放透過隨機抽樣打破相關性,使訓練就像處理獨立同分布的監督資料一樣穩定。
DQN中為什麼不能用同一個網路同時作為線上網路和目標網路?
若用同一個網路,Bellman目標和預測會互相影響。假設網路剛剛提高了Q(s',a')的估計,那麼計算s的目標時會用這個高估的Q值,導致s的目標也被高估,接著這個高估又會影響其他狀態的目標計算。這個反饋迴圈使訓練振盪甚至發散。使用獨立的目標網路(定期複製,但更新慢)就能打破這個循環,目標變得更穩定。
DQN的局限性是什麼?為什麼後來又有雙倍DQN、決鬥DQN等變體?
DQN存在高估(Overestimation)偏差:在max Q(s',a')運算中,選擇最高Q值的動作,如果這些估計都偏高,結果就會系統性地高估。高估導致智能體高估某些不良策略的價值,訓練時傾向採取這些策略,降低性能。雙倍DQN通過解耦動作選擇與評估來解決;決鬥DQN分離狀態價值與優勢估計以降低方差。這些改進逐步解決了DQN的問題。