AlphaZero: ¿Tatara-tatarabuelo de Skynet?

Hay varias razones por las que el nombre de AlphaZero, también conocido como AlphaGo Zero, puede sonarte: eres aficionado al ajedrez, te interesa el mundo de la Inteligencia Artificial, de la tecnología en general; puede que incluso lo hayas confundido con su hermano mayor: AlphaGo. El motivo no es importante, lo fundamental es que ES importante.

Este artículo tiene una doble finalidad: dar a conocer de una forma amena, el avance tecnológico que significa el desarrollo de la actual versión de AlphaZero para aquellos que no lo conozcan, y por otro lado, aportar algún conocimiento a aquellos que conocen el tema. Para empezar con el primer objetivo, una definición sencilla de qué es AlphaZero casi podría entrar en una tarjeta de Trivial:

“AlphaZero es una Inteligencia Artificial (IA) desarrollada por DeepMind, filial de Google. En concreto se trata de una versión generalista de AlphaGo, también desarrollada por DeepMind”.

Con esto, se podía salir del paso hasta hace poco más de un mes en cualquier conversación de cafetería, y quedar bien en un descanso de reunión cliente-proveedor. Hoy, el comentario ya se queda corto porque, como hemos dicho al principio, AlphaZero es ya importante. Y aunque el logro que alcanzó AlphaZero en diciembre de 2017, aún está coleando y va a seguir siendo motivo de análisis y polémica, también puede resumirse en la respuesta de una pregunta de Trivial:

“AlphaZero ganó 28-0 a Stockfish”.

Si se tratara de una victoria de un motor ajedrecístico sobre otro, por muy holgada que fuera no habría tenido mucha repercusión más allá del ámbito del juego-ciencia, como llaman muchos al ajedrez. Pero lo cierto es que la forma nunca antes vista en que la IA de DeepMind desarrolló su juego, ha trascendido y mucho.

AlphaGo, el hermano mayor
Antes de profundizar en AlphaZero y el ajedrez, hay que pararse y mirar un momento atrás al hermano mayor: AlphaGo. Se trata de una IA diseñada específicamente para descifrar el juego del Go, que dicho en palabras del propio fundador de DeepMind: “Es el Santo Grial para las IA”. Las dimensiones y complejidad de este juego han sido feudo de los humanos durante 2.000 años por dos razones:

  • Es terriblemente abstracto, pues su estrategia profunda únicamente ha sido parcelada por la intuición humana.
  • Es absurdamente complejo. No existe capacidad de procesamiento para calcular todas las posibilidades que ofrece una partida de Go. “Aunque conectáramos todos los procesadores del mundo a la vez, su capacidad de computación no sería suficiente para abarcar todas sus posibilidades”, afirma David Silver de DeepMind.

La combinación de estos dos elementos hacen que sea muy complicado, escribir un código para jugar bien al Go.

Cómo AlphaGo puso fin a la supremacía de los humanos en el Go en marzo de 2016, igual que hiciera en el ajedrez Deep Blue al vencer a Gary Kasparov en mayo 1997, está ampliamente documentado y no nos detendremos en los detalles. Basta con buscar: “AlphaGo vs Lee Sedol”. Especialmente recomendable es el documental de Greg Kohs: “AlphaGo”.

Lo que nos interesa es el método del que se sirvieron los ingenieros y programadores de DeepMind para lograr crear un programa que alcanzase tal hito. En los “papers” publicados por la empresa, se pone de manifiesto que el reto que se persigue no es dominar terrenos como los juegos del Go o el ajedrez. Se trata de ejercicios de entrenamiento que persiguen un fin mucho más grande: diseñar una forma de autoaprendizaje autónomo.

En el caso de AlphaGo, introdujeron las reglas del juego y cientos de miles de partidas jugadas entre jugadores humanos. Con esto, el programa adquirió una base de conocimiento sobre la que aprender. El siguiente paso fue ponerlo a jugar contra versiones de sí mismo, y tras 24 horas, había alcanzado un nivel sobrehumano. El auto aprendizaje reforzado había sido un éxito, el resto… es historia documentada.

AlphaZero vs AlphaGo: ¡El Rey ha muerto, viva el Rey!
En este punto, debemos retomar los pasos del prometedor hermano pequeño. Volvemos a AlphaZero. Como hemos dicho al principio, AlphaZero es una versión generalista, es decir, sin objetivo de diseño predefinido  de AlphaGo. La primera hazaña de AlphaZero que se pregonó a los cuatro vientos llegó en forma de drama familiar, enfrentando a los hermanos en un tablero de Go: AlphaZero venció a AlphaGo 100 a 0. Y la puntilla es que lo logró después de 8 horas de autoaprendizaje.

Es importante recordar que al autoaprendizaje de AlphaGo, se le sumó la experiencia de cientos de miles de partidas grabadas entre jugadores humanos. En ambos casos, DeepMind optó por un tipo de aprendizaje llamado reforzado, que según la definición del MIT consiste en “lograr que los ordenadores aprendan como las personas, sin necesidad de darle instrucciones explícitas. Está inspirado en la forma en que los animales parecen aprender a través de la experimentación y la retroalimentación”.

La diferencia es que en el caso de AlphaZero, el aprendizaje reforzado y el empleo de redes neuronales profundas no se acompañó con ningún tipo de conocimiento ni experiencia previa humana. Sin partidas jugadas por humanos, AlphaZero conoció las dimensiones del tablero, las reglas del juego, y le pusieron a jugar contra sí mismo. Primero de forma aleatoria, luego perfeccionando su juego a medida que sacaba conclusiones. Se preguntó al equipo de DeepMind, por qué no sumaron la experiencia de partidas previas en AlphaZero, y la respuesta de David Silver, investigador principal del proyecto y profesor del University Collage de Londres, es clara: “Al no usar datos ni experiencia humana, hemos eliminado las limitaciones del conocimiento humano. El programa es capaz de crear conocimiento por sí mismo a partir de datos primitivos”.

AlphaZero aprende ajedrez
Y con estos antecedentes llegamos al hito que ha puesto patas arriba el mundo de la tecnología, la informática, y por descontado el ajedrez. Comprobada la eficacia del algoritmo, DeepMind decidió poner un pie en otro juego de mesa que cuadra con el entorno en el que AlphaZero se siente cómodo: el ajedrez, con su entorno de reglas controlado y su alternancia de iniciativa.

Mismo proceso de aprendizaje que el efectuado para aprender a jugar a Go: reglas del ajedrez y empieza a jugar contra sí mismo. Cuatro horas después ha alcanzado un nivel que le permite enfrentarse a Stockfish, uno de los motores ajedrecísticos más fuertes del momento, y derrotarle en un enfrentamiento a 100 partidas por 28 victorias, 0 derrotas y 72 tablas. Internet estalla.

Sobre este enfrentamiento, su polémica y análisis ajedrecístico, vamos a pasar de puntillas, recomendando no obstante visitar la red en busca de extensos y detallados análisis que hay ya inundando blogs y webs especializadas. Lo que nos interesa, de nuevo, es escarbar un poco en cómo y por qué ha sido tan sonora la victoria de AlphaZero sobre Stockfish.

Ha sido Demis Hassabis, fundador y CEO de DeepMind, en la misma línea que las palabras de David Silver citadas anteriormente, el que ha puesto sobre la mesa la clave: ” AlphaZero no juega como un ser humano ni como un programa. Juega de una tercera manera, casi alienígena” Lo que Hassabis llama “alienígena” es la generación de conocimiento independiente que se persigue con el aprendizaje automático de máquinas y el empleo de redes neuronales.

¿Cómo “piensa” AlphaZero?
Vamos a identificar algunas claves sobre la forma en que jugó AlphaZero el enfrentamiento, que nos ayuden a entender el porqué de tanta expectación:

  • Cálculo de posibles movimientos. AlphaZero veía menos que Stockfish. Esto quiere decir que AlphaZero, durante el enfrentamiento, seleccionaba sobre bastantes menos posiciones por segundo que su oponente. En concreto, Stockfish era capaz de calcular 70 millones de posiciones por segundo, mientras que AlphaZero lo hizo sobre 80.000 posiciones por segundo. Ambos motores emplean las mismas funciones: utilizan una red neuronal profunda para la búsqueda de movimientos, y un complejo algoritmo se encarga de elegir el siguiente movimiento. Sin embargo, en el caso de AlphaZero estas dos funciones eran ejecutadas por la misma red neuronal. Como afirma Martin Mueller de la Universidad de Alberta: “La arquitectura (de AlphaZero) es más simple, pero más potente que sus versiones anteriores”.

 

  • Selección eficiente. El abanico de posibles movimientos que maneja AlphaZero (lo que se denomina Árbol de Análisis) es más corto y también más eficiente. Entre los jugadores humanos, el jugador más fuerte tiende a calcular menos posibles movimientos, pero más efectivos, al centrarse en desarrollos más prometedores. Esta “intuición” a la hora de asignar un valor a la posición al final de una variante es uno de los puntos que más tinta ha hecho correr durante estas semanas. A continuación intentamos explicar las diferencias en la función de selección y asignación de valor de posiciones entre ambos programas:
    • Stockfish, como la mayoría de los motores de ajedrez más fuertes, utiliza como base el algoritmo Minimax. Para explicarlo hemos recurrido a la web especializada Chess.com: “Significa que se escoge el movimiento que da la mayor ventaja, independientemente de lo que juegue el oponente. Esta base de cálculo siempre se mejora con una Poda Alfa-Beta, buscando reducir el tamaño del árbol de variantes a examinar. Como ejemplo exagerado: digamos que un módulo está considerando un movimiento, y ve que su oponente tiene veinte respuestas factibles. Una de esas respuestas lleva a un jaque mate forzado.  Entonces, el módulo puede abandonar (o “amputar”) este movimiento que estaba considerando, independientemente de lo bien que funcionaría contra el resto de los otros 19 posibles movimientos”. Como podemos deducir, este tipo de selección hace difícil ver elecciones de sacrificio de piezas, ya que el módulo considerará poco ventajosos, y  “podará” aquellos movimientos que impliquen pérdida de material, es decir, sacrificios (algo muy utilizado en el ajedrez entre humanos).
    • AlphaZero, utiliza un enfoque muy distinto. Utiliza la Búsqueda de Árbol Monte Carlo como base de valoración y selección, lo que implica que para evaluar una posición, AlphaZero genera una serie de secuencias de movimientos de manera arbitraria, y extrae el porcentaje de beneficio de cada uno de ellos. Recurrimos de nuevo a Chess.com para explicar el proceso con más detalle: “AlphaZero crea 800 desarrollos en cada movimiento. También aumenta la Búsqueda de Árbol Monte Carlo puro prefiriendo movimientos que no ha probado (mucho) aún, que parecen probables y que parecen llevar a “buenas” posiciones, es decir, donde la función de evaluación les da un valor alto. Realmente crea desarrollos semi-arbitrarios, líneas que parecen apropiadas a su función de evaluación en mejora constante”. Así, el único terreno en el que AlphaZero no se siente cómodo y puede tener problemas de evaluación, es cuando la situación le fuerce a seleccionar de forma no arbitraria, cuando hay una sola línea de juego favorable.

En conclusión y para cerrar este intento de sondear el cerebro de la bestia, nos quedaremos con la idea de que DeepMind ha sido capaz de dotar a una Inteligencia Artificial de la intuición con la que el jugador humano evalúa y selecciona los movimientos más eficaces. Son algoritmos, árboles de análisis, cálculos ponderados, y mucho más sobre el papel; nada vivo.

Pero es nuevo, prometedor y distinto a lo que conocíamos. Los juegos de mesa del Shogi, Go y el ajedrez, ya han sido marcados tras el paso de este nuevo paradigma. Expertos como Leontxo García no dudan en posicionarse: “Nadie, ni humano ni máquina, había jugado tan bien al ajedrez como AlphaZero”. Debemos asumir que esto no ha hecho más que empezar, y que promete una evolución rápida y contundente.

Todo lo expuesto hasta aquí pone de manifiesto que estamos viviendo un punto de inflexión en el desarrollo científico y tecnológico, pero no debemos perdernos y dejar que el cine de los 90 nuble nuestra razón. Ante el aluvión de análisis y conclusiones, en algunos casos rayando el mensaje apocalíptico de la inminente venida de Skynet y su rebelión de las máquinas, se han alzado otras tantas voces que dan un poco de serenidad.

Sin ir más lejos, desde DeepMind, Hassabis adelanta un punto de vista más armonioso en la relación del hombre con la máquina: “Espero que este tipo de algoritmos y sus versiones futuras trabajen de manera rutinaria con nosotros para avanzar en las fronteras de la ciencia y la medicina, y dentro de 10 años la IA desempeñará un papel clave. Tal vez todo tipo de cosas serán diseñadas y descubiertas en parte por este tipo de algoritmos, trabajando en conjunto con humanos muy inteligentes”.

Así que, disfrutemos sabiendo que estamos asistiendo a los primeros pasos de una nueva forma de generar conocimiento, una nueva forma de enfocar y resolver los problemas, del que podemos salir muy enriquecidos. Con la seguridad de que, al menos, tenemos 10 años para prepararnos antes de que llegue Skynet.

Nuño Orgaz

Sociólogo de formación, Estadístico de profesión, y programador frustrado de vocación. Habiendo pasado más de 15 años dedicado a dar significado a los datos, tenía que pasar al otro lado y vivir qué se siente al crear código. En el tiempo libre, ejerzo de predicador incansable de las bondades de Raspberry Pi, y consumo de forma compulsiva todo lo relacionado con la Informática Clásica.