Conjuntos de datos de entrenamiento en modelos de Machine Learning


Por Yuri Brigance

Me interesa especialmente cómo entrenar conjuntos de datos en modelos de Machine Learning.

La conferencia TC Robotics & AI de este año demostró que la robótica de consumo, impulsada por los últimos avances científicos en Machine Learning, se está convirtiendo rápidamente en un sector en auge con un gran interés por parte de los inversores. Casi todos los meses aparecen nuevas arquitecturas y técnicas de aprendizaje automático. Fue interesante ver cómo estos algoritmos se están utilizando para crear una nueva ola de tecnología de consumo, así como un gran número de ofertas de servicios que surgen para hacer que el Machine Learning sea más fácil de usar. La forma de entrenar conjuntos de datos en modelos de Machine Learning es cada vez más importante.

modelos de Machine Learning de superannotate.ai

Conjuntos de datos de entrenamiento

La formación de conjuntos de datos en Machine Learning es una de las prioridades notables de este nuevo ecosistema en expansión.

El Machine Learning depende de MUCHOS datos de entrenamiento. Crearlos no es tarea fácil. Muchos de ellos requieren un esfuerzo humano manual para etiquetarlos correctamente. Muchas empresas han surgido para ayudar a resolver este problema y hacer que la recopilación de datos y el etiquetado sean más rápidos y sencillos, en algunos casos automatizándolos por completo.

Aparte del etiquetado, la recopilación de estos datos de formación puede ser igual de difícil. Los coches autónomos son un ejemplo bien conocido: todos hemos oído hablar de ellos, e incluso puede que hayamos visto vehículos autónomos probándose en la vía pública. Sin embargo, puede sorprender que la mayoría de esos kilómetros recorridos no se utilicen para recopilar datos de entrenamiento.

Como explicaron Sterling Anderson, de Aurora, y Raquel Urtasun, de Uber, la mayoría de las tecnologías de conducción autónoma se entrenan en realidad en simulación. Las flotas autónomas ponen a prueba los modelos entrenados en el mundo real. En ocasiones, el sistema se desconecta y marca un nuevo escenario. La condición de desconexión se permuta miles de veces y pasa a formar parte de la simulación, proporcionando millones de kilómetros virtuales con fines de formación. Es rentable, escalable y muy eficaz.

Crear este tipo de simulaciones no es trivial. Para ofrecer la fidelidad adecuada, el mundo virtual no sólo debe tener un aspecto visual hiperrealista, sino que todos los datos de los sensores (lidar, radar y otros cientos) deben estar perfectamente sincronizados con el entorno virtual. piensa un simulador de vuelo, pero con gráficos mucho mejores. En muchos casos, también pueden simularse fallos de los sensores, y los sistemas de conducción autónoma deben ser capaces de hacer frente a la pérdida repentina de datos de entrada.

Los datos visuales son muy difíciles de etiquetar. Dejando a un lado la simulación, imagínese que se le encomienda la tarea de delinear todos los coches, seres humanos, gatos, perros, farolas, árboles, marcas viales y señales en una sola imagen. Y hay decenas de miles de imágenes que revisar. Aquí es donde entran en juego empresas como SuperAnnotate y ScaleAI.

SuperAnnotate es una herramienta que combina la segmentación basada en superpíxeles con la intervención humana para crear rápidamente máscaras de segmentación semántica. Imaginemos un ortomosaico tomado con un dron sobre un bosque con diversas especies de árboles: herramientas como esta permiten a un humano crear rápidamente contornos alrededor de los árboles pertenecientes a una categoría específica simplemente haciendo clic sobre ellos.

El enfoque de SuperAnnotate es interesante, pero probablemente no sea suficiente para todas las situaciones. Es útil para situaciones en las que se tienen bordes contrastados bien definidos alrededor de los objetos que se intenta segmentar, pero probablemente no funcionaría tan bien para líneas de separación menos definidas. Un buen ejemplo es cuando se quiere averiguar dónde termina el labio superior y dónde empieza la encía superior en retratos de personas sonrientes. Para ello, es probable que necesite una herramienta de etiquetado personalizada, algo que en Valence hemos creado en varias ocasiones.

ScaleAI adopta un enfoque diferente y se basa en una combinación de herramientas estadísticas, comprobaciones de Machine Learning y, lo que es más importante, humanos. Se trata de un concepto muy interesante: una especie de Mechanical Turk para el etiquetado de datos.

Así que rápidamente se hace evidente que la recopilación de datos y la formación son pilares totalmente separados de la industria del ML. Cabe imaginar un futuro en el que el nuevo "trabajo manual" sea etiquetar o recopilar datos. Se trata de un campo fascinante, ya que nos permite vislumbrar los tipos de nuevos empleos disponibles para las personas que ahora se encuentran con riesgo de quedar sin trabajo a través de la automatización. Pero recordemos: estos sistemas están distribuidos, por lo que incluso si consigues un trabajo como etiquetador de datos humano, puedes estar compitiendo con gente de todo el mundo, lo que tiene consecuencias inmediatas en tus ingresos.

Por otra parte, la creación de simulaciones y la búsqueda de formas de recopilar datos "difíciles" puede ser toda una ingeniería vertical por sí sola. Como desarrollador/artista de videojuegos, AR/VR o 3D en general, puede que tus habilidades sean muy aplicables en el mundo de la IA/ML. Un amigo mío encontró hace poco una aplicación que te permite calcular tu puntuación en Mahjong haciendo una foto a tus fichas. ¿Cómo entrenarías a un modelo para que reconociera esas fichas a partir de una foto, en distintas condiciones de luz y desde todos los ángulos? Podrías tomar minuciosamente fotos de las fichas e intentar etiquetarlas tú mismo, o podrías contratar a un artista 3D para que modele las fichas en 3D. Una vez que tenga modelos 3D realistas, puede hacer girar una serie de instancias EC2 ejecutando Blender (efectivamente una "granja de render" en la nube). Usando Python, puedes programar varias escenas (ángulos, luces, etc.) y usar el motor de trazado de rayos de Blender para generar miles de renders 3D pre-etiquetados de azulejos simulados en todo tipo de posiciones, ángulos, colores, etc.

Pero ¿y si tu tarea consiste en detectar condiciones meteorológicas (viento, lluvia, granizo, truenos, nieve) a través de un pequeño dispositivo IoT con tan solo un micrófono barato como sensor? ¿De dónde sacas todos los sonidos de entrenamiento para crear tu modelo? La búsqueda de sonidos en YouTube tiene un límite: al fin y al cabo, esos sonidos se graban con diferentes micrófonos, ruidos de fondo y condiciones variables. En este caso, puedes optar por crear dispositivos físicos diseñados específicamente para este tipo de recogida de datos. Pueden ser caros, pero pueden contener el conjunto de sensores necesario para grabar y etiquetar con precisión el sonido que buscas, utilizando los micrófonos que usarás en la producción. Una vez recogidos los datos, se puede entrenar un modelo y ejecutar la inferencia en un dispositivo de borde barato. Idear este tipo de técnicas de recopilación de datos puede ser un campo de ingeniería en sí mismo, y su ejecución requiere trabajo manual para desplegar estas técnicas sobre el terreno. Es un problema de ingeniería interesante, que sin duda dará lugar a una serie de servicios especializados y startups de consultoría.

En Valence contamos con el talento necesario para recopilar los datos que necesitas, ya sea mediante crowdsourcing, simulación (realizamos AR/VR internamente y contamos con artistas 3D de gran talento), utilizando herramientas de etiquetado existentes, creando herramientas de etiquetado personalizadas o construyendo dispositivos físicos para recopilar datos de campo. Somos capaces de establecer la infraestructura necesaria para reentrenar continuamente su modelo en la nube y desplegarlo automáticamente en la producción, proporcionando un ciclo cerrado de mejora continua.

Recursos adicionales