Epoch 指将整个训练数据集完整地通过模型一次。一个 epoch 包含了所有训练样本(data)的完整迭代。

Batch 是训练过程中使用的数据子集。一个 epoch 可以分成多个 batch, 每个 batch 用于一次参数更新 。使用 batch 的原因是一次处理整个数据集可能会占用过多内存,尤其是在大型数据集的情况下。

“每个 batch 用于一次参数更新”这一点非常重要,这意味着一个 batch 中所有的样本都面对的是相同的参数。训练中一个 batch 积累的梯度会统一更新参数。