Skip to content

閱讀摘要 — micrograd

這是什麼?

micrograd 是 Andrej Karpathy 寫的極簡自動微分(Autograd)引擎,附帶一個小型神經網路庫。

核心數據

項目行數說明
engine.py~100 行Value 類別 + 反向傳播
nn.py~50 行Neuron / Layer / MLP
test_engine.py~60 行與 PyTorch 比對的單元測試
總計~210 行完整可執行的深度學習核心

它能做什麼?

  • 建立計算圖(Computational Graph)
  • 自動計算梯度(反向傳播)
  • 在此之上建構多層感知機(MLP)
  • 訓練二元分類器(在 moon 資料集上可達 100% 準確率)

它不能做什麼?

  • 不支援矩陣運算(只在標量上操作)
  • 不支援 GPU
  • 不適合生產使用

設計哲學

Karpathy 的核心理念:核心演算法其實非常精簡,其餘的程式碼只是為了提升效率。micrograd 用最少的程式碼呈現深度學習的本質。

相關資源