🎙 Episodio 23. ImageNet y el reconocimiento de imágenes

En el episodio de hoy hablamos de visión por ordenador, de construcción de datasets y de cómo una idea que ahora puede parecernos obvia pero que en su momento no lo fue tanto ayudó a desencadenar la revolución del Deep Learning tal y cómo lo conocemos hoy: La construcción de ImageNet.

Visión humana y aprendizaje supervisado

La manera en la que el ser humano interpreta el mundo en gran medida es a través de lo que es capaz de ver pero nadie enseña a un niño cómo debe ver. Aprende a través de ejemplos.

Imaginad que los ojos de un niño fueran dos cámaras de fotos que toman una imagen cada 200 ms, que es en realidad el tiempo que más o menos tarda el movimiento del ojo en producirse.

Para cuando ese niño llegara a los tres años ya habría visto cientos de millones de imágenes del mundo que le rodea y además las personas que le han criado le habrán dicho en muchas ocasiones qué es lo que está viendo.

Un gato, un perro, un coche, un árbol…

Seguramente con una voz muy rara que usan los adultos para dirigirse a los niños.

Esto os recordará al episodio 22 en el que hablábamos de aprendizaje supervisado. Teníamos unas cuantas observaciones y las respuestas correctas asociadas y a partir de ahí erámos capaces de entrenar un modelo que hacía predicciones de el valor que nos interesaba para observaciones nuevas.

La semana pasada nuestro objetivo era predecir un número, concretamente el de calorías de un smoothie a partir de los gramos de grasa, hidratos y proteinas de un ingrediente secreto. 

Era aprendizaje supervisado utilizando un modelo de regresión lineal.

En el caso de esta semana, que es un niño descubriendo el mundo a través de imágenes estaríamos ante aprendizaje supervisado también porque tiene a unos adultos alrededor que le dicen qué es lo que está viendo, pero ahora es un problema de clasificación. En la versión más simple del problema, tenemos imágenes y queremos saber qué objetos hay en ella.

Fei-Fei Li y el proyecto ImageNet

Y aquí entra en escena nuestra protagonista de hoy Fei-Fei Li.

Fei-Fei Li, creadora  de Imagenet

Viajamos en el tiempo hasta 2006.

En 2006 la Inteligencia Artificial y el Machine Learning no estaban aún muy de moda y la gente entregada a la causa estaba centrada en mejorar los algoritmos.

Mejores algoritmos tomarán mejores decisiones.

Tiene sentido.

Peeero Fei-Fei Li, estaba ahí, en una ciudad pequeñita de Illiniois, dándole vueltas al asunto y pensaba que el mejor de los algoritmos estaría limitado si los datos con los que se había entrenado no reflejaban bien el entorno y reflexionando en la manera en la que aprendemos los humanos a interpretar lo que vemos, que para la edad de 3 años ya hemos visto cientos de millones de imágenes y para muchas de ellas nos han dicho qué estábamos viendo y todo eso.

Y decidió hacer algo sin precedentes.

Hacer un mega catálogo con muchos ejemplos de  imágenes de todos y cada uno de los objetos del mundo. En este catálogo cada imágen estaría etiquetada con el objeto que había en ella.

Cuando comenzó el proyecto ya trabajaba en la universidad de Princeton y decidió que para agilizar el tema del etiquetado de imágenes pagaría $10 dólares la hora a estudiantes para que buscasen imágenes, las etiquetaran y las añadieran al catálogo y - como podéis imaginar - esta manera de hacerlo era ruinosa y lenta.

De hecho, calculó que tardaría 90 años en conseguir terminar el proyecto

Aparte de que no consiguió ninguna financiación ya que a todo el mundo le parecía una vergüenza y una pérdida de tiempo que se estuviera dedicando a etiquetar imágenes de gatitos, perritos, sillas y mesas. 

Viniendo de Princeton… Intolerable. Parecía más un proyecto de parvulitos.

A sí que con nada de apoyo y pensando que iba a tener que abrir la tintorería en la que había trabajado durante sus años de estudiante para financiarse la cosa no pintaba muy bien.

Hasta que le hablaron de Amazon Mechanical Turk.

Hemos hablado antes de esta herramienta de Amazon que permite que personas de todo el mundo realicen una tarea sencilla a cambio de unos  pocos céntimos.

En este caso, para poner etiquetas a imágenes con objetos cotidianos no parece que haya que tener un conocimiento muy específico. Al fin y al cabo estamos hablando de objetos que un niño de 3 años es capaz de reconocer así que la herramienta le venía a Fei-Fei Li como anillo al dedo y mucho más económico y rápido que los $10 dólares la hora que iba a pagar a los estudiantes.

Durante dos años y medio, hasta 50000 trabajadores de Amazon Mechanical Turk en 167 países participaron en la  elaboración del catálogo más grande de imágenes etiquetadas de la historia.

Etiquetaron 3.2 millones de imágenes a mano separadas en 5247 categorías.

Había nacido ImageNet, que así es como se llama el dataset que aún hoy se utiliza para entrenar modelos de Machine Learning

Y así, después de luchar contra viento y marea durante más de dos años. Sin financiación y sin que casi nadie creyera en ellos.

Consiguieron finalmente presentar ImageNet en una conferencia de visión por ordenador y…

Apenas nadie reconoció el valor de ImageNet

ImageNet Large Scale Visual Recognition Challenge (ILSVRC)

Peeeero, Fei-Fei Li y su equipo no cejaron en su empeño y siguieron trabajando para dar a conocer ImageNet. Estaban convencidos del valor que podía tener usar muchas más imágenes en los avances de la visión por ordenador así que decidieron colaborar con los organizadores de una competición europea de reconocimiento de imágenes.

La competición tuvo lugar anualmente entre 2010 y 2017 y la idea es que la gente que desarrollaba algoritmos de reconocimiento y detección de imágenes los probara en un subconjunto de ImageNet para poder comparar el rendimiento de unos y otros.

Y los dos primeros años la cosa fue muy bien los investigadores fueron viendo cómo sus modelos funcionaban mejor cuando se entrenaban con más imágenes. 

La teoría de Fei-Fei Li era cierta.

Pero la magia de verdad ocurrió en 2012.

El dataset de imágenes más tocho hasta el momento y la gente que estaba a la vanguardia de las redes neuronales se encontraron. Si a eso le añadimos unas cuantas GPUs surge un flechazo inmediato y el florecimiento de los modelos de deep learning.

Ya os contaba en el episodio 8 como las ideas fundamentales del deep learning ya existían en los años 90.

Y que el golpe de suerte para el deep learning fue que a partir del año 2000, compañías como NVIDIA empezaron a invertir mucho dinero en el desarrollo de tarjetas gráficas más económicas que soportaban el renderizado de videojuegos cada vez más realistas. Y esas tarjetas gráficas funcionaban MUY bien con el tipo de cálculos que se hacen durante el entrenamiento de modelos de deep learning.

La otra clave fue ImageNet. 

Muchísimos datos etiquetados de los que aprender implicaban poder diseñar modelos con más parámetros, más grandes y más potentes con mejores resultados.

En 2012 el modelo que ganó la competición de reconocimiento de imágenes estaba basado en deep learning y era el único equipo que conseguía por primera vez un error de clasificación que estaba por debajo de un 25%.

Al año siguiente casi todas las soluciones estaban basadas en redes neuronales y también casi todas tenían un error por debajo del 25%.

En 2017, 29 de los 38 equipos participantes consiguieron un error por debajo del 5%.

A día de hoy ImageNet contiene más de 14 millones de imágenes etiquetadas en casi 22000 categorías y los modelos de clasificación de imágenes actuales obtienen errores por debajo del 2%

De cada 100 imágenes, en promedio se equivocan menos de 2 veces.

Y lo que es más importante, se le ha dado a la creación de un buen conjunto de datos de entrenamiento la importancia que merece.

Hoy en día tanto Google, como Amazon, o Facebook tienen sus propios datasets de entrenamiento enormes que permiten avances como los que hemos visto en los últimos tiempos y dedicar tiempo a juntar un buen dataset ya no está considerado una pérdida de tiempo.

También por suerte, hay mucha gente que se ha dedicado a construir datasets de todo tipo, no solo de imágenes, y a ponerlos a disposición de todo el mundo que esté interesado en introducirse en este mundo.

Espero que os guste el episodio 

Si es así, no olvidéis dejar un «Me gusta» y algún comentario al episodio en Ivoox o una valoración de 5 estrellas del podcast en Apple podcasts, en Spotify, en Google podcasts o donde quiera que escuchéis el podcast. 

Recordad que si tenéis cualquier duda o pregunta podéis contactar conmigo a través del formulario de contacto o podemos seguir la conversación en Twitter.

Muchas gracias por estar ahí y os espero en el próximo episodio de Un Podcast Ninja sobre Big Data.

Accede a todo el contenido premium

Ya no necesitas pagar cientos de euros por un Bootcamp para convertirte en ninja de los datos. Por solo 17€/mes (o menos 🤯), obtén acceso al podcast premium, a todos los tutoriales y a los resúmenes de los libros más top sobre Machine Learning y Ciencia de datos y aprende a tu ritmo.
¡Empieza ahora!
Copyright © 2024  · Datos 🥷 · Todos los derechos reservados