1.Epoch
Epoch 是指对整个训练数据集进行一次完整的遍历。在一个 epoch 中,模型会看到所有的训练数据并更新权重。通常情况下,为了让模型更好地学习,我们会进行多个 epoch。
e.g.:假设我们有一个包含 1000 个样本的数据集。在一个 epoch 中,模型会遍历这 1000 个样本中的每一个,并根据它们更新模型的权重。
2.Batch
Batch 是指在训练过程中,数据集被分成的多个小批量。由于计算资源的限制,我们通常不能一次将整个数据集输入到模型中,因此我们会将数据集分割成多个小批量,每个小批量(batch)包含一定数量的样本,然后逐个小批量地进行训练。
e.g.:假设我们将 1000 个样本分成每个 batch 包含 100 个样本,那么我们就会有 10 个 batch。
3.Iteration
Iteration 是指模型完成一个 batch 的训练并更新一次参数。一次 iteration 对应于一次模型参数的更新。一个 epoch 中的 iteration 数量等于总样本数除以 batch 的大小。
e.g.:在上面的例子中,假设一个 batch 包含 100 个样本,那么在一个 epoch 中就会有 10 次 iteration(1000 / 100 = 10)。
通过多个 epoch 的训练,模型可以逐渐优化参数,提升性能。