训练循环
神经网络学习的核心流程——前向传播算预测、损失函数量化误差、反向传播算梯度、更新参数,四步一轮反复执行直到收敛。就像练字帖:写一遍→对比差距→分析哪里歪→下一遍调整。
一句话版本
前向传播 → 算损失 → 反向传播 → 更新参数,四步一轮,重复直到模型学会。
四步节拍
每一次训练迭代包含四个步骤:
- 前向传播:把数据喂进网络,算出预测值
- 计算损失:用损失函数量化"预测离真实答案差多远"
- 反向传播:用链式法则算出每个参数的梯度
- 更新参数:沿梯度反方向调整参数,w←w−α⋅∂w∂L
四步走完算"一步(step)"。把这一步重复成千上万次,损失一点点减小,模型一点点学会。
为什么重复有效
每一步只调整一点点(由学习率控制),但方向是对的(由梯度指引)。就像练投篮——每次投完根据落点调整姿势,投一万次后命中率自然提高。
代码中的训练循环
在 PyTorch 中,训练循环就是一个 for 循环,循环体内依次调用 model(x)(前向)、criterion()(损失)、loss.backward()(反向)、optimizer.step()(更新)。