训练轮次
Epoch常用模型把整个训练集完整看过一遍,称为一个 epoch。
epoch 是描述训练进度的单位。训练数据被切成若干批次(batch),每处理一个批次、更新一次参数叫一次迭代(iteration,也叫 step);训练集里所有样本都过一遍就是一个 epoch,所以每个 epoch 的迭代数约等于样本总数除以批大小。轮数太少会欠拟合,太多会过拟合,常配合早停决定停在哪。大模型预训练数据量极大,往往只把数据过一到几遍,所以更常用「训练步数」或「看过的 token 数」计量;小规模机器人演示数据则往往要训练很多个 epoch。强化学习里用法稍有不同:PPO 会把同一批推演数据反复利用几遍,每一遍也叫一个 epoch。
例子50 条演示共 2 万帧、批大小 64 时,一个 epoch 约 313 步;legged_gym 的 PPO 配置里每批推演数据训练 5 个 epoch(num_learning_epochs = 5)。
- 也叫
- epoch、轮数、轮
- 相关
- 批大小、梯度下降、早停、过拟合、欠拟合、近端策略优化
- 来源
- Google Machine Learning Glossary
GeeksforGeeks: Epoch in Machine Learning
legged_gym: legged_robot_config.py (num_learning_epochs = 5)