nn-zero-to-hero

GitHub
21.2k 3.1k 非常简单 1 次阅读 2天前MIT语言模型开发框架
AI 解读 由 AI 自动生成,仅供参考

nn-zero-to-hero 是一套从零开始系统讲解神经网络原理与实战的开源教程。它通过一系列 YouTube 视频配合 Jupyter Notebook 代码,引导用户亲手编写并训练神经网络,旨在解决初学者面对深度学习时“只懂调用库、不懂底层逻辑”的痛点。

这套课程非常适合具备基础 Python 能力、希望深入理解 AI 内部机制的开发者、学生及研究人员。不同于直接套用现成框架的教学,nn-zero-to-hero 的独特亮点在于“造轮子”式的学习路径:从第一节课仅用纯 Python 构建微型自动微分引擎 micrograd 讲起,逐步过渡到使用 PyTorch 实现字符级语言模型 makemore。课程内容层层递进,涵盖反向传播推导、多层感知机(MLP)、超参数调优、批量归一化(BatchNorm)等核心概念,甚至包含手动推导梯度流动的进阶练习。

通过这种由浅入深、理论与实践高度结合的方式,nn-zero-to-hero 帮助学习者建立对神经网络计算图、梯度流动及优化过程的直观直觉,为后续调试复杂模型或进行算法创新打下坚实基础。无论你是想夯实理论基础,还是渴望看透深度学习黑盒,这都是一份不可多得的入门指南。

使用场景

一名刚入门深度学习的计算机专业学生,试图从零开始构建自己的第一个字符级语言模型,却在复杂的数学推导和框架黑盒中迷失方向。

没有 nn-zero-to-hero 时

  • 理论脱节:虽然背熟了反向传播公式,但面对 PyTorch 等框架的 loss.backward() 黑盒操作,完全无法理解梯度是如何在计算图中实际流动的。
  • 调试盲目:模型训练不收敛时,只能盲目调整学习率或层数,缺乏查看激活值分布、梯度直方图等诊断手段,不知道是网络退化还是梯度消失。
  • 基础薄弱:直接跳进 Transformer 等复杂架构,对张量运算、损失函数计算等底层逻辑一知半解,代码报错时不知从何下手修复。
  • 学习碎片化:在网络教程间跳跃,缺乏从微梯度(micrograd)到多层感知机再到批量归一化的系统性进阶路径,知识体系支离破碎。

使用 nn-zero-to-hero 后

  • 手撕原理:通过 Lecture 1 和 Lecture 5 亲手实现 micrograd 并手动推导反向传播,彻底打通了从标量计算到张量自动求导的逻辑闭环,不再畏惧框架黑盒。
  • 科学诊断:在 Lecture 4 中学会利用可视化工具分析前向激活与反向梯度的统计特性,能精准定位并引入 BatchNorm 解决深层网络训练脆弱的问题。
  • 循序渐进:跟随 makemore 系列课程,从简单的双字模型平滑过渡到带残差连接的现代架构,每一步都扎实掌握了数据加载、训练循环及超参数调优的全流程。
  • 系统构建:依托完整的 Jupyter Notebook 讲义与视频演练,将零散知识点串联成线,具备了独立复现论文模型及排查深层 Bug 的核心能力。

nn-zero-to-hero 通过将抽象的神经网络理论转化为可执行的代码实践,让学习者从“调包侠”真正蜕变为能洞察模型内部机制的算法工程师。

运行环境要求

操作系统
  • 未说明
GPU

未说明 (课程涵盖从零构建微框架 micrograd,后续章节使用 PyTorch,具体 GPU 需求取决于模型规模,入门章节可在 CPU 运行)

内存

未说明

依赖
notes这是一个神经网络教学课程系列,包含 YouTube 视频和 Jupyter Notebook 代码。内容从基础的微框架 (micrograd) 手写开始,逐步过渡到使用 PyTorch 构建大语言模型 (GPT)。部分练习提供 Google Colab 链接,可直接在云端运行而无需本地配置环境。
python未说明 (需具备基础 Python 知识)
torch
jupyter
nn-zero-to-hero hero image

快速开始

神经网络:从零到英雄

这是一门从基础开始讲解神经网络的课程。课程以一系列 YouTube 视频的形式呈现,我们在视频中一起编写代码并训练神经网络。视频中我们构建的 Jupyter 笔记本随后被保存在 lectures 目录下。每节讲座的视频描述中还附有一组练习题。(未来可能会发展成一个更正式的项目)。


第1讲:神经网络与反向传播的详细入门:构建 micrograd

反向传播与神经网络的训练。要求具备基本的 Python 知识,并对高中时期的微积分有模糊的记忆。


第2讲:语言建模的详细入门:构建 makemore

我们实现了一个基于二元语法的字符级语言模型,后续视频将进一步将其复杂化为现代的 Transformer 语言模型,例如 GPT。本视频的重点在于:(1) 介绍 torch.Tensor 及其细微之处,以及如何高效地用于评估神经网络;(2) 语言建模的整体框架,包括模型训练、采样和损失函数的评估(例如分类任务中的负对数似然)。


第3讲:构建 makemore 第二部分:MLP

我们实现了一个多层感知机(MLP)的字符级语言模型。在本视频中,我们还介绍了机器学习的许多基础知识(如模型训练、学习率调优、超参数、评估、训练/验证/测试集划分、欠拟合/过拟合等)。


第4讲:构建 makemore 第三部分:激活值与梯度、批归一化

我们深入探讨了多层 MLP 的内部机制,仔细分析了前向传播中的激活值统计、反向传播中的梯度,以及它们在尺度不当情况下可能出现的一些问题。同时,我们也了解了一些常用的诊断工具和可视化方法,以便更好地理解深度网络的状态。通过这些内容,我们认识到训练深度神经网络的脆弱性,并引入了使这一过程变得更加容易的第一个现代创新技术——批归一化。残差连接和 Adam 优化器则是后续视频中需要进一步探讨的内容。


第5讲:构建 makemore 第四部分:成为反向传播高手

我们以之前视频中的两层 MLP(带批归一化)为基础,手动进行反向传播,而不使用 PyTorch 自动求导模块中的 loss.backward() 函数。也就是说,我们将依次对交叉熵损失、第二层线性层、tanh 激活函数、批归一化层、第一层线性层以及嵌入表进行反向传播计算。在这个过程中,我们能够直观地理解梯度是如何沿着计算图反向流动的,以及在高效的张量层面而非像 micrograd 那样仅在标量层面进行操作。这有助于提升对神经网络优化方式的理解和直觉,从而让你更有信心地对现代神经网络进行创新和调试。

我建议大家先独立完成练习,遇到困难时可以暂停视频,观看我的解答。本视频并非单纯供人观看,而是鼓励大家动手实践。练习链接在此:Google Colab。祝你好运 :)


第6讲:构建 makemore 第五部分:构建 WaveNet

我们以之前的两层 MLP 为基础,通过树状结构使其更深,最终得到一种类似于 DeepMind 在 2016 年提出的 WaveNet 架构的卷积神经网络。在 WaveNet 论文中,同样的层次化架构是通过因果扩张卷积来更高效地实现的(这部分尚未涉及)。在此过程中,我们对 torch.nn 有了更深入的理解,了解它的本质及其底层工作原理,同时也熟悉了典型的深度学习开发流程(大量阅读文档、跟踪多维张量形状、在 Jupyter 笔记本和代码库之间切换等)。


第7讲:让我们从头开始用代码构建 GPT

我们按照论文《Attention is All You Need》以及 OpenAI 的 GPT-2/GPT-3 构建一个生成式预训练 Transformer(GPT)。我们还会讨论它与风靡全球的 ChatGPT 之间的联系。在视频中,我们将看到由 GPT 驱动的 GitHub Copilot 帮助我们编写另一个 GPT(真是元宇宙般的循环啊!)。建议观众先观看前面的 makemore 视频,以便熟悉自回归语言建模框架以及张量和 PyTorch nn 的基础知识,因为这些内容在本视频中被视为理所当然。


第8讲:让我们构建 GPT 分词器

分词器是大型语言模型(LLM)中不可或缺且无处不在的一部分,它负责在字符串和标记(文本片段)之间进行转换。分词器实际上是 LLM 流程中的一个独立阶段:它们有自己的训练数据集、训练算法(字节对编码),并在训练完成后实现两个基本功能:将字符串编码为标记,以及将标记解码回字符串。在本讲座中,我们将从头开始构建 OpenAI GPT 系列所使用的分词器。在此过程中,我们会发现许多 LLM 的奇怪行为和问题实际上都源于分词过程。我们将逐一探讨这些问题,分析为什么分词是罪魁祸首,并思考是否有可能彻底消除这一环节。


持续更新中……

许可证

MIT

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架