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 1

Day 1|看 AI 自己學會玩遊戲很有趣,所以我也想試試看

為什麼會有這個系列? 會開始這個專案,其實沒有什麼很複雜的理由。 前陣子我看到 YouTube 頻道 Yosh 的影片。 他的影片主要在做一件很有趣的事情: 用...

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

Day2 | 當 Agent 走進 Atari Breakout:ALE 與 Gymnasium

Day 1 我們談了為什麼想做這個系列,也談到強化學習最後必須回到一個真實的環境裡。今天就讓 Agent 走進 Breakout,看看它究竟看見什麼、可以做什麼...

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

Day 3|當 Agent 按下一個動作之後,環境到底回傳了什麼?

當 Agent 按下一個 action 之後,環境到底回傳了什麼? 在 Atari Breakout 裡,按鍵只是表面上看得到的那一刻。對強化學習來說,一次互動...

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

Day 4|AI 看到的,不再只是一張畫面

Day 3 的時候,我們讓 AI 和 Breakout 互動,並拆開了一次遊戲回傳的資料。 當時 AI 每次拿到的是一張原始遊戲畫面: 210 × 160 ×...

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

Day 5|一步沒有得分,為什麼仍可能是好選擇?

Day 4 讓 Agent 同時看到 Breakout 最近四張畫面。這四張 84 × 84 的灰階畫面組成 (4, 84, 84) / uint8 的輸入,也...

2026-08-19 ‧ 由 tommypan 分享
DAY 6

Day 6|Q-value 一開始不知道,Agent 怎麼把它學出來?

Day 6|Q-value 一開始不知道,Agent 怎麼把它學出來? Day 5 已經說明一件事:一個 action 的價值,不能只看這一步拿到多少 rewa...

2026-08-20 ‧ 由 tommypan 分享
DAY 7

Day 7|`(4, 84, 84)` 進入 CNN 之後,究竟變成了什麼?

Day 6 留下一個很具體的問題:Breakout 的 state 太複雜,已經不可能像小型 toy environment 一樣,替每一種狀態準備一格 Q-t...

2026-08-21 ‧ 由 tommypan 分享
DAY 8

Day 8|從 CNN Features 到四個 Q-values:完成 DQN Network

Day 7 已經把 Breakout 的四張灰階畫面送進 CNN,最後得到長度 3,136 的 feature vector。 Day 8 要補上的,是最後一段...

2026-08-22 ‧ 由 tommypan 分享
DAY 9

Day 9|Experience Replay:把遊戲經驗存起來,再隨機拿回來學

Day 8 已經讓 DQN 能把一個 Breakout 畫面狀態轉成四個 action 的 Q-values。 但「模型會算 Q-value」和「模型真的有辦法...

2026-08-23 ‧ 由 tommypan 分享
DAY 10

Day 10|探索與利用:讓 Agent 不只相信目前最大的 Q-value

Day 8 的 DQN 已經能把一個 Breakout state 轉成每個 action 的 Q-values,Day 9 也把遊戲互動產生的 transit...

2026-08-24 ‧ 由 tommypan 分享