42 分钟
大模型内核:从经典机器学习到对齐与前沿

把网络训起来:损失、批次、优化器与稳定训练的全套手法

串起一次真实训练的全部旋钮:损失怎么选、批大小与轮次是什么意思、学习率怎么定、SGD 到 Adam 的演进,以及初始化、批归一化、Dropout、早停这些让网络「训得动、不过拟合」的工程手法

  • 理解 Epoch / Batch / Iteration 的区别与 mini-batch 的意义
  • 能按任务选损失函数,理解学习率对训练的决定性影响
  • 说清 SGD、Momentum、Adam 的演进逻辑
  • 掌握初始化、批归一化、Dropout、早停各自解决什么问题

训练循环里的三个基本量

一次完整遍历全部训练数据叫一个 Epoch;为了兼顾稳定和效率,不会一次喂全部样本,而是把数据分成小批 mini-batch,每批做一次前向—反向—更新,一批的大小叫 batch size,处理一批叫一次 iteration。用小批而非单样本,梯度更稳、硬件并行效率更高;比全量数据又更灵活。

一个 mini-batch 的训练步骤

取样

取一小批样本与标签

前向

算预测与该批平均损失

反向

backward 算梯度

更新

优化器走一步,清空梯度

损失函数:训练的「指挥棒」

配对题任务与常用损失对应

学习率:最重要的单个超参数

学习率决定每一步迈多大。太大,损失在谷底来回震荡甚至发散(loss 变成 NaN);太小,收敛极慢、还可能卡在局部洼地。常见做法是从一个较小值开始试,配合学习率调度:前期稍快、后期逐步衰减以精细收敛。调模型时,学习率几乎总是第一个该排查的旋钮。

优化器的演进:从 SGD 到 Adam

优化器演进主线

SGD

沿当前批梯度反方向走一步,简单可靠但会在峡谷震荡、慢

+ Momentum

累积历史方向,像小球带惯性冲过震荡、越过小坑

Adam

同时为每个参数自适应调整步长(一阶矩+二阶矩),默认省心、收敛快

现代变体

AdamW 把权重衰减做对,是训练大模型/Transformer 的常用选择

没有「绝对最强」的优化器:Adam 类省心、前期快,精调的 SGD+Momentum 在某些视觉任务上最终泛化更好;训练 Transformer 普遍用 AdamW。理解它们是在「怎么利用梯度历史」上做文章,比死记参数更重要。

让网络训得稳、不背题的四件套

稳定训练与正则化

合理初始化

权重不能全0、不能过大过小;Xavier/He 初始化让每层信号方差稳定,否则一开始就梯度消失/爆炸

批归一化 BN

对每层输入做标准化,稳定数值分布、允许更大学习率、加速收敛

Dropout

训练时随机「关掉」一部分神经元,逼网络不依赖个别通路,降低过拟合

早停 Early Stop

盯着验证集损失,一旦它不再下降反而回升就停,防止越训越背题

🐍一条诊断主线

训练出问题先看两条曲线:训练损失降不降(不降=欠拟合/学习率/初始化/优化器问题),验证损失跟不跟(跟不住=过拟合,加数据/正则/早停/降复杂度)。这两条曲线贯穿从玩具网络到千亿模型的所有调试。

资深工程师加餐

底层原理 · 大厂视角 · 工程经验,点卡片展开

从线性回归到神经网络,本质都一样:定义一个带参数的函数 fθ(x),用损失函数衡量它和真实答案的差距,再沿梯度方向更新参数。监督、无监督、强化学习的区别,只在「训练信号从哪里来」。先把这套统一视角立住,后面遇到的任何模型都是它的具体实例,就不会被层出不穷的名词淹没。