跳转至

Tutorial: micrograd

micrograd 是一个极简的自动微分引擎,仅用约 100 行代码就实现了基于动态计算图反向模式自动求导(reverse-mode autodiff),并在其上构建了一个类似 PyTorch 风格的小型神经网络库(约 50 行代码)。 它的核心是 Value 类——一个包装标量数值并记录梯度的"带记忆的数字",所有数学运算都会自动构建一张有向无环图(DAG),从而支持调用 backward() 自动计算偏导数。 在引擎之上,项目提供了 ModuleNeuronLayerMLP 四个抽象,让用户能像搭积木一样组装出多层感知机,并完成诸如二分类等真实训练任务。 虽然由于只支持标量运算导致效率不高,但它直观、易读、麻雀虽小五脏俱全,非常适合用于教学和理解深度学习框架的底层原理。

Source Repository: https://github.com/karpathy/micrograd

flowchart TD
    A0["标量值与自动微分 (Value)
"]
    A1["动态计算图 (DAG)
"]
    A2["反向传播与链式法则 (backward)
"]
    A3["模块基类 (Module)
"]
    A4["神经元 (Neuron)
"]
    A5["神经网络层 (Layer)
"]
    A6["多层感知机 (MLP)
"]
    A0 -- "运算时构建" --> A1
    A2 -- "拓扑排序遍历" --> A1
    A0 -- "提供 backward 方法" --> A2
    A4 -- "继承" --> A3
    A5 -- "继承" --> A3
    A6 -- "继承" --> A3
    A4 -- "用 Value 表示权重" --> A0
    A5 -- "聚合多个神经元" --> A4
    A6 -- "串联多层" --> A5

Chapters

  1. 标量值与自动微分 (Value)
  2. 动态计算图 (DAG)
  3. 反向传播与链式法则 (backward)
  4. 模块基类 (Module)
  5. 神经元 (Neuron)
  6. 神经网络层 (Layer)
  7. 多层感知机 (MLP)

Generated by AI Codebase Knowledge Builder