Glosario

Devolución de llamada

Explore el papel esencial de las retrollamadas en el aprendizaje automático: herramientas que supervisan, controlan y automatizan la formación de modelos para mejorar la precisión, la flexibilidad y la eficacia.

En el aprendizaje automático, una llamada de retorno es un script o función automatizada que se ejecuta en momentos específicos durante el proceso de entrenamiento de un modelo. Piense en ello como un conjunto de instrucciones que el marco de entrenamiento sigue en etapas predefinidas, como al principio o al final de una época, un lote de entrenamiento o toda la sesión de entrenamiento. Las retrollamadas proporcionan un potente mecanismo para que los desarrolladores supervisen, controlen y automaticen diversos aspectos del entrenamiento sin necesidad de alterar el código central del modelo o del bucle de entrenamiento. Se trata de herramientas esenciales para crear cadenas de aprendizaje automático (ML) eficientes y sólidas.

Cómo funcionan las devoluciones de llamada

Cuando se entrena a un red neuronal (NN)el proceso consiste en iterar sobre un conjunto de datos durante varias épocas. Un bucle de entrenamiento gestiona este proceso, que incluye la alimentación de datos al modelo, el cálculo del función de pérdiday actualizando el pesos del modelo a través de retropropagación. Las retrollamadas se enganchan a este bucle en eventos específicos. Por ejemplo, un on_epoch_end ejecutará su código precisamente después de que se complete cada época. Esto permite realizar intervenciones dinámicas, como ajustar el ritmo de aprendizajePor ejemplo, guardar la mejor versión de un modelo o detener el entrenamiento antes de tiempo si el rendimiento se estanca. Esta automatización es un elemento clave de un sistema bien estructurado. flujo de trabajo de aprendizaje automático.

Ejemplos prácticos

Las devoluciones de llamada se utilizan ampliamente en diversas tareas de visión por ordenador (VC ) para mejorar los resultados del entrenamiento.

  1. Guardando el Mejor Modelo de Detección de Objetos: Cuando se entrena un modelo YOLO de Ultralytics para la detección de objetos, se puede utilizar un callback ModelCheckpoint. Este callback monitoriza la Precisión Media (mAP) en el conjunto de datos de validación. Guarda las ponderaciones del modelo en un archivo sólo cuando la puntuación mAP mejora en comparación con la mejor puntuación guardada anteriormente, lo que garantiza que se conserva el modelo más preciso. Puede ver el rendimiento de los distintos modelos en nuestra página de comparación de modelos.
  2. Prevención del sobreajuste en la clasificación de imágenes: Imagine que entrena un modelo de clasificación de imágenes en un conjunto de datos complejo como ImageNet. Se puede configurar una llamada de retorno EarlyStopping para monitorizar la pérdida de validación. Si la pérdida de validación no disminuye durante un número determinado de épocas, la llamada de retorno detiene automáticamente el entrenamiento. Esto evita que el modelo se ajuste en exceso a los datos de entrenamiento y ahorra un tiempo de entrenamiento y un coste computacional significativos. Puede obtener más información sobre las tareas de clasificación de imágenes y cómo implementarlas.

Devoluciones de llamada frente a otros conceptos

Es útil distinguir las devoluciones de llamada de los términos relacionados:

  • Funciones: Aunque una llamada de retorno es un tipo de función, su característica definitoria es que se pasa como argumento a otra función (el bucle de entrenamiento) y es invocada internamente por esa función en un momento determinado. Una función estándar suele ser invocada directamente por el programador.
  • Ganchos: En ingeniería de software, un gancho es un término más general para un lugar en el código que permite insertar lógica personalizada. Las devoluciones de llamada en los marcos de aprendizaje automático son una implementación específica del concepto de gancho, adaptada a los eventos del ciclo de vida de entrenamiento de un modelo.
  • Ajuste de hiperparámetros: Es el proceso de encontrar los hiperparámetros óptimos (como la tasa de aprendizaje o el tamaño del lote) para un modelo. Las devoluciones de llamada pueden ayudar en el ajuste de hiperparámetros, por ejemplo, implementando un programador de tasa de aprendizaje, pero no son el proceso de ajuste en sí mismo. El proceso de ajuste es un procedimiento de búsqueda u optimización de alto nivel.

Ventajas de las devoluciones de llamada

Integrar las devoluciones de llamada en el proceso de formación ofrece varias ventajas significativas:

  • Automatización: Las devoluciones de llamada automatizan tareas repetitivas como guardar modelos, registrar métricas con herramientas como TensorBoard y ajustar parámetros, lo que reduce la necesidad de intervención manual durante las carreras de entrenamiento largas.
  • Flexibilidad y personalización: Permiten a los desarrolladores insertar lógica personalizada en el bucle de entrenamiento sin modificar el código del marco central, lo que permite comportamientos de entrenamiento altamente personalizados. Esto resulta especialmente útil para experimentos complejos o para aplicar técnicas de entrenamiento avanzadas.
  • Eficiencia: Las devoluciones de llamada como la detención anticipada y el ajuste dinámico de la tasa de aprendizaje pueden hacer que el entrenamiento sea más eficiente al ahorrar recursos computacionales y acelerar potencialmente la convergencia del modelo.
  • Conocimiento y supervisión: Proporcionan una visión profunda de la dinámica de entrenamiento al permitir el registro detallado y la visualización de las métricas a lo largo del tiempo, lo que es crucial para la evaluación del modelo.
  • Reproducibilidad: Al estandarizar las acciones realizadas durante el entrenamiento (por ejemplo, criterios de guardado, condiciones de parada), las devoluciones de llamada contribuyen a que los experimentos de aprendizaje automático sean más reproducibles.

Frameworks como Keras y PyTorch Lightning ofrecen amplias colecciones de callbacks integrados e interfaces sencillas para crear callbacks personalizados. Ultralytics también aprovecha los callbacks internamente dentro de sus pipelines de entrenamiento, contribuyendo a la robustez y facilidad de uso de herramientas como Ultralytics YOLO11 y la plataforma Ultralytics HUB. La consulta de la documentación de Ultralytics puede proporcionar ejemplos más específicos relacionados con la formación de modelos YOLO.

Únase a la comunidad Ultralytics

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

Únete ahora
Enlace copiado en el portapapeles