00-neural_network 章节设计
背景
当前项目已经包含 docs/01-inference/,用于解释大模型推理过程,也包含若干 Transformer 相关参考文档。为了让初学者在进入推理章节前先理解神经网络的基本工作方式,需要在 01-inference 前新增一章:
text
docs/00-neural_network/这一章不直接讲大语言模型、Transformer、embedding 或 attention,而是先建立神经网络本身的基础心智模型。
目标读者
读者具备以下基础:
- 知道函数、坐标、向量的大概含义。
- 可以接受简单公式,但需要先有中文直觉解释。
- 不要求会矩阵乘法细节。
- 不要求理解微积分或偏导推导。
教学目标
读者学完本章后,应该能够理解:
- 神经网络是一种可以通过训练调整参数的预测函数。
- 输入如何经过神经元、层和激活函数得到预测。
- 损失函数如何衡量预测结果与真实答案的差距。
- 梯度下降为什么可以让参数朝着损失变小的方向更新。
- 反向传播大致如何把错误信号从输出层传回前面的层。
- 一个完整训练循环如何串起前向传播、损失计算、反向传播和参数更新。
非目标
本章暂不覆盖:
- 大语言模型。
- Transformer。
- embedding。
- attention。
- 完整 Python/Numpy 代码实现。
- 复杂矩阵推导。
- 偏导公式推导。
- Adam、动量、学习率调度等优化器细节。
贯穿例子
全章使用一个极小数字例子贯穿:
text
输入:
学习时长 = 2 小时
复习次数 = 1 次
目标:
预测这次小测是否通过这个例子用于解释:
- 输入特征:学习时长、复习次数。
- 输出预测:通过概率,范围为 0 到 1。
- 真实标签:通过记为 1,未通过记为 0。
- 损失:预测值和真实标签之间的差距。
- 参数更新:根据错误调整权重和偏置。
章节结构
01-what-is-neural-network.md
从“预测函数”开始解释神经网络。重点说明模型不是人工规则集合,而是一组可以通过训练调整的参数。
需要覆盖:
- 什么是模型。
- 什么是参数。
- 为什么神经网络可以看成函数。
- 神经网络和普通手写规则的区别。
02-neuron-layer-and-activation.md
解释神经元、权重、偏置、层和激活函数。重点说明一层层计算如何从简单输入形成更复杂的中间表示。
需要覆盖:
- 神经元的基本计算:输入、权重、偏置、输出。
- 多个神经元组成一层。
- 多层网络如何堆叠。
- 激活函数为什么需要引入非线性。
03-forward-pass.md
解释前向传播:输入如何经过网络得到预测。使用“小测是否通过”的例子走一遍。
需要覆盖:
- 输入从第一层流向最后一层。
- 每一层都会把上一层输出变成新的表示。
- 前向传播在训练和使用模型时都会发生。
- 前向传播只负责得到预测,还不知道预测是否正确。
04-loss-function.md
解释损失函数:如何用一个数字衡量预测错得多严重。
需要覆盖:
- 预测值和真实标签。
- 损失越大表示预测越差。
- 损失函数给训练提供明确目标。
- 不展开复杂损失公式,只用小数字展示直觉。
05-gradient-descent.md
解释梯度下降:参数如何朝着损失变小的方向小步调整。
需要覆盖:
- 参数不是一次调对,而是反复小步更新。
- 梯度可以先理解成“让损失变化最快的方向信息”。
- 学习率控制每次更新的步子大小。
- 不推导梯度公式。
06-backpropagation.md
解释反向传播:错误如何从输出层往前传,把每个参数对错误的影响算出来。
需要覆盖:
- 反向传播要解决的问题:怎么知道每个参数该往哪个方向改。
- 输出层先知道预测错了多少。
- 错误信号会沿着前向传播留下的计算关系逐层传回去。
- 每一层根据自己对输出的影响得到更新方向。
- 不推完整偏导公式,但要讲清流程。
07-training-loop.md
把前向传播、损失函数、反向传播和参数更新串成完整训练循环。
需要覆盖:
- 一轮训练的流程。
- 多轮训练为什么能逐步降低损失。
- 参数更新后,同一个输入可能得到不同预测。
- 训练循环的核心闭环是“预测 -> 计算错误 -> 调整参数 -> 再预测”。
08-summary.md
总结本章核心概念,帮助读者在进入后续章节前形成稳定心智模型。
需要覆盖:
- 神经网络是一组可训练参数组成的预测函数。
- 前向传播负责预测。
- 损失函数负责衡量错误。
- 反向传播负责计算参数责任。
- 梯度下降负责更新参数。
- 训练循环让模型逐步变好。
写作策略
每篇文章采用固定节奏:
text
1. 用一句话解释本节概念。
2. 回到“小测是否通过”的贯穿例子。
3. 展示一小段数字、流程或伪代码。
4. 说明这个概念在训练闭环中的位置。
5. 用小结收束。语气和现有 01-inference 保持一致:
- 使用中文直觉解释优先。
- 少量公式可以出现,但必须先解释含义。
- 用
text代码块展示流程。 - 避免把读者引入过深数学推导。
- 每篇文章保持一个清晰主题,不把多个难点混在一起。
篇幅
推荐每篇约 1200 到 1800 字。
这个篇幅足够放下直觉解释、贯穿例子和小结,又不会让 00-neural_network 变成独立的深度学习教材。
验收标准
完成后的章节应满足:
docs/00-neural_network/下包含 8 篇文档。- 每篇文档都围绕同一个贯穿例子展开。
- 不提前引入大语言模型、Transformer、embedding 或 attention。
- 反向传播讲到流程直觉,但不推偏导公式。
- 读者读完后能用自己的话解释训练闭环。
- 文风和
docs/01-inference/保持一致。