跳到主要內容

從零實作機器學習模型

每一篇都能在瀏覽器裡訓練、拆開、弄壞

沒有 PyTorch,也沒有推論函式庫:卷積、注意力、擴散、SLAM,都用 TypeScript 一行一行寫出來,就跑在你現在開著的這個分頁裡。文章裡的每個數字,都是實際量出來的。

篇文章
10
篇可以動手玩
10
個手寫運算子
30
live · mnist-cnn
約 9,000 個參數的 CNN,正在你的瀏覽器裡執行。沒有伺服器,沒有函式庫。 它是怎麼做到的?

最新文章

0109 分鐘互動

從零打造一個任務排程器

60 個互相等待的任務、4 個 worker、215 行 TypeScript。排程器本身只有四條規則,連任務失敗後重新排進去都算在內;難的是回答「還要多久」。看三條進度條各自怎麼騙你,再用排程器自己去預測,最後讓它從做完的任務裡學。

閱讀全文

筆記索引

依時間排序,新的在上面。

查看全部文章
  1. 0099 分鐘

    沒有人排班的城市:300 個小人各忙各的

    一座程序化生成的 3D 城市,每個小人只看自己的四條需求決定下一件事。把決策換成隨機或固定時程,看整座城市的節奏怎麼變。

    互動#ai-agent#from-scratch

  2. 0086 分鐘

    一邊畫地圖,一邊找自己:從零寫一個 SLAM

    一台沒有 GPS、沒有地圖的小車,怎麼一邊畫地圖、一邊知道自己在地圖上的哪裡。開著它繞一圈,看地圖慢慢歪掉,再在回到起點的那一刻整張彈正。

    互動#ai-agent#robotics#from-scratch

  3. 0079 分鐘

    一團雜訊怎麼長成一顆蘋果:在瀏覽器裡訓練 3D 擴散模型

    選兩種水果,按下訓練。一個從零寫起的擴散模型會在你的瀏覽器裡,學會把一團彩色的 3D 雜訊點,一步一步收成那兩顆水果,連顏色一起。

    互動#generative#diffusion#from-scratch

  4. 0067 分鐘

    把一隻機器狗搬進瀏覽器:它的走路策略只是四次矩陣乘法

    用 MuJoCo 的 WebAssembly 版和 Deep Robotics 公開的走路策略,在瀏覽器裡讓 Lite3 走起來,然後動手把它弄倒:蒙住它的感覺、推它、調壞它的馬達。

    互動#ai-agent#robotics#reinforcement-learning

  5. 0059 分鐘

    一個身體,兩個頭:在瀏覽器裡訓練同時畫框又畫遮罩的 HydraNet

    用 emoji 水果當訓練資料,在瀏覽器裡從零訓練一個共用主幹、兩個輸出頭的小網路。十秒鐘它就找得到水果。然後我們誠實地量一次:多任務學習到底幫了什麼忙,又要付出什麼代價。

    互動#computer-vision#multi-task#from-scratch

  6. 0047 分鐘

    在瀏覽器裡從零訓練一個 Transformer:看注意力自己長出來

    不用 PyTorch,也不用任何函式庫。用 TypeScript 寫一個會自動微分的小引擎、一個一萬多個參數的 Transformer,然後按下按鈕,看它在幾秒內學會把一串數字反過來。

    互動#llm#transformer#from-scratch

這本筆記的作者

我是 Paul。我喜歡把整條路自己走完:邊緣裝置上的感知模型、它產生的軌跡與事件,以及決定接下來要做什麼的代理。

GitHub

電腦視覺
多任務感知網路、teacher / student 蒸餾、Jetson 上的 ONNX / TensorRT。
多代理系統
orchestrator / worker 架構、MCP 工具契約、邊緣與雲端的分工。
LLM
多模態文件理解、結構化輸出、只在事件觸發時才呼叫的 VLM。
邊緣運算
RTSP、GStreamer、WebRTC;Python 太慢的地方用 Rust 與 Kotlin Multiplatform。