Obtenga información sobre las épocas en el aprendizaje automático: cómo afectan a la formación de modelos, cómo evitan el sobreajuste y cómo optimizan el rendimiento con Ultralytics YOLO.
En el contexto del entrenamiento modelos de inteligencia artificial (IA), una se refiere a una pasada completa de todo el conjunto de datos de entrenamiento a través del algoritmo de aprendizaje. Es una unidad unidad de tiempo fundamental en el redes neuronales (NN), que marca el punto en el que el modelo ha tenido la oportunidad de aprender de cada muestra de los datos proporcionados exactamente una vez. Dado que los modelos de aprendizaje profundo los modelos de aprendizaje profundo rara vez alcanzan un rendimiento óptimo después de ver los datos una sola vez, el entrenamiento suele implicar la repetición de este proceso a lo largo de muchas épocas. repetir este proceso durante muchas épocas para minimizar los errores y refinar los parámetros internos.
El objetivo principal durante una época es ajustar las pesos del modelo para asignar las entradas a las salidas correctas correctas. Durante este proceso, un algoritmo de optimización, como el Stochastic Gradient DescentSGD), calcula el error utilizando una función de pérdida específica y actualiza el modelo interno. función de pérdida y actualiza el estado interno del modelo.
El aprendizaje en una sola pasada suele ser insuficiente porque los conjuntos de datos contienen variaciones complejas y ruido. Al ejecutar múltiples múltiples épocas, el modelo mejora iterativamente su capacidad para realizar tareas como la clasificación o segmentación de imágenes. Este Este perfeccionamiento iterativo permite a la red generalizar patrones a partir de los datos de entrenamiento, en lugar de limitarse a memorizar patrones específicos. datos de entrenamiento en lugar de limitarse a memorizar específicos. Los marcos de aprendizaje profundo como PyTorch y TensorFlow proporcionan mecanismos mecanismos para controlar el bucle de entrenamiento sobre estos ciclos.
Para entender cómo funcionan eficazmente los bucles de entrenamiento, es crucial distinguir entre tres términos estrechamente relacionados a menudo confundidos por los principiantes:
Por ejemplo, si tiene un conjunto de datos de 10.000 imágenes y establece un tamaño de lote de 100, tardará 100 iteraciones en completar una época. completar una época.
Seleccionar el número correcto de épocas es un aspecto crítico de la sintonización de hiperparámetros. de los hiperparámetros. Entrenar durante muy pocos o demasiados ciclos puede conducir a un rendimiento subóptimo.
Para mitigar estos problemas, los ingenieros suelen utilizar una técnica que detiene el entrenamiento cuando la pérdida de validación deja de mejorar, independientemente de las épocas totales especificadas. pérdida de validación deja de mejorar, independientemente del total de épocas especificado. Las herramientas de visualización como TensorBoard se utilizan con frecuencia para supervisar estas métricas en tiempo real. en tiempo real.
El concepto de épocas es universal en varios dominios de aprendizaje dominios de aprendizaje automático.
Al utilizar el ultralytics la especificación del número de épocas es sencilla. La dirección
train() acepta un método epochs que controla el número de veces que el modelo itera
sobre los datos proporcionados.
from ultralytics import YOLO
# Load the YOLO11 model (recommended for latest performance)
model = YOLO("yolo11n.pt")
# Train the model for 50 epochs on the COCO8 dataset
# The 'epochs' argument defines the total passes through the data
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
Este fragmento muestra cómo iniciar una ejecución de entrenamiento en la que el modelo refinará su comprensión del conjunto de datos "coco8" 50 veces. "coco8" 50 veces. Para futuros avances, Ultralytics está desarrollando actualmente YOLO26, que permitirá un entrenamiento de principio a fin con una eficiencia aún mayor. finales de 2025.