Los investigadores de IA de Facebook quieren crear un súperjugador informático del juego chino Go capaz de vencer a los mejores humanos
Uno de los últimos bastiones del dominio humano sobre los ordenadores es el juego chino Go, en el que los mejores jugadores humanos ganan con facilidad a los mejores motores de Go.
Esto se debe en gran parte a la manera en la que funcionan los motores de Go, que buscan entre todos los movimientos posibles para encontrar el mejor.
Sin embargo, mientras que este enfoque de fuerza bruta funciona bien con las damas y el ajedrez, no da tan buen resultado con Go debido al gran número de posiciones posibles sobre el tablero. En las damas, el número de posiciones sobre el tablero ronda los 10^20; en el ajedrez es de 10^60. En el Go, sin embargo es de 10^100, una cantidad significativamente mayor que el número de partículas del universo. Rastrearlas todas resulta inviable incluso para los ordenadores más potentes (ver Una máquina se autoenseña a jugar al ajedrez en 72 horas a nivel Maestro Internacional).
Así que en los últimos años, los informáticos han empezado a explorar un enfoque distinto. Su idea consiste en identificar el próximo movimiento más útil con el uso de una red neuronal para evaluar el tablero y la partida. Esto elimina el problema de la búsqueda. No obstante, las redes neuronales aún no han igualado el nivel de los buenos jugadores aficionados. Tampoco el de los mejores motores de Go basados en las búsqueda.
Hoy esto cambia gracias al trabajo de Yuandong Tian, del grupo de investigaciones de inteligencia artificial de Facebook en Menlo Park, California (EEUU) y Yan Zhu, de la Universidad de Rutgers en Nueva Jersey (EEUU). Estos investigadores han combinado un potente enfoque de red neuronal con una máquina basada en las búsquedas para crear un motor Go que juega con un nivel impresionante y que todavía puede mejorar más (ver Las redes neuronales ganarán a los humanos al juego chino del Go).
El nuevo enfoque está basado en gran parte en los avances conseguidos en el aprendizaje de máquinas con redes neuronales durante los ultimos dos años. Es el resultado de una mejor comprensión de cómo funcionan las redes neuronales y de la disponibilidad de bases de datos más grandes y mejores para entrenarlas.
Así es como empezaron Tian y Zhu. Utilizaron una base de datos de unas 250.000 partidas reales de Go. De ellas, 220.000 fueron para construir una base de datos de entrenamiento. El resto se utilizaron para probar la capacidad de la red neuronal de predecir los próximos movimientos que se realizaron en las partidas reales.
Esto dio paso a un motor decente de Go, que Tian y Zhu llamaron Darkforest, y que consigue una puntuación bastante buena al enfrentarse a humanos.
Un juego complejo
Go tiene un detallado, aunque complejo, sistema para puntuar a los jugadores. Los principiantes a menudo reciben puntuaciones kyu que oscilan entre 30kyu (la más baja) hasta 7d (un aficionado avanzado). Los mejores jugadores tienen niveles profesionales desde 1p hasta 9p (el nivel más alto).
Darkforest juega al nivel 1d-2d, un nivel amateur aceptable. Es un resultado notablemente mejor que los otros motores Go basados en redes neuronales que juegan al nivel 4-5kyu.
Pero Darkforest tiene una debilidad importante. Mientras que se le da bien evaluar la posición global del tablero, sus tácticas locales son peores, un problema común con los motores basados en redes neuronales.
Por otro lado, los motores basados en búsquedas tienen exactamente la debilidad contraria. Se les dan bien las tácticas locales -pueden buscar entre muchas posiciones parecidas-, pero son deficientes a la hora de evaluar la fuerza global de una posición.
Esto sugiere un camino obvio: combinar una red neuronal con un enfoque basado en las búsquedas.
Pero del dicho al trecho, hay un buen trecho. Los motores basados en las búsquedas trabajan mucho más rápido que las redes neuronales; examinan habitualmente unas 16.000 posiciones por segundo. En comparación, el procesado de Darkforest tarda unos 0,2 segundos en realizar su procesamiento.
Por esta razón, la combinación de estos enfoques no representa una tarea trivial, la cual Tian y Zhu resuelven al ejecutar el proceso en paralelo con una comunicación frecuente entre los dos componentes.
Y los resultados son impresionantes. Tian y Zhu llaman al motor combinado Darkfores2. "Añadir [un enfoque basado en las búsquedas] a Darkforest crea un jugador mucho más fuerte", afirman.
Han puesto el nuevo motor a prueba al enfrentarlo con máquinas existentes. Dicen que gana a Darkforest, la red neuronal sencilla, un 90% de las veces y gana a Pachi, uno de los mejores motores basados en búsquedas del mundo, más del 95% de las veces.
Es un resultado impresionante. Darkfores2 aún no dispone de una puntuación pero claramente es un jugador más potente que su predecesor calificado entre 1d-2d.
Este tipo de investigación todavía se encuentra en una fase inicial, así que es probable que se produzcan mejoras en un futuro próximo. Puede que los humanos estén a punto de perder el dominio sobre los ordenadores en otra área más.
Ref: arxiv.org/abs/1511.06410 : Better Computer Go Player with Neural Network and Long-Term Prediction