AlphaGo

From FdIwiki ELP
Jump to: navigation, search

AlphaGo es un programa de computadora que juega al juego de mesa Go. Fue desarrollado por Alpha DeepMind de Alphabet Inc. en Londres.

En octubre de 2015, AlphaGo se convirtió en el primer programa Go de la computadora que venció a un jugador humano Go profesional sin desventajas(handicap) en un tablero de tamaño completo de 19 × 19. En marzo de 2016, venció a Lee Sedol en un partido de cinco juegos, la primera vez que un programa informático Go gana a un profesional de 9-dan sin desventajas. Aunque perdió ante Lee Sedol en el cuarto juego, Lee renunció al juego final, dando un puntaje final de 4 contra 1 a favor de AlphaGo. En reconocimiento de la victoria, AlphaGo fue galardonado con un 9-dan honorario por la Asociación Corea Baduk.

En la Cumbre Future of Go 2017, AlphaGo venció a Ke Jie, el jugador número uno del mundo en ese momento, en un partido de tres juegos. Después de esto, AlphaGo recibió 9-dan profesionales por parte de la Asociación China de Weiqi. Después del partido entre AlphaGo y Ke Jie, AlphaGo se retiró, mientras que DeepMind continúa investigando con IA en otras áreas.

AlphaGo utiliza el algoritmo árbol de búsqueda Monte Carlo para encontrar sus movimientos basados ​​en el conocimiento previamente "aprendido" mediante automático, específicamente mediante una red neuronal artificial (un método de aprendizaje profundo) mediante un entrenamiento extenso, tanto del juego humano como de la computadora.


¿Qué es GO?

El juego de Go se originó en China hace 3.000 años. Las reglas del juego son simples: los jugadores se turnan para colocar fichas negras o blancas en un tablero, tratando de capturar las piedras del oponente o rodean el espacio vacío para hacer puntos de territorio. Tan simple como son las reglas, Go es un juego de profunda complejidad. Hay 10 elevado 170 posibles configuraciones de tabla, más que el número de átomos en el universo conocido, lo que hace que Go sea mucha más complejo que el ajedrez.Es reconocido como uno de los más difíciles de dominar para la inteligencia artificial. A diferencia del ajedrez, en que el programa Deep Blue de IBM venció en 1997 al entonces campeón mundial Gary Kasparov gracias a su potencia de cálculo, el go requiere una visión estratégica y una intuición que van más allá de la potencia de cálculo y que nunca se ha sabido cómo programar.

Historia

Juego de mesa Go se considera mucho más difícil de ganar para las computadoras que otros juegos como el ajedrez, porque su factor de ramificación mucho más grande hace que sea demasiadamente difícil usar los métodos tradicionales de AI como Poda alfa-beta, recorrido de árboles y búsqueda heurística.

Casi dos décadas después de que Deep Blue venciera al campeón mundial de ajedrez Garry Kasparov en el partido de 1997, los programas Go más potentes usando técnicas de inteligencia artificial solo alcanzaron un nivel de 5 dan, y aún así no pudieron vencer a un jugador Go profesional sin handicaps (desventajas). En 2012, el programa de software Zen, que se ejecuta en un clúster de cuatro PC, venció a Masaki Takemiya (9p) dos veces con handicap de cinco y cuatro fichas. En 2013, Crazy Stone venció a Yoshio Ishida (9p) con handicap de cuatro fichas.

Según David Silver de DeepMind, el proyecto de investigación AlphaGo se formó alrededor de 2014 para evaluar cómo de bueno una red neuronal que utiliza el aprendizaje profundo puede competir en Go. AlphaGo representa una mejora significativa con respecto a los programas Go anteriores. En 500 juegos contra otros programas Go disponibles, incluidos Crazy Stone y Zen, AlphaGo corriendo en una sola computadora ganó todos menos uno. En un emparejamiento similar, AlphaGo corriendo en múltiples computadoras ganó los 500 juegos jugados contra otros programas Go, y el 77% de los juegos jugados contra AlphaGo corriendo en una sola computadora. La versión distribuida en octubre de 2015 utilizaba 1.202 CPU y 176 GPU.

Partido contra Fan Hui

En octubre de 2015, la versión distribuida de AlphaGo derrotó al campeón europeo de Go Fan Hui, un profesional de 2 dan, de cinco a cero. Esta fue la primera vez que un programa informático Go derrotó a un jugador humano profesional en un tablero de tamaño completo sin handicap. El anuncio de la noticia fue retrasado hasta el 27 de enero de 2016 para coincidir con la publicación de un artículo en la revista Nature que describe los algoritmos utilizados.

Partido contra Lee Sedol

AlphaGo jugó con el jugador Go profesional surcoreano Lee Sedol, rankeado 9-dan, uno de los mejores jugadores en Go, con cinco juegos que tendrán lugar en el Four Seasons Hotel en Seúl, Corea del Sur, los días 9, 10, 12, 13 y 15 de marzo de 2016, que se transmitieron en vivo. Aja Huang, miembro del equipo de DeepMind y jugador aficionado de 6 dan, colocó fichas en el tablero Go para AlphaGo, que corría a través de la computación en nube de Google con sus servidores ubicados en los Estados Unidos. El partido usó las reglas chinas con un komi de 7.5 puntos, y cada lado tuvo dos horas de tiempo para pensar más tres períodos de byoyomi de 60 segundos. La versión de AlphaGo jugando contra Lee utilizó una cantidad similar de poder de cómputo como se usaba en el partido de Fan Hui. The Economist informó que utilizó 1.920 CPU y 280 GPU.

En el momento del juego, Lee Sedol tenía el segundo mayor número de victorias en el campeonato internacional Go en el mundo. Si bien no existe un único método oficial de clasificación en Go internacional, algunas fuentes clasificaron a Lee Sedol como el cuarto mejor jugador del mundo en ese momento. AlphaGo no estaba específicamente entrenado para enfrentar a Lee.

Los primeros tres juegos fueron ganados por AlphaGo después de las renuncias de Lee. Sin embargo, Lee venció a AlphaGo en el cuarto juego, ganando por renuncia en la jugada 180. AlphaGo luego continuó logrando una cuarta victoria, ganando el quinto juego por resignación.

El premio fue de1 millón de dolar. Dado que AlphaGo ganó cuatro de cinco y, por lo tanto, la serie, el premio se donará a organizaciones benéficas, incluida UNICEF. Lee Sedol recibió $ 150,000 por participar en los cinco juegos y $ 20,000 adicionales por su victoria.


Algoritmo

A partir de 2016, el algoritmo de AlphaGo utiliza una combinación de aprendizaje automático y técnicas de de árbol, combinado con un entrenamiento extensivo, tanto del juego humano como de la computadora. Utiliza la búsqueda en árbol de Monte Carlo, guiada por una "red de valor" y una "red de políticas", ambas implementación utilizan la tecnología de redes neuronales profundas. Se aplica a la entrada una cantidad limitada de preprocesamiento de detección de características específicas del juego (por ejemplo, para resaltar si un movimiento coincide con un patrón nakade) antes de enviarlo a las redes neuronales.

AlphaGo fue entrenado inicialmente imitando los movimientos de los jugadores expertos de los juegos históricos registrados, utilizando una base de datos de alrededor de 30 millones de movimientos. Una vez que había alcanzado cierto grado de habilidad, se entrenó aún más jugando contra otras instancias de sí mismo, utilizando el refuerzo de aprendizaje para mejorar su juego. Para evitar "irrespetuosamente" perder el tiempo de su oponente, el programa está específicamente programado para renunciar si su evaluación de la probabilidad de ganar cae por debajo de un cierto umbral; para el partido contra Lee, el umbral de renuncia se estableció en 20%.

Para más detalle, el laboratorio Deepmind ha publidado un articulo en Nature Paper que describe con más detalle: [https://storage.googleapis.com/deepmind-media/alphago/AlphaGoNaturePaper.pdf Mastering the game of Go with deep neural networks and tree search]

Referencias