Revolución IA

La Inteligencia Artificial está llamada a protagonizar la próxima Revolución tecnológica

Inicio Sobre Revolucionia Temas Para saber más Contacto

AlphaZero: Ajedrez superhumano

Fernando P.    20/12/2017

Temas:  Actualidad    Aplicaciones    Divulgación

No hace mucho, dedicábamos un artículo al, por aquel entonces, último desarrollo de la compañia DeepMind, filial de Google, denominado AlphaGo Zero. Se trataba de un sistema para jugar al tradicional juego Go que había sido capaz de aprender por su cuenta y que era capaz de derrotar sistemáticamente a un desarrollo anterior (AlphaGo) que, a su vez, había derrotado al campeón del mundo de este juego.

Recientemente, hemos conocido una modificación a AlphaGo Zero que es capaz de jugar al Ajedrez y que ha conseguido un rendimiento asombroso.

AlphaGo Zero
En su día, cuando hablamos sobre el desarrollo y funcionamiento interno de AlphaGo Zero, ya tratamos sobre los problemas que plantean juegos del tipo de Go y del Ajedrez desde el punto de vista de la Inteligencia Artificial.

Básicamente, no es muy complicado diseñar algoritmos para búsqueda de soluciones que sean capaces de explorar muchos movimientos hacia adelante a partir de una posición dada, tratando de localizar cual es el movimiento que conduce con mayor probabilidad a una situación ventajosa.

Jaque mate AlphaZero Estos algoritmos funcionan bien para resolver situaciones concretas, lo que podemos denominar la táctica del juego. Pero no son capaces de tener una visión global del juego y de mantener una estrategia adecuada.

Por ello, durante décadas, los programas para jugar al Go o al Ajedrez vencían fácilmente a jugadores no demasiado expertos pero tenían problemas serios al enfrentarse a jugadores muy experimentados.

El aumento de potencia de los computadores, el acceso instantáneo a inmensas bases de datos de partidas reales jugadas por humanos y la codificación de reglas por expertos humanos para tratar de mejorar el nivel de juego de los programas desde el punto de vista de la estrategia, consiguió hace unos años que los programas de computador empezaran a estar al nivel de los mejores humanos o incluso mejor.

En el juego del Go, todo esto cambió cuando apareció AlphaGo Zero. Se trataba de un sistema que sólo conocía las reglas del juego y ni siquiera era capaz de hacer búsquedas masivas por el árbol de movimientos de la partida.

AlphaGo Zero era una red neuronal artificial entrenada de forma no supervisada que jugaba contra sí misma y era capaz de aprender de sus errores. En el curso de un elaboradísimo proceso que involucraba jugar contra sí misma cientos de miles o incluso millones de veces, la red iba aprendiendo de sus errores en cada partida.

Al final del proceso, la red había aprendido tanto que derrotó con facilidad a su antecesora AlphaGo (construida usando ingentes cantidades de conocimiento humano sobre el juego del Go). Durante el proceso de aprendizaje, la red fue capaz de aprender por igual táctica y estrategia, de la misma forma que hacen los humanos y fue capaz de identificar cantidades ingentes de patrones de situaciones a evitar o a buscar.

De AlphaGo Zero a AlphaZero
El juego del Go tiene una ventaja respecto al Ajedrez que consiste en una representación relativamente simple, que tiene muchas simetrías y que es más fácil de codificar que el juego del Ajedrez.

Pero por lo demás, ambos juegos son similares conceptualmente. Así que era cuestión de tiempo que la misma aproximación usada para desarrollar AlphaGo Zero se aplicara al Ajedrez.

Lo que ha sucedido es que los investigadores de DeepMind han creado una versión más genérica, pero también más sencilla, de AlphaGo Zero que es capaz de jugar al Go, al Ajedrez y al Shogi (Ajedrez japonés).

Los cambios que se han operado en AlphaGo Zero no son relevantes a nivel conceptual. Básicamente se ha adaptado para permitir la representación del Ajedrez (más compleja) y se ha eliminado un proceso interno de competición que había entre varias instancias de la red neuronal artificial para poder seguir evolucionando la que mejor jugaba en un momento dado.

Con la simple adaptación de AlphaGo Zero para poder representar el juego del Ajedrez, ha sucedido lo mismo que ya sucedió en su día para el juego del Go.

AlphaZero es el nombre de la nueva red que es capaz de jugar al Ajedrez (además del Go y el Shogi). Usando el mismo proceso de aprendizaje a base de jugar contra sí misma ha conseguido batir de forma rotunda al mejor programa convencional de Ajedrez en la actualidad, denominado Stockfish.

Cuestiones interesantes sobre AlphaZero Esquema AlphaZero para Ajedrez
Básicamente, AlphaZero empieza a jugar al Ajedrez conociendo sólo las reglas y usa un mecanismo no muy elaborado (MCTS) de evaluación de posiciones que puede estudiar 80.000 posiciones por segundo. Esto puede parecer mucho pero que está muy por debajo de lo que evalúan los programas comerciales de Ajedrez modernos.

El mecanismo MCTS no hace de AlphaZero una gran jugadora, es un mecanismo táctico, pero evita que cometa errores graves y es capaz de crear problemas al adversario. A a medida que la red va jugando partidas, aprende de ellas y cada vez necesita menos del MCTS.

Todo el proceso de entrenamiento involucró unos 44 millones de partidas jugadas, pero la red no mejoró apenas a partir de la mitad del proceso, ya había visto lo suficiente como para ser imbatible, con los estándares actuales. La puntuación ELO estimada de la red en este punto está por encima de 3000 puntos. Algo nunca alcanzado por un humano.

Naturalmente, estamos hablando de una red neuronal artificial con miles de neuronas y cientos de miles o millones de parámetros. Un monstruo muy difícil de entrenar en un computador convencional. Pero en un computador especializado construido por Google sólo necesita unas pocas horas para pasar de cero a ser la mejor jugadora del mundo.

Quizá sería interesante ver qué sucedería si un humano pudiera llegar a jugar millones de partidas y aprender de todas ellas. Se trata de un número de partidas que está fuera del alcance de un humano. En realidad, resulta interesante notar que un humano con muchísimas menos partidas jugadas (probáblemente menos de 10.000) ya puede ser un oponente incómodo incluso para AlphaZero.

A la vista de la evolución del entrenamiento de AlphaZero, da la sensación que de que todo el conocimiento posible sobre Ajedrez se puede codificar en unos pocos millones de partidas.

Por último, resulta interesante que AlphaZero aprendió rápidamente a ejecutar los movimientos de apertura y defensa más conocidos en la teoría ajedrecística. Según parece, es muy mala idea tratar de innovar en este tipo de cuestiones si el oponente las conoce o, como en este caso, las descubre por azar (44 millones de partidas dan para muchas aperturas).



Durante siglos, el Ajedrez se ha considerado un problema de dificultad extraordinaria, pero con clasificadores de suficiente tamaño parece ser que la cantidad de patrones de interés a identificar es finito. El tiempo dirá si todavía queda mucho por hacer en Ajedrez.



Para saber más:

Artículo original con la investigación y con todos los detalles del desarrollo de AlphaZero a partir de AlphaGo Zero. Contiene varias partidas de ejemplo jugadas por la red contra el programa Stockfish.



 

Inicio Powered by NetBSD
 
HTML5
 
En general, todo el contenido de este sitio web es original, salvo referencias o enlaces a otros sitios web y citas o reproducciones expresamente presentadas como tales.

No está permitida la reproducción ni la copia del contenido de este sitio web sin el permiso expreso de la propiedad del mismo.

Este sitio web no utiliza cookies ni ningún otro mecanismo para almacenar información en los navegadores de los visitantes ni para realizar seguimiento de los mismos.

2017,2018 Revolucionia.net
Sobre Revolucionia
Temas
Para saber más
Contacto