Descubra qué es una época en el aprendizaje automático y cómo afecta al entrenamiento de modelos. Explore la optimización, evite el sobreajuste y entrene Ultralytics con facilidad.
Una época representa un ciclo completo a través de todo el conjunto de datos de entrenamiento por parte de un algoritmo de aprendizaje automático. Durante este proceso, el modelo tiene la oportunidad de actualizar sus parámetros internos basándose en cada muestra de los datos exactamente una vez. En el contexto del aprendizaje profundo, una única pasada rara vez es suficiente para que una red neuronal aprenda patrones complejos de forma eficaz. Por lo tanto, el entrenamiento suele implicar múltiples épocas, lo que permite al algoritmo de aprendizaje refinar iterativamente su comprensión y minimizar el error entre sus predicciones y la verdad real.
El objetivo principal del entrenamiento es ajustar los pesos del modelo para minimizar una función de pérdida específica . Los algoritmos de optimización, como el descenso estocástico del gradiente (SGD) o el Adam , utilizan el error calculado durante cada época para guiar estos ajustes. A medida que aumenta el número de épocas, el modelo suele pasar de un estado de alto error (conjeturas aleatorias) a uno de menor error (patrones aprendidos).
Sin embargo, seleccionar el número correcto de épocas es un aspecto crítico del ajuste de hiperparámetros.
Es habitual que los principiantes confundan «época» con términos relacionados. Comprender la jerarquía de estos conceptos es esencial para configurar correctamente los bucles de entrenamiento:
El número de épocas necesarias varía considerablemente en función de la complejidad de la tarea y del tamaño de los datos.
Al utilizar marcos modernos como Ultralytics YOLO, definir el número de épocas es un argumento sencillo en el comando de entrenamiento. Herramientas como la Ultralytics pueden ayudar a visualizar las curvas de pérdida en cada época para identificar el punto de parada óptimo.
El siguiente ejemplo muestra cómo establecer el recuento de épocas al entrenar un modelo YOLO26:
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Train the model for 50 epochs
# The 'epochs' argument determines how many times the model sees the entire dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
En este fragmento, el epochs=50 El argumento indica al motor de entrenamiento que recorra el ciclo a través del
coco8.yaml conjunto de datos 50 veces distintas. Durante cada ciclo, el modelo realiza
propagación hacia adelante y
retropropagación para perfeccionar sus capacidades de detección
.