神经网络从零开始怎么学:7 个 Jupyter Notebook 带你手写反向传播和语言模型
2026/9/5 18:31:51 网站建设 项目流程

神经网络从零开始怎么学:7 个 Jupyter Notebook 带你手写反向传播和语言模型

【免费下载链接】nn-zero-to-heroNeural Networks: Zero to Hero项目地址: https://gitcode.com/GitHub_Trending/nn/nn-zero-to-hero

跟教程学过几次神经网络,代码能跑通,反向传播却仍然像黑盒?这个仓库就是 Karpathy 课程《Neural Networks: Zero to Hero》的配套代码,用 7 个 Jupyter Notebook 从零手写反向传播、字符级语言模型和卷积网络,每一步都能直接运行验证,适合想真正搞懂原理的初学者。

🎯 价值定位

这是"Neural Networks: Zero to Hero"课程的代码仓库,7 个 notebook 覆盖标量求导、微型自动求导、bigram 与 MLP 语言模型、BatchNorm、手写反向传播和类 WaveNet 卷积网络,每节视频都配可运行代码。它适合有 Python 基础、想弄清反向传播和语言模型怎么训练的人。

📋 开始前准备

  • 环境:装好 Python 和 PyTorch,并能在 Jupyter 中运行 .ipynb 文件
  • 数学:会基本微积分,知道求导和链式法则即可,不需要更深
  • 语言:熟悉 Python 基本语法,能读懂列表推导和字典
  • 工具:会用 Jupyter Notebook 逐格运行代码
  • 顺序:先完成 micrograd 的两个 notebook,再进入 makemore 系列

🗺️ 内容地图

micrograd:手写反向传播的两个 notebook

  • 讲什么:从手推函数求导、数值微分验证,到逐步搭出一个微型 autograd 引擎,分上下两集
  • 适合谁:只学过 Python、想彻底理解求导和梯度流动的人
  • 入口文件:micrograd_lecture_first_half_roughly.ipynb、micrograd_lecture_second_half_roughly.ipynb

makemore 前 3 篇:bigram 到 BatchNorm

  • 讲什么:先实现 bigram 字符级语言模型并理解 torch.Tensor,再升级成 MLP 模型学习训练、学习率与数据集划分,最后检查激活值与梯度统计并加入 BatchNorm
  • 适合谁:跑完 micrograd、想用 PyTorch 训练第一个语言模型的人
  • 入口文件:makemore_part1_bigrams.ipynb、makemore_part2_mlp.ipynb、makemore_part3_bn.ipynb

makemore 后 2 篇:手写反传与卷积网络

  • 讲什么:不调用框架自动求导,手动沿嵌入表、tanh、BatchNorm、两层线性反向传播;再把两层 MLP 加深成类 WaveNet 的树状卷积结构,并附训练性能记录
  • 适合谁:已会 PyTorch 基础、想看懂梯度如何逐层流动的人
  • 入口文件:makemore_part4_backprop.ipynb、makemore_part5_cnn1.ipynb

🧭 推进路线

  1. 跑通 micrograd 上集 notebook,用数值微分验证手算导数一致
  2. 完成 micrograd 下集 notebook,写出可自动求导的微型 autograd 引擎
  3. 训练 makemore 第 1 篇 的 bigram 模型,确认损失曲线持续下降
  4. 做完 第 2、3 篇,得到一个 MLP 模型,并学会用激活值统计诊断网络健康度
  5. 进入 第 4、5 篇,手动反传一遍再加深网络,在 notebook 里记下 train/val 损失变化

⚠️ 避坑清单

  • 训练 loss 不下降或发散→先调小学习率,再检查数据读取和梯度更新是否正确
  • 训练集 loss 低、验证集 loss 高(过拟合)→缩小模型或加大正则
  • 深层网络训练不稳、梯度忽大忽小→检查各层激活值与梯度统计,引入 BatchNorm
  • 手写反向传播结果对不上→逐层核对导数公式,从 loss 开始一层一层推
  • 多维张量 shape 对不上→在每层显式打印张量形状再对齐

🧰 技术栈一览

  • Python:全部课程代码的语言
  • Jupyter Notebook:7 个 .ipynb 的运行环境
  • PyTorch:makemore 系列的深度学习框架,含 torch.Tensor 与 nn
  • NumPy:micrograd 系列的科学计算
  • Matplotlib:micrograd 系列中的函数与梯度可视化

clone 仓库后,先打开 micrograd 第一个 notebook,逐格运行,从函数图像开始看起。

【免费下载链接】nn-zero-to-heroNeural Networks: Zero to Hero项目地址: https://gitcode.com/GitHub_Trending/nn/nn-zero-to-hero

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询