神经网络、前向传播与训练
从一个神经元到整层矩阵,沿数据流看清前向传播,再认识完整训练循环。
一个神经元不够,那就织一张网
前两课,我们把那台猜水果的机器从零造了出来:第 11 课造好神经元(加权求和 + 偏置 + 激活), 第 12 课给它装上激活函数,让多层叠起来真正有了表达能力。可到现在,我们手里始终是零件—— 这一课,把零件正式拼成整机:神经网络,再讲清楚它是怎么「学」会本事的。
先回顾一个已经见过的拼法。第 11 课末尾,我们给每种水果配一个神经元、并排站成一排, 再用 softmax 把它们的分数压成一组概率——这「一排神经元」,就是一层(layer)。 下面这台就是那一层,转旋钮再感受一下:
关键的一步来了:把前一层的输出,当作后一层的输入,一层接一层叠下去——这就是神经网络。 最前面接收原始特征的叫输入层,最后给出答案的叫输出层,夹在中间、不直接和外界打交道的,统称隐藏层。
整张网络,其实是「一个带参数的大函数」
别被那张网吓住。从头到尾看一遍:输入 进来,每一层做的都是同一件事—— 先来个线性变换 ,再过一道激活函数,把结果交给下一层。整张网络不过是这套动作重复几次:
换句话说,整张网络就是一个大函数:喂它一组特征,它吐出一个预测 。 而函数的「脾气」全由那一大堆权重 和偏置 决定—— 它们合在一起,记作 ,就是网络的参数。
参数有多少?数一数上面那张小网(4 → 5 → 5 → 4):第一层权重 个、偏置 5 个; 第二层 + 5;第三层 + 4——加起来 79 个参数。 这么小的网就有近百个旋钮;GPT-3 则有 1750 亿 个。
网络的全部「本事」,就藏在这堆参数 里。结构(多少层、多少神经元)定下了它能表达多复杂的规律;而具体表达成什么样、是会认水果还是会写诗, 完全取决于这些数取什么值。换一组参数,就是换一套判断规则。
前向传播:把节点图翻译成矩阵计算
第 04 课已经会把许多次点积打包成矩阵乘法,第 06 课会读数据轴。现在把工具放回水果机器:输入 x 的四个分量分别是尺寸、颜色、甜度、水分;隐藏层的三个神经元各有一行权重。每一行与同一个 x 做点积,再加自己的偏置,得到三个中间分数。
z₂ = W₂h + b₂: [4,1];W₁: [3,4],W₂: [4,3]
h 是隐藏层传给下一层的表示,z₂ 是四种水果的原始得分 logits,还不是概率。隐藏神经元未必分别表示某个可命名属性;这里的权重只是教学示例,不是训练结果。按输入 → 仿射运算 → 激活 → 下一层这个方向算完一次,就叫前向传播。
| 对象 | 形状 | 轴的意义 |
|---|---|---|
| X | [4,B] | 4 个特征 × B 个样本 |
| W₁ | [3,4] | 3 个隐藏神经元 × 4 个输入 |
| H | [3,B] | 3 个隐藏特征 × B 个样本 |
| Z₂ | [4,B] | 4 个类别 × B 个样本 |
本课沿用数学卷的列向量约定。若框架把样本放在行上,X_row = Xᵀ,同一层写成 X_row W₁ᵀ + b₁,形状为 [B,3];只是存放约定改变,不是另一个模型。
「训练」:把参数交给数据去定
网络刚出生时,参数是随机的——这时喂它一个苹果,它多半瞎猜「30% 像香蕉」。 所谓训练(training),就是拿一大批已知正确答案的例子(带标签的数据), 一点一点地微调参数,让网络的预测越来越贴近真实答案。
打个比方:第 11 课你手动把颜色的权重调大、把门槛挪到 2.4,是为了让那台机器「分对」手里的水果。 训练做的是同一件事,只不过交给机器自动完成、而且面对的是成千上万个例子。它靠的是一个不断重复的循环:
把循环看成接下来章节的地图,而不是现在就背完整求导公式:
- ② 算损失 → 第 15 课《损失函数》:预测与标签的差距怎样变成一个分数。
- ④ 更新参数 → 第 17 课《梯度下降与优化器》:使用梯度决定这一步怎么走。
- ③ 求梯度 → 第 16 课《反向传播》:在计算图上高效计算各参数的梯度。
最后区分两个常被混淆的词:训练是「调参数」的过程,要用到正确答案、要算损失和梯度,很费算力; 训练完成后,参数就固定下来,拿去对新数据做预测,叫推理(inference)——你平时用 ChatGPT,用的就是它训练好、参数冻住后的样子。
数据、参数与超参数,各自负责什么
一个水果是一个样本,尺寸和颜色是特征,已知的水果类别是标签。参数是由训练更新的权重与偏置;超参数是学习率、网络宽度等训练配置。样本、参数、配置不能混为一谈。
训练循环是一张地图:前向计算 → 合适的输出 → 损失 → 反向求梯度 → 优化器更新。验证集留给选配置,测试集留给最后评价;第 19 课展开这三份数据的职责。
总结
神经元组成一个带参数的大函数。先沿前向路径算出预测,再比较标签、计算梯度、更新参数;接下来的章节拆开这个循环,再检查训练稳定性与泛化。
💡 用大白话梳理:这一课的核心直觉
- 网络结构:层的堆叠;输入层 / 隐藏层 / 输出层;深度与宽度;相邻层全连接。
- 参数 θ:所有权重 W 与偏置 b 的总和,网络的「本事」全在其中。
- 训练:用带标签的数据自动调参,让预测逼近真实答案。
- 训练循环:前向计算 → 算损失 → 求梯度 → 更新参数,重复成千上万次。
- 训练 vs 推理:训练调参、推理用固定参数做预测。
学习小测验
动动脑筋:核心直觉小测验(选出你的答案后点击「提交」,即可查看生动通俗的详细解析)
14 Softmax:从得分到概率
先读懂原始得分,再把它变成概率分布;温度改变集中程度,不保证答案正确。