teleporthq
Plataforma
Soluciones
Integraciones
Recursos

La segunda versión de nuestra API de visión

Imagen destacada de la nueva API de visión

Hace unos meses, presentamos nuevas convenciones para facilitar la creación de un modelo de aprendizaje automático capaz de interpretar wireframes dibujados a mano. Queríamos reducir la ambigüedad para la persona encargada de anotar cada imagen necesaria para entrenar el modelo de aprendizaje automático.

Nuevo conjunto de datos

El resultado es un documento de pautas que recomendamos a todos los usuarios de nuestra API para aprovechar al máximo la tecnología.

Nuevas pautas para la API de visión

Una vez que entendimos qué tipo de datos buscábamos, comenzamos la ardua tarea de recopilar suficientes datos para entrenar nuestro modelo.

Junto con este esfuerzo, tuvimos que equilibrar dos aspectos importantes del aprendizaje automático: el sesgo y la varianza. Por un lado, necesitábamos pautas que acotaran el problema a algo manejable para que el modelo pudiera aprender (reduciendo así el sesgo de anotación). Por otro lado, seguíamos necesitando una variedad de imágenes, dibujadas por distintas personas, con diferentes colores, etc. (queríamos un conjunto de datos heterogéneo). Sin embargo, las imágenes nuevas tendrán sesgos si no se siguen las pautas iniciales y, por lo tanto, el modelo las predecirá incorrectamente.

Algunos wireframes de nuestro nuevo conjunto de datos (observa las distintas condiciones de iluminación y distribuciones)

Una consideración importante al entrenar modelos de aprendizaje automático es la validez del conjunto de datos (siempre que sea posible, cada clase debe estar representada de forma equitativa). Al estudiar las anotaciones de nuestro conjunto de datos, descubrimos que algunas clases están infrarrepresentadas, lo que dificulta su detección por parte del modelo (tabla, valoración, lista, área de texto e campo de entrada de tipo selector incremental). En el análisis, también examinamos la distribución de tamaños de cada elemento, una característica crucial en los conjuntos de datos de detección de objetos. Algunos elementos son más pequeños, como los enlaces y los botones de opción, y por naturaleza son más difíciles de detectar; otros, como un contenedor o una imagen, son más grandes y fáciles de detectar.

Distribución de tamaños de cada elemento de nuestro conjunto de datos; las líneas roja y azul indican los umbrales del 1 % y el 10 %, respectivamente.

Resultados

Es difícil predecir cuándo habremos recopilado suficientes imágenes para nuestro modelo. Sin embargo, está claro que la calidad del modelo mejorará proporcionalmente a la cantidad de imágenes utilizadas para el entrenamiento. Como consideramos que los datos recopilados hasta ahora son suficientes para crear modelos preliminares, decidimos empezar el entrenamiento antes de finalizar la primera etapa del proceso de recopilación de datos.

Para evaluar nuestros modelos, utilizamos la precisión media promedio con una intersección sobre unión del 50 % (mAP@IOU 0.5); puedes encontrar más información aquí. Con esta métrica, el rendimiento de la primera versión de la API fue del 40 %. En diciembre, lanzamos una versión con una precisión del 55 % que utilizaba datos sintéticos para mejorar el modelo. El modelo incluido en la versión actual alcanza el 85 % en el conjunto de prueba. Sin embargo, sospechamos que esta cifra es optimista, así que también estamos preparando un conjunto de prueba complementario con otro equipo.

Comparación de las predicciones entre la versión anterior (izquierda) y la actual (derecha)

Aún nos queda trabajo por hacer: al modelo le cuesta identificar esquemas que contienen muchos elementos o varios elementos. Además, el desequilibrio del conjunto de datos añade complejidad cuando se utilizan clases poco comunes, como los controles deslizantes y las valoraciones.

Un esquema problemático con demasiados elementos

Aprendizaje automático para mejorar, no para sustituir

Como suele ocurrir cuando intervienen la inteligencia artificial y el aprendizaje automático, el resultado final es una relación simbiótica entre ambas entidades, en lugar de que la máquina sustituya al ser humano. Del mismo modo, para aprovechar el potencial de esta tecnología emergente, el usuario final debe experimentar mediante ensayo y error.

Como suele ocurrir cuando intervienen la inteligencia artificial y el aprendizaje automático, el resultado final es una relación simbiótica entre ambas entidades, en lugar de que la máquina sustituya al ser humano. Del mismo modo, para aprovechar el potencial de esta tecnología emergente, el usuario final debe experimentar mediante ensayo y error.

Producto

Publicaciones relacionadas

Comentarios

Todavía no hay comentarios. Sé la primera persona en compartir tu opinión.

Deja un comentario

Tu correo electrónico nunca se muestra públicamente.
Los comentarios se revisan antes de publicarse.