go-game01

Crazy Stone es el programa de Rémi Coulom, el cual lleva ya una década de trabajo buscando ser el programa que juegue el antiquísimo juego oriental del Go mejor que cualquier otra máquina en el planeta y que además, pueda competir contra los seres humanos. El año paaado, el el clímax del torneo llevado a cabo en Tokio, el programa retó al gran maestro de Go, Norimoto Yoda, uno de los mejores jugadores en el mundo. Y el programa lo hizo muy bien. Crazy Stone derrotó a Yoda, pero el triunfo llegó junto con una advertencia.

En los últimos 20 años muchos programas y máquinas dedicadas han enfrentado a los mejores jugadores de algunos juegos de mesa, por ejemplo el ajedrez, en el cual ya hay una decena de programas que en términos prácticos son imbatibles para los seres humanos, incluso a nivel del Campeón Mundial. Sin embargo, el juego de Go, en donde dos jugadores compiten con piedras de dos colores en una malla cuadriculada de 19 x 19 intersecciones, se mantiene como la excepción. Crazy Stone sí, derrotó a Yoda, pero empezó con cuatro piedras de ventaja, la única manera de que el encuentro fuese una batalla justa.

Es increíblemente difícil construir una máquina que duplique el tipo de intuición que hace que los mejores jugadores de Go jueguen al nivel que lo hacen. A mediados de los años noventas del siglo pasado, un programa llamado Chinook  batió al jugador más fuerte de las damas inglesas. Un par de años después, la máquina Deep Blue, de IBM, derrotaría en un match al Campeón del Mundo Garry Kasparov. Más recientemente otra máquina de la propia IBM, Watson, jugaría mejor que los concursantes más inteligentes en el simpático juego de Jeopardy! Las máquinas ya dominan el Othelo, el Scrabble, el Backgammon y el Póker. Pero en la victoria del programa de Coulom el Gran Maestro Yoda dijo que deberán pasar otros diez años antes de que una máquina pueda vencer al mejor jugador de Go en una partida sin darle ventaja.

Programar una máquina para jugar Go implica entender la intuición que tienen los jugadores más fuertes en este juego. Esto además, es difícil, muy difícil, de implementar en un programa, pero una nueva herramienta podría a la computadora poder vencer el reto del Go en menos de diez años. Se trata de lo que se llama “deep learning” (aprendizaje profundo). Dentro de empresas como Google o Facebook, deep learning está ganando adeptos pues ha servido para reconocer imágenes, observar patrones espaciales -algo importante y crítico en Go. Ahora las dos compañías mencionadas están en una carrera a ver quién llega a resolver el juego antes.

El investigador de Facebook en Inteligencia Artificial, Yuandong Tian, explica que Go es un problema clásico de la IA. Y que es un problema inmensamente atractivo porque es inmensamente difícil. La compañía cree que resolver el Go les ayudará a refinar las técnicas que usan de la IA en la red social, pero además, poder probar el valor de esta ciencia en términos por demás prácticos. Rob Fergus, otro investigador de Facebook está de acuerdo: “La meta es avanzar en la IA”, dice. Pero reconoce que esta competencia tiene como aliciente el tener un rival como Google en el tema. Se trata pues de resolver antes el juego de Go, ya sea por mero orgullo.

La tecnología en boga en la IA es la de las redes neuronales y el aprendizaje profundo. Se trata de redes enormes de máquinas que intentan simular la forma en cómo funcionan las neuronas, que básicamente disparan un estímulo cuando se llega a un umbral. Si se dan unas fotos de árboles a la red, puede eventualmente identificar ésta a los árboles en las fotos. Si se le alimenta con jugadas de Go, pueden aprender cómo jugar el juego de Go, lo cual es francamente asombroso. Aprenden de cómo juegan los humanos y copian efectivamente la manera de jugar de ellos.

Las redes neuronales profundas son apropiadas para el Go, porque éste es un juego de patrones. “Los métodos del aprendizaje profundo son muy buenos para generalizar estos patrones”, de acuerdo con Amos Storkey, un profesor de la Universidad de Edimburgo, quien usa redes neuronales profundas para atacar el problema de Go, como hacen Google y Facebook.

La creencia es que estas redes neuronales finalmente podrían cerrar la brecha entre hombres y máquinas. En el juego del Go, se ve a los grandes maestros que no analizar ni examinan el resultado de cada posible jugada (como se ha hecho desde siempre en ajedrez -y con mucho éxito), sino que frecuentemente basan su juego en cómo se ve el tablero, es decir, en patrones. Con aprendizaje profundo, los investigadores pueden empezar a duplicar este enfoque. Storkey asegura que al alimentar partidas de Go a la red profunda de aprendizaje, “éstas efectivamente copian la manera de jugar de los seres humanos”.

Otro problema con el Go es el ramaje, es decir, la cantidad de variaciones que pueden darse en una posición dada. En ajedrez hay unas 35 jugadas posibles que la máquina tiene que analizar con cierta profundidad, digamos 10 plies (un ply es un movimiento, 10 pies serán diez movimientos es decir, cinco jugadas alternando blancas y negras). En Go hay unas 250 posibilidades diferentes en prácticamente cualquier posición. Es pues imposible crear un árbol tan grande de jugadas en donde se pueda usar el algoritmo minimax. Por ende, se requiere otro enfoque que pueda darle a la máquina la posibilidad de hallar en un tiempo razonable con la mejor jugada.

El esquema entonces parece usar el aprendizaje profundo y el método de Monte Carlo para hacer un árbol de búsquedas. En un artículo publicado el mes pasado en Arxiv, un sitio de artículos científicos, Facebook demostró este método combinado en una competencia con humanos y salió airoso e incluso, parecía que el programa jugaba como un ser humano. Después de todo, aprendió de las jugadas alimentadas por los seres humanos. Coulom dice que los resultados son “espectaculares”. Sin embargo queda claro, y Coulom lo reafirma, que un enfoque híbrido puede ser lo que resuelva el problema del Go. El artículo de Facebook indica que se pueden usar muchas tecnologías que se ayuden mutuamente.

go-game00Después de que Facebook revelara su trabajo con el juego de Go, Google se puso a trabajar al respecto. Demis Hassabis, un investigador de la IA en Google, dijo que en un par de meses la compañía podría revelar una “gran sorpresa” relacionada con el juego de Go. Google declinó decir más al respecto y no está muy claro qué es lo que tienen bajo la manga. Coulom dice que no suena razonable que Google pueda producir avances espectaculares en tan poco tiempo, pero cree que la compañía podría tener algo significativo en el camino de la resolución de este problema.

Google podría estar, se especula, intentando resolver el problema del Go con algoritmos que refuercen el aprendizaje profundo, una técnica más que haría más poderosa esta idea de la IA. Pero habrá que ver hasta que Google salga con sus resultados. Hay que decir, sin embargo, que DeeepMind, una empresa que comprara Google y que tiene su base en Cambridge, Inglaterra, ha usado ya el aprendizaje profundo para aprender cómo jugar los primeros juegos de Atari, los cuales han jugado mejor que las personas que se dedican profesionalmente a probar los juegos de video. Una vez que la máquina entiende el juego, se usa el reforzamiento profundo, el cual básicamente hace que la computadora intente un movimiento particular y si éste tiene una recompensa, lo reconoce como un buen movimiento y lo aplica. Se esperaría que este mecanismo podría funcionar con el juego del Go.

Referencias:

Wired 
Arxiv