Epoch
Aprende qué es una época en el aprendizaje automático y cómo afecta al entrenamiento del modelo. Explora la optimización, evita el sobreajuste y entrena Ultralytics YOLO26 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 efectiva. Por lo tanto, el entrenamiento normalmente implica 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 fundamental real.
Link to this sectionEl papel de las épocas en la optimización#
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 de gradiente estocástico (SGD) o el optimizador Adam, utilizan el error calculado durante cada época para guiar estos ajustes. A medida que aumenta el número de épocas, el modelo generalmente pasa de un estado de alto error (adivinación aleatoria) a un menor error (patrones aprendidos).
Sin embargo, seleccionar el número correcto de épocas es un aspecto crítico del ajuste de hiperparámetros.
- Demasiado pocas épocas: Esto puede llevar al subajuste, donde el modelo aún no ha capturado la tendencia subyacente de los datos.
- Demasiadas épocas: Esto a menudo resulta en sobreajuste, donde el modelo memoriza el ruido de entrenamiento en lugar de generalizar a nuevos datos. Para evitar esto, los desarrolladores suelen monitorear el rendimiento en datos de validación y emplear técnicas como la parada temprana para detener el entrenamiento cuando la generalización deja de mejorar.
Link to this sectionÉpoca vs. Lote vs. Iteración#
Es común que los principiantes confundan "época" con términos relacionados. Comprender la jerarquía de estos conceptos es esencial para configurar los bucles de entrenamiento correctamente:
- Época: Una pasada completa a través del conjunto de datos completo.
- Lote: Un subconjunto del conjunto de datos procesado simultáneamente. Debido a que los conjuntos de datos a menudo son demasiado grandes para caber en la memoria GPU de una vez, se dividen en grupos más pequeños definidos por el tamaño del lote.
- Iteración: Una única actualización de los pesos del modelo. Si un conjunto de datos tiene 1.000 imágenes y el tamaño del lote es 100, se necesitarán 10 iteraciones para completar una época.
Link to this sectionAplicaciones en el mundo real#
El número de épocas requerido varía drásticamente dependiendo de la complejidad de la tarea y el tamaño de los datos.
- Análisis de imágenes médicas: En el análisis de imágenes médicas, como la detección de tumores en escáneres de resonancia magnética, la precisión es primordial. Los modelos entrenados para estas tareas a menudo se ejecutan durante cientos de épocas. Este entrenamiento exhaustivo garantiza que la red neuronal convolucional (CNN) pueda discernir anomalías sutiles que distinguen el tejido maligno del tejido sano, lo que potencialmente salva vidas.
- Conducción autónoma: Para vehículos autónomos, los modelos de detección de objetos deben identificar de forma fiable a peatones, señales y otros vehículos. El entrenamiento de estos sistemas robustos generalmente implica conjuntos de datos masivos como COCO o Objects365. Aunque el tamaño del conjunto de datos es enorme, el modelo aún requiere múltiples épocas para converger en una solución que se generalice bien a diversas condiciones climáticas y de iluminación.
Link to this sectionGestión de ciclos de entrenamiento con código#
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 Plataforma Ultralytics pueden ayudar a visualizar las curvas de pérdida a lo largo de cada época para identificar el punto de parada óptimo.
El siguiente ejemplo demuestra 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 argumento epochs=50 instruye al motor de entrenamiento para que recorra el conjunto de datos coco8.yaml 50 veces distintas. Durante cada ciclo, el modelo realiza la propagación hacia adelante y la propagación hacia atrás para refinar sus capacidades de detección.






