Quick Draw, el algoritmo que sabe lo que estás dibujando

Quick, Draw!, el algoritmo que sabe lo que estás dibujando

quick-draw-inteligencia-artificial

La inteligencia artificial actual, a la que muchos llaman simplemente algoritmos, está en pleno desarrollo. Aún no es autónoma, ni aprende por sí misma. Sin embargo, sí hay algoritmos bastante avanzados y muy específicos que trabajan en esa línea, como Quick, Draw! de Google.

Quick, Draw! es una red neuronal en forma de aplicación web que te pide dibujar seis objetos en pocos segundos. Es una carrera contrarreloj de destreza con el ratón o el dedo sobre la pantalla. Según vas dibujando, este algoritmo adivina cuál es el objeto final incluso antes de que lo termines. ¿Cómo lo hace?

A la inteligencia artificial le falta inteligencia

Alejandro Campoy, responsable de Cortana en Microsoft España dijo hace poco que “lo más importante que hay hoy en inteligencia artificial es la palabra ‘artificial’. Todavía nos falta mucho para decir que la IA es autónoma […] y aprende por sí sola. Hay muchísimos humanos que están trabajando detrás”.

Uno de los grandes problemas de los chats conversacionales o de la IA generalista es la necesidad de “mantenimiento humano”. Son sistemas que generan mucha fricción tecnológica y de los que hay que estar pendientes en todo momento.

Todavía hace falta que piquemos mucho código y lo cambiamos constantemente corrigiéndolo a mano. Los sistemas de aprendizaje automáticos no son lo bastante inteligentes. Por ejemplo, pueden caer en imitar comportamientos racistas cuando los alimentamos con datos sesgados.

No disponen de una inteligencia suficiente como para aprender de un modo 100% autónomo sin riesgos. Y no hace falta ir a escenarios catastrofistas. Un riesgo podría ser no recuperar una inversión o perder tiempo de supercomputación.

Sin embargo, en aplicaciones específicas y muy focalizadas los algoritmos nos superan con un gran margen. Si, por ejemplo, juegas al Pictionary contra la inteligencia artificial de Quick, Draw!, perderás.

Quick, Draw! o un jugador experto de Pictionary

El Pictionary es un juego de equipos por turnos con varias pruebas. Una de ellas es dibujar sobre un papel un objeto, que tu equipo debe adivinar en tiempo récord. Eso es lo que hace Quick, Draw!, que solo necesita un par de trazos para adivinar qué estás dibujando.

Si entramos en la web de Quick, Draw! (en español, ¡Corre, dibuja!) encontraremos un botón amarillo titulado “¡A dibujar!”. Al pulsarlo entraremos en el juego. Se nos mostrarán seis palabras de objetos más o menos comunes, que dibujaremos uno tras otro. Por ejemplo, en el primer caso se nos pide dibujar un calendario en 20 segundos.

algoritmo-quick-draw-dibuja-calendario

Podemos usar el ratón o hacerlo en una pantalla táctil. Esto último es mucho más fácil. Según realizamos trazos sobre la pantalla, la inteligencia artificial programada por Jonas Jongejan y Henry Rowley empieza a decir objetos. “¡Es una caja!, ¡Es una tabla!”, escuchamos mientras tratamos de garabatear un calendario en el tiempo fijado.

“¡Ah, ya sé, es un calendario!”, adivina la red neuronal en un momento dado, a 10 segundos de que el contador llegue a cero. Si estuviésemos jugando al Pictionary, habríamos ganado un punto. Pero estamos jugando a enseñar a una máquina a aprender.

Una vez hemos terminado los seis objetos, Quick, Draw! nos muestra dibujos similares a los objetos diseñados. En el caso del calendario, esto es lo que han dibujado otras personas de todo el mundo:

algoritmo-quick-draw-dibuja-calendario-red-neuronal

Quick, Draw! tiene en su base de datos decenas de miles, o incluso cientos de miles, de dibujos del mismo objeto. Siempre suele sugerir los mismos y son tangibles. A diferencia de ‘Milhouse dividido’ (‘Los Simpson’), este juego no nos pedirá que dibujemos conceptos abstractos como la dignidad.

¿Cómo puede saber Quick, Draw! lo que dibujamos?

Jugando al Pictionary todos conocemos a quien se asoma a la palabra escrita en la carta. Pero con Quick, Draw! no se puede hacer trampas. La palabra mostrada no es conocida por el algoritmo. Como un jugador del Pictionary, solo conoce lo que tú estás dibujando y suele acertar con bastante frecuencia.

De hecho, cuanto más jugamos las personas, más acierta Quick, Draw! porque tiene más datos. Cada boceto hace más robusto al sistema. El motor neuronal tras Quick, Draw! sigue los trazos de millones de personas. Aprende, para cada palabra, las decenas de dibujos parecidos que hacemos los humanos.

Sabe que “calendario” suele tener una cuadrícula o un marco rectangular cerrado. También líneas que se cortan en perpendicular. Cuando detecta este tipo de estructuras, sugiere la palabra “calendario”. Como buen jugador de Pictionary, también sugiere otras antes, como “calculadora” o “botonera”, con las que comparte características.

Los datos lo son todo en machine learning

Imaginemos los inicios de Quick, Draw!, cuando su base de datos no tenía ningún dibujo. El usuario dibujaba algo según las instrucciones del programa, pero el algoritmo no disponía de nada para comparar. Es como si un lector occidental viese el pictograma chino de abajo.

pictograma-chino

¿Qué cree el lector que significa algo así? Si no tenemos referente ninguno, solo podemos catalogar lo que vemos. Tres figuras. Quince trazos. ¿Dos escaleras y el morro de un gato bajo una T? A pesar de que esas líneas tienen un significado (amigo, en chino tradicional), este se nos escapa.

Al principio, Quick, Draw! tampoco comprendía lo que veía. Varios cientos de dibujos catalogados junto a las letras g-a-t-o no dicen mucho, especialmente si hay mucha variabilidad. Puedes hacer la prueba en casa y en el trabajo pidiendo que cada persona dibuje un gato. Tendrás decenas de dibujos diferentes.

quick-draw-dibuja-un-gato

Cuando la base de datos empezó a rondar los miles de dibujos, el algoritmo comenzó a establecer relaciones. Si alguien dibuja un redondel con dos círculos dentro y un par de triángulos arriba, probablemente esté dibujando un gato. Cuando otra persona garabatea un triángulo con el vértice hacia abajo y seis rayos que salen hacia los lados, también.

Si dispones de una enorme base de datos que muestra el resultado final y el proceso de dibujo, puedes comparar en tiempo real lo que el usuario dibuja. Quick, Draw! tiene 103.031 dibujos de gatos, 116.690 de castillos y 165.474 de excavadoras bulldozers, entre otros.

quick-draw-dibuja-un-avion

Hay conjuntos de datos, como los 135.821 de aviones (arriba), que llaman la atención por su homogeneidad. Casi todos los humanos dibujamos los aviones desde un ángulo similar. Esto significa que Quick, Draw! acertará antes cuando lo dibujemos.

quick-draw-dibuja-un-murcielago

Otros, como los 96.152 murciélagos (arriba), resultan casi caóticos, y la red neuronal tiene que prestar atención a otros detalles. Por ejemplo, el hecho de que casi todos los murciélagos, como los paraguas, tienen una línea repleta de picos.

¿Para qué sirven redes neuronales o algoritmos como Quick, Draw!?

Quick, Draw! es al dibujo lo que Cortana o Siri es a la voz. Estos programas complejos tratan de descifrar el significado de un objeto. Ya sean trazos sobre el papel (pictogramas) o líneas que representan la variación en la presión del aire (voz).

Los primeros se han demostrado fundamentales a la hora de guiar a personas con autismo. Quizá en el futuro se podrá generar en tiempo real un conjunto de pictogramas específico para cada situación. Las personas autistas o con baja capacidad intelectual recibirán un conjunto de dibujos cuando alguien los hable. Serán capaces de comprender en un lenguaje inteligible lo que otros dicen.

Los segundos algoritmos resultan perfectos a la hora de transformar voz en texto. Esta herramienta es ya usada por personas sordas para ‘escuchar’ nuestra voz a través de una pantalla. Pero también por personas ciegas para convertir texto en voz invirtiendo la operación.

La tecnología no es ni buena ni mala por naturaleza. O por artificialidad, si hablamos de la inteligencia de las máquinas. Las mismas empresas privadas capaces de saber qué haces en cada momento son las que ofrecen soluciones a personas con distintas discapacidades para que lleven una vida normal.

Esta primera generación de algoritmos sentará las bases de la tecnología de inteligencia artificial del futuro. En el caso de Quick, Draw!, encontramos su código liberado en GitHub para que cualquiera pueda aprovecharlo.

En Nobbot | Así aprenderán a ver las máquinas

Imágenes | Quick, Draw!