Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Época (Epoch)

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 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 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.

  • Demasiado pocas épocas: Esto puede conducir a un subajuste, en el que el modelo aún no ha captado la tendencia subyacente de los datos.
  • Demasiadas épocas: esto a menudo da lugar a un sobreajuste, en el que el modelo memoriza el ruido del entrenamiento en lugar de generalizar a nuevos datos. Para evitarlo, los desarrolladores suelen supervisar el rendimiento en los datos de validación y emplean técnicas como la interrupción 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. Dado que los conjuntos de datos suelen ser demasiado grandes para caberse en GPU de una sola 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 1000 imágenes y el tamaño del lote es 100, se necesitarán 10 iteraciones para completar una época.

Aplicaciones en el mundo real

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.

  • Análisis de imágenes médicas: En el análisis de imágenes médicas, como la detección de tumores en resonancias magnéticas, la precisión es fundamental. Los modelos entrenados para estas tareas suelen ejecutarse 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 puede salvar vidas.
  • Conducción autónoma: para los vehículos autónomos, los modelos de detección de objetos deben identificar de forma fiable a los peatones, las señales y otros vehículos. El entrenamiento de estos robustos sistemas suele implicar conjuntos de datos masivos como COCO o Objects365. Aunque el tamaño del conjunto de datos es enorme, el modelo sigue necesitando múltiples épocas para converger en una solución que se generalice bien a diversas condiciones meteorológicas y de iluminación.

Gestión de ciclos de formación 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 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 .

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora