神经网络与训练
神经元叠成一张网,再让它自己「学」——「训练」到底在做什么?
一个神经元不够,那就织一张网
前两课,我们把那台猜水果的机器从零造了出来:第 7 课造好神经元(加权求和 + 偏置 + 激活), 第 8 课给它装上激活函数,让多层叠起来真正有了表达能力。可到现在,我们手里始终是零件—— 这一课,把零件正式拼成整机:神经网络,再讲清楚它是怎么「学」会本事的。
先回顾一个已经见过的拼法。第 7 课末尾,我们给每种水果配一个神经元、并排站成一排, 再用 softmax 把它们的分数压成一组概率——这「一排神经元」,就是一层(layer)。 下面这台就是那一层,转旋钮再感受一下:
关键的一步来了:把前一层的输出,当作后一层的输入,一层接一层叠下去——这就是神经网络。 最前面接收原始特征的叫输入层,最后给出答案的叫输出层,夹在中间、不直接和外界打交道的,统称隐藏层。
整张网络,其实是「一个带参数的大函数」
别被那张网吓住。从头到尾看一遍:输入 进来,每一层做的都是同一件事—— 先来个线性变换 ,再过一道激活函数,把结果交给下一层。整张网络不过是这套动作重复几次:
换句话说,整张网络就是一个大函数:喂它一组特征,它吐出一个预测 。 而函数的「脾气」全由那一大堆权重 和偏置 决定—— 它们合在一起,记作 ,就是网络的参数。
参数有多少?数一数上面那张小网(4 → 5 → 5 → 4):第一层权重 个、偏置 5 个; 第二层 + 5;第三层 + 4——加起来 79 个参数。 这么小的网就有近百个旋钮;GPT-3 则有 1750 亿 个。
网络的全部「本事」,就藏在这堆参数 里。结构(多少层、多少神经元)定下了它能表达多复杂的规律;而具体表达成什么样、是会认水果还是会写诗, 完全取决于这些数取什么值。换一组参数,就是换一套判断规则。
「训练」:把参数交给数据去定
网络刚出生时,参数是随机的——这时喂它一个苹果,它多半瞎猜「30% 像香蕉」。 所谓训练(training),就是拿一大批已知正确答案的例子(带标签的数据), 一点一点地微调参数,让网络的预测越来越贴近真实答案。
打个比方:第 7 课你手动把颜色的权重调大、把门槛挪到 2.4,是为了让那台机器「分对」手里的水果。 训练做的是同一件事,只不过交给机器自动完成、而且面对的是成千上万个例子。它靠的是一个不断重复的循环:
这四步里,每一步都对应着接下来要专门讲的一课——把它们看成一张地图:
- ② 算损失 → 第 10 课《损失函数》:怎么把「错得有多离谱」算成一个可比较的数。
- ④ 更新参数 → 第 12 课《梯度下降与优化器》:知道了往哪走是下坡,一步该迈多大。
- ③ 求梯度 → 第 13 课《反向传播》:怎么高效算出「每个参数该负多大责任」。
最后区分两个常被混淆的词:训练是「调参数」的过程,要用到正确答案、要算损失和梯度,很费算力; 训练完成后,参数就固定下来,拿去对新数据做预测,叫推理(inference)——你平时用 ChatGPT,用的就是它训练好、参数冻住后的样子。
总结
把神经元一层层叠起来、前一层的输出喂给后一层,就成了神经网络:输入层、隐藏层、输出层。 整张网络本质是一个带参数 θ 的大函数,它的全部本事都藏在权重和偏置里。训练,就是拿带答案的数据,靠「前向 → 算损失 → 求梯度 → 更新参数」的循环, 让网络自己把这堆参数调到最好——后面三课,正是把这个循环的每一步拆开细讲。
这一课你建立了全局图景
- 网络结构:层的堆叠;输入层 / 隐藏层 / 输出层;深度与宽度;相邻层全连接。
- 参数 θ:所有权重 W 与偏置 b 的总和,网络的「本事」全在其中。
- 训练:用带标签的数据自动调参,让预测逼近真实答案。
- 训练循环:前向计算 → 算损失 → 求梯度 → 更新参数,重复成千上万次。
- 训练 vs 推理:训练调参、推理用固定参数做预测。
学习小测验
做完这一课,来检测一下核心知识点。选出你的答案后点击「提交」,即可看到正确选项与讲解。
损失函数
训练循环的第②步——网络做出了预测,「错得有多离谱」要怎么变成一个可以比较、可以优化的数?