AI時代系列(3) 機器學習三部曲: 📘 第三部:《強化學習 —— AI 的決策與進化》
43/100 第五週:📌 Deep Q-Network(DQN)與深度強化學習入門
43.DQN 架構概覽 🏗 輸入狀態 → 神經網路 → 輸出動作 Q 值!
________________________________________
🎯 單元導讀
DQN(Deep Q-Network)是深度強化學習中的經典架構,
它成功將 Q-Learning 搭配神經網路,解決了無法處理高維狀態空間的問題。
從輸入狀態 → 通過神經網路 → 預測每個動作的 Q 值,
DQN 為強化學習注入了強大的感知能力與泛化能力,
成功應用在 Atari 電玩、自駕車、金融交易等多種領域!
________________________________________
🧠 一、DQN 架構的核心流程
整體架構可分為 4 大模組:
觀察輸入 → Q 網路 → 動作選擇 → 經驗學習
🎥 輸入觀察 : 將環境狀態轉換為神經網路可處理的向量(或影像)
🧠 Q 函數逼近 : 用 DNN 輸入狀態,輸出所有動作對應的 Q 值
🎯 動作決策 : 使用 ε-Greedy 政策從 Q 值中選擇動作
📦 經驗回放 : 將 (s, a, r, s') 儲存進 Replay Buffer,供後續訓練
________________________________________
🏗 二、DQN 神經網路結構
🧩 輸入層:
• 通常為環境狀態,如:
o 向量型:位置、速度等(如 [x, y, v])
o 影像型:Atari 畫面(如 84×84 灰階圖)
🔄 隱藏層:
• 多層全連接 / 卷積層(視輸入形式而定)
• 激活函數:ReLU 通常為預設選擇
📈 輸出層:
• 輸出所有合法動作的 Q 值:
Output: [Q(s, a₁), Q(s, a₂), ..., Q(s, aₖ)]
________________________________________
🔁 三、DQN 更新與學習機制
🧪 TD 誤差 → 損失函數 Loss = (r + γ * max Q(s', a')) - Q(s, a)
🎯 Target Network → 使用一份凍結版本的 Q 網路進行目標值計算(穩定訓練)
🧊 Replay Buffer → 儲存過往經驗,隨機抽樣避免資料相關性問題
🎲 ε-Greedy 探索 → 機率 ε 探索隨機動作,其餘時間採最佳行動
________________________________________
📸 四、DQN 架構圖解(簡易示意)
+-------------------+
| 環境觀察 s |
+-------------------+
↓
+-------------------+
| Q-Network (DNN) |
+-------------------+
↓
+-------------------+
| Q(s, a₁), Q(s, a₂), ..., Q(s, aₖ)
+-------------------+
↓
+-------------------+
| 動作選擇 (ε-Greedy) |
+-------------------+
↓
+-------------------+
| 執行動作 a,獲得 r, s'
+-------------------+
↓
+-------------------+
| 儲存進 Replay Buffer
+-------------------+
這是一個簡化版的 DQN (Deep Q-Network) 架構示意圖。首先,智慧體從環境中獲取當前的狀態觀察 s,並將其輸入到深度神經網路(Q-Network)。神經網路輸出對應於該狀態下每個可能行動的 Q 值,即 Q(s, a₁), Q(s, a₂), ..., Q(s, aₖ)。接著,透過 ε-Greedy 策略 決定要採取的行動:大部分時間選擇目前 Q 值最高的行動,少部分時間隨機探索。執行選定動作後,智慧體從環境獲得即時回饋 r 及下一個新狀態 s'。最後,這筆經驗 (s, a, r, s') 會儲存進 Replay Buffer 中,讓後續訓練時能從多樣化歷史經驗中隨機取樣,有效打破資料相關性,提升訓練穩定性。
________________________________________
🧪 五、DQN 實例簡述(以 Atari 為例)
• 輸入:四張連續畫面(預處理為 84x84 的影像)
• 隱藏層:卷積層 + ReLU
• 輸出層:每個方向(上、下、左、右)對應的 Q 值
• 決策策略:ε-Greedy,初期多探索,後期轉向利用
• 學習機制:使用 Replay Buffer + Target Network 提升穩定性
________________________________________
🔍 六、注意事項與挑戰
1️⃣ 梯度爆炸或消失問題
• 選擇合適的激活函數與初始化方式
• 加入 BatchNorm 或 Gradient Clipping
2️⃣ 探索不足 → 陷入局部最優解
• 調整 ε 起始值與遞減策略(如線性下降)
3️⃣ 目標網路同步頻率過高 → 不穩定
• 建議每隔固定步數才更新 Target Network
________________________________________
💡 七、延伸思考與生活類比
1️⃣ Replay Buffer 在生活中的比喻?
👉 像是一個回憶錄,你從過去經驗中回顧並學習,而不是只記當下。
2️⃣ Target Network 的穩定性,像什麼?
👉 像是你不會天天改變人生目標,而是定期評估修正!
________________________________________
✅ 八、小結與啟示
• DQN 是將神經網路導入 Q-Learning 的劃時代架構
• 能處理高維資料、影像、連續輸入等複雜問題
• Replay Buffer、Target Network、ε-Greedy 是三大穩定學習法寶
• 學習過程像人生:觀察 → 評估 → 決策 → 回顧 → 修正,步步成長!