Epoch
Aprende qué es una época en aprendizaje automático y cómo influye en el entrenamiento de los modelos. Explora la optimización, evita el sobreajuste y entrena Ultralytics YOLO26 fácilmente.
Una época representa un ciclo completo a través de todo el conjunto de datos de entrenamiento realizado por un algoritmo de aprendizaje automático. Durante este proceso, el modelo tiene la oportunidad de actualizar sus parámetros internos basándose exactamente una vez en cada muestra de los datos. En el contexto del aprendizaje profundo, una sola pasada rara vez es suficiente para que una red neuronal aprenda patrones complejos de forma eficaz. Por tanto, el entrenamiento suele implicar varias épocas, lo que permite al algoritmo de aprendizaje perfeccionar iterativamente su comprensión y minimizar el error entre sus predicciones y la verdad de referencia real.
El 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 orientar estos ajustes. A medida que aumenta el número de épocas, el modelo suele pasar de un estado de error elevado (adivinación aleatoria) a otro de menor error (patrones aprendidos).
Sin embargo, seleccionar el número correcto de épocas es un aspecto crítico del ajuste de hiperparámetros.
- Muy pocas épocas: Esto puede provocar subajuste, ya que el modelo aún no ha capturado la tendencia subyacente de los datos.
- Demasiadas épocas: Esto suele provocar sobreajuste, ya que el modelo memoriza el ruido del entrenamiento en lugar de generalizar a datos nuevos. Para evitarlo, los desarrolladores suelen supervisar el rendimiento con datos de validación y emplear técnicas como la parada temprana para detener el entrenamiento cuando la generalización deja de mejorar.
Época frente a lote frente a iteración#
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:
- Época: Una pasada completa por todo el conjunto de datos.
- Lote: Un subconjunto del conjunto de datos procesado simultáneamente. Como los conjuntos de datos suelen ser demasiado grandes para caber completamente en la memoria de la GPU, 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 necesitan 10 iteraciones para completar una época.
Aplicaciones en el mundo real#
El número de épocas necesario varía considerablemente en función de la complejidad de la tarea y del 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 exploraciones de resonancia magnética, la precisión es primordial. Los modelos entrenados para estas tareas suelen ejecutarse durante cientos de épocas. Este entrenamiento exhaustivo garantiza que la red neuronal convolucional (CNN) pueda distinguir anomalías sutiles que diferencian el tejido maligno del tejido sano, lo que potencialmente puede salvar vidas.
- Conducción autónoma: En el caso de los 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 suele implicar conjuntos de datos masivos como COCO u Objects365. Aunque el tamaño del conjunto de datos es enorme, el modelo sigue necesitando varias épocas para converger hacia una solución que generalice correctamente en condiciones meteorológicas y de iluminación diversas.
Gestión de los ciclos de entrenamiento mediante código#
Al utilizar frameworks modernos como Ultralytics YOLO, definir el número de épocas es un argumento sencillo del comando de entrenamiento. Herramientas como la plataforma Ultralytics pueden ayudar a visualizar las curvas de pérdida de cada época para identificar el punto de parada óptimo.
El siguiente ejemplo muestra cómo establecer el número 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 indica al motor de entrenamiento que recorra el conjunto de datos coco8.yaml 50 veces distintas. Durante cada ciclo, el modelo realiza propagación hacia delante y retropropagación para perfeccionar sus capacidades de detección.









