AlphaGo es un juego de go desarrollado por Google DeepMind en 2015. AlphaGo fue el primer programa en el mundo en ganar un partido sin handicap contra un jugador profesional de Go en un tablero estándar de 19×19 , y esta victoria marcó un avance importante en el campo de la inteligencia artificial, ya que la mayoría de los especialistas en inteligencia artificial creía que dicho programa no se creará antes de 2020-2025 . En marzo de 2016, el programa ganó 4-1 a Li Sedol , un profesional del noveno dan (más alto rango), durante un partido histórico que fue ampliamente informado en la prensa [1] . Después de ganar el partido, la Asociación de Paduk de Corea otorgó a AlphaGo un " noveno dan honorario " por los "esfuerzos sinceros" del programa para dominar el juego [2] .
La victoria de AlphaGo sobre Lee Sedol a menudo se compara con la partida de ajedrez de 1997 entre el programa Deep Blue y Garry Kasparov , donde la victoria del programa IBM sobre el campeón reinante se convirtió en un punto de partida simbólico para una nueva era en la que las computadoras superaron a los humanos en ajedrez . 3] . A diferencia de Deep Blue, AlphaGo es un programa que no está vinculado a un hardware específico . Además, AlphaGo se basa en los principios generales del aprendizaje automático y prácticamente no utiliza (a diferencia de los programas de ajedrez) ni algoritmos ni funciones de evaluación propias del juego de Go. Al desarrollar AlphaGo, los autores utilizaron solo la teoría más elemental del juego de Go, el programa alcanzó un alto nivel de juego, aprendiendo de los juegos de los profesionales . Por lo tanto, sus métodos de aprendizaje automático se pueden utilizar en otras áreas de aplicación de la inteligencia artificial. En particular, el equipo de desarrollo planea aplicar la experiencia adquirida mientras escribía AlphaGo para crear un sistema de diagnóstico médico .
AlphaGo combina la técnica que dio el gran avance en el poder de los programas Go en 2007-2012 ( método de Monte Carlo para la búsqueda de árboles ) y los avances recientes en el aprendizaje automático , es decir, el aprendizaje profundo con redes neuronales multinivel .
Según uno de los autores de AlphaGo, David Silver , el trabajo en el programa comenzó en 2014 con una investigación sobre cómo funcionarían los nuevos métodos de aprendizaje profundo en Go [4] .
Para medir la fuerza de su programa, los autores realizaron un torneo entre AlphaGo y el mejor software Go comercial y gratuito ( Crazy Stone , Zen , Pachi , Fuego ), que utilizó el método Monte Carlo y GNU Go . , que fue el mejor software libre antes del método Monte Carlo. Como resultado, la versión para una sola computadora de AlphaGo ganó 494 de 495 partidos [5] .
En octubre de 2015, AlphaGo derrotó al tres veces campeón europeo Fan Hui (segundo dan profesional) en un partido de cinco juegos con una puntuación de 5-0. Esta es la primera vez en la historia que un equipo gana a un profesional en go en un partido igualado. Esto se anunció públicamente en enero de 2016 tras la publicación del artículo [6] en Nature [7] [8] . Para cada juego, a los jugadores se les dio una hora y 3 byoyomi de 30 segundos.
Después de su derrota, Fan Hui afirmó que gracias a este partido, comenzó a jugar mejor y comenzó a ver esos elementos del juego que antes no había notado; en marzo de 2016, la clasificación mundial de Fan Hui había subido unas 300 posiciones [9] .
A continuación se muestra un ejemplo de un juego en el que AlphaGo jugó con negras. Fan Hui renunció después de 165 movimientos [5] .
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primeros 99 movimientos (96 en 10) |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mueve 100-165. |
Después del partido con Fan Hui, el programa AlphaGo comenzó a jugar mucho mejor (su calificación Elo , calculada por los juegos de diferentes versiones del programa entre sí, aumentó en 1500 puntos y superó los 4500). La nueva versión podría vencer a la anterior, dando una ventaja inicial de 3-4 piedras [10] .
Del 9 al 15 de marzo de 2016, se jugó un partido de AlphaGo con Lee Sedol (9.º dan) [7] en Seúl, Corea del Sur . Se jugaron 5 partidos. Para cada juego, los jugadores dispusieron de 2 horas y 3 byoyomi durante un minuto. El fondo de premios ascendió a 1 millón de dólares. Los juegos se transmitieron en vivo en YouTube [11] .
En el momento del partido, Lee Sedol tenía el segundo mayor número de campeonatos mundiales ganados [12] . Aunque no existe un único método internacional oficial para clasificar a los jugadores de Go, algunas fuentes clasifican a Lee Sedol como el cuarto jugador del mundo en el momento de un partido [13] [14] .
AlphaGo ganó el partido 4-1. Lee Sedol se ha rendido en cuatro de cinco juegos. AlphaGo, jugando con negras, perdió en el cuarto juego después de 180 movimientos. Según los desarrolladores del programa, AlphaGo se da por vencido cuando estima que la probabilidad de ganar es inferior al 20 % [15] .
Según los expertos, AlphaGo durante el partido con Li Sedol fue significativamente más fuerte y ofreció un juego más difícil que durante el partido con Fan Hui [16] . Lee Sedol dijo durante una conferencia de prensa que su derrota es "la derrota de Lee Sedol" y no "la derrota de la humanidad" [17] .
El 29 de diciembre de 2016, en el servidor Tygem go, la nueva cuenta " Master " comenzó a jugar con profesionales de go, el 1 de enero de 2017 se cambió al servidor FoxGo go. El 4 de enero de 2017, DeepMind confirmó que se estaba reproduciendo una versión actualizada de AlphaGo [18] [19] para Master y una cuenta anterior de Magister . AlphaGo ganó los 60 juegos jugados (30 en cada servidor) [20] . Al final de todos los juegos, el cofundador de DeepMind, Demis Hassabis , tuiteó: "Espero con ansias los partidos completos oficiales de Go más adelante en 2017, en colaboración con organizaciones y expertos en Go" [18] [19] .
Master jugó 10 juegos al día y rápidamente llamó la atención de muchos jugadores en el servidor de Tygem con sus habilidades excepcionales. Muchos sospecharon rápidamente que se trataba de un jugador de IA, ya que no había descansos entre los juegos o duraban muy poco. Los oponentes de Master eran campeones mundiales como Ke Jie , Pak Jong-hwan , Yuta Iyama , To Jiaxi , Mi Yuting, Shi Yue, Chen Yaoe , Li Qincheng, Gu Li , Chang Hao , Tang Weixing, Fan Tingyu , Zhou Ruiyang. , Jiang Weijie , Zhou Junxun , Kim Jisok , Kang Dong Yoon , Park Yong Hoon , Won Sungjin ; además de ellos, campeones nacionales y medallistas de plata de los campeonatos mundiales: Lian Xiao, Tan Xiao , Meng Tailing, Dan Yifei, Huang Yunsong, Yang Dingxin , Xing Jinso, Cho Hansyn , An Sunjun. Todos menos uno de los 60 juegos fueron rápidos con tres byoyomi de 20 o 30 segundos, solo en el juego contra Nie Weiping , el Maestro sugirió aumentar el byoyomi a un minuto debido a la avanzada edad de este último. Después de 59 juegos ganadores, el Maestro reveló en un chat que estaba siendo dirigido por el Dr. Aya Huan de DeepMind [21] .
El programador de AlphaGo , David Silver , más tarde que, a diferencia de las versiones anteriores de AlphaGo, la versión que jugaba "Master" se basaba más en aprender mientras jugaba consigo mismo que en aprender de los juegos de jugadores profesionales, además, esta versión usaba diez veces menos cálculos y entrenaba en un semana en lugar de meses como la versión que interpretó con Lee Sedol [22] .
Del 23 al 27 de mayo de 2017, en la ciudad china de Wuzhen , se llevó a cabo una cumbre sobre el futuro de Go, donde, entre otros eventos, AlphaGo realizó varios juegos de demostración [23] y ganó todos:
Después de que terminó la cumbre sobre el futuro de Go , el fundador de DeepMind, Demis Hassabis , anunció la salida de AlphaGo de Go, y no habrá más coincidencias en el futuro. Además, DeepMind no tiene planes de lanzar una versión pública de AlphaGo [24] .
En octubre de 2017, DeepMind anunció una versión aún más potente de AlphaGo, AlphaGo Zero. La nueva red neuronal fue entrenada para jugar Go desde cero, " tabula rasa ", jugando consigo misma (sin aprender de los juegos jugados por personas, como era el caso en versiones anteriores de AlphaGo). En solo 21 días de autoaprendizaje, el sistema alcanzó el nivel AlphaGo Master de potencia de juego y luego lo superó. Para el día 40, habiendo alcanzado la superioridad de más de 300 puntos de elo .
Versiones | ferretería [25] | Elo calificación 1 | Partidos | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Ventilador AlphaGo | 176 GPU , [26] computación distribuida | 3144 [27] | 5:0 Partido AlphaGo - Ventilador Hui | |||||||||
alfa go lee | 48 TPU , [26] computación distribuida | 3739 [27] | Partido 4-1 AlphaGo contra Lee Sedol | |||||||||
Maestro AlphaGo | 4 TPU [26] v2, una máquina | 4858 [27] | 60:0 contra jugadores profesionales de go; La Cumbre del Futuro de Go ; | |||||||||
AlphaGo Zero (40 bloques) | 4 TPU [26] v2, una máquina | 5185 [27] | 100:0 contra AlphaGo Lee
89:11 contra AlphaGo Maestro | |||||||||
AlphaZero (20 bloques) | 4 TPU v2, una máquina | 5018 [28] | 60:40 contra AlphaGo Zero (20 bloques) 2 | |||||||||
Notas: [1] A modo de comparación, el mejor jugador humano de go de Ke Jie tenía una calificación de elo de 3670 en octubre de 2017 [29] . |
Antes de la creación de AlphaGo, Go era uno de los pocos juegos tradicionales que un ser humano podía jugar mejor que una computadora [30] .
El go es mucho más difícil que el ajedrez debido a la mayor cantidad de posiciones posibles. Primero, como regla, hay más movimientos legales en cada posición en Go que en ajedrez. En segundo lugar, un juego de Go dura más movimientos de media. Estas dos propiedades hacen que Go sea muy difícil para los métodos tradicionales de IA , como la poda alfa-beta [8] [31] .
Otra dificultad de Go en comparación con el ajedrez y muchos otros juegos de lógica es crear una función de evaluación que compare una posición arbitraria con una evaluación determinada: para qué lado esta posición es más rentable y cuánto (o la posición es igual). AlphaGo utiliza 2 redes neuronales, una de las cuales está especializada en la estimación de posición. Por lo tanto, puede llamarse condicionalmente un análogo de la función de evaluación en el ajedrez [32] .
Por estas razones, incluso casi veinte años después de que la computadora Deep Blue venciera por primera vez al campeón mundial Kasparov en 1997, los programas de Go más fuertes solo han llegado al 5 dan amateur y no pudieron vencer al profesional en un tablero completo [8] [33] [34] . Los mejores logros de la inteligencia artificial en Go fueron las victorias del programa Zen , que se ejecuta en un grupo de cuatro computadoras, contra el profesional de 9 dan Masaki Takemiya dos veces con una desventaja de cinco y cuatro piedras en 2012 [35] , así como la victoria del programa Crazy Stone sobre Yoshio Ishida (9º dan profesional) con cuatro piedras de handicap en 2013 [36] .
Crear un programa que reproduzca bien Go ha sido un escollo en el desarrollo de la inteligencia artificial [1] . Hasta 2015, la mayoría de los expertos en inteligencia artificial creían que un programa capaz de derrotar al campeón mundial de Go no se crearía hasta dentro de al menos cinco años [37] , y muchos de ellos suponían que tardaría al menos diez años [38] [39] [40] [41] . Incluso después de la victoria de AlphaGo sobre Fan Hui, muchos expertos predijeron que AlphaGo perdería ante Li Sedol [42] .
Tras el partido con Lee Sedol, el gobierno de Corea del Sur anunció una inversión de 1 billón de won (863 millones de dólares ) en investigación de inteligencia artificial durante los próximos cinco años [43] .
Los métodos desarrollados para jugar AlphaGo se pueden aplicar a otras áreas de la inteligencia artificial, en particular para el diagnóstico médico [44] . Según el fundador de DeepMind, Demis Hassabis , DeepMind ha llegado a un acuerdo con el Servicio Nacional de Salud del Reino Unido para explorar la posibilidad de utilizar inteligencia artificial para analizar datos médicos [45] [46] . Para ello se fundó la división DeepMind Health .
Una característica esencial de AlphaGo es que utiliza algoritmos generales que son prácticamente independientes de las características del juego de Go [47] . El algoritmo AlphaGo contiene solo los principios básicos del juego, con los que cualquier principiante comienza a estudiar el juego, como contar la cantidad de puntos libres ( dame ) para un grupo de piedras y analizar la posibilidad de capturar piedras usando la "escalera". "Técnica ( shicho ). El resto AlphaGo lo aprendió solo, analizando una base de datos de 160.000 juegos usando métodos comunes que pueden usarse en otras áreas de la inteligencia artificial [48] . En esto AlphaGo se diferencia de sistemas como Deep Blue , una supercomputadora de ajedrez [4] . Al escribir el algoritmo de Deep Blue, se utilizó la teoría avanzada del ajedrez. Entonces, por ejemplo, Deep Blue usó 8000 funciones personalizables para estimar la posición, Deep Blue tenía una enorme biblioteca de vacantes [49] . AlphaGo es un programa que puede ejecutarse en cualquier hardware (aunque utilizó un procesador diseñado específicamente para el aprendizaje automático ) y cuyos principios se pueden utilizar en otras áreas. No usa la biblioteca de aperturas y no accede directamente a ninguna base de datos de movimientos durante el juego (sino que solo usa una red neuronal entrenada en una gran cantidad de juegos). Los propios desarrolladores del programa no saben cómo AlphaGo evalúa la posición, sus movimientos son un fenómeno emergente [50] . Además, Deep Blue fue diseñado con un objetivo en mente: ganar una partida de ajedrez contra Garry Kasparov [4] [51] . AlphaGo no fue entrenado específicamente para jugar contra Lee Sedol [17] [52] , además, la base de datos de entrenamiento de AlphaGo no contenía los juegos de Lee Sedol [53] , y durante el partido, el programa de AlphaGo no cambió ni se adaptó al estilo de juego de Lee Sedol [ 54] .
La principal innovación de AlphaGo es el uso del aprendizaje profundo , una técnica que se ha aplicado con éxito al reconocimiento de patrones (por ejemplo, para buscar imágenes en Google Imágenes ) [55] . Es decir, AlphaGo utiliza redes neuronales entrenadas en una gran cantidad de juegos profesionales, capaces de predecir qué movimiento hará un profesional en una posición particular. Los juegos autojugados mejoraron aún más las redes neuronales. Esto solo permitió que AlphaGo jugara al nivel de los mejores programas de computadora de 2015: sin enumeración de opciones, utilizando solo una red neuronal para elegir un movimiento, el programa pudo vencer a Pachi (un programa que juega al nivel de un segundo aficionado ). dan ) [56] .
Al igual que los mejores programas anteriores de Go, AlphaGo también utiliza el método de Monte Carlo para la búsqueda de árboles (MCST) [56] . La esencia de este método (llamado así por analogía con el método de Monte Carlo en matemáticas computacionales ) es que para estimar la posición, el programa juega aleatoriamente consigo mismo muchas veces, cada vez llevando el juego al final. Luego elige el movimiento con el mayor número de victorias.
Go es un juego de completa información . Teóricamente, para cualquier juego con información perfecta, existe una estrategia óptima. Para encontrar la estrategia óptima, necesitamos recorrer todo el árbol del juego . Por ejemplo, en 2007 el programa Chinook resolvió por completo los borradores en inglés [57] de esta manera . Sin embargo, para la mayoría de los juegos, este método no es práctico porque el tamaño del árbol puede ser muy grande. Se puede estimar como , donde es el grado de ramificación del árbol del juego (es decir, el número aproximado de movimientos posibles en cada posición), y es la profundidad del árbol del juego (es decir, la duración aproximada del juego) . Para Go mientras que para Ajedrez La enumeración se puede acortar usando dos técnicas.
Primero, la función de evaluación puede reducir la profundidad de la búsqueda : en lugar de considerar el juego hasta el final, puede estimar la posición intermedia usando heurística . Este enfoque funcionó bien en juegos como el ajedrez , donde una computadora podía jugar mejor que un humano. Sin embargo, este enfoque no fue suficiente para Go debido a la enorme complejidad del juego.
Otro enfoque es reducir el grado de ramificación del árbol visto descartando algunos movimientos. Uno de esos métodos es el método Monte Carlo, que permitió que las computadoras jugaran juegos como el backgammon mejor que los humanos .
Método de Monte Carlo para la búsqueda de árbolesEl método de Monte Carlo para la búsqueda de árboles en su forma más simple es el siguiente. Primero, todos los movimientos posibles se seleccionan desde la posición actual y luego se juega una gran cantidad de juegos aleatorios para cada movimiento. Un turno se puntúa como la proporción de ganancias y pérdidas de juegos aleatorios que comienzan en ese turno. Al mismo tiempo, la probabilidad de elegir uno u otro movimiento también depende de la evaluación actual de la posición: las posiciones en las que se produjo la victoria con mayor frecuencia se eligen con mayor probabilidad. Tal estrategia tiende asintóticamente a la óptima. Usando este enfoque, los programas predecesores de AlphaGo pudieron alcanzar el nivel de un aficionado débil.
Para mejorar este algoritmo, se utilizaron funciones para predecir el próximo movimiento más probable. Antes de AlphaGo , se usaban funciones de evaluación lineal y funciones derivadas de políticas poco profundas . Este enfoque me permitió alcanzar el nivel de un aficionado fuerte.
Aprendizaje profundoAlphaGo funciona mediante redes neuronales , una técnica que se ha aplicado con éxito en el reconocimiento de patrones . Un gran avance en esta área provino del uso de redes neuronales convolucionales multicapa y una técnica especial para entrenarlas: el aprendizaje profundo . Las redes neuronales convolucionales consisten en varias capas de neuronas. Cada nivel recibe una matriz de números como entrada, los combina con algunos pesos y, utilizando una función de activación no lineal , produce un conjunto de números como salida, que se pasan al siguiente nivel. En el reconocimiento de patrones, la imagen se envía al primer nivel y el último nivel produce el resultado. Las redes neuronales se entrenan en una gran cantidad de imágenes, ajustando constantemente los pesos utilizados para calcular el resultado. Como resultado, la red neuronal llega a una configuración que es capaz de reconocer imágenes similares por sí misma. Este proceso es imposible de predecir, por lo que es difícil decir cómo "piensa" la red neuronal, pero, en términos generales, las salidas en los niveles intermedios corresponden a varias clasificaciones posibles [55] [58] .
Con esta técnica se han hecho grandes avances en el reconocimiento de patrones , en concreto en el reconocimiento de rostros . También ha sido utilizado por DeepMind para crear una inteligencia artificial capaz de aprender a jugar un videojuego por su cuenta en una consola de videojuegos Atari 2600 , utilizando vídeo de pantalla como entrada [59] .
AlphaGo utiliza redes neuronales convolucionales para evaluar una posición o predecir el siguiente movimiento. Así como una imagen se alimenta a una red neuronal durante el reconocimiento de patrones, AlphaGo alimenta una posición a las redes neuronales. Cada posición se representa como una imagen en capas , donde cada capa representa descripciones de las propiedades simples de cada elemento en el tablero. Se utilizan las siguientes propiedades simples: el color de la piedra, el número de puntos libres ( dame ) para un grupo dado de piedras (si no hay más de 8), tomar piedras, la capacidad de ir a este punto, si este La piedra fue colocada recientemente. La única propiedad no trivial que se utiliza es si un grupo dado está amenazado por ser capturado en una escalera ( shicho ). Se utilizan un total de 48 propiedades binarias (las propiedades expresadas como un número entero se representan mediante un código unitario ). Así, cada posición se representa como una tabla de bits [60] .
Red estratégicaPara no considerar movimientos completamente malos y, por lo tanto, reducir el grado de bifurcación al buscar, AlphaGo utiliza redes estratégicas [61] ( redes de políticas en inglés ), redes neuronales que ayudan a elegir un buen movimiento.
Una de estas redes (redes de políticas de SL ) puede predecir el movimiento que haría un profesional en un puesto determinado. Se trata de una red neuronal de 13 niveles obtenida por aprendizaje supervisado (SL ) sobre 30 millones de posiciones tomadas de 160 mil partidas jugadas en el servidor KGS por jugadores de 6 a 9 dan. La capacitación se llevó a cabo durante cuatro semanas en 50 GPU ; Se usó el descenso de gradiente estocástico como un algoritmo de aprendizaje para la búsqueda de máxima verosimilitud [62] . La red neuronal resultante calculó una distribución de probabilidad entre todos los movimientos posibles en una posición dada (representada como se describe arriba ). Como resultado, la red neuronal pudo predecir correctamente el movimiento que la persona eligió en el 57 % de las situaciones de prueba (no se usa en el entrenamiento). A modo de comparación, el mejor resultado antes de AlphaGo fue del 44 %. Incluso un pequeño aumento en la precisión de las predicciones aumenta significativamente la fuerza del juego.
Una red estratégica puede jugar Go por sí misma, eligiendo cada vez un movimiento aleatorio con una probabilidad calculada.
Red estratégica mejoradaLa red estratégica se mejoró con el aprendizaje por refuerzo ( RL ) : es decir, la red se mejoró constantemente jugando con una de las redes obtenidas anteriormente. Al mismo tiempo, cada vez que se seleccionaba una red aleatoria de las obtenidas anteriormente para evitar el reentrenamiento (situaciones en las que el programa elige el mejor movimiento, asumiendo que el oponente usa la misma estrategia, pero puede jugar mal contra otro oponente). El resultado fue una red estratégica (red de políticas RL ) que superó a la red original en el 80 % de los juegos.
Resultó que la red estratégica resultante, sin usar la función de evaluación ni la enumeración de opciones, pudo ganar el 85% de los juegos contra el programa abierto más fuerte en ese momento, Pachi . A modo de comparación, antes de eso, el mejor programa que jugaba sin usar una búsqueda de opciones, sino solo una red neuronal convolucional, venció a Pachi en el 11% de los juegos. Así, AlphaGo, sin enumeración de opciones, pudo alcanzar aproximadamente el nivel del tercer dan amateur, según los autores del programa [63] .
Red Estratégica RápidaPara simular el juego requerido en el método de Monte Carlo (ver más abajo ), AlphaGo utiliza una versión más rápida pero menos precisa de la red estratégica ( política de implementación ), que recibe una respuesta en solo 2 µs. Esta red rápida predice el movimiento de una persona con un 30% de probabilidad [64] , mientras que la red estratégica mejorada da una respuesta en el mismo equipo en 3 ms con un 57% de probabilidad.
Red de tasaciónAlphaGo utilizó una red de valor [ 61] para reducir la profundidad de búsqueda . Esta red neuronal estima la probabilidad de ganar en una posición dada. Esta red es el resultado del entrenamiento sobre 30 millones de posiciones obtenidas jugando la red estratégica mejorada consigo misma. Al mismo tiempo, no se seleccionó más de una posición de cada juego (para evitar el reentrenamiento debido a la similitud de posiciones en un juego). Para cada una de estas posiciones, se estimó la probabilidad de ganar utilizando el método de Montecarlo: se organizó un torneo de muchos juegos, en el que la red estratégica mejorada construida en la etapa anterior jugaba consigo misma, a partir de esta posición. Después de eso, la red de puntuación fue entrenada con estos datos. La capacitación tomó una semana en 50 GPU . El resultado fue una red que podía predecir la probabilidad de ganar para cada posición, utilizando 15 000 veces menos cálculos que el método de Monte Carlo.
Árbol de búsquedaAlphaGo enumera las opciones utilizando el método de Monte Carlo para buscar en el árbol de la siguiente manera. AlphaGo construye un árbol de juego parcial , a partir de la posición actual, realizando numerosas simulaciones del juego. Para cada jugada se registra una puntuación en el árbol, que de manera especial depende de las puntuaciones de la jugada obtenidas mediante las redes estratégicas y de evaluación , del resultado de partidas aleatorias en simulaciones anteriores, y de el número de simulaciones previas que eligieron este movimiento (cuanto más a menudo cuanto antes este movimiento, menor será la puntuación para que el programa considere movimientos más diversos).
Al comienzo de cada simulación, AlphaGo elige un movimiento en el árbol ya construido, con la puntuación más alta. Cuando la simulación alcanza una posición que no está en el árbol, esa posición se agrega al árbol, junto con todos los movimientos permitidos en esa posición, que se evalúan utilizando la red estratégica . Además, como en el método Monte Carlo, el juego se simula hasta el final sin bifurcaciones. En esta simulación, cada movimiento se elige aleatoriamente con una probabilidad obtenida usando una red estratégica rápida .
Al final de la simulación, según el resultado, se actualizan las estimaciones de movimiento en el árbol construido. Por lo tanto, cada simulación comienza desde la posición actual del juego, llega al final y, como resultado de una simulación, se revela una posición en el árbol actual.
Los autores del programa encontraron que en esta etapa es más rentable usar no la red estratégica mejorada , sino la original ( red de políticas SL ) . Según los autores, esto se debe al hecho de que los jugadores profesionales eligen movimientos más diversos que la red mejorada, lo que permite que el programa considere más opciones. Así, la red estratégica mejorada no se utiliza durante el juego, pero su uso es fundamental para construir la red de evaluación cuando el programa aprende jugando consigo mismo.
AlphaGo se capacitó durante varias semanas en 50 GPU utilizando la plataforma Google Cloud alojada en los EE . UU . [62] [65] .
AlphaGo ha sido probado en sistemas informáticos con un número variable de CPU y GPU que se ejecutan en paralelo o distribuidas . En cada caso, se dieron 2 segundos por jugada. Las calificaciones logradas al mismo tiempo, calculadas sobre la base de los resultados de los juegos entre sí según el sistema Elo , se presentan en la tabla: [66]
Informática | Hilos de ejecución |
Número de CPU | Número de GPU | Calificación ELO |
---|---|---|---|---|
Paralela | 40 | 48 | una | 2181 |
Paralela | 40 | 48 | 2 | 2738 |
Paralela | 40 | 48 | cuatro | 2850 |
Paralela | 40 | 48 | ocho | 2890 |
Repartido | 12 | 428 | 64 | 2937 |
Repartido | 24 | 764 | 112 | 3079 |
Repartido | 40 | 1202 | 176 | 3140 |
Repartido | 64 | 1920 | 280 | 3168 |
La versión que venció a Fan Hui en octubre de 2015 se ejecutó en 1202 CPU y 176 GPU [67] .
En un juego con Lee Sedol en marzo de 2016, AlphaGo usó 1920 CPU y 280 GPU ejecutándose en una red distribuida [68] .
En mayo de 2016, Google anunció que AlphaGo estaba usando TPU , un procesador desarrollado por Google específicamente para el aprendizaje automático [69] [70] .
En el partido contra Ke Jie en mayo de 2017, la nueva versión de AlphaGo usó solo una computadora en Google Cloud con un procesador TPU, es decir, aproximadamente 10 veces menos poder de cómputo que el que se usó en el partido con Lee Sedol [71] .
Toby Manning, el árbitro en el partido de AlphaGo con Fan Hui, describió el estilo de juego de AlphaGo como conservador en lugar de agresivo [72] . Según el CEO de DeepMind , Demis Hassabis, AlphaGo está tratando de aumentar la probabilidad de ganar, no la diferencia de puntuación [4] .
Los jugadores profesionales notaron que algunos de los movimientos de AlphaGo, que inicialmente parecían erróneos, resultaron ser estratégicamente importantes tras un examen más detallado [73] .
Nie Weiping (Pro 9th Dan, China ) sugirió después del primer juego con Li Sedol que AlphaGo estaba jugando en el nivel 6 o 7 dan en fuseki y 13-15 dan en chuban [74] .
En la tercera entrega , se descubrió que AlphaGo podía controlar la situación durante la lucha contra ko , lo que anteriormente se había considerado una debilidad importante en la mayoría de los programas de Go [75] .
Algunos revisores han descrito los errores de AlphaGo que provocaron la pérdida en el juego 4 como errores típicos de un programa Monte Carlo [76] . Demis Hassabis afirmó que estos errores se analizarán cuidadosamente y que AlphaGo aparentemente no conoce algunos de los tesuji clásicos y comete errores tácticos [77] . Posteriormente, Aya Huan (uno de los desarrolladores de AlphaGo que apostó por AlphaGo) dijo que el equipo de redacción tenía dos suposiciones sobre las razones de estos errores: AlphaGo simplemente no tenía suficiente profundidad de visualización para analizar la situación; o El movimiento 78 de Lee Sedol fue tan inusual (los comentaristas lo llamaron "divino" [76] ) que el programa no encontró tales situaciones durante el autoaprendizaje, como resultado, su función evaluativa (ver arriba ) en esta situación resultó ser débil. De todas formas, según Aya Huang, la nueva versión de AlphaGo ya juega correctamente en esta situación. Al mismo tiempo, el equipo no hizo nada especial, AlphaGo mismo, como resultado del entrenamiento, dejó de cometer tales errores [78] .
Después del partido, Lee Sedol declaró que fue derrotado psicológicamente, pero no técnicamente [79] . El programa mostró una habilidad para las soluciones creativas, lo que sorprendió a muchos jugadores (por ejemplo, la jugada número 37 en el segundo juego ); algunos movimientos contradecían la teoría clásica del Go, pero demostraron su eficacia en el partido, algunos profesionales comenzaron a utilizar estos hallazgos en sus juegos [50] .
Facebook también está desarrollando un juego Go, Darkforest , que también se basa en el aprendizaje automático y la búsqueda de árboles [72] [80] . A principios de 2016, Darkforest mostró un juego fuerte contra otras computadoras, pero no pudo vencer al profesional [81] . En términos de fuerza, Darkforest está clasificado al nivel de los programas Crazy Stone y Zen [82] .
El 1 de marzo de 2016, los desarrolladores del programa Zen (Yoji Ojima y Hideki Kato), DWANGO y el Grupo de Investigación de Aprendizaje Profundo de la Universidad de Tokio (que creó el programa Ponanza para jugar shogi que derrota a una persona) anunciaron un proyecto conjunto "Proyecto Deep Zen Go", con el objetivo de derrotar a AlphaGo dentro de 6-12 meses. La Japan Go Association se comprometió a apoyar el proyecto [83] . En noviembre de 2016, Deep Zen Go perdió 2-1 ante el jugador más condecorado de Japón, Cho Chikun [84] [85] .
Vamos | |||||
---|---|---|---|---|---|
| |||||
Inventario | |||||
Normas |
| ||||
Etapas del juego | |||||
Terminología | |||||
Altas | |||||
Organizaciones | |||||
Títulos | |||||
Torneos internacionales |
| ||||
ir en el arte |
| ||||
Otro | |||||
|