本系列將從 Atari Breakout 與強化學習基礎出發,使用 PyTorch 從零實作 DQN、Double DQN 與 Dueling DQN,完整記錄環境建置、資料收集、模型訓練、超參數調校、除錯與實驗評估。後半段進一步將模型匯出為 ONNX,比較不同推論方式的效能,並嘗試透過 ONNX Runtime Web / WebGPU 將訓練完成的 AI 部署至瀏覽器,完整走過從模型訓練到實際部署的 AI Engineering 流程。
Day 20 我們已經從 DQN、Double DQN、Dueling Double DQN 三種方案裡,選出了 Dueling Double DQN。 但「選...
Day 21,我們終於把長時間訓練告一段落,留下了最後要用的 Dueling Double DQN。 前面二十多天一直在想一件事:怎麼讓 Agent 學會玩 B...
Day 22,我們已經把訓練好的 PyTorch 模型轉成 ONNX。 乍看之下,好像只差把它丟進瀏覽器就完成了。 但我不太想直接往下衝,因為中間還有一個很基本...
Day 23 已經確認一件很重要的事:把模型從 PyTorch 換成 ONNX Runtime 之後,Agent 的決策沒有跑掉。 接下來自然會想問: 那它到...
Day 24 我已經確認,這個 Breakout 模型做一次決策其實只需要幾毫秒。 接下來我很好奇另一個很常見的最佳化方法:如果把 FP32 換成 FP16,會...
Day 25 我試過 FP16。模型檔案確實變小了,但部分狀態會選到不同動作,而且一次只處理一個遊戲狀態時也沒有比較快。 Day 26 換一個方向:把原本的 O...
前幾天,Breakout Agent 雖然已經訓練完成,也能替四個動作做決定,但大部分事情都還是在 Python 裡完成。 如果最後想把它做成一個「打開網頁就能...