第 2 章 · 地基之二(全书最重要的一章)

神经网络如何学习:训练的本质

上一章说了"学习=调参"。这一章讲透三件事:损失函数(差多远)、梯度下降(怎么调)、反向传播(错误怎么分摊)。这是理解一切深度学习(包括 Transformer)的钥匙,请务必耐心。

2.1 训练的三要素

一次完整的训练需要三样东西,缺一不可:

图 2-1 数据是教材,损失函数是考卷,优化算法是学习方法

数学上,损失函数写作 L(θ):θ 代表模型全部参数。训练就是在"参数空间"里找一个 θ,让 L 最小。这句话值得刻下来:训练 = 最小化损失函数的优化问题。你大学学过的"求极值"思想在这里复活了——只不过参数有几千亿个,没法求导解方程,只能一步一步"走"下去。

2.2 损失函数:预测和真相差多远

损失函数就是一把"误差尺子"。最直观的一种叫均方误差(MSE):把每个样本的(预测值 − 真实值)平方,再取平均。

电力场景对照:MSE 就是你算"预测偏差"的老朋友

假设模型预测明天光伏出力 850 MW,实际 800 MW:
单样本误差 = (850 − 800)² = 2500。平方的意义:① 正负误差不抵消 ② 大误差被放大惩罚——这和你做负荷预测考核"偏差率"的平方惩罚逻辑一模一样。
把所有样本的平方误差加起来取平均,就是整个模型的"平均偏差分":分数越低,模型越好。

分类任务(比如"是否违章")通常换一把尺子:交叉熵(cross-entropy)。直觉上它惩罚的是"自信地答错"——模型说有 99% 把握是违章,结果不是,这把尺子会狠狠扣分;而模棱两可的答错扣分轻。详细公式在附录 B.1,这里记住:分类用交叉熵,回归用均方误差,都是"越小越好"的尺子

2.3 梯度下降:蒙眼下山

有了尺子(损失函数),怎么调参数?答案是梯度下降(gradient descent)——AI 世界最重要的算法,没有之一。

比喻:蒙眼下山

想象你被蒙住眼睛,站在一座大山(损失曲面)上,任务是在天黑前走到最低点(损失最小)。你脚下能感觉到的只有:
哪边是下坡(这一步往哪个方向走,损失会变小)——这就是"梯度"的方向;
迈多大的步子——这就是"学习率";
③ 走完一步,重新感觉坡度,再走下一步——这就是"迭代"。
一步一个脚印,反复走,最终就到谷底了。唯一的问题是别迈太大步(跨过谷底又上坡),也别太小步(天黑都走不到)。

损失曲面(山地剖面) 起点(随机参数,损失大) 谷底(损失最小) 沿"最陡下坡"一步一步走 ↓

图 2-2 梯度下降:每一步都朝着"损失下降最快的方向"移动一小步,反复迭代直到谷底

用数学说:参数更新公式为 θ ← θ − η·∇L(θ)。逐项翻译:

电力场景对照:梯度下降 ≈ 你熟悉的牛顿-拉夫逊迭代

潮流计算里,你没法直接解出节点电压,就猜一组初值,反复用修正方程逼近,直到收敛。梯度下降一模一样:猜初始参数 → 算修正量(梯度)→ 更新 → 再算,直到损失收敛。你当年"迭代求解"的肌肉记忆,在这里直接复用。

2.4 反向传播:错误的责任分摊

梯度下降说要"顺着梯度调每个参数"——但一个大网络有几千亿参数,每个参数该往哪调、调多少,怎么算?这就是反向传播(backpropagation)干的事。

比喻:工厂质检的责任分摊

一条流水线:原料 → A 工序 → B 工序 → C 工序 → 成品。质检发现成品不合格(损失很大)。
责任怎么定?从后往前倒推:C 工序先检讨自己(我的输出误差多少),再判断"我的误差里,有多少是我自己的问题、有多少是上游 B 传给我的";B 再照样往上游推……
每一道工序都领到一份"责任份额",然后各自调整自己的参数。这就是反向传播:从输出端的误差出发,一层层往回,把责任(梯度)分摊给每个参数

图 2-3 正向传播出预测,反向传播摊责任。数学上靠"链式法则"(附录 B.4)保证每一层领到的份额算得准

你不需要会算链式法则——那是附录 B.4 的事。你需要记住的:反向传播让"每层每个参数该往哪调"变得可计算,梯度下降据此更新,二者配合完成一次"学习步"。GPT 的预训练,就是把这两个机制在几千亿参数上反复跑。

2.5 训练全景:批次、轮次、学习率

实际训练时几个常见词的直觉(配合代码示例 02 看效果更佳):

2.6 验证集:模拟考防止死记硬背

第 1 章说过防过拟合。实操上把数据切成三份:

训练集 / 验证集 / 测试集的分工
数据集用途类比
训练集(约 70–80%)用来调参数(练习)练习册
验证集(约 10–15%)训练过程中定期考一考,发现"开始背题了"就停手平时模拟考
测试集(约 10–15%)全部训练结束后,只考一次,评估真实水平最终大考(考完不许再看答案改)

电力行业习惯:把"模型在测试集上的准确率"当验收指标,就好比把"新项目上线的实际表现"当最终考核——过程再漂亮,最终泛化才算数。

2.7 从"训练小网络"到"训练大模型"

你可能想问:ChatGPT 也是这么训练的吗?答案:骨架完全一样,玩法换了

所以:第 2 章的机制 + 海量数据 + 巨大参数 = 大模型的底层引擎。你在这里打的地基,第 4 章会原封不动地复现。

2.8 本章小结

读完本章,问大模型(复制可用)
我刚学完"梯度下降和反向传播",请:
1. 用"光伏功率预测"为例,讲一个完整的训练循环(损失→梯度→更新);
2. 解释学习率太大和太小分别会发生什么;
3. 出 2 道题考我:一道考梯度方向,一道考过拟合,先别给答案。

自测题:打开配套《自测题与思考题》做第 2 章 Q2.1–Q2.5。卡壳时翻附录 A.4(导数直觉)和 B.3、B.4(推导)。