术语表

纪元

通过Ultralytics YOLO 了解机器学习中的历元--它们如何影响模型训练、防止过度拟合并优化性能。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

在机器学习领域,尤其是在训练神经网络时,"历元 "是一个基本概念,它标志着整个训练数据集的一次完整传递。了解历元对于掌握模型如何随时间学习和改进至关重要。它是一个关键的超参数,决定了训练过程的持续时间,并对模型性能产生重大影响。

了解机器学习中的时代

一个历元代表神经网络在整个训练数据集上训练的一个完整周期。在一个历元期间,模型会对训练数据集中的每个数据点进行一次观察。例如,如果训练数据集包含 1,000 张图像,一个历元意味着模型在训练过程中将处理所有 1,000 张图像一次。

历时是必不可少的,因为它允许模型从数据中迭代学习。在每个历元中,模型都会根据上一个历元的误差调整其内部参数 (weights and biases)。这一调整过程通常由亚当优化器随机梯度下降(SGD)优化算法驱动,有助于模型最小化损失函数,并逐步提高其准确性。

时代在模型训练中的重要性

用于训练模型的历元数是一个关键的超参数,直接影响模型的学习曲线和最终性能。训练的历元数太少可能会导致拟合不足,即模型无法学习到数据中的基本模式,从而在训练数据和验证数据上都表现不佳。相反,过多的历时训练可能会导致过拟合,即模型过于专注于训练数据,在未见过的数据上表现不佳,从而无法有效泛化

寻找合适的历元数通常需要在训练过程中监测模型在验证集上的性能。K-Fold 交叉验证等技术也有助于评估最佳epoch次数,因为它能在不同数据子集中对模型性能做出更可靠的估计。TensorBoardWeights & Biases等工具对于可视化训练进度和确定何时停止训练以防止过拟合或欠拟合非常有价值。

历时、迭代和批量大小

重要的是要将历元与迭代和批量大小等相关术语区分开来。一个历元是对整个训练数据集的一次完整处理,而一次迭代则是对一批训练示例的一次处理。批量大小决定了每次迭代处理的训练示例数量。

例如,如果数据集包含 1,000 张图像,而批次大小设置为 10,则每次迭代将包含 100 次迭代(1,000 张图像/每批 10 张图像 = 100 次迭代)。在每次迭代中,模型会处理 10 幅图像,计算误差并更新模型参数。经过 100 次迭代后,模型就完成了一次迭代,将所有 1000 张图像都看了一遍。

理解这种关系对于高效训练至关重要,尤其是在处理无法一次性放入内存的大型数据集时。批量大小和每个历元的迭代次数是训练框架中可配置的参数,例如 PyTorch等训练框架中的可配置参数,而Ultralytics YOLO 正是基于这些参数构建的。

纪元在现实世界中的应用

纪元是训练任何深度学习模型的基础,其应用遍及各个领域。下面是几个例子:

  1. Ultralytics YOLO 物体检测在训练 Ultralytics YOLOv8对象检测模型时,需要定义在数据集上训练模型的历时次数。例如,在农业计算机视觉的水果检测等场景中,您可以对YOLO 模型进行 100 次历时训练。这意味着该模型将对整个水果图像数据集进行 100 次训练,学会准确识别和定位图像中的水果。Ultralytics HUB 平台简化了这一过程,允许用户在训练过程中轻松设置和管理历元。

  2. 医学图像分析:医学图像分析中,epoch 对训练模型以检测医学扫描中的疾病或异常情况至关重要。例如,要训练一个模型来检测脑肿瘤核磁共振成像图像中的肿瘤,就需要设置一定数量的epoch。每个纪元都能确保模型在整个核磁共振扫描数据集中不断完善其识别指示肿瘤的微妙模式的能力,从而在连续的纪元中提高诊断准确率。

总之,epoch 是深度学习训练过程的基石。它们代表了训练数据的完整学习周期,仔细管理它们的数量对于实现最佳模型性能以及避免过拟合和欠拟合等常见陷阱至关重要。通过了解epochs,从业者可以更好地控制和优化人工智能模型的训练,以适应现实世界中的各种应用。

阅读全部