深度Q學習 是什麼?
Deep Q-Learning:深度Q學習 的完整解釋
結合深度神經網路與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)基於已知的環境轉移函數。