训练循环

神经网络学习的核心流程——前向传播算预测、损失函数量化误差、反向传播算梯度、更新参数,四步一轮反复执行直到收敛。就像练字帖:写一遍→对比差距→分析哪里歪→下一遍调整。

一句话版本

前向传播 → 算损失 → 反向传播 → 更新参数,四步一轮,重复直到模型学会。

四步节拍

每一次训练迭代包含四个步骤:

  1. 前向传播:把数据喂进网络,算出预测值
  2. 计算损失:用损失函数量化"预测离真实答案差多远"
  3. 反向传播:用链式法则算出每个参数的梯度
  4. 更新参数:沿梯度反方向调整参数,wwαLww \leftarrow w - \alpha \cdot \frac{\partial L}{\partial w}wwαwL

四步走完算"一步(step)"。把这一步重复成千上万次,损失一点点减小,模型一点点学会。

为什么重复有效

每一步只调整一点点(由学习率控制),但方向是对的(由梯度指引)。就像练投篮——每次投完根据落点调整姿势,投一万次后命中率自然提高。

代码中的训练循环

在 PyTorch 中,训练循环就是一个 for 循环,循环体内依次调用 model(x)(前向)、criterion()(损失)、loss.backward()(反向)、optimizer.step()(更新)。