Epoch
训练轮次CommonOne complete pass of the model through the entire training set.
An epoch is a unit for measuring training progress. Training data is split into batches, and processing one batch and applying one parameter update is called an iteration (also called a step); once every sample in the training set has been processed once, that's one epoch, so the number of iterations per epoch is roughly the total sample count divided by the batch size. Too few epochs causes underfitting, too many causes overfitting, and early stopping is often used to decide where to stop. Large-model pretraining datasets are so enormous that the data is often passed over only once or a few times, so progress there is more often measured in training steps or tokens seen; small-scale robot demonstration datasets, by contrast, are often trained for many epochs. Reinforcement learning uses the term slightly differently: PPO reuses the same batch of rollout data several times, and each pass is also called an epoch.
ExampleWith 50 demonstrations totaling 20,000 frames and a batch size of 64, one epoch is roughly 313 steps. legged_gym's PPO config trains 5 epochs on each batch of rollout data (num_learning_epochs = 5).
- Also called
- Training Epoch
- Related
- Batch Size · Gradient Descent · Early Stopping · Overfitting · Underfitting · Proximal Policy Optimization
- Sources
- Google Machine Learning Glossary
GeeksforGeeks: Epoch in Machine Learning
legged_gym: legged_robot_config.py (num_learning_epochs = 5)