En el aprendizaje automático (AM), especialmente en el contexto del entrenamiento de modelos de aprendizaje profundo, una época representa una pasada completa de todo el conjunto de datos de entrenamiento a través del algoritmo de aprendizaje. Entrenar modelos es un proceso iterativo en el que el modelo aprende patrones procesando repetidamente los datos. Las épocas son un hiperparámetro fundamental que define el número de veces que el algoritmo trabajará a través de todo el conjunto de datos, permitiendo que el modelo aprenda de cada ejemplo de los datos varias veces.
Explicación de la época
Durante el proceso de entrenamiento, los parámetros internos de un modelo, o pesos, se ajustan en función de los errores que comete en sus predicciones. Este ajuste suele producirse utilizando un algoritmo de optimización como el Descenso Gradiente o sus variantes (por ejemplo, el Optimizador Adam). Una época significa que cada muestra del conjunto de datos de entrenamiento ha tenido la oportunidad de actualizar los parámetros internos del modelo una vez. En el caso de conjuntos de datos grandes, procesar todo el conjunto de datos a la vez es costoso desde el punto de vista informático, por lo que los datos suelen dividirse en trozos más pequeños llamados lotes.
Época vs. Iteración vs. Tamaño del lote
Es importante distinguir una época de los términos relacionados:
- Tamaño del lote: Define el número de muestras procesadas antes de actualizar los pesos del modelo.
- Iteración: Se refiere al número de lotes necesarios para completar una época. Si un conjunto de datos tiene 1000 muestras y el tamaño del lote es 100, entonces una época requiere 10 iteraciones (1000 muestras / 100 muestras por lote = 10 lotes/ iteraciones). Cada iteración implica procesar un lote y actualizar los pesos del modelo.
- Época: Un ciclo completo a través de todo el conjunto de datos de entrenamiento. En el ejemplo anterior, completar 10 iteraciones constituye una época.
Piensa que es como leer un libro: todo el libro es el conjunto de datos, un capítulo es un lote, leer un capítulo es una iteración y leer todo el libro de principio a fin es una época.
Por qué importan las épocas
El número de épocas es un hiperparámetro crítico porque determina cuántas veces aprende el modelo del conjunto de datos completo.
- Pocas ép ocas: Si un modelo se entrena durante muy pocas épocas, es posible que no tenga suficiente exposición a los datos para aprender eficazmente los patrones subyacentes. Esto da lugar a un ajuste insuficiente, en el que el modelo obtiene malos resultados tanto en los datos de entrenamiento como en los datos de prueba no vistos.
- Demasiadas épocas: Por el contrario, entrenar durante demasiadas épocas puede llevar a un sobreajuste. En este caso, el modelo aprende demasiado bien los datos de entrenamiento, incluidos el ruido y los detalles específicos, y pierde su capacidad de generalización a datos nuevos y desconocidos. El modelo puede mostrar una precisión excelente en el conjunto de entrenamiento, pero un rendimiento deficiente en los datos de validación o de prueba.
Encontrar el equilibrio adecuado es clave para conseguir un buen rendimiento y generalización del modelo. Esto suele implicar controlar el rendimiento del modelo en un conjunto de datos de validación independiente durante el entrenamiento.
Determinar el número de épocas
No hay un único número "correcto" de épocas; el valor óptimo depende de la complejidad de los datos, el tamaño del conjunto de datos, la arquitectura del modelo y la tasa de aprendizaje. Los enfoques más comunes son:
- Experimentación: Probar diferentes números de épocas y evaluar el rendimiento.
- Seguimiento de las métricas de validación: Seguimiento de métricas como la pérdida y la precisión en un conjunto de validación. El entrenamiento suele detenerse cuando estas métricas dejan de mejorar o empiezan a degradarse, una técnica conocida como Detención Temprana.
- Ajuste de hiperparámetros: Búsqueda sistemática de los mejores hiperparámetros, incluido el número de épocas, a menudo utilizando herramientas automatizadas o técnicas como las que se encuentran en la Guía de ajuste de hiperparámetrosUltralytics .
Ejemplos reales
- Detección de objetos: Al entrenar un Ultralytics YOLO de Ultralytics, como YOLOv8 o YOLO11en un gran conjunto de datos como COCO, el modelo puede entrenarse durante un número específico de épocas, digamos 100 ó 300. Durante cada época, el modelo procesa todas las imágenes del conjunto de entrenamiento COCO, ajustando sus pesos para predecir mejor los recuadros delimitadores y las etiquetas de clase. Durante cada época, el modelo procesa todas las imágenes del conjunto de entrenamiento COCO, ajustando sus pesos para predecir mejor los recuadros delimitadores y las etiquetas de clase de los objetos. Las plataformas como Ultralytics HUB permiten a los usuarios gestionar fácilmente este proceso de entrenamiento y supervisar el rendimiento a lo largo de las épocas.
- Procesamiento del Lenguaje Natural (PLN): Entrenar un modelo lingüístico de gran tamaño, como BERT, para una tarea como el análisis de sentimientos, implica alimentar grandes cantidades de datos de texto a través del modelo. El entrenamiento puede realizarse en un número reducido de épocas (por ejemplo, de 3 a 10) debido al gran tamaño de los conjuntos de datos y los modelos. Cada época garantiza que el modelo vea todo el corpus de texto una vez, refinando su comprensión de los matices lingüísticos relevantes para el sentimiento. Los marcos como Hugging Face Transformers suelen especificar recuentos de épocas por defecto para el ajuste fino.
Herramientas y marcos
Las épocas son un parámetro estándar en la mayoría de los marcos de aprendizaje profundo:
- PyTorch: Bucles de entrenamiento en PyTorch iteran explícitamente sobre épocas y lotes.
- TensorFlow: APIs de alto nivel como Keras dentro de TensorFlow permiten a los usuarios especificar el número de épocas directamente en la función
fit
método. - Ultralytics HUB: Proporciona una interfaz fácil de usar para el entrenamiento de modelos como YOLO, donde los usuarios pueden configurar fácilmente el número de épocas y supervisar visualmente el progreso del entrenamiento.
Las épocas son una piedra angular del aprendizaje iterativo en ML, equilibrando la necesidad de una exposición suficiente a los datos con los riesgos del sobreajuste. Seleccionar el número correcto de épocas, a menudo a través de una cuidadosa experimentación y supervisión, como se explica en recursos como el curso CS231n de Stanford o el blog Machine Learning Mastery, es clave para construir modelos eficaces. Puedes encontrar más definiciones en recursos como el Glosario de Aprendizaje AutomáticoGoogle .