Por qué las redes neuronales parecen preparadas para derrotar a los mejores jugadores humanos de go por primera vez

Las computadoras están comenzando a superar rápidamente a los humanos en más o menos todas las áreas de trabajo. Por ejemplo, los expertos en visión artificial dieron a conocer recientemente un algoritmo que supera a los humanos en el reconocimiento facial. Algoritmos similares también están comenzando a igualar a los humanos en el reconocimiento de objetos. Y hace mucho tiempo que los ajedrecistas humanos abandonaron la lucha para vencer a las computadoras.





Pero hay un área donde los humanos todavía triunfan. Eso es jugar el antiguo juego chino de Go. Las computadoras nunca han dominado este juego. Los mejores algoritmos solo alcanzan el nivel de habilidad de un jugador aficionado muy fuerte que los mejores jugadores humanos superan fácilmente.

Eso parece que va a cambiar gracias al trabajo de Christopher Clark y Amos Storkey en la Universidad de Edimburgo en Escocia. Estos muchachos han aplicado las mismas técnicas de aprendizaje automático que han transformado los algoritmos de reconocimiento facial al problema de encontrar el siguiente movimiento en un juego de Go. Y los resultados dejan pocas esperanzas de que los humanos sigan dominando este juego.

En resumen, Go es un juego de dos jugadores que generalmente se juega en una cuadrícula de 19 x 19. Los jugadores colocan alternativamente piedras blancas y negras en la cuadrícula en un intento de terminar ocupando más del tablero que su oponente cuando finaliza el juego. Los jugadores pueden eliminar las piedras de su oponente rodeándolas con las suyas.



Los expertos creen que hay dos razones por las que las computadoras no han logrado dominar Go. El primero es la gran cantidad de movimientos que son posibles en cada etapa del juego. Los jugadores de go tienen 19 x 19 = 361 movimientos iniciales posibles y, por lo general, hay cientos de movimientos posibles en cualquier punto del juego. Por el contrario, el número de movimientos en el ajedrez suele ser de unos 50.

El segundo problema es que a las computadoras les resulta difícil evaluar las fortalezas y debilidades de una posición en la junta. En el ajedrez, simplemente sumar el valor de cada pieza que queda en el tablero da una indicación razonable de la fortaleza de la posición de un jugador. Pero esto no funciona en Go. Contar el número de piedras que tiene cada jugador es un mal indicador de quién está ganando, dicen Clark y Storkey.

La forma en que los algoritmos Go de última generación abordan este problema es jugar todo el juego después de cada movimiento y hacerlo de muchas maneras diferentes. Si la computadora gana en la mayoría de estos juegos, entonces ese movimiento se considera bueno.



Claramente, esta es una tarea que requiere mucho tiempo y computacionalmente. Aun así, por lo general no logra vencer a los expertos humanos en Go que, por lo general, pueden evaluar el estado de un tablero de Go con poco más que un vistazo.

Muchos expertos creen que el secreto del dominio del juego de Go de los humanos es el reconocimiento de patrones: la capacidad de detectar fortalezas y debilidades en función de la forma que hacen las piedras en lugar de mirar varios movimientos por delante.

Es por eso que los avances recientes en los algoritmos de reconocimiento de patrones podrían ayudar a que las computadoras funcionen mucho mejor. Estos avances han utilizado bases de datos masivas de imágenes para entrenar redes neuronales convolucionales profundas para reconocer objetos y rostros con el tipo de precisión que ahora coincide con el rendimiento humano. Por lo tanto, es razonable imaginar que el mismo tipo de enfoque podría marcar una gran diferencia en la evaluación automatizada de los tableros Go.



Y eso es exactamente lo que han hecho Clark y Storkey. La pregunta que estos muchachos han entrenado para responder a una red neuronal convolucional profunda es: dada una instantánea de un juego entre dos expertos en Go, ¿es posible predecir el próximo movimiento en el juego?

La forma en que lo han abordado es mediante el uso de una amplia base de datos de juegos Go para entrenar una red neuronal para encontrar el próximo movimiento. Clark y Storkey utilizaron más de 160 000 juegos entre expertos para generar una base de datos de 16,5 millones de posiciones junto con su próximo movimiento. Utilizaron casi 15 millones de estos pares de movimiento de posición para entrenar una red neuronal convolucional de ocho capas para reconocer qué movimiento hicieron estos jugadores expertos a continuación. Este fue un proceso que tomó varios días.

Luego usaron el resto del conjunto de datos para probar la red neuronal. En otras palabras, le presentaron a la red una posición en el tablero de un juego y le pidieron que eligiera el siguiente movimiento. Clark y Storkey dicen que la red capacitada pudo predecir el próximo movimiento hasta en un 44 por ciento de las veces, superando el estado del arte anterior en esta tarea por márgenes significativos.



Eso es interesante, sobre todo porque el nuevo enfoque no utiliza ninguno de los movimientos anteriores para tomar su decisión; tampoco evalúa posiciones futuras.

Habiendo entrenado la red neuronal, Clark y Storkey la jugaron contra dos de los mejores algoritmos de Go. El primero se llama GNU Go, que juega a un nivel equivalente a un aficionado intermedio con un ranking de 6-8 kyu. (Las clasificaciones de Go van desde un principiante con una clasificación de 30-20 kyu hasta un experto profesional con una clasificación de 1 kyu).

El segundo fue un programa de última generación llamado Fuego 1.1, que tiene una clasificación de aproximadamente 5-4 kyu. Un jugador humano normalmente necesitaría muchos años de estudio para alcanzar este nivel.

Los resultados sugieren claramente que la escritura está en la pared para los jugadores humanos de Go. La red neuronal de Clark y Storkey venció a GNU Go casi el 90 por ciento de las veces en una serie de 200 juegos. En otras palabras, después de unos días de entrenamiento, la red neuronal pudo vencer a GNU Go de manera constante.

Contra Fuego 1.1, no le fue tan bien, ganando solo un poco más del 10 por ciento de sus juegos. Sin embargo, eso es un logro significativo. Ser capaz de ganar incluso algunos juegos contra este oponente indica que se adquirió un alto grado de habilidad, dicen Clark y Starkey.

Eso es claramente muy prometedor. A pesar de que las redes están jugando usando una política de 'paso cero adelante' y usando una fracción del tiempo de cómputo que sus oponentes, todavía pueden jugar mejor que GNU Go y quitarle algunos juegos a Fuego, dicen.

Y claramente existe un potencial de mejora, por ejemplo, al combinar este enfoque con otros que usan movimientos anteriores y miran hacia el futuro. Una idea que sugieren Clark y Starkey es ejecutar la red neuronal convolucional en paralelo con el enfoque convencional para ayudar a podar el árbol de posibles movimientos que deben explorarse.

Clark y Storkey no sugieren que este enfoque vencerá a los mejores jugadores de Go del mundo. Pero seguramente, es solo cuestión de tiempo antes de que incluso los jugadores de Go tengan que inclinarse ante sus amos computarizados.

Ref: arxiv.org/abs/1412.3409 : Enseñanza de redes neuronales convolucionales profundas para jugar Go

esconder