Autor: Alvar Arnáiz González

Desde que comencé el doctorado, no pasan unas Navidades sin que alguien en la familia me haga esta pregunta, la culpa creo que la tiene la televisión y las películas de Hollywood, ¡como de todo! estaréis pensando. Efectivamente, las imágenes de robots aniquilando la humanidad o, peor aún, de máquinas que usan a los humanos para sus propios fines es un clásico desde los orígenes de la ciencia-ficción. Pero, ¿realmente debemos temer a la Inteligencia Artificial?

Para responder a esta pregunta, lo primero sería plantearse qué se esconde tras esta simpática combinación de dos palabras que en sí mismas parecen un oxímoron. Pero no hay que alarmarse, la Inteligencia Artificial no es más que una rama de las Ciencias de la Computación que estudia cómo hacer que los ordenadores (en su sentido más general) puedan realizar tareas que tradicionalmente se han asociado a los humanos. Hablamos de tareas que implican pensamiento y/o razonamiento, que es en lo que se supone los humanos destacamos sobre los demás animales.

Pero, ¿cómo se consigue que una máquina haga algo tan humano como reconocer objetos,  jugar  o   componer   música?   Aunque   existen   muchos   procedimientos   (o llamémoslos algoritmos para hablar el mismo idioma), en los últimos años las redes neuronales profundas (deep neural networks) han ganado mucha importancia y han reemplazado a otras técnicas en multitud de ámbitos. Una de sus aplicaciones más populares a día de hoy es el reconocimiento de objetos e identificación de escenas, más concretamente están haciendo posibles los grandes avances de los coches autónomos (aquellos que no necesitan conductor). Las redes neuronales artificiales basan su capacidad de “pensar” en la analogía con las neuronas que componen los sistemas nerviosos de los seres vivos. Estas neuronas artificiales se enlazan unas con otras a través de conexiones (la entrada de una es la salida de la anterior, etc.), al igual que nuestras neuronas se conectan para llegar desde el cerebro hasta la punta del dedo meñique del pie para indicarnos que, ese precioso y caro zapato que compramos nos está destrozando a cada paso.

Pese a esta analogía entre las neuronas artificiales y las naturales, las similitudes acaban ahí: las neuronas artificiales son pequeños elementos de cómputo que, a partir de unos valores numéricos en las entradas, y de una función de activación, son capaces de dar una salida (numérica por supuesto, esto son solo matemáticas). Esta función de activación, que puede ser más o menos compleja, es lo que en el fondo determinará su comportamiento. Una única neurona artificial no es capaz de hacer mucho, por ello se agrupan en capas. Podemos imaginar una red neuronal artificial profunda como si fuera una deliciosa lasaña: diversas capas con neuronas de diferentes tipos apiladas unas encima de otras. Cada neurona de una capa se relaciona con las de la capa siguiente, de tal manera que el resultado final es fruto de la compleja relación que conforman esas miles de neuronas. Es esta profunda interconexión la que otorga a estas redes su complejidad y hace que sean capaces de ganar en juegos de mesa a los grandes maestros [1], pintar cuadros como virtuosos del impresionismo [2], componer canciones que nos recuerdan a Beethoven o Bach [3], o conducir un coche sin que el humano intervenga [4], aunque esto último les queda todavía un poco grande [5].

Ilustración 1: Representación esquemática de una red neuronal profunda y sus capas. Imagende Michael Nielsen, Yoshua Bengio, Ian Goodfellow y Aaron Courville 2016.

Pero, ¿cómo demonios son capaces de aprender estas redes de neuronas? La respuesta es sencilla, igual que los humanos: por entrenamiento. Un niño pequeño (todos lo hemos sido, no miren hacia otro lado), aprende a distinguir perros de gatos a través de lo que su entorno le enseña. Imaginemos ese parque de barrio lleno, con esa característica banda sonora de parque: gritos de niños. De repente una niña levanta su mirada, señala a un perro y le dice a su padre: “papá, ¡gato!”, el padre paciente le responde con dulzura que eso no es un gato, sino un perro. Este proceso, que se repetirá en decenas de cientos de ocasiones durante el aprendizaje de la pequeña, formará complejas relaciones en su cerebro que le permitirá ser capaz de distinguir todos los animales del zoo sin ningún esfuerzo. Este proceso de aprendizaje es análogo al de una red neuronal artificial, lo que ocurre es que en esta ocasión, para acelerar el aprendizaje, se le suministrarán a la red cientos de miles de imágenes, cada una con una etiqueta: perro o gato. La red, con toda su complejidad matemática, será capaz de abstraer determinadas características propias de los perros que no comparten con los gatos y viceversa. Finalmente, tras horas, o días, de exponer esta red a imágenes de adorables compañeros peludos, será capaz de distinguirlos con una fiabilidad muy alta. Este proceso de entrenamiento puede recordar al que someten al pobre Alex en la Naranja Mecánica forzándole a visualizar fotogramas. La diferencia es que la red neuronal artificial no se queja, ha sido programada para ello y es lo único que sabe hacer.

Ilustración 2: Doodle de Google en el que componer una melodía y que suene como Bach. Enlace https://www.google.com/doodles/celebrating-johann-sebastian-bach

De este modo, estas redes neuronales artificiales pueden ser alimentadas, o entrenadas, con cualquier conjunto de elementos (datos) y será capaz de diferenciar en base a la experiencia aprendida. Pero no seamos simplistas, no solo funcionan con imágenes, supongamos que esta red es entrenada con horas de grabaciones del gran Beethoven, el resultado será que podrá diferenciar cuándo una melodía fue compuesta por el músico y cuándo no. Es más, modificando un poco la estructura de esta compleja red neuronal artificial, podría ser capaz incluso de “componer” nuevas sinfonías que recuerden a las composiciones del virtuoso músico [6].

El avispado lector ya se habrá percatado de que estas redes, que aprenden a partir de lo que el humano les provee, nunca podrán llegar a superarnos: puesto que solo podrán ser tan “listas” como la información que les hayamos suministrado en entrenamiento. Y esto es así, o al menos lo era. Pensemos en unos adolescentes jugando al ajedrez, su

Ilustración 3: El campeón mundial de Go jugando contra la Inteligencia Artificial de Google (AlphaGo) en 2016.

cerebro se ha entrenado a base de memorizar movimientos de libros y de muchas horas de práctica jugando. Por lo tanto, la competición permite a un jugador aprender de sus aciertos y fallos, así como de los aciertos y fallos de sus rivales. Por ello, hace unos años se planteó mejorar el entrenamiento de las redes neuronales utilizando otras redes. Por ejemplo, poniendo a competir a dos redes que han sido entrenadas para jugar a un determinado juego: esto las permite aprender y mejorar por encima de las capacidades que tenían previamente. Pero esta técnica no se limita solamente a conectar dos redes iguales, existe otra técnica mediante la cual se conectan dos redes artificiales de tal modo que una aprende en base a lo que otra genera para intentar engañarla. Esto es lo que se llama aprendizaje por adversario (“adversarial learning”). Volvamos a la alegre niña que jugaba en el parque y supongamos que su padre empieza a mostrarle fotos de gatos con aspecto de perros y viceversa, lo que él intenta hacer es engañar a su cerebro con ejemplos forzados de imágenes irreales que, a la larga, reforzarán su aprendizaje. Estas técnicas de entrenamiento, y alguna otra que no tienen cabida en este breve artículo, son las que utilizó Google para que su Inteligencia Artificial (AlphaGo) batiese al campeón mundial de Go (un juego de mesa chino que es considerado tremendamente complejo, mucho más que el ajedrez) [1].

Supongo que a estas alturas del artículo muchos de los lectores asustadizos estarán comprando víveres y haciendo las maletas para irse a un lugar seguro en las montañas, lejos de la tecnología donde las máquinas no puedan utilizarnos como pilas de combustible. Aunque grandes nombres de la tecnología hayan expresado su preocupación por el desarrollo de la Inteligencia Artificial [7, 8], no debemos olvidar que hasta el momento los humanos somos los que hemos creado estos complejos modelos matemáticos capaces de “aprender”, en el sentido más amplio de la palabra. Somos nosotros quienes les colocamos esa semilla de “inteligencia” y la regamos para hacerla crecer. Además, si algo sale mal siempre podemos recurrir al truco fácil del informático: apagar y volver a encender (o no).

Referencias