了解机器学习中的纪元--它们如何影响模型训练、防止过拟合,以及利用 Ultralytics YOLO 优化性能。
在机器学习(ML)中,一个历元代表整个训练数据集通过学习算法的一次完整传递。它是神经网络(NN)迭代训练过程中的一个基本概念,在这个过程中,模型通过反复查看数据中的示例来学习。历元数是一个关键参数,它决定了模型从整套训练信息中学习的次数,直接影响模型的最终性能和质量。
模型训练的主要目标是让模型从数据中学习模式。实现这一目标的方法是调整模型的内部参数(称为模型权重),使损失函数最小化,损失函数量化了模型预测与实际地面实况之间的误差。在单个epoch期间,模型会处理每个数据样本,而随机梯度下降(SGD)等优化算法会更新这些权重。
对模型进行多次历时训练可以不断改进其参数。从理论上讲,无论是图像分类还是物体检测,每次训练后,模型都能更好地完成任务。这一过程可通过PyTorch或TensorFlow 等流行的深度学习框架进行管理。
这些术语虽然相互关联,但描述的是培训过程的不同方面,因此经常被混淆。
例如,如果一个数据集有 10,000 张图像,而批次大小为 100,那么一个历元将包含 100 次迭代(10,000 张图像/每批 100 张图像)。
选择正确的历元数是超参数调整的关键部分。它需要找到一个平衡点,以避免两个常见问题:
对抗过拟合的一种常用技术是提前停止,即一旦模型在验证集上的性能不再提高,就停止训练。可以使用TensorBoard等工具或Ultralytics HUB 等平台来监控训练进度,后者有助于可视化历时训练指标。
在深度学习应用中,"历时"(epochs)的概念非常普遍。