Etiquetas

, , , ,

Artículo publicado el 14 de septiembre de 2015 en Technology Review

Por primera vez, una máquina con inteligencia artificial juega al ajedrez evaluando el tablero en lugar de usar la fuerza bruta para calcular cada movimiento posible.

Han pasado casi 20 años desde que el supercomputador de IBM Deep Blue batiese al, por aquel entonces, campeón del mundo de ajedrez Gary Kasparov por primera vez bajo las reglas estándar de un torneo. Desde entonces, los ordenadores que juegan al ajedrez han mejorado considerablemente, dejando a los mejores humanos pocas posibilidades contra los modernos motores de ajedrez que se ejecutan en un teléfono inteligente.

Pero mientras que los ordenadores se han hecho más rápidos, la forma en que funcionan los motores de ajedrez no ha cambiado. Su poder radica en la fuerza bruta, el proceso de búsqueda a través de todos los posibles movimientos para encontrar el mejor movimiento siguiente.

Teoría de Juegos

Ajedrez

Por supuesto, ningún humano puede igualar o siquiera acercarse a esto. Mientras que Deep Blue buscaba entre unos 200 millones de posiciones por segundo, Kasparov probablemente no podía evaluar más de cinco en un segundo. Y, aun así, jugaron básicamente al mismo nivel. Claramente, los humanos tienen un as bajo la manga que los ordenadores aún tienen que perfeccionar.

Este truco es evaluar las posiciones de ajedrez y reducirlas a los caminos de búsqueda con mejor rendimiento. Esto simplifica drásticamente la tarea de cálculo, dado que poda el árbol de posibles movimientos a apenas unas ramas.

Los ordenadores nunca han sido buenos en esta tarea, pero hoy cambian las cosas gracias al trabajo de Matthew Lai del Imperial College de Londres. Lai ha creado una máquina de inteligencia artificial conocida como Giraffe que ha aprendido por sí misma a jugar al ajedrez evaluando las posiciones de forma más similar a como lo hacen los humanos, y de una forma totalmente distinta a los motores convencionales de ajedrez.

Sin ningún ajuste, la nueva máquina juega al mismo nivel que los motores de ajedrez convencionales, muchos de los cuales han sido refinados a lo largo de muchos años. A nivel humano, su nivel es equivalente al de Maestro Internacional de la FIDE, colocándolo entre el 2,2% de mejores jugadores de ajedrez de torneo.

La tecnología subyacente a la nueva máquina de Lai es una red neuronal. Ésta es una forma de procesar la información inspirada en el cerebro humano. Consiste en varias capas de nodos conectados de una forma que cambia conforme se entrena al sistema. Este proceso de entrenamiento usa una gran cantidad de ejemplos para ajustar las conexiones de forma que la red produce un resultado dada una cierta entrada de datos, por ejemplo, reconocer la presencia de una cara en una imagen.

En los últimos años, las redes neuronales han aumentado su potencia gracias a dos avances. El primero es una mejor comprensión sobre cómo afinar estas redes mientras aprenden, gracias, en parte, a ordenadores muchos más rápidos. El segundo es la disponibilidad de enormes conjuntos de datos comentados para entrenar a las redes.

Esto ha permitido a los científicos de la computación entrenar redes mucho mayores organizadas en muchas capas. Estas redes, conocidas como redes neuronales profundas han logrado una gran potencia y ahora superan rutinariamente en rendimiento a los humanos en rareas de reconocimiento de patrones, tales como reconocimiento de rostros o de escritura manual.

Por esto no es una sorpresa que una red neuronal profunda sea capaz de detectar patrones en el ajedrez, y éste es exactamente el enfoque que ha tomado Lai. Su red consta de cuatro capas que examinan juntas cada posición del tablero de tres formas distintas.

La primera mira el estado global del juego, cosas como el número y tipo de piezas en cada lado, a quién le toca mover, posibilidades de enroque, y más. La segunda se centra en las características de cada pieza, tales como la situación de cada una en cada bando, mientras que el aspecto final es un mapa de los escaques que cada pieza ataca y defiende.

Lai entrenó a su red con un conjunto de datos cuidadosamente generado a partir de partidas de ajedrez reales. Este conjunto de datos debe tener la distribución correcta de posiciones. “Por ejemplo, no tiene sentido entrenar al sistema en posiciones de tres damas por lado, dado que esas posiciones virtualmente nunca se dan en las partidas reales”, señala.

También debe tener una gran variedad de posiciones distintas más allá de las que normalmente se dan en las partidas de ajedrez de máximo nivel. Esto se debe a que, aunque raramente aparecen posiciones desiguales en una partida real de ajedrez, surgen a cada momento en las búsquedas que el ordenador realiza internamente.

Y este conjunto de datos debe ser enorme. El descomunal número de conexiones dentro de una red neuronal tiene que afinarse durante el entrenamiento, y esto sólo puede hacerse con un vasto conjunto de datos. Si usas un conjunto de datos demasiado pequeño, la red puede quedar fija en un estado que sea incapaz de reconocer una amplia variedad de patrones que suceden en el mundo real.

Lai generó este conjunto de datos eligiendo aleatoriamente cinco millones de posiciones a partir de una base de datos de partidas de ajedrez por ordenador. Luego generó más variedad añadiendo movimientos legales aleatorios a cada posición antes de usarla como entrenamiento. En total generó 175 millones de posiciones de este modo.

La forma habitual de entrenamiento de estas máquinas es evaluar manualmente cada posición, y usar esta información para enseñar a la máquina a reconocer las que son más fuertes y las que son más débiles.

Pero eso sería una tarea enorme para 175 millones de posiciones. Podría hacerlo otro motor de ajedrez, pero el objetivo de Lai era más ambicioso. Quería que la máquina aprendiese por sí misma.

Para esto, usó una técnica de auto aprendizaje en la cual Giraffe jugó contra sí misma con el objetivo de mejorar la predicción de su propia evaluación de una posición futura. Esto funciona porque existen puntos de referencia fijos que finalmente determinan el valor de una posición, si la partida finalmente se gana, se pierde, o termina el tablas.

De este modo, el ordenador aprende qué posiciones son más fuertes y cuáles débiles.

Una vez entrenada Giraffe, el paso final era ponerla a prueba y aquí es donde los resultados se ponen interesantes. Lai puso a prueba a su máquina en una base de datos estándar conocida como Strategic Test Suite, que consta de 1500 posiciones que están elegidas para poner a prueba la capacidad de un motor para reconocer distintas ideas estratégicas. “Por ejemplo, uno de los temas pone a prueba la comprensión del control de las aperturas, otro pone a prueba la comprensión de cómo el valor de caballos y alfiles cambia en distintas situaciones, y otro pone a prueba la comprensión del control del centro del tablero”, explica.

El resultado máximo de esta prueba es una puntuación de 15 000.

Lai la usó en varias etapas para poner a prueba a la máquina durante su entrenamiento. Al iniciar el proceso de auto aprendizaje, Giraffe alcanzó rápidamente una puntuación de 6000, y llegó a un pico de 9700 tras apenas 72 horas. Lai dice que esto iguala a los mejores motores de ajedrez del mundo.

“[Esto] es algo notable dado que sus funciones de evaluación son monstruos cuidadosamente diseñados a mano con cientos de parámetros que han sido ajustados tanto manual como automáticamente a lo largo de varios años, y muchas de ellas han sido refinadas por grandes maestros humanos”, añade.

Lai pasa a usar el mismo tipo de enfoque de aprendizaje para determinar la probabilidad de que merezca la pena analizar un movimiento dado. Esto es importante debido a que evita búsquedas innecesarias a lo largo de ramas poco eficientes del árbol, y mejora drásticamente la eficiencia del cálculo.

Lai dice que el enfoque probabilístico predice el mejor movimiento en el 46 por ciento de los casos, y su mejor movimiento está entre los tres mejores en el 70 por ciento de los casos. Por tanto, el ordenador no tiene que preocuparse por el resto de movimientos.

Éste es un trabajo interesante que representa un gran avance en la forma en que funcionan los motores de ajedrez. No es perfecto, desde luego. Una de las desventajas de Giraffe es que las redes neuronales son mucho más lentas que otros tipos de procesamiento de datos. Lai dice que Giraffe necesita unas 10 veces más tiempo que un motor de ajedrez convencional para buscar en el mismo número de posiciones.

Pero incluso con esta desventaja, es competitivo. “Giraffe es capaz de jugar al nivel de un Maestro Internacional de la FIDE en un PC moderno común”, señala Lai. En comparación, los mejores motores juegan a nivel de Gran Maestro.

Aun así es algo impresionante. “Al contrario que la mayoría de motores de ajedrez que existen en la actualidad, Giraffe deriva la fuerza de su juego no en ser capaz de ver muy lejos, sino en ser capaz de evaluar posiciones complejas con precisión, y comprender conceptos posicionales complejos que son intuitivos para los humanos, pero que han sido esquivos para los motores de ajedrez durante mucho tiempo”, comenta Lai. “Esto es especialmente importante en las fases de apertura y cierre de la partida, donde juega excepcionalmente bien”.

Y esto es sólo el inicio. Lai dice que debería ser sencillo aplicar el mismo enfoque a otros juegos. Uno claro es el juego tradicional chino del Go, donde los humanos aún cuentan con una impresionante ventaja sobre sus competidores de silicio. Tal vez Lai podría hacer un primer intento.

Artículo de referencia: arxiv.org/abs/1509.01549 : Giraffe: Using Deep Reinforcement Learning to Play Chess

Anuncios