MDP to Q-Learning to DQN (對照表)
這頁用來快速對照:
- 問題建模:MDP, Markov Decision Process
- 小型狀態解法:Q-Learning
- 高維狀態解法:DQN, Deep Q Network
一眼看懂
| 面向 | MDP | Q-Learning | DQN |
|---|---|---|---|
| 角色 | 問題定義框架 | 傳統 value-based 演算法 | 深度 value-based 演算法 |
| 核心想法 | 定義 |
用 Q-table 學 |
用神經網路近似 |
| 狀態空間 | 任意(抽象定義) | 小到中等(離散較佳) | 高維連續(如影像) |
| 動作空間 | 任意(抽象定義) | 常見離散動作 | 常見離散動作 |
| 主要更新 | 無(是建模) | Bellman update | TD target + neural net 反向傳播 |
| 穩定技巧 | 無 | epsilon-greedy | Experience Replay + Target Network |
| 常見限制 | 需符合 Markov 假設 | Q-table 爆炸、泛化差 | 訓練不穩、需要大量資料與調參 |
公式對照
MDP(目標)
最大化長期回報:
Q-Learning(表格更新)
DQN(神經網路目標)
最小化:
演進關係
- MDP:先把問題描述清楚(狀態、行動、獎勵、轉移)
- Q-Learning:在 MDP 上,用表格學每個狀態-行動的價值
- DQN:當表格撐不住時,改用神經網路表示 Q 函數
什麼時候用哪個
- 你在定義 RL 任務 -> 先用 MDP, Markov Decision Process
- 狀態離散且規模小 -> 優先試 Q-Learning
- 狀態高維(像圖像)或表格無法擴展 -> 用 DQN, Deep Q Network
常見誤區
- 把 MDP 當演算法:
- MDP 是「問題框架」,不是訓練演算法
- 直接跳 DQN:
- 先理解 Q-Learning 的 Bellman 更新,DQN 會更好懂
- 忘記探索策略:
- 無論 Q-Learning 或 DQN,都需要 exploration(如 epsilon-greedy)