更新于
2026年8月19日
迭代#
术语解释#
在机器学习中,迭代(Iteration)指模型在训练过程中的一次参数更新动作。一次迭代结束时,模型的权重(Weights) 和 偏置(Biases) 会根据当前的损失与学习率被调整一次。
在这个过程中,一次迭代通常包含三个相互配合的过程:
-
前向传播(Forward Pass):把当前 batch 的样本输入网络,逐层计算激活值,最终得到预测并计算损失(Loss)。
-
反向传播(Backward Pass / Backpropagation):从损失出发,按链式法则反向计算每个参数的梯度,
-
参数更新:根据梯度下降等算法,利用反向传播求得的梯度来调整参数,即
$$ \theta \leftarrow \theta - \eta \cdot \nabla_\theta \mathcal{L}(\theta; \mathcal{B}) $$其中 $\mathcal{B}$ 是当前 batch 的样本,$\eta$ 是学习率,$\nabla_\theta \mathcal{L}$ 是损失对参数的梯度。 相关内容可以参见「反向传播与梯度下降:梯度消失与爆炸的解决方法」。
同时,一次迭代处理的样本数量由批量大小(Batch Size) 决定:
-
若
batch_size = 1,则每读入 1 个样本就更新一次参数,即随机梯度下降(SGD) -
若
batch_size = 20,则模型读入 20 个样本、累积梯度后才更新一次参数 -
若
batch_size = N(即等于数据集大小),则全量梯度下降(BGD)
最后,这里需要注意区分几个易混单位:
-
Iteration(迭代):表示模型参数更新一次的过程;
-
Batch(批次):一次迭代过程中处理的样本集合;
-
Epoch(轮次):模型在训练过程中,使用整个数据集完整地进行一次训练(完整「过一遍」)的过程。