AI debugging data overfitting underfitting performanceAI debugging data overfitting underfitting performance

Evite el sobreajuste y el infraajuste: Guía de depuración de la IA

Mohamed Dhiab

Mucha gente está entusiasmada con el aprendizaje automático, pero no todo el mundo comprende los complejos retos que impiden utilizarlo en la práctica. Aunque los algoritmos de aprendizaje automático sean excelentes para determinadas tareas, pueden tener errores y convertirse en un problema importante. Entre las fuentes de error se encuentran el ajuste excesivo o insuficiente al conjunto de datos utilizado o una función de pérdida no decreciente.

La clave del éxito con Aprendizaje automático es descubrir dónde se producen potencialmente estos errores en los modelos que utilizamos, y rectificarlos antes incluso de que causen un problema.

¿Qué es el sobreajuste?

El sobreajuste describe el fenómeno en el que un modelo de aprendizaje automático aprende los datos de entrenamiento con excesiva precisión, incluidos el ruido y los detalles específicos que contienen. Esto conduce a un rendimiento deficiente con datos nuevos y desconocidos. Aunque un modelo sobreajustado muestra excelentes resultados en los datos de entrenamiento porque prácticamente los ha memorizado, falla al procesar nueva información porque no puede generalizar eficazmente patrones generales.

¿Cuándo se produce el sobreajuste?

El sobreajuste se produce cuando un modelo de aprendizaje automático se entrena con datos de entrenamiento hasta tal punto que aprende no sólo los patrones generales, sino también el ruido irrelevante y las excepciones específicas de estos datos. Esto suele ocurrir si el periodo de entrenamiento es demasiado largo, si el modelo es excesivamente complejo en comparación con la cantidad de datos o si los datos de entrenamiento no son representativos de los casos de uso reales.

Esta descripción recuerda en cierto modo a la preparación de un examen. Sin embargo, la preparación de un examen consiste únicamente en memorizar preguntas de exámenes anteriores, sin desarrollar una comprensión más profunda de la materia.

¿Por qué es problemático el sobreajuste?

El sobreajuste limita la aplicabilidad de un modelo de aprendizaje automático, ya que pierde su capacidad de reaccionar correctamente ante nuevos datos. Un modelo sobreajustado que se fija demasiado en los datos de entrenamiento suele fracasar en tareas del mundo real, porque no puede reconocer patrones generales. Esta falta de flexibilidad conduce a predicciones poco fiables fuera del entorno de entrenamiento, lo que limita significativamente la utilidad del modelo en aplicaciones del mundo real.

Sobreadaptación frente a inadaptación

La siguiente tabla ofrece una comparación clara de la sobreadaptación y la inadaptación. Resume las principales características, causas y efectos de estos dos retos en el campo del aprendizaje automático:

CaracterísticaSobreajusteInsuficiente
DefiniciónAdaptación demasiado precisa a los datos de formación, incluidos el ruido y las excepciones.Insuficiente adaptación a la estructura de los datos de entrenamiento.
CausaUn modelo demasiado complejo, un periodo de formación demasiado largo.Modelo demasiado simple, formación insuficiente.
ProblemaPierde la capacidad de generalizar, predicciones poco fiables.Bajo rendimiento en la formación y los nuevos datos.
ReconocimientoAlta precisión con datos de entrenamiento, pero bajo rendimiento con datos nuevos.Rendimiento deficiente constante.
Comportamiento en los datos de entrenamientoAlto rendimientoBajo rendimiento
Comportamiento ante nuevos datosBajo rendimientoBajo rendimiento

Depuración de modelos de IA

Si no corregimos los modelos que no funcionan bien o son poco fiables, esto puede reducir en gran medida la eficacia del aprendizaje automático en una organización a largo plazo. Del mismo modo, si ignoramos problemas como el sobreajuste o el infraajuste en modelos que no funcionan bien o son impredecibles, esto puede reducir considerablemente la capacidad de una organización para utilizar el ML de forma eficaz a largo plazo.

Esto demuestra lo importante que es depurar correctamente los modelos.

Pero, ¿en qué consiste exactamente la depuración de modelos de IA y en qué se diferencia de la depuración de código?

Depuración de modelos de IA frente a depuración de código

La depuración de modelos de IA consiste en reconocer y corregir errores o incoherencias en los modelos de aprendizaje automático. Requiere un examen exhaustivo de la calidad de un conjunto de datos, la ingeniería de características, la arquitectura del modelo y los procesos y datos de formación para mejorar el rendimiento general.

A diferencia de la depuración de código tradicional, que se centra en encontrar y corregir errores en el código del software, la depuración de modelos de IA se ocupa de las complejas interacciones y patrones de comportamiento de algoritmos entrenados con datos. En la depuración de código, los errores suelen ser únicos y pueden rastrearse directamente hasta una línea o bloque de código.

Sin embargo, la depuración de modelos de IA consiste en comprender cómo interactúan las entradas de datos y las decisiones algorítmicas para producir resultados, lo que puede dificultar el rastreo y el diagnóstico. Además, la depuración de modelos de IA suele requerir conocimientos específicos del ámbito y una comprensión profunda de los datos y algoritmos subyacentes. Factores como la calidad de los datos, la ingeniería de características, la arquitectura de los modelos, los procesos de formación y los conjuntos de datos se analizan para identificar las fuentes de error y mejorar el rendimiento de los modelos.

Depuración de código

  • Localiza y corrige errores en el código del software.
  • Los errores suelen ser únicos y pueden remontarse a líneas concretas.
  • Utiliza IDE y herramientas de depuración como puntos de interrupción y comprobación de variables.

Depuración de modelos de IA

  • Identifica y corrige errores en modelos de aprendizaje automático.
  • Trata interacciones complejas entre datos y algoritmos.
  • Requiere una comprensión de la calidad de los conjuntos de datos, la arquitectura de los modelos y los procesos de formación.
  • Utiliza herramientas como la visualización de datos y el análisis de métricas de rendimiento.
Depuración de modelos de IA frente a depuración de código sobreajuste infraajuste

Depuración del aprendizaje automático: "cómo hacerlo

¿Cómo se depura un modelo de aprendizaje automático?

Búsqueda de errores de cálculo

Empieza siempre con una pequeña muestra de tu conjunto de datos. Se trata de un método de depuración inestimable, como si emprendieras un viaje con un prototipo a escala reducida de tu proyecto. Este enfoque ofrece varias ventajas, ya que le permite probar cada componente de su Aprendizaje automático cuidadosamente para detectar posibles errores e incoherencias.

Reconocer errores en la aplicación del modelo
Al entrenar con un pequeño conjunto de datos, puede identificar rápidamente los errores de implementación que se manifiestan en un comportamiento irregular o en predicciones incorrectas. Tanto si se trata de un error de sintaxis en el código como de un error lógico en el algoritmo, empezar con datos pequeños permite reconocer rápidamente estos problemas y evitar la amenaza de un ajuste insuficiente o excesivo.

Posibles errores durante la aplicación del modelo

  • dimensiones de entrada-salida desajustadas
  • Configuraciones de capa incorrectas
  • Capas que faltan

etc.

Validar el preprocesamiento y la creación de cargadores de datos
El preprocesamiento y la creación de cargadores de datos son pasos cruciales en el proceso de aprendizaje automático que forman la base para el entrenamiento del modelo. El entrenamiento en un conjunto de datos reducido permite analizar estos pasos y garantizar que los canales de conversión de datos funcionan como se espera y que los cargadores de datos entregan paquetes de datos en el formato previsto.

Evaluar el cálculo de pérdidas y métricas
El cálculo de las métricas de pérdidas y evaluación constituye la base del entrenamiento del modelo, guía el proceso de optimización y evalúa el rendimiento del modelo. Al entrenar con una pequeña muestra de datos de entrenamiento, puede verificar la corrección de la implementación de la función de pérdida y los cálculos métricos y asegurarse de que reflejan con precisión el rendimiento del modelo para la tarea en cuestión.

Perfeccionamiento iterativo
Con la información obtenida de los datos de entrenamiento en una pequeña muestra, puede refinar y depurar de forma iterativa su canal de aprendizaje automático. Cada iteración te acerca más a un modelo sólido y fiable, ya que puedes descubrir y corregir posibles fallos que, de otro modo, podrían haber pasado desapercibidos.

Esencialmente, empezar con una pequeña muestra de entrenamiento sirve como piedra de toque para la solidez e integridad de su pipeline para ML y proporciona un enfoque pragmático para la depuración y el refinamiento. A medida que avanza por las complejidades del desarrollo de modelos, recuerde que las pruebas y la validación minuciosas a pequeña escala allanarán el camino hacia el éxito a mayor escala.

Herramientas de seguimiento de experimentos

Las herramientas de seguimiento de experimentos son esenciales para registrar el proceso de desarrollo de modelos. Estas herramientas le ayudan a rastrear hiperparámetros, métricas y otra información relevante para cada experimento. Con estas herramientas, puede comparar fácilmente diferentes modelos, comprender el impacto de los cambios e identificar las configuraciones con mejor rendimiento. Algunas herramientas populares para el seguimiento de experimentos son:

TensorBoard
TensorBoard es un conjunto de herramientas de visualización incluido con TensorFlow que te permite rastrear y visualizar varios aspectos de tus experimentos de aprendizaje automático, incluyendo gráficos de modelos, métricas de entrenamiento e incrustaciones.

MLflow
MLflow es una plataforma de código abierto para gestionar todo el ciclo de vida del aprendizaje automático. Ofrece componentes para realizar el seguimiento de experimentos, empaquetar código en ejecuciones reproducibles y compartir y desplegar modelos.

El uso de herramientas de seguimiento de experimentos permite garantizar la reproducibilidad, controlar el rendimiento de los modelos a lo largo del tiempo y optimizar la colaboración dentro del equipo. Estas herramientas desempeñan un papel importante en la depuración de modelos de aprendizaje automático, ya que proporcionan información sobre el comportamiento de las distintas configuraciones y ayudan a identificar las causas de errores como el ajuste excesivo o insuficiente o comportamientos inesperados.

Seguimiento de experimentos Sobreajuste Depuración de IA

Comprobación de la capacidad de aprendizaje

Una vez más, se recomienda utilizar una pequeña muestra del conjunto de datos de entrenamiento. Asegúrese de que su modelo puede sobrecargar esta pequeña muestra para confirmar su capacidad de captar patrones de los datos.

Convergencia de la pérdida de formación
Controle la pérdida de entrenamiento y busque valores cercanos a cero para el conjunto de datos pequeños, lo que indica que el modelo es capaz de interiorizar patrones a partir de los datos.

Observación de la dinámica de formación
Preste atención a las rápidas fluctuaciones de pérdida en el modelo a lo largo de las épocas, que indican la adaptación del modelo a los detalles más pequeños de los datos.

Si el modelo no sobreajusta, debe aumentar la complejidad o explorar arquitecturas alternativas. Comprobar la capacidad de sobreajuste garantiza que su modelo aprenda patrones de forma eficaz y sienta las bases de un aprendizaje automático sólido.

Evitar el sobreajuste

Es cierto que basándose en 3. deberías asegurarte de que tu modelo es realmente capaz de capturar patrones de los datos y sobreajustar una pequeña muestra, pero: sobreajustar todo el conjunto de entrenamiento y no ser capaz de rendir bien en escenarios del mundo real es un fallo del modelo de IA.

Estrategias para mitigar el sobreajuste

El sobreajuste es un error común en el aprendizaje automático, en el que un modelo aprende a memorizar los datos de entrenamiento en lugar de generalizarlos bien a datos no vistos. El resultado es una pérdida de entrenamiento baja y una pérdida de prueba alta. He aquí algunas estrategias para mitigar el sobreajuste:

Validación cruzada
Divida su conjunto de datos en conjuntos de entrenamiento y validación. Las técnicas de validación cruzada como k-fold cross-validation pueden proporcionar una mejor estimación del rendimiento del modelo en datos no vistos.

Regularización
Las técnicas de regularización, como la regularización L1 y L2, penalizan los grandes valores de los parámetros del modelo y evitan así el sobreajuste.

Descartar
El abandono es una técnica utilizada con frecuencia en redes neuronales en las que se ignoran neuronas seleccionadas al azar durante el entrenamiento. De este modo, se evita la coadaptación de las neuronas y se anima a la red a aprender características más robustas.

Cancelación anticipada
Controla el rendimiento de tu modelo en un conjunto de validación durante el entrenamiento. Cancela el entrenamiento si el rendimiento se deteriora, lo que indica un sobreajuste del modelo.

Simplificación del modelo
A veces, un modelo sencillo puede generalizarse mejor a datos desconocidos. Considere la posibilidad de reducir la complejidad de su modelo reduciendo el número de parámetros o utilizando una arquitectura más sencilla.

Ampliación de datos
Aumente la variedad de sus datos de entrenamiento aplicando transformaciones como girar, reflejar o escalar. Esto puede ayudar a exponer el modelo a una gama más amplia de variaciones en los datos.

Métodos conjuntos
Combinar varios modelos para hacer predicciones. Los métodos de ensamblaje, como bagging y boosting, pueden reducir el sobreajuste promediando las predicciones de varios modelos.

Al aplicar estas técnicas, se asegura de que sus modelos de IA generalizan bien a datos nuevos y no vistos, lo que da lugar a predicciones más fiables y sólidas.

Interpreta y explica tu modelo

Su modelo de aprendizaje automático funciona como una misteriosa caja negra y probablemente le despierte curiosidad por las razones que hay detrás de sus decisiones. Comprender las razones que hay detrás de estas decisiones puede aportar información sobre el problema, el conjunto de datos y los posibles puntos de fallo. La interpretabilidad arroja luz sobre la naturaleza enigmática de nuestros modelos de aprendizaje automático al revelar la lógica que subyace a sus decisiones y proporcionar un contexto valioso. He aquí algunas herramientas explicativas populares utilizadas para interpretar y explicar los modelos de IA:

SHAP (SHapley Additive exPlanations)

Cómo funciona
SHAP es un método basado en la teoría de juegos cooperativos que asigna un valor de importancia a cada característica para una predicción concreta. Proporciona explicaciones para predicciones individuales asignando el resultado de la predicción a diferentes características.

Utilización
Los valores SHAP pueden visualizarse mediante diagramas de resumen, diagramas de fuerzas o diagramas de dependencias y proporcionan información sobre cómo contribuye cada característica a las predicciones del modelo.

Depuración SHAP Sobreajuste

LIME (Explicaciones agnósticas del modelo interpretable local)

Cómo funciona
LIME genera explicaciones localmente fieles para predicciones individuales aproximando modelos complejos mediante modelos sustitutos interpretables en torno a la predicción de interés. El objetivo es comprender el comportamiento del modelo en casos concretos.

Utilización
LIME genera explicaciones en forma de ponderaciones de características o explicaciones textuales que permiten al usuario entender por qué se ha hecho una predicción determinada.

Depuración LIME Sobreajuste
Fuente: GitHub

En esta imagen, el método LIME explica la predicción de "gato". Las zonas que más contribuyeron a esta predicción están marcadas en verde, las que menos, en rojo.

Conclusión

La depuración eficaz de los modelos de IA es esencial para su fiabilidad y rendimiento. A diferencia de la depuración de código, este proceso consiste en identificar y corregir interacciones complejas entre datos y algoritmos. Empezar con un pequeño conjunto de datos permite una inspección minuciosa que ayuda a detectar errores, validar el preprocesamiento y evaluar el rendimiento.

Las herramientas de seguimiento de experimentos ayudan a mantener registros y comparar configuraciones. Estrategias como la validación cruzada y la regularización reducen el sobreajuste, garantizan un rendimiento sólido y protegen contra el infraajuste. Interpretar y explicar los modelos aumenta la confianza al proporcionar información. En general, la depuración sistemática, el seguimiento de experimentos y las estrategias de mitigación son cruciales para un rendimiento fiable de los modelos de IA.

¿Tiene alguna pregunta sobre la depuración de IA o desea compartir sugerencias para la guía? Esperamos mantener un intercambio profesional:

    Sobre mí

    Más artículos interesantes

    Chat de documentos Chat de documentos

    Doc Chat: cómo chatear de forma segura y directa con tus documentos

    Imagina poder chatear de forma segura y rápida con documentos sin ni siquiera tener que abrir otra pestaña de Google.

    Leer el artículo
    Integridad de los datos

    Integridad de los datos: la clave del éxito de la automatización

    Los datos se consideran el "oro de la era digital". Se utilizan como moneda, recurso o moneda de cambio y se recopilan en casi todas partes:...

    Leer el artículo

    Tratamiento inteligente de documentos - Definición y aplicaciones

    Muchas empresas buscan nuevas formas de digitalizar documentos y optimizar sus procesos mediante la automatización inteligente.....

    Leer el artículo
    Flecha arriba