轮次(Epoch)
全部训练数据完整过一遍网络就是一个 epoch。1000 条数据、每批 100 条,那么 1 个 epoch = 10 步。通常需要训练几十甚至几百个 epoch,模型才能充分学习数据中的规律。
一句话版本
所有训练数据被网络完整看过一遍 = 一个 epoch。
跟 step 和 batch 的关系
- step(步):用一批数据做一次"前向→损失→反向→更新"
- batch_size:每批多少条数据
- epoch:全部数据过一遍
三者的关系:1 epoch 的步数=batch_size数据总量
例如 1000 条数据、batch_size=100,那么 1 个 epoch = 10 步。训练 5 个 epoch = 共 50 步。
为什么要多个 epoch
一遍往往不够——就像练字帖,把 100 个字全写一遍只是"过了一遍",要写好得练很多遍。每个 epoch 网络都能从同样的数据中学到更精细的模式。
典型值
简单任务可能 10-20 个 epoch 就够,复杂任务(如图像识别、语言模型)可能需要几百个 epoch。训练太多 epoch 可能导致过拟合——模型把训练数据"背下来"了,遇到新数据反而表现差。
引用本术语的文章