Glosario

Sobreajuste

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

La sobreadaptación es un concepto fundamental en el aprendizaje automático (AM) que se produce cuando un modelo aprende los detalles y el ruido de los datos de entrenamiento hasta tal punto que afecta negativamente al rendimiento del modelo en datos nuevos que no se han visto. En esencia, el modelo memoriza el conjunto de datos de entrenamiento en lugar de aprender los patrones subyacentes. El resultado es un modelo que alcanza una gran precisión en los datos en los que se ha entrenado, pero que no consigue 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

La sobreadaptación suele identificarse controlando el rendimiento del modelo tanto en el conjunto de datos de entrenamiento como en un conjunto de datos de validación separado 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 sigue disminuyendo, mientras que la pérdida para el conjunto de validación empieza 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 en épocas posteriores, es probable que el modelo esté sobreajustado. Herramientas como TensorBoard son excelentes para visualizar estas métricas y diagnosticar estos problemas en una fase temprana. Plataformas como Ultralytics HUB también pueden ayudar a realizar un seguimiento de los experimentos y evaluar los modelos para detectar el sobreajuste.

Sobreadaptación frente a inadaptación

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

  • Sobreajuste: El modelo es demasiado complejo para los datos (alta varianza). Capta el ruido y las fluctuaciones aleatorias de los datos de entrenamiento, lo que da lugar a un rendimiento excelente durante el entrenamiento pero deficiente en los datos de prueba.
  • Ajuste insuficiente: El modelo es demasiado simple para captar la estructura subyacente de los datos ( sesgo alto). Su rendimiento es bajo 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 que a menudo se describe mediante el compromiso sesgo-varianza.

Ejemplos reales de sobreajuste

  1. Detección de objetos en vehículos autónomos: Imagine que se entrena un modelo YOLO de Ultralytics para un vehículo autónomo utilizando un conjunto de datos que sólo contiene imágenes de días soleados. El modelo podría estar altamente 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 adaptado en exceso a las condiciones meteorológicas y de iluminación específicas de los datos de entrenamiento. El uso de conjuntos de datos diversos, como Argoverse, puede ayudar a evitarlo.
  2. Análisis de imágenes médicas: Se entrena un modelo CNN para detectar tumores a partir de resonancias magnéticas procedentes de un único hospital. El modelo puede aprender inadvertidamente a asociar artefactos específicos o patrones de ruido de la máquina de IRM de ese hospital con la presencia de un tumor. Cuando se prueba con escáneres de otro hospital y otra máquina, su rendimiento puede disminuir considerablemente porque se ha sobreajustado al ruido del conjunto de entrenamiento original, no a los marcadores biológicos reales de los tumores. Se trata de un problema crítico en campos como la IA en la sanidad.

Cómo evitar el sobreajuste

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

  • Obtenga más datos: Aumentar el tamaño y la diversidad del conjunto de datos de entrenamiento es una de las formas más eficaces de evitar el sobreajuste. Más datos ayudan al modelo a aprender los verdaderos patrones subyacentes en lugar del ruido. Puede explorar diversos conjuntos de datos de Ultralytics para mejorar sus proyectos.
  • Aumento de datos: Consiste en ampliar artificialmente el conjunto de datos de formación 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 de 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. Utilizar una arquitectura más sencilla 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, desincentivando las grandes ponderaciones del modelo. Los métodos más comunes son la regularización L1 y L2, sobre los que puedes leer más aquí.
  • Abandono: Una forma específica de regularización en la que se ignora una fracción aleatoria de neuronas durante cada paso de entrenamiento. Esto obliga a la red a aprender representaciones redundantes y evita que una sola neurona adquiera demasiada influencia. El concepto de Dropout se explica en detalle aquí.
  • Detención temprana: Esto implica monitorizar el rendimiento del modelo en un conjunto de validación y detener el proceso de entrenamiento tan pronto como el rendimiento de validación comience a disminuir, incluso si el rendimiento de entrenamiento sigue mejorando. Puedes ver una explicación de la detención temprana en Keras para más detalles.
  • Validación cruzada: Mediante técnicas como la validación cruzada K-Fold, los datos se dividen en varios pliegues y el modelo se entrena y valida en diferentes subconjuntos. Esto proporciona una estimación más sólida de la capacidad de generalización del modelo.
  • Poda de modelos: Consiste en 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 especializadas en la poda de modelos para un despliegue eficiente.

Ú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