Appearance
閱讀心得 — micrograd
為什麼 micrograd 如此強大?
Karpathy 用 ~100 行實作了 PyTorch 的核心 autograd 機制。這證明了反向傳播的本質並不複雜,複雜的是工程優化(GPU 並行、記憶體管理、分散式訓練)。
對程式碼風格的觀察
- 極簡主義 — 每個函式只做一件事,沒有多餘的抽象
- 教育優先 — 可讀性 > 效能 > 功能完整性
- 遞迴思考 —
build_topo用 DFS 遞迴遍歷計算圖,優雅且正確 - 閉包(Closure)巧用 — 每個運算的
_backward以閉包形式捕獲所需變數,避免複雜的類別繼承
給自己的提醒
- 理解 micrograd 後,PyTorch 的
backward()不再神秘 - 複雜系統往往來自簡單概念的組合
- 寫教學程式碼時,應該先追求清晰,再追求效率