Casi cada día desayunamos con alguna noticia sobre Inteligencia Artificial que, indefectiblemente, nos evoca a Skynet. Una de las últimas es que, en solo cuatro horas, la IA de Google, AlphaZero, ha logrado dominar todo el conocimiento ajedrecístico por ella misma.
Realmente la IA ya está empezando a dominar muchos campos del conocimiento de forma más solvente que el ser humano, pero ¿eso significa que este crecimiento en habilidades continuará adelante a este ritmo? Y, después de todo, ¿es tan espectacular lo que estamos viendo hasta ahora?
Inteligencia relativa
Parece que la IA está protagonizando una revolución de la que todavía no somos capaces de predecir sus efectos. Cada día se escriben artículos al respecto, los popes de la tecnología advierten que debemos tener cuidado y no continuar adelante, se escriben docenas de libros al años (yo mismo he publicado recientemente uno).
Gran parte de esta revolución la está protagonizando el Deep Learning (aprendizaje profundo), sobre todo en el campo de la traducción, el reconocimiento de voz, el reconocimiento de imágenes y los juegos.
Pero lo peculiar del aprendizaje profundo es la edad de las ideas clave sobre las que se sustenta. En un artículo innovador de Geoffrey Hinton, con sus colegas David Rumelhart y Ronald Williams, publicado en 1986, se presentaba la técnica backpropagation, o retropropagación para abreviar. Es decir, que quizá no estamos tanto en el inicio de una revolución sino en sus últimos coletazos, la que inició el backprop.
Retropropagación
En la década de 1980, Hinton era, como lo es ahora, un experto en redes neuronales, un modelo muy simplificado de la red de neuronas y sinapsis en nuestros cerebros. Sin embargo, en ese momento se había decidido firmemente que las redes neuronales eran un callejón sin salida en la investigación de IA.
Aunque la red neuronal más antigua, el Perceptron, que comenzó a desarrollarse en la década de 1950, había sido aclamada como un primer paso hacia la inteligencia de una máquina a nivel humano, un libro de 1969 del MIT Marvin Minsky y Seymour Papert, llamado Perceptrons, demostró matemáticamente que las redes podían realizar solo las funciones más básicas. Estas redes tenían solo dos capas de neuronas, una capa de entrada y una capa de salida. Las redes con más capas entre las neuronas de entrada y salida podrían, en teoría, resolver una gran variedad de problemas, pero nadie sabía cómo entrenarlas, y en la práctica eran inútiles.
Excepto por unos pocos reticentes como Hinton, Perceptrons hizo que la mayoría de la gente renunciara por completo a las redes neuronales.
El avance de Hinton, en 1986, fue demostrar que la retropropagación podría formar una red neural profunda, es decir, una con más de dos o tres capas. Pero pasaron otros 26 años antes de que aumentara el poder computacional para hacer efectivo el descubrimiento. Un artículo de 2012 de Hinton demostró que las redes neuronales profundas, entrenadas usando la retropropagación, superaban a los sistemas más avanzados en reconocimiento de imágenes. El "aprendizaje profundo" despegaba.
Una red neuronal generalmente se dibuja con capas apiladas una encima de la otra. Las capas contienen neuronas artificiales, que son pequeñas unidades computacionales tontas que se excitan y transmiten esa excitación a las otras neuronas a las que están conectadas. La excitación de una neurona está representada por un número, como 0.13 o 32.39, que señala lo emocionada que está. Y hay otro número crucial, en cada una de las conexiones entre dos neuronas, que determina cuánta excitación debe pasarse de una a la otra. Cuando el número es más alto, significa que la conexión es más fuerte, por lo que una mayor parte de la excitación fluye hacia la otra neurona.
En el reconocimiento de imágenes por parte de una IA, la capa superior de la red neuronal, la capa de salida, tiene solo dos neuronas, una que representa "árbol" y la otra que representa "no árbol". La idea es enseñar a la red neuronal a excitar solo la primera capa de esas neuronas si hay un árbol. La propagación inversa, o retropropagación, la técnica sobre la que Hinton ha construido su carrera, es el método para hacerlo.
¿Cómo funciona?
La retropropagación es bastante imple, aunque funciona mejor con grandes cantidades de datos. En este caso, los datos toman la forma de millones de imágenes, algunas con árboles y otras sin ellos; el truco es que estas imágenes están etiquetadas como si tuvieran árboles. Cuando crea su red neuronal por primera vez, las conexiones entre las neuronas pueden tener pesos aleatorios: números aleatorios que indican cuánta excitación transmitir a lo largo de cada conexión. Es como si todavía no se hubieran sintonizado las sinapsis del cerebro. El objetivo de la retropopagación es cambiar esos pesos para que la red funcione: de modo que cuando pasas la imagen de un árbol a la capa más baja, la neurona de "árbol" de la capa superior termina por excitarse.
Backprop, pues, es un procedimiento para re-ajustar la fuerza de cada conexión en la red para corregir el error de un ejemplo de entrenamiento dado.
La forma en que funciona, paso a paso, es que comienzas con las dos últimas neuronas, y descubres cuán equivocadas estaban: ¿cuánta diferencia hay entre lo que los números de excitación deberían haber sido y lo que son? A continuación, se echa un vistazo a cada una de las conexiones que conducen a esas neuronas, las que se encuentran en la siguiente capa inferior, y se descubre su contribución al error. Se continúa haciendo esto hasta que llegas al primer conjunto de conexiones, en la parte inferior de la red. En ese punto, se sabe cuánto contribuyó cada conexión individual al error general y, finalmente, se cambia cada una de las ponderaciones en la dirección que mejor se reduzca el error en general. La técnica se llama "retropropagación" porque está "propagando" errores hacia atrás (o hacia abajo) a través de la red, comenzando desde la salida.
Lo sorprendente es que cuando haces esto con millones o miles de millones de imágenes, la red comienza a ser muy competente a la hora de señalar si en una imagen aparece un árbol o no.
Y lo que es aún más asombroso es que las capas individuales de estas redes de reconocimiento de imágenes comienzan a ser capaces de "ver" imágenes de la misma manera que lo hace nuestro propio sistema visual. Es decir, la primera capa podría terminar detectando bordes, en el sentido de que sus neuronas se excitan cuando hay bordes y no se excitan cuando no las hay; la capa encima de esa podría ser capaz de detectar conjuntos de bordes, como esquinas; la capa encima de esa puede comenzar a ver formas, y así sucesivamente.
La red se organiza, en otras palabras, en capas jerárquicas sin haber sido programada explícitamente de esa manera.
Sorprendentemente tonto
A pesar de sus asombrosos resultados, pues, estos sistemas de aprendizaje profundo son bastante tontos. Las redes neuronales son simplemente identificadores de patrones y, por tanto, se pueden engañar fácilmente. Una red neuronal profunda que reconoce imágenes puede bloquearse por completo al cambiar un solo píxel o agregar un ruido visual imperceptible para un ser humano.
El aprendizaje profundo de alguna manera imita lo que sucede en el cerebro humano, pero solo de una manera superficial, lo que quizás explica por qué su inteligencia a veces puede parecer tan superficial. La razón de ello es que no podemos imitar el cerebro humano en toda su complejidad porque ni siquiera sabemos cómo funciona.
De hecho, el backprop no fue descubierto tras sondear profundamente en el cerebro, descifrando el pensamiento en sí mismo; surgió a partir de modelos de cómo los animales aprenden por ensayo y error en antiguos experimentos de acondicionamiento clásico.
Hemos mejorado la IA de forma increíble, pero en función de pequeños retoques de ingeniería. Se ignora si mejorando esa ingeniería se alcanzará algo parecido a la solvencia de un cerebro humano. Y si hemos exprimido ya todo lo que da de sí la retropropagación, estaríamos en las postrimerías de una pequeña revolución en la IA.
¿Alguna vez la IA podrá aprender con tanta fluidez que un cerebro humano diferentes tipos de patrones conectados entre sí en función de distintos contextos? En definitiva, ¿una IA podría tener algo parecido a un modelo del mundo? No lo sabemos. Ni siquiera sabemos con seguridad si estamos siguiendo el camino correcto para conseguirlo. Eso no significa, naturalmente, que no acabemos por lograrlo, o que, al menos, consigamos que la IA realice muchos trabajos puntuales de forma mucho más eficaz que el ser humano.
Ver 3 comentarios