Una guía sobre las pruebas de modelos
Introducción
Después de entrenar y evaluar tu modelo, es hora de probarlo. Las pruebas del modelo implican evaluar qué tan bien se desempeña en escenarios del mundo real. Las pruebas consideran factores como la precisión, la confiabilidad, la imparcialidad y la facilidad para comprender las decisiones del modelo. El objetivo es asegurarse de que el modelo funcione según lo previsto, entregue los resultados esperados y se ajuste al objetivo general de tu aplicación o proyecto.
Ver: Cómo probar modelos de aprendizaje automático | Evitar la fuga de datos en la visión artificial 🚀
Las pruebas de modelos son bastante similares a la evaluación de modelos, pero son 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 evaluar la precisión del modelo. Por otro lado, las pruebas de modelos comprueban si el comportamiento aprendido del modelo es el mismo que el esperado. En esta guía, exploraremos estrategias para probar sus modelos de visión artificial.
Pruebas de Modelos vs. Evaluación de Modelos
Primero, comprendamos 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 deseas implementar este modelo en una tienda de mascotas para supervisar 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 (accuracy), la precisión (precision), la exhaustividad (recall) y la puntuación F1. Por ejemplo, el modelo podría tener una precisión del 98% al distinguir entre gatos y perros en un conjunto de datos determinado.
Después de la evaluación, pruebas el modelo utilizando imágenes de una tienda de mascotas para ver qué tan bien identifica gatos y perros en condiciones más variadas y realistas. Compruebas si puede etiquetar correctamente a gatos y perros cuando se mueven, en diferentes condiciones de iluminación o parcialmente ocultos por objetos como juguetes o muebles. Las pruebas del modelo comprueban que el modelo se comporta como se espera fuera del entorno de evaluación controlado.
Preparándose para la prueba del modelo
Los modelos de visión artificial aprenden de los conjuntos de datos detectando patrones, haciendo predicciones y evaluando su rendimiento. Estos conjuntos de datos suelen dividirse en conjuntos de entrenamiento y prueba para simular las condiciones del mundo real. Los datos de entrenamiento enseñan al modelo, mientras que los datos de prueba verifican su precisión.
Aquí hay dos puntos a tener en cuenta antes de probar tu modelo:
- Representación realista: Los datos de prueba no vistos previamente deben ser similares a los datos que el modelo tendrá que manejar cuando se implemente. 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.
Probar su modelo de visión artificial
Estos son los pasos clave que debes seguir para probar tu modelo de visión artificial y comprender su rendimiento.
- Ejecutar predicciones: Utilice el modelo para hacer predicciones en el conjunto de datos de prueba.
- Comparar predicciones: Compruebe qué tan bien las predicciones del modelo coinciden con las etiquetas reales (ground truth).
- Calcular Métricas de Rendimiento: Calcule métricas como la precisión, la exactitud, la exhaustividad y la puntuación F1 para comprender las fortalezas y debilidades del modelo. Las pruebas se centran en cómo estas métricas reflejan el rendimiento en el mundo real.
- Visualizar resultados: Cree ayudas visuales como matrices de confusión y curvas ROC. Estas le ayudan a detectar áreas específicas donde 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: Identifique y revise las imágenes que el modelo clasificó incorrectamente para comprender dónde se está equivocando.
- Análisis de errores: Realice un análisis exhaustivo de los errores para comprender los tipos de errores (por ejemplo, falsos positivos frente a falsos negativos) y sus posibles causas.
- Sesgo e Imparcialidad: Compruebe si hay sesgos en las predicciones del modelo. Asegúrese de que el modelo funcione igual de bien en diferentes subconjuntos de los datos, especialmente si incluye atributos sensibles como raza, género o edad.
Probar su modelo YOLO11
Para probar tu modelo YOLO11, puedes utilizar el modo de validación. Es una forma sencilla de comprender los puntos fuertes del modelo y las áreas que necesitan mejorar. Además, tendrás que formatear correctamente tu conjunto de datos de prueba para YOLO11. Para obtener más detalles sobre cómo utilizar el modo de validación, consulta la página de documentación de Validación del modelo.
Uso de YOLO11 para predecir en múltiples imágenes de prueba
Si quieres probar tu modelo YOLO11 entrenado en 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 utiliza normalmente para evaluar el rendimiento del modelo en un conjunto de validación y proporcionar métricas detalladas, es posible que solo quieras ver las predicciones en todas las imágenes de tu conjunto de prueba. Para ello, puedes utilizar el modo de predicción.
Diferencia entre los modos de validación y predicción
- Modo de validación: Se utiliza para evaluar el rendimiento del modelo comparando las predicciones con las etiquetas conocidas (verdad fundamental). Proporciona métricas detalladas como precisión, exactitud, exhaustividad y puntuación F1.
- Modo de predicción: Se utiliza para ejecutar el modelo en datos nuevos y no vistos para generar predicciones. No proporciona métricas de rendimiento detalladas, pero te permite ver cómo funciona el modelo en imágenes del mundo real.
Ejecución de predicciones de YOLO11 sin entrenamiento personalizado
Si está interesado en probar el modelo básico de YOLO11 para comprender si se puede utilizar para su aplicación sin entrenamiento personalizado, puede utilizar el modo de predicción. Si bien el modelo está preentrenado en conjuntos de datos como COCO, ejecutar predicciones en su propio conjunto de datos puede darle una idea rápida de qué tan bien podría funcionar en su contexto específico.
Sobreajuste y Subajuste en Aprendizaje Automático
Al probar un modelo de aprendizaje automático, especialmente en visión artificial, es importante tener cuidado con el sobreajuste y el desajuste. Estos problemas pueden afectar significativamente el buen funcionamiento de su modelo con nuevos datos.
Sobreajuste
El sobreajuste ocurre cuando su modelo aprende demasiado bien los datos de entrenamiento, incluyendo el ruido y los detalles que no se generalizan a nuevos datos. En la visión artificial, esto significa que su modelo podría funcionar muy bien con las imágenes de entrenamiento, pero tener dificultades con las nuevas.
Signos de sobreajuste
- Alta Precisión de Entrenamiento, Baja Precisión de Validación: Si su modelo funciona muy bien con los datos de entrenamiento pero mal con los datos de validación o prueba, es probable que esté sobreajustando.
- Inspección visual: A veces, se puede ver un sobreajuste si su modelo es demasiado sensible a cambios menores o detalles irrelevantes en las imágenes.
Subajuste
El subajuste ocurre cuando tu modelo no puede capturar los patrones subyacentes en los datos. En visión artificial, un modelo subajustado podría incluso no reconocer correctamente los objetos en las imágenes de entrenamiento.
Signos de desajuste
- Baja precisión de entrenamiento: Si su modelo no puede lograr una alta precisión en el conjunto de entrenamiento, podría estar subajustado.
- Clasificación errónea visual: El fallo constante en el reconocimiento de características u objetos obvios sugiere un desajuste.
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 en los conjuntos de datos de entrenamiento como en los de validación. Supervisar regularmente el rendimiento de su modelo a través de métricas e inspecciones visuales, junto con la aplicación de las estrategias correctas, puede ayudarle a lograr los mejores resultados.
Fuga de datos en la visión artificial y cómo evitarla
Al probar su modelo, algo importante a tener en cuenta es la fuga de datos. La fuga de datos ocurre cuando la información de fuera del 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. Estas son algunas de las formas más comunes en que puede ocurrir en la visión artificial:
- Sesgo de la Cámara: Los diferentes ángulos, la iluminación, las sombras y los movimientos de la cámara pueden introducir patrones no deseados.
- Sesgo de superposición: Los logotipos, las marcas de tiempo u otras superposiciones en las imágenes pueden inducir a error al modelo.
- Sesgo de fuente y objeto: Fuentes u objetos específicos que aparecen con frecuencia en ciertas clases pueden sesgar el aprendizaje del modelo.
- Sesgo espacial: Los desequilibrios en el primer plano-fondo, las distribuciones de bounding box y las ubicaciones de los objetos pueden afectar al entrenamiento.
- Sesgo de etiqueta y dominio: Las etiquetas incorrectas o los cambios en los tipos de datos pueden provocar fugas.
Detección de fugas de datos
Para encontrar fugas de datos, puede:
- Verificar el rendimiento: Si los resultados del modelo son sorprendentemente buenos, podría estar filtrando información.
- Observe la importancia de las características: Si una característica es mucho más importante que las demás, podría indicar una fuga.
- Inspección visual: Verifique que las decisiones del modelo tengan sentido intuitivamente.
- Verificar la separación de datos: Asegúrese de que los datos se dividieron correctamente antes de cualquier procesamiento.
Evitar la fuga de datos
Para prevenir la fuga de datos, utiliza un conjunto de datos diverso con imágenes o videos de diferentes cámaras y entornos. Revisa cuidadosamente tus datos y comprueba que no haya sesgos ocultos, como que todas las muestras positivas se tomen 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é sigue después de la prueba del modelo?
Después de probar tu modelo, los siguientes pasos dependen de los resultados. Si tu modelo funciona bien, puedes implementarlo en un entorno del mundo real. Si los resultados no son satisfactorios, deberás realizar mejoras. Esto podría implicar el análisis de errores, la recopilación de más datos, la mejora de la calidad de los datos, el ajuste de los hiperparámetros y el reentrenamiento del 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 manera más eficiente. Aquí hay algunas formas de conectarse, buscar ayuda y compartir sus ideas.
Recursos de la comunidad
- Incidencias de GitHub: Explore el repositorio YOLO11 en GitHub y utilice la pestaña Incidencias para hacer preguntas, informar sobre errores y sugerir nuevas funciones. La comunidad y los mantenedores son muy activos y están listos para ayudar.
- Servidor de Discord de Ultralytics: Únete al servidor de Discord de Ultralytics para chatear con otros usuarios y desarrolladores, obtener soporte y compartir tus experiencias.
Documentación oficial
- Documentación de Ultralytics YOLO11: Consulta la documentación oficial de YOLO11 para obtener guías detalladas y consejos útiles sobre diversos proyectos de visión artificial.
Estos recursos le ayudarán a superar los retos y a mantenerse 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 se basa en pruebas rigurosas del modelo. Al probar el modelo con datos no vistos previamente, podemos analizarlo y detectar debilidades como el sobreajuste y la fuga de datos. Abordar estos problemas antes de la implementación ayuda a que el modelo funcione bien en aplicaciones del mundo real. Es importante recordar que las pruebas del modelo son tan cruciales como la evaluación del modelo para garantizar el éxito y la eficacia a largo plazo del modelo.
Preguntas frecuentes
¿Cuáles son las principales diferencias entre la evaluación y las pruebas de modelos en visión artificial?
La evaluación y las pruebas de modelos son pasos distintos en un proyecto de visión artificial. La evaluación del modelo implica el uso de un conjunto de datos etiquetado para calcular métricas como la precisión (accuracy), la precisión (precision), la exhaustividad (recall) y la puntuación F1, proporcionando información sobre el rendimiento del modelo con un conjunto de datos controlado. Las pruebas del modelo, por otro lado, evalúan el rendimiento del modelo en escenarios del mundo real aplicándolo a datos nuevos y no vistos, asegurando que el comportamiento aprendido del modelo se alinee con las expectativas fuera del entorno de evaluación. Para obtener una guía detallada, consulta los pasos en un proyecto de visión artificial.
¿Cómo puedo probar mi modelo Ultralytics YOLO11 en múltiples imágenes?
Para probar tu modelo Ultralytics YOLO11 en varias imágenes, puedes utilizar el modo de predicción. Este modo te permite ejecutar el modelo en 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 el modo de validación en su lugar.
¿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.
- Simplifique la arquitectura del modelo.
Para abordar el subajuste:
- Use un modelo más complejo.
- Proporciona características más relevantes.
- Aumenta las iteraciones de entrenamiento o los epochs.
Revise las imágenes mal clasificadas, realice un análisis de errores exhaustivo y realice un seguimiento regular de las métricas de rendimiento para mantener un equilibrio. Para obtener más información sobre estos conceptos, explore nuestra sección sobre Sobreajuste y Subajuste.
¿Cómo puedo detectar y evitar la fuga de datos en visión artificial?
Para detectar la fuga de datos:
- Verifica que el rendimiento de las pruebas no sea inusualmente alto.
- Compruebe la importancia de las características para obtener información inesperada.
- Revise intuitivamente las decisiones del modelo.
- Asegúrate de una correcta división de los datos antes de procesarlos.
Para evitar la fuga de datos:
- Use diversos conjuntos de datos con varios entornos.
- Revise cuidadosamente los datos en busca de sesgos ocultos.
- Asegúrate de que no haya información superpuesta entre los conjuntos de entrenamiento y prueba.
Para obtener estrategias detalladas sobre cómo evitar la fuga de datos, consulta nuestra sección sobre Fuga de datos en la visión artificial.
¿Qué pasos debo seguir después de probar mi modelo de visión artificial?
Después de las pruebas, si el rendimiento del modelo cumple con los objetivos del proyecto, proceda con la implementación. Si los resultados no son satisfactorios, considere lo siguiente:
- Análisis de errores.
- Recopilación de datos más diversos y de alta calidad.
- Ajuste de hiperparámetros.
- Reentrenamiento del modelo.
Obtenga información de la sección Prueba de modelos frente a evaluación de modelos para refinar y mejorar la eficacia del modelo en aplicaciones del mundo real.
¿Cómo ejecuto predicciones de YOLO11 sin entrenamiento personalizado?
Puedes ejecutar predicciones utilizando el modelo YOLO11 pre-entrenado en tu conjunto de datos para ver si se adapta 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 el entrenamiento personalizado.