Computación
Una máquina se autoenseña a jugar al ajedrez en 72 horas a nivel Maestro Internacional
Por primera vez, una máquina de inteligencia artificial juega al ajedrez mediante la evaluación del tablero
Hace casi 20 años desde que el superordenador Deep Blue de IBM ganó al entonces campeón mundial de ajedrez Gary Kasparov por primera vez bajo las reglas estándar de torneo. Desde entonces, los ordenadores que juegan al ajedrez se han vuelto basante más potentes, dejando a los humanos con pocas posibilidades incluso ante un moderno motor de ajedrez ejecutado en un smartphone.
Pero mientras que los ordenadores se han vuelto más rápidos, el funcionamiento de los motores de ajedrez no ha variado. Su potencia depende de la fuerza bruta, el proceso de buscar entre todos los posibles próximos movimientos para encontrar el mejor.
Por supuesto, ningún humano puede igualar eso, ni de lejos. Mientras que Deep Blue buscaba entre unos 200 millones de posiciones por segundo, Kasparov probablemente no buscaba más de cinco por segundo. Y aun así Kasparov esencialmente jugaba al mismo nivel. Es evidente que los humanos tenemos un truco en la manga que los ordenadores aún no han aprendido a dominar.
Este truco consiste en evaluar las posiciones del ajedrez e identificar las avenidas de búsqueda más rentables. Eso simplifica la tarea computacional porque poda el el árbol de todos los posibles movimientos, dejando sólo un par de ramas.
A los ordenadores, esto nunca se les ha dado bien, pero hoy esto cambia gracias al trabajo de Matthew Lai de la Escuela Imperial de Londres (Inglaterra). Lai ha creado una máquina de inteligencia artificial llamada Giraffe (jirafa) que se ha enseñado a jugar al ajedrez al evaluar las posiciones de una forma mucho más parecida a los humanos y de una forma completamente distinta a los convencionales motores de ajedrez.
Nada más sacarla de la caja, esta nueva máquina juega al mismo nivel que los motores convencionales de ajedrez, muchos de los cuales se han ido afinando durante muchos años. A nivel humano, es el equivalente del estatus de Maestro FIDE Internacional, lo que la coloca entre el primer 2,2% de jugadores de ajedrez de torneo.
La tecnología subyacente de la máquina de Lai es una red neuronal. Esta manera de procesar la información está inspirada en el cerebro humano. Consiste de varias capas de nódulos que se conectan de una manera que cambia según aprende la máquina. Este proceso de entrenamiento emplea muchos ejemplos para ajustar las conexiones para que la red produzca un producto determinado al proporcionarle una determinada información de partida, para reconocer la cara de una foto, por ejemplo.
Durante los últimos años, las redes neuronales se han vuelto enormemente potentes gracias a dos avances. El primero es un mejor entendimiento de cómo ajustar estas redes mientras aprenden, gracias en parte a ordenadores mucho más rápidos. El segundo es la disponibilidad de conjuntos masivos de datos anotados con los que entrenar las redes.
Esto ha permitido a los informáticos entrenar redes mucho mayores y organizadas por capas. Estas llamadas redes neuronales profundas se han vuelto sumamente potentes y ahora, por norma general, rinden mucho mejor que los humanos en tareas de reconocimiento de patrones como el reconocimiento de caras y el reconocimiento de escritura a mano.
No resulta sorprendente que las redes neurales profundas deberían poder identificar patrones en el ajedrez y eso es exactamente el enfoque empleado por Lai. Su red consta de cuatro capas que examinan de forma conjunta cada posición sobre el tablero de tres maneras distintas.
La primera examina el estado global de la partida, como el número y tipo de las piezas de cada jugador que siguen en juego, a cuál de los jugadores le toca mover ficha, los derechos a enrocar y así. La segunda analiza características centradas en las fichas como la ubicación de cada pieza en ambos bandos, mientras que la última se centra en mapear los cuadrados del tablero que ataca y defiende cada pieza.
Lai entrena su red con un conjunto de datos generado cuidadosamente a partir de partidas reales de ajedrez. Este conjunto de datos debe disponer de la distribución correcta de posiciones. "Por ejemplo, no tiene sentido entrenar el sistema sobre posiciones que prácticamente no salen nunca en los partidos reales", dice.
También debe disponer de bastante variedad de posiciones poco comúnes además de las que normalmente se producen en los partidos de ajedrez de alto nivel. Eso se debe a que aunque las posiciones anómalas raramente surgen dentro de los partidos reales de ajedrez, surgen continuamente en las búsquedas que realiza el ordenador internamente.
Y este conjunto de datos debe ser enorme. El número masivo de conexiones dentro de una red neural debe ser ajustado durante el entrenamiento y esto sólo se puede conseguir con un vasto conjunto de datos. Si se emplea un conjunto de datos demasiado pequeño, la red puede entrar en un estado desde el cual no reconozca la amplia variedad de patrones que se producen en el mundo real.
Lai generó su conjunto de datos al elegir al azar cinco millones de posiciones desde una base de datos de juegos de ajedrez para ordenadores. Entonces creó una mayor variedad al añadir una jugada legal al azar antes de utilizarlo para el entrenamiento. En total, generó 175 millones de posiciones de esta manera.
La forma habitual de entrenar estas máquinas es evaluar manualmente cada posición y utilizar esta información para enseñar a la máquina a reconocer las que son fuertes y las que son débiles. Pero esto supondría una tarea enorme para 175 millones de posiciones. Podría hacerse mediante otro motor de ajedrez pero el objetivo de Lai era más ambicioso. Quería que la máquina aprendiera sola.
En lugar de ello, empleó una técnica de bootstrapping en la que Giraffe jugó contra sí mismo para mejorar su predicción de su propia evaluación de una posición futura. Esto funciona gracias a que existen puntos fijos de referencia que determinan el valor de una posición - independientemente de si posteriormente se gana o se pierde el partido.
De esta manera, el ordenador aprende qué posiciones son fuertes y cuáles son débiles.
Habiendo entrenado a Giraffe, el último paso fue probarlo, y los resultados representan una lectura interesante. Lai probó su máquina en una base de datos estándar llamada Strategic Test Suite, que consta de 1.500 posiciones que son elegidas para poner a prueba la capacidad del motor de reconocer distintas estrategias. "Por ejemplo, un temario prueba el entendimiento del control de ficheros abiertos, otro prueba el entendimiento de cómo cambian los valores de los alfiles y los caballos en distintas situaciones, y otro prueba el entendimiento del control del centro del tablero", explica.
Los resultados de esta prueba se puntuan sobre 15.000.
Lai la utiliza para poner la máquina a prueba en distintas fases de su entrenamiento. Al arrancar el proceso de bootstrapping, Giraffe alcanzó rápidamente una puntuación de 6.000 y llegó a una puntuación máxima de 9.700 después de tan sólo 72 horas. Lai dice que esto iguala a los mejores motores de ajedrez del mundo.
"Esto es admirable porque todas sus funciones de evaluación son unos gigantes cuidadosamente diseñados a mano con cientos de parámetros que se han ajustado tanto manual como automáticamente a lo largo de varios años, y en muchos de ellos han trabajado grandes maestros humanos", añade.
Lai sigue empleando el mismo tipo de enfoque de aprendizaje de máquinas para determinar la probabilidad de que merezca la pena realizar un determinado movimiento. Esto es importante porque evita búsquedas innecesarias por ramas poco fructuosas del árbol y mejora drásticamente la eficacia computacional.
Lai dice que este enfoque probabilístico predice el mejor movimiento el 46% de las veces y coloca el mejor movimiento entre las primeras tres opciones el 70% de las veces. Así el ordenador no tiene que preocuparse por los demás movimientos.
Este trabajo representa un cambio importante en el funcionamiento de los motores de ajedrez. No es perfecto, por supuesto. Una desventaja de Giraffe es que las redes neuronales son mucho más lentas que otros tipos de procesamiento de datos. Lai dice que Giraffe tarda unas diez veces más que un motor convencional de ajedrez en buscar entre el mismo número de posiciones.
Pero incluso con este inconveniente, resulta competitivo. "Giraffe es capaz de jugar al nivel de un Maestro FIDE Internacional en un ordenador moderno y convencional", dice Lai. En comparación, los mejores motores de ajedrez juegan al nivel de un súper Gran Maestro.
Eso sigue siendo impresionante. "A diferencia de la mayoría de los motores de ajedrez que existen actualmente, Giraffe deriva su fuerza competitiva no de la capacidad de previsión con mucha antelación, sino de su capacidad de evaluar posiciones difíciles con precisión, y de comprender complicados conceptos posicionales que resultan intuitivos para los humanos, pero han resultado ser elusivos para los motores de ajedrez durante mucho tiempo", dice Lai. "Esto es especialmente importante en las fases iniciales y finales del juego, donde juega excepcionalmente bien".
Y esto sólo representa el principio. Lai dice que debería resultar bastante sencillo aplicar el mismo enfoque a otros juegos. Uno destacable sería el juego chino Go, donde los humanos aún mantienen una ventaja impresionante sobre sus rivales de silicio. Quizás sea lo próximo que aborde Lai.
Ref: arxiv.org/abs/1509.01549 : Giraffe: Using Deep Reinforcement Learning to Play Chess