La Inteligencia Artificial siempre se ha marcado retos difíciles, y superar alguno de ellos demostraría otro gran avance en esta área de investigación. Después de que Deep Blue derrotara a Gary Kasparov (campeón del mundo de ajedrez) en 1997, se planteó, entre los siguientes objetivos, conseguir un algoritmo capaz de vencer a los mejores jugadores del mundo del Go.
El juego del Go: los parámetros de aprendizaje de AlphaGo
El Go es un juego de mesa tradicional chino con más de 2500 años de antigüedad. Se trata de un juego para 2 personas que, por turnos, van colocando piezas blancas y negras en un tablero estándar de 19×19. El objetivo es capturar las piezas del oponente, eliminándolas así del tablero, o rodear espacios vacíos para hacer puntos de territorio.
El Go tiene más configuraciones posibles del tablero que átomos en el universo conocidos, por lo que la diferencia de complejidad respecto al ajedrez es gigantesca (10100). Hasta hace unos años, los programas que jugaban al Go solo eran capaces de llegar al nivel de un amateur.
Y es que sistemas como Deep Blue se basan en calcular un árbol de millones de posibles disposiciones del tablero a partir del actual. Debido a la gran cantidad de posibilidades que pueden darse en el Go, este sistema no conseguía grandes resultados con este juego.
Por tanto, era necesaria una nueva perspectiva desde la que tratar de resolver este problema, y esto lo consiguió AlphaGo.
¿Qué es AlphaGo?
AlphaGo es un algoritmo de Inteligencia Artificial desarrollado por el equipo de DeepMind y basado en redes neuronales profundas y aprendizaje por refuerzo.
Lo que se intentó con este algoritmo fue capturar el aspecto intuitivo del juego que dicen utilizar los grandes maestros del Go mediante el aprendizaje por refuerzo, un tipo de algoritmo que ha obtenido grandes avances en los últimos años y que se basa en tomar acciones dentro de cierto entorno – por ejemplo, el Go – para maximizar alguna noción de recompensa acumulada.
El programa aprendió cómo jugar al Go gracias a miles de partidas con amateurs y profesionales. Después fue entrenado jugando contra diferentes versiones de sí mismo otras tantas veces, aprendiendo de los errores que cometía y mejorando hasta llegar al nivel con el que ha conseguido superar al campeón del mundo de Go.
De esta forma, AlphaGo fue el primer programa de ordenador en ganar a un jugador profesional de Go. Más tarde, en marzo de 2016, compitió contra Lee Sedol, 18 veces campeón del mundo y considerado el mejor jugador de la última década, y consiguió ganar 4-1 en una competición vista en directo por más de 200 millones de personas. Hasta Netflix ha realizado una película de este hito de la Inteligencia Artificial.
AlphaGo Zero, la evolución de AlphaGo
En octubre de 2017, DeepMind presentó a AlphaGo Zero, una evolución de AlphaGo.
AlphaGo Zero, basado también en el aprendizaje por refuerzo, consiguió en tan solo 3 días de entrenamiento superar a la versión que ganó a Lee Sedol.
Sin embargo, lo más destacable de esta nueva versión es que no necesitó ninguna partida jugada por humanos ni supervisión para conseguirlo, una de las grandes ventajas del aprendizaje por refuerzo. AlphaGo Zero aprendió a jugar compitiendo contra sí mismo, empezando a jugar de forma totalmente aleatoria para terminar desarrollando habilidades y jugadas nunca antes vistas en el Go.
Además, esta nueva versión solo recibe como entrada la situación del tablero, cuando su predecesor recibía también ciertas variables sintéticas, y usa una única red neuronal, en lugar de las dos del AlphaGo.
Con esto, no solo se consiguieron mejorar los resultados de AlphaGo, sino también que el programa entrenara jugando solo contra sí mismo y con un mejor rendimiento en velocidad de aprendizaje.
AlphaZero, la versión genérica de AlphaGo Zero
Tan solo un par de meses después, a finales de 2017, DeepMind volvió a sorprender con la presentación de AlphaZero.
AlphaZero es una versión más genérica que AlphaGo Zero que aplicaron a los juegos de ajedrez, shogi (ajedrez japonés) y Go usando el mismo algoritmo y arquitectura de red neuronal para los tres juegos. De esta forma, consiguieron demostrar que un algoritmo de aprendizaje por refuerzo puede aprender sin conocimiento previo, compitiendo contra sí mismo, a jugar a diferentes juegos y conseguir en todos ellos un nivel superhumano.
Para demostrar que AlphaZero era el mejor programa en los 3 juegos, se enfrentó al mejor programa que existía hasta el momento en cada uno de ellos:
- AlphaZero en ajedrez. En el ajedrez, el algoritmo superó el nivel del programa Stockfish en tan solo 4 horas de entrenamiento.
- AlphaZero en Shogi. En shogi, superó al programa Elmo en tan solo 2 horas de entrenamiento.
- AlphaZero en Go. En Go, superó a AlphaGo, la versión que ganó a Lee Sedol, en 30 horas de entrenamiento y a AlphaGo Zero en 13 días de entrenamiento.
Con estos resultados, AlphaZero ha conseguido inspirar y abrir la mente de todos los jugadores profesionales de estos tres juegos de mesa, y ahora son ellos los que están aprendiendo de la forma de juego del programa y las jugadas nunca vistas que es capaz de crear.
Tan importante es lo que han conseguido estos programas que AlphaGo y AlphaZero han sido portada de las dos revistas científicas más prestigiosas del mundo: Science y Nature, lo que refleja la relevancia de los sistemas de aprendizaje por refuerzo.
Al final, esto da un nuevo empujón a la comunidad investigadora en Inteligencia Artificial, para seguir avanzando en el estudio de técnicas como el aprendizaje por refuerzo, que ya ha conseguido grandes resultados pero que promete conseguir muchos más.
Fotografías: Yahoo News