iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
AI Engineering

從零訓練到瀏覽器部署:30 天打造 Atari Breakout 強化學習 AI 系列

本系列將從 Atari Breakout 與強化學習基礎出發,使用 PyTorch 從零實作 DQN、Double DQN 與 Dueling DQN,完整記錄環境建置、資料收集、模型訓練、超參數調校、除錯與實驗評估。後半段進一步將模型匯出為 ONNX,比較不同推論方式的效能,並嘗試透過 ONNX Runtime Web / WebGPU 將訓練完成的 AI 部署至瀏覽器,完整走過從模型訓練到實際部署的 AI Engineering 流程。

參賽天數 27 天 | 共 27 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11|Target Network:別讓 DQN 的學習目標每一步都跟著自己跑

Day 10 已經解決了「Agent 要怎麼在探索與利用之間選 action」。接下來真的開始訓練 DQN 時,還有另一個更麻煩的問題:模型一邊被更新,拿來當作...

2026-08-25 ‧ 由 tommypan 分享
DAY 12

Day 12|完整 DQN Training Loop:一筆遊戲經驗怎麼真的變成學習

前面幾天,我們已經把 DQN 需要的幾個重要零件分開做完了:模型可以輸出 Q-value、Replay Buffer 可以保存經驗、epsilon-greedy...

2026-08-26 ‧ 由 tommypan 分享
DAY 13

Day 13|DQN 不學時怎麼查:先證明程式沒壞,再談超參數

Day 12 之後,DQN 已經能完整跑起來了:Agent 會和 Breakout 互動、把經驗存進 Replay Buffer,也會真的更新模型。 但這裡有一...

2026-08-27 ‧ 由 tommypan 分享
DAY 14

Day 14|先讓訓練值得跑久,再看 100K 的 DQN 到底學到什麼

DAY 13已經回答了一個很重要的問題:目前這套 DQN 訓練程式能不能正常工作? 答案是可以。用來保存過去互動資料的 Replay Buffer 會持續累積經...

2026-08-28 ‧ 由 tommypan 分享
DAY 15

Day 15|DQN 真的變強了嗎?一次評估反而抓出了動作選擇問題

Day 14 把 DQN 訓練到 100K 個環境步數後,曲線開始出現學習跡象,實際遊玩也不再像完全亂按。 但這時候最危險的事情,就是太快把「看起來有進步」當成...

2026-08-29 ‧ 由 tommypan 分享
DAY 16

Day 16|GPU 不是放著就會變快:一次讓多個 Breakout 一起跑

Day 14 留下了一個很反直覺的結果。 我們已經把 Replay Buffer 搬到 GPU,也確認單獨做資料抽樣和 DQN 更新時確實很快;但把整個 Bre...

2026-08-30 ‧ 由 tommypan 分享
DAY 17

Day 17|DQN 為什麼會把自己看得太樂觀?從 `max` 的陷阱到 Double DQN

Day 16 解決的是「怎麼訓練得更有效率」。環境規則固定下來後,我們也選出了後續實驗要使用的向量化訓練方式。 但訓練流程穩定,不代表演算法本身就沒有問題。 D...

2026-08-31 ‧ 由 tommypan 分享
DAY 18

Day 18|DQN vs Double DQN:100K 看得到學習,不代表已經能選模型

Day 17 我們把 DQN 改成 Double DQN。 兩者的 CNN 和模型大小其實一樣,真正不同的是:計算下一個 state 的 Q-value 時,怎...

2026-09-01 ‧ 由 tommypan 分享
DAY 19

Day 19|Dueling Network:先判斷「局面好不好」,再看「哪個動作比較好」

前面的 DQN 每看到一個 Breakout 畫面,都會直接估計四個動作的 Q-value: NOOP → 這時候不動,大概有多好? FIRE → 這時...

2026-09-02 ‧ 由 tommypan 分享
DAY 20

Day 20|DQN、Double DQN、Dueling Double DQN:到底該選誰繼續訓練?

Day 19 做完 Dueling Network 之後,我們手上已經有三個可以正常訓練的 DQN family: DQN Double DQN Dueling...

2026-09-03 ‧ 由 tommypan 分享