敬请关注 YOLO Vision 2025!
2025年9月25日
英国夏令时 10:00 - 18:00
混合活动
Yolo Vision 2024
词汇表

Epoch(轮次)

了解机器学习中的 epoch——它们如何影响模型训练、防止过拟合以及通过 Ultralytics YOLO 优化性能。

机器学习 (ML)中,一个 epoch 表示整个训练数据集通过学习算法的完整传递。它是训练神经网络 (NN)的迭代过程中的一个基本概念,模型通过反复查看数据中的示例来学习。epoch 的数量是一个关键参数,它决定了模型将从完整训练信息集中学习多少次,直接影响模型的最终性能和质量。

Epochs 在模型训练中的作用

模型训练的主要目标是使模型能够从数据中学习模式。这是通过调整模型的内部参数(称为模型权重)来实现的,以最小化损失函数,损失函数量化模型预测与实际真实值之间的误差。在单个 epoch 期间,模型处理每个数据样本,并且诸如随机梯度下降 (SGD)之类的优化算法会更新这些权重。

对模型进行多个 epoch 的训练可以使其迭代地优化其参数。理论上,每次迭代后,模型应该在其任务上表现得更好,无论是图像分类还是目标检测。此过程使用流行的深度学习框架(如PyTorchTensorFlow)进行管理。

Epoch、Iteration 与 Batch

虽然相关,但这些术语描述了训练过程的不同方面,并且经常被混淆。

  • Epoch(周期):模型完整地学习一遍整个训练数据集的循环。
  • 批量大小: 单次迭代中使用的训练样本数。由于内存限制,一次处理整个数据集通常是不切实际的。
  • 迭代: 模型权重的一次更新。一次迭代涉及处理一批数据并执行前向和后向传递(反向传播)。

例如,如果一个数据集有 10,000 张图像,并且批量大小为 100,则一个 epoch 将包含 100 次迭代(10,000 张图像 / 每批 100 张图像)。

确定合适的Epoch数量

选择正确的 epoch 数量是超参数调优的关键部分。它涉及到找到一个平衡点,以避免两个常见问题:

一种常见的对抗过拟合的技术是提前停止,即一旦模型在验证集上的性能停止提高,就停止训练。可以使用 TensorBoard 等工具或通过 Ultralytics HUB 等平台来监控进度,这有助于可视化每个 epoch 的训练指标

真实世界的例子

Epoch 的概念在深度学习应用中是通用的。

  1. 自动驾驶:用于自动驾驶汽车目标检测模型在像 Argoverse 这样的大规模数据集上进行训练。该模型(例如 Ultralytics YOLO11)可能会训练 50-100 个 epoch。在每个 epoch 之后,使用像平均精度均值 (mAP)这样的指标来衡量其在验证集上的性能。工程师将从 epoch 中选择提供速度和准确性最佳平衡的模型,然后再进行部署

  2. 医学影像分析:用于脑部扫描中肿瘤检测的模型在专门的医学影像数据集上进行训练。鉴于此类数据集可能很小,因此该模型可能会训练数百个 epoch。为了防止过度拟合,使用了数据增强等技术,并在每个 epoch 之后密切监控验证损失。这确保了最终模型能够很好地泛化到来自新患者的扫描。遵循已建立的模型训练技巧对于在此类关键应用中取得成功至关重要。

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入
链接已复制到剪贴板