Guía sobre pruebas de modelos

Introducción

Después de entrenar y evaluar tu modelo, llega el momento de probarlo. Las pruebas de modelos consisten en evaluar su rendimiento en escenarios reales. Estas pruebas consideran factores como la precisión, la fiabilidad, la equidad y la facilidad para comprender las decisiones del modelo. El objetivo es asegurar que el modelo funcione según lo previsto, ofrezca los resultados esperados y encaje en el objetivo general de tu aplicación o proyecto.



Watch: How to Test Machine Learning Models | Avoid Data Leakage in Computer Vision 🚀

Las pruebas de modelos son bastante similares a la evaluación de modelos, pero se trata de dos pasos distintos en un proyecto de visión artificial. La evaluación de modelos implica el uso de métricas y gráficos para valorar la precisión del modelo. Por otro lado, las pruebas de modelos comprueban si el comportamiento aprendido por el modelo coincide con las expectativas. En esta guía, exploraremos estrategias para probar tus modelos de visión artificial.

Pruebas de modelos vs. evaluación de modelos

Primero, entendamos la diferencia entre la evaluación y las pruebas de modelos con un ejemplo.

Supongamos que has entrenado un modelo de visión artificial para reconocer gatos y perros, y quieres desplegar este modelo en una tienda de mascotas para vigilar a los animales. Durante la fase de evaluación del modelo, utilizas un conjunto de datos etiquetado para calcular métricas como la precisión, precision, recall y la puntuación F1. Por ejemplo, el modelo podría tener una precisión del 98% a la hora de distinguir entre gatos y perros en un conjunto de datos determinado.

Tras la evaluación, pruebas el modelo utilizando imágenes de una tienda de mascotas para ver cómo identifica a gatos y perros en condiciones más variadas y realistas. Compruebas si puede etiquetar correctamente a gatos y perros cuando están en movimiento, en diferentes condiciones de iluminación o parcialmente ocultos por objetos como juguetes o muebles. Las pruebas de modelos verifican que el modelo se comporta como se espera fuera del entorno controlado de evaluación.

Preparación para las pruebas de modelos

Los modelos de visión artificial aprenden de los conjuntos de datos detectando patrones, realizando predicciones y evaluando su rendimiento. Estos conjuntos de datos se dividen normalmente en conjuntos de entrenamiento y de prueba para simular condiciones reales. Los datos de entrenamiento enseñan al modelo, mientras que los datos de prueba verifican su precisión.

Aquí tienes dos puntos a tener en cuenta antes de probar tu modelo:

  • Representación realista: Los datos de prueba, que el modelo no ha visto anteriormente, deben ser similares a los datos que el modelo tendrá que manejar cuando se despliegue. Esto ayuda a obtener una comprensión realista de las capacidades del modelo.
  • Tamaño suficiente: El tamaño del conjunto de datos de prueba debe ser lo suficientemente grande como para proporcionar información fiable sobre el rendimiento del modelo.

Cómo probar tu modelo de visión artificial

Estos son los pasos clave para probar tu modelo de visión artificial y comprender su rendimiento.

  • Ejecuta predicciones: Utiliza el modelo para realizar predicciones sobre el conjunto de datos de prueba.
  • Compara predicciones: Comprueba hasta qué punto las predicciones del modelo coinciden con las etiquetas reales (ground truth).
  • Calcula métricas de rendimiento: Calcula métricas como la precisión, el recall y la puntuación F1 para entender los puntos fuertes y débiles del modelo. Las pruebas se centran en cómo reflejan estas métricas el rendimiento en el mundo real.
  • Visualiza los resultados: Crea ayudas visuales como matrices de confusión y curvas ROC. Estas te ayudan a detectar áreas específicas en las que el modelo podría no estar funcionando bien en aplicaciones prácticas.

A continuación, se pueden analizar los resultados de las pruebas:

  • Imágenes mal clasificadas: Identifica y revisa las imágenes que el modelo clasificó incorrectamente para entender dónde está fallando.
  • Análisis de errores: Realiza un análisis de errores exhaustivo para comprender los tipos de errores (p. ej., falsos positivos frente a falsos negativos) y sus posibles causas.
  • Sesgo y equidad: Comprueba si existen sesgos en las predicciones del modelo. Asegúrate de que el modelo funcione igual de bien en los diferentes subconjuntos de datos, especialmente si incluye atributos sensibles como la raza, el género o la edad.

Cómo probar tu modelo YOLO26

Para probar tu modelo YOLO26, puedes utilizar el modo de validación. Es una forma sencilla de comprender los puntos fuertes del modelo y las áreas que necesitan mejoras. Además, tendrás que formatear correctamente tu conjunto de datos de prueba para YOLO26. Para más detalles sobre cómo utilizar el modo de validación, consulta la página de documentación de Model Validation.

Uso de YOLO26 para realizar predicciones sobre múltiples imágenes de prueba

Si quieres probar tu modelo YOLO26 entrenado con varias imágenes almacenadas en una carpeta, puedes hacerlo fácilmente de una sola vez. En lugar de utilizar el modo de validación, que se emplea normalmente para evaluar el rendimiento del modelo en un conjunto de validación y proporcionar métricas detalladas, puede que solo quieras ver las predicciones de todas las imágenes de tu conjunto de prueba. Para esto, puedes utilizar el modo de predicción.

Diferencia entre los modos de validación y predicción

  • Validation Mode: Se utiliza para evaluar el rendimiento del modelo comparando las predicciones con etiquetas conocidas (ground truth). Proporciona métricas detalladas como precisión, recall y puntuación F1.
  • Prediction Mode: Se utiliza para ejecutar el modelo sobre datos nuevos y no vistos para generar predicciones. No proporciona métricas de rendimiento detalladas, pero permite ver cómo funciona el modelo con imágenes reales.

Ejecución de predicciones con YOLO26 sin entrenamiento personalizado

Si te interesa probar el modelo básico YOLO26 para saber si se puede utilizar para tu aplicación sin necesidad de un entrenamiento personalizado, puedes usar el modo de predicción. Aunque el modelo está preentrenado con conjuntos de datos como COCO, ejecutar predicciones con tu propio conjunto de datos puede darte una idea rápida de cómo podría funcionar en tu contexto específico.

Sobreajuste (overfitting) y subajuste (underfitting) en Machine Learning

Al probar un modelo de machine learning, especialmente en visión artificial, es importante vigilar el sobreajuste y el subajuste. Estos problemas pueden afectar significativamente al funcionamiento de tu modelo con datos nuevos.

Sobreajuste (overfitting)

El sobreajuste ocurre cuando tu modelo aprende demasiado bien los datos de entrenamiento, incluyendo el ruido y los detalles que no se generalizan a datos nuevos. En visión artificial, esto significa que tu modelo podría funcionar de maravilla con imágenes de entrenamiento pero tener dificultades con imágenes nuevas.

Señales de sobreajuste

  • Alta precisión en el entrenamiento, baja precisión en la validación: Si tu modelo funciona muy bien con los datos de entrenamiento pero mal con los datos de validación o test data, es probable que esté sobreajustado.
  • Inspección visual: A veces, puedes detectar el sobreajuste si tu modelo es demasiado sensible a pequeños cambios o detalles irrelevantes en las imágenes.

Subajuste (underfitting)

El subajuste ocurre cuando tu modelo no puede captar los patrones subyacentes de los datos. En visión artificial, un modelo subajustado podría no reconocer correctamente los objetos ni siquiera en las imágenes de entrenamiento.

Señales de subajuste

  • Baja precisión en el entrenamiento: Si tu modelo no consigue alcanzar una alta precisión en el conjunto de entrenamiento, podría estar subajustado.
  • Clasificación incorrecta visual: El fallo constante a la hora de reconocer características u objetos obvios sugiere un subajuste.

Equilibrio entre sobreajuste y subajuste

La clave está en encontrar un equilibrio entre el sobreajuste y el subajuste. Idealmente, un modelo debería funcionar bien tanto con los conjuntos de datos de entrenamiento como con los de validación. Supervisar regularmente el rendimiento de tu modelo mediante métricas e inspecciones visuales, junto con la aplicación de las estrategias adecuadas, puede ayudarte a conseguir los mejores resultados.

Overfitting vs underfitting visualization

Fuga de datos (data leakage) en visión artificial y cómo evitarla

Mientras pruebas tu modelo, algo importante a tener en cuenta es la fuga de datos. La fuga de datos ocurre cuando información ajena al conjunto de datos de entrenamiento se utiliza accidentalmente para entrenar el modelo. El modelo puede parecer muy preciso durante el entrenamiento, pero no funcionará bien con datos nuevos y no vistos cuando se produzca una fuga de datos.

Por qué ocurre la fuga de datos

La fuga de datos puede ser difícil de detectar y a menudo proviene de sesgos ocultos en los datos de entrenamiento. Aquí tienes algunas formas comunes en las que puede ocurrir en la visión artificial:

  • Sesgo de cámara: Diferentes ángulos, iluminaciones, sombras y movimientos de cámara pueden introducir patrones no deseados.
  • Sesgo de superposición: Logos, marcas de tiempo u otras superposiciones en las imágenes pueden confundir al modelo.
  • Sesgo de fuente y objeto: Fuentes o objetos específicos que aparecen frecuentemente en ciertas clases pueden sesgar el aprendizaje del modelo.
  • Sesgo espacial: Los desequilibrios en primer plano-fondo, en las distribuciones de bounding box y en las ubicaciones de los objetos pueden afectar al entrenamiento.
  • Sesgo de etiqueta y dominio: Etiquetas incorrectas o cambios en los tipos de datos pueden provocar una fuga.

Detección de la fuga de datos

Para detectar la fuga de datos, puedes:

  • Comprobar el rendimiento: Si los resultados del modelo son sorprendentemente buenos, podría haber una fuga.
  • Analizar la importancia de las características: Si una característica es mucho más importante que otras, podría indicar una fuga.
  • Inspección visual: Comprueba dos veces que las decisiones del modelo tengan sentido intuitivamente.
  • Verificar la separación de datos: Asegúrate de que los datos se dividieron correctamente antes de cualquier procesamiento.

Evitar la fuga de datos

Para evitar la fuga de datos, utiliza un conjunto de datos diverso con imágenes o vídeos procedentes de diferentes cámaras y entornos. Revisa cuidadosamente tus datos y comprueba que no haya sesgos ocultos, como que todas las muestras positivas se hayan tomado a una hora específica del día. Evitar la fuga de datos ayudará a que tus modelos de visión artificial sean más fiables y eficaces en situaciones del mundo real.

Qué viene después de las pruebas del modelo

Después de probar tu modelo, los pasos siguientes dependen de los resultados. Si tu modelo funciona bien, puedes desplegarlo en un entorno real. Si los resultados no son satisfactorios, tendrás que realizar mejoras. Esto podría implicar analizar los errores, recopilar más datos, mejorar la calidad de los datos, ajustar los hiperparámetros y reentrenar el modelo.

Únete a la conversación sobre IA

Formar parte de una comunidad de entusiastas de la visión artificial puede ayudar a resolver problemas y aprender de forma más eficiente. Aquí tienes algunas formas de conectar, buscar ayuda y compartir tus ideas.

Recursos de la comunidad

  • GitHub Issues: Explora el YOLO26 GitHub repository y utiliza la pestaña Issues para hacer preguntas, informar de errores y sugerir nuevas funcionalidades. La comunidad y los mantenedores son muy activos y están dispuestos a ayudar.
  • Servidor de Discord de Ultralytics: Únete al Ultralytics Discord server para charlar con otros usuarios y desarrolladores, obtener soporte y compartir tus experiencias.

Documentación oficial

  • Documentación de YOLO26 de Ultralytics: Echa un vistazo a la documentación oficial de YOLO26 para ver guías detalladas y consejos útiles sobre varios proyectos de visión artificial.

Estos recursos te ayudarán a sortear los desafíos y a mantenerte al día de las últimas tendencias y prácticas dentro de la comunidad de visión artificial.

En resumen

La construcción de modelos de visión artificial fiables depende de unas pruebas de modelos rigurosas. Al probar el modelo con datos no vistos anteriormente, podemos analizarlo y detectar puntos débiles como el sobreajuste y la fuga de datos. Abordar estos problemas antes del despliegue ayuda a que el modelo funcione bien en aplicaciones del mundo real. Es importante recordar que las pruebas de modelos son tan cruciales como la evaluación de modelos para garantizar el éxito y la eficacia a largo plazo del modelo.

Preguntas frecuentes

¿Cuáles son las diferencias clave entre la evaluación de modelos y las pruebas de modelos en visión artificial?

La evaluación de modelos y las pruebas de modelos son pasos distintos en un proyecto de visión artificial. La evaluación de modelos implica el uso de un conjunto de datos etiquetado para calcular métricas como accuracy, precisión, recall y F1 score, proporcionando información sobre el rendimiento del modelo con un conjunto de datos controlado. Por otro lado, las pruebas de modelos evalúan el rendimiento del modelo en escenarios reales aplicándolo a datos nuevos y no vistos, garantizando que el comportamiento aprendido por el modelo se alinea con las expectativas fuera del entorno de evaluación. Para una guía detallada, consulta los pasos de un proyecto de visión artificial.

¿Cómo puedo probar mi modelo YOLO26 de Ultralytics en varias imágenes?

Para probar tu modelo YOLO26 de Ultralytics en varias imágenes, puedes utilizar el modo de predicción. Este modo te permite ejecutar el modelo sobre datos nuevos y no vistos para generar predicciones sin proporcionar métricas detalladas. Esto es ideal para probar el rendimiento en el mundo real en conjuntos de imágenes más grandes almacenados en una carpeta. Para evaluar las métricas de rendimiento, utiliza en su lugar el modo de validación.

¿Qué debo hacer si mi modelo de visión artificial muestra signos de sobreajuste o subajuste?

Para abordar el sobreajuste:

  • Técnicas de regularización como el dropout.
  • Aumenta el tamaño del conjunto de datos de entrenamiento.
  • Simplifica la arquitectura del modelo.

Para abordar el subajuste:

  • Utiliza un modelo más complejo.
  • Proporciona características más relevantes.
  • Aumenta las iteraciones de entrenamiento o epochs.

Revisa las imágenes mal clasificadas, realiza un análisis exhaustivo de errores y realiza un seguimiento periódico de las métricas de rendimiento para mantener el equilibrio. Para obtener más información sobre estos conceptos, explora nuestra sección sobre Overfitting and Underfitting.

¿Cómo puedo detectar y evitar la fuga de datos en visión artificial?

Para detectar la fuga de datos:

  • Verifica que el rendimiento en la prueba no sea inusualmente alto.
  • Comprueba la importancia de las características en busca de información inesperada.
  • Revisa intuitivamente las decisiones del modelo.
  • Asegura la división correcta de los datos antes del procesamiento.

Para evitar la fuga de datos:

  • Utiliza conjuntos de datos diversos con entornos variados.
  • Revisa cuidadosamente los datos en busca de sesgos ocultos.
  • Asegúrate de que no haya información superpuesta entre los conjuntos de entrenamiento y de prueba.

Para ver estrategias detalladas sobre cómo prevenir la fuga de datos, consulta nuestra sección sobre Data Leakage in Computer Vision.

¿Qué pasos debo seguir después de probar mi modelo de visión artificial?

Tras las pruebas, si el rendimiento del modelo cumple los objetivos del proyecto, procede con el despliegue. Si los resultados no son satisfactorios, considera:

  • Análisis de errores.
  • Recopilación de datos más diversos y de alta calidad.
  • Ajuste de hiperparámetros.
  • Reentrenamiento del modelo.

Obtén información de la sección Model Testing Vs. Model Evaluation para refinar y mejorar la efectividad del modelo en aplicaciones del mundo real.

¿Cómo ejecuto predicciones con YOLO26 sin realizar un entrenamiento personalizado?

Puedes ejecutar predicciones utilizando el modelo preentrenado YOLO26 en tu conjunto de datos para ver si se ajusta a las necesidades de tu aplicación. Utiliza el modo de predicción para obtener una idea rápida de los resultados de rendimiento sin profundizar en un entrenamiento personalizado.

Comentarios