Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Sobreajuste

Aprenda a identificar, prevenir y abordar el sobreajuste en el aprendizaje automático. Descubra técnicas para mejorar la generalización del modelo y el rendimiento en el mundo real.

El sobreajuste es un concepto fundamental en el aprendizaje automático (ML) que se produce cuando un modelo aprende los detalles y el ruido de los datos de entrenamiento hasta el punto de que afecta negativamente al rendimiento del modelo con datos nuevos e invisibles. En esencia, el modelo memoriza el conjunto de entrenamiento en lugar de aprender los patrones subyacentes. Esto da como resultado un modelo que alcanza una alta precisión con los datos con los que se entrenó, pero no logra generalizar a los datos del mundo real, lo que lo hace poco fiable para aplicaciones prácticas. Lograr una buena generalización es un objetivo primordial en el desarrollo de la IA.

Cómo identificar el sobreajuste (overfitting)

El sobreajuste se identifica normalmente supervisando el rendimiento del modelo tanto en el conjunto de datos de entrenamiento como en un conjunto de datos de validación independiente durante el proceso de entrenamiento. Un signo común de sobreajuste es cuando el valor de la función de pérdida para el conjunto de entrenamiento continúa disminuyendo, mientras que la pérdida para el conjunto de validación comienza a aumentar. Del mismo modo, si la precisión del entrenamiento sigue mejorando, pero la precisión de la validación se estanca o empeora con las épocas posteriores, es probable que el modelo esté sobreajustando. Herramientas como TensorBoard son excelentes para visualizar estas métricas y diagnosticar estos problemas de forma temprana. Plataformas como Ultralytics HUB también pueden ayudar a rastrear experimentos y evaluar modelos para detectar el sobreajuste.

Sobreajuste vs. Subajuste

El sobreajuste y el subajuste son dos problemas comunes en el aprendizaje automático que representan el fracaso de un modelo para generalizar. Son, esencialmente, problemas opuestos.

  • Sobreajuste: El modelo es demasiado complejo para los datos (alta varianza). Captura el ruido y las fluctuaciones aleatorias en los datos de entrenamiento, lo que lleva a un excelente rendimiento durante el entrenamiento, pero a un rendimiento pobre en los datos de prueba.
  • Subajuste (Underfitting): El modelo es demasiado simple para capturar la estructura subyacente de los datos (alto sesgo). Tiene un rendimiento deficiente tanto en los datos de entrenamiento como en los de prueba porque no puede aprender los patrones relevantes.

El reto en el aprendizaje profundo es encontrar el equilibrio adecuado, un concepto a menudo descrito por el trade-off entre sesgo y varianza.

Ejemplos del mundo real de sobreajuste

  1. Detección de objetos en vehículos autónomos: Imagine entrenar un modelo Ultralytics YOLO para un vehículo autónomo utilizando un conjunto de datos que solo contiene imágenes de condiciones soleadas y diurnas. El modelo podría llegar a estar muy especializado en la detección de peatones y coches con luz brillante, pero fallar drásticamente por la noche o en condiciones de lluvia o niebla. Se ha sobreajustado a las condiciones específicas de iluminación y clima de los datos de entrenamiento. El uso de conjuntos de datos diversos como Argoverse puede ayudar a evitar esto.
  2. Análisis de imágenes médicas: Se entrena un modelo de CNN para detectar tumores a partir de escaneos de resonancia magnética procedentes de un único hospital. El modelo podría aprender inadvertidamente a asociar artefactos específicos o patrones de ruido de la máquina de resonancia magnética particular de ese hospital con la presencia de un tumor. Cuando se prueba con escaneos de un hospital diferente con una máquina diferente, su rendimiento podría disminuir significativamente porque se ha sobreajustado al ruido del conjunto de entrenamiento original, no a los marcadores biológicos reales de los tumores. Este es un problema crítico en campos como la IA en la atención médica.

Cómo prevenir el sobreajuste (overfitting)

Se pueden emplear varias técnicas para combatir el sobreajuste y construir modelos más robustos.

  • Obtener Más Datos: Aumentar el tamaño y la diversidad del conjunto de datos de entrenamiento es una de las formas más efectivas de prevenir el sobreajuste. Más datos ayudan al modelo a aprender los verdaderos patrones subyacentes en lugar del ruido. Puede explorar una variedad de conjuntos de datos de Ultralytics para mejorar sus proyectos.
  • Aumento de Datos: Esto implica expandir artificialmente el conjunto de datos de entrenamiento creando copias modificadas de los datos existentes. Se aplican técnicas como rotaciones aleatorias, escalado, recorte y cambios de color. Las técnicas de aumento de datos Ultralytics YOLO están integradas para mejorar la robustez del modelo.
  • Simplificar la arquitectura del modelo: A veces, un modelo es demasiado complejo para el conjunto de datos dado. El uso de una arquitectura más simple con menos parámetros puede evitar que memorice los datos. Por ejemplo, elegir una variante de modelo más pequeña como YOLOv8n frente a YOLOv8x puede ser beneficioso para conjuntos de datos más pequeños.
  • Regularización: Esta técnica añade una penalización a la función de pérdida basada en la complejidad del modelo, lo que desalienta los pesos grandes del modelo. Los métodos comunes son la regularización L1 y L2, sobre los que puede leer más aquí.
  • Dropout: Una forma específica de regularización donde una fracción aleatoria de neuronas se ignora durante cada paso de entrenamiento. Esto obliga a la red a aprender representaciones redundantes y evita que una sola neurona se vuelva demasiado influyente. El concepto de Dropout se explica en detalle aquí.
  • Parada Anticipada (Early Stopping): Implica monitorizar el rendimiento del modelo en un conjunto de validación y detener el proceso de entrenamiento tan pronto como el rendimiento de la validación comience a disminuir, incluso si el rendimiento del entrenamiento sigue mejorando. Puede encontrar una explicación de la parada anticipada en Keras para obtener más detalles.
  • Validación Cruzada: Mediante el uso de técnicas como la validación cruzada K-Fold, los datos se dividen en múltiples partes, y el modelo se entrena y se valida en diferentes subconjuntos. Esto proporciona una estimación más sólida de la capacidad del modelo para generalizar.
  • Poda de Modelos: Esto implica eliminar parámetros o conexiones de una red entrenada que tienen poco impacto en su rendimiento, reduciendo así la complejidad. Empresas como Neural Magic ofrecen herramientas que se especializan en la poda de modelos para una implementación eficiente.

Únete a la comunidad de Ultralytics

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

Únete ahora
Enlace copiado al portapapeles