AlphaGo (y otros programas de juegos que utilizan aprendizaje por refuerzo) sin base de datos humana


13

No soy especialista en el tema, y ​​mi pregunta es probablemente muy ingenua. Se deriva de un ensayo para comprender los poderes y la limitación del aprendizaje por refuerzo como se usa en el programa AlphaGo.

El programa AlphaGo se ha creado utilizando, entre otras cosas (exploración de árboles de Monte-Carlo, etc.), redes neuronales que se entrenan a partir de una gran base de datos de juegos go go humanos, y que luego se refuerzan al permitir versiones de juego de programa contra sí mismo muchas veces.

Ahora me pregunto qué pasaría si tratamos de construir un programa de este tipo sin una base de datos humana, es decir, comenzando con un programa básico de Go simplemente conociendo reglas y algún método para explorar árboles, y dejando que juegue contra sí mismo para mejorar su red neuronal. ¿Llegaremos, después de muchos juegos contra sí mismos, a un programa capaz de competir o vencer a los mejores jugadores humanos? Y si es así, ¿cuántos juegos (en orden de magnitud) serían necesarios para eso? O, por el contrario, ¿tal programa convergerá hacia un jugador mucho más débil?

Supongo que el experimento no se ha hecho, ya que AlphaGo es muy reciente. Pero la respuesta puede ser obvia para un especialista. De lo contrario, cualquier suposición educada me interesará.

También se puede hacer la misma pregunta para juegos "más simples". Si utilizamos más o menos las mismas técnicas de refuerzo de aprendizaje utilizadas para AlphaGo, pero sin el uso de la base de datos humana, para un programa de Ajedrez, ¿obtendríamos finalmente un programa capaz de vencer al mejor humano? Y si es así, ¿qué tan rápido? ¿Se ha intentado esto? O si no fuera por el ajedrez, ¿qué pasa con las damas o incluso juegos más simples?

Muchas gracias.

Respuestas:


10

No soy un experto, pero parece que AlphaGo Zero responde tu pregunta. https://deepmind.com/blog/alphago-zero-learning-scratch/

Las versiones anteriores de AlphaGo inicialmente se entrenaron en miles de juegos humanos aficionados y profesionales para aprender a jugar Go. AlphaGo Zero omite este paso y aprende a jugar simplemente jugando juegos contra sí mismo, comenzando por un juego completamente aleatorio. Al hacerlo, superó rápidamente el nivel de juego humano y derrotó la versión de AlphaGo que derrotó al campeón publicada anteriormente por 100 juegos a 0.


¿Es esto más reciente?
kosmos

1
Esto fue publicado el 18 de octubre de 2017.
ncasas

Sería interesante conocer los resultados contra los humanos. Porque una razón para la base de datos humana pre-entrenada es refinar el algoritmo MCTS contra oponentes humanos . AlphaGo original fue optimizado para jugar contra humanos, no otros ML. Como tal, es más difícil decir si AlphaGo Zero es estrictamente "mejor" que el AlphaGo original, o si simplemente lo domina en un sentido teórico del juego, por ejemplo, AlphaGo Zero vence a AlphaGo vence a Lee Sedol vence a AlphaGo Zero. . .
Neil Slater

44
Neil, sí, esto sería interesante. Pero no apostaría un centavo de las posibilidades humanas contra Alpha Go zero.
Joël

1
Q

9

La misma pregunta se le hizo al autor del artículo de AlphaGo y su respuesta fue que no sabemos qué pasaría si AlphaGo aprendiera desde cero (no lo han probado).

Sin embargo, dada la complejidad del juego, sería una tarea difícil entrenar un algoritmo desde cero sin conocimiento previo. Por lo tanto, es razonable al principio comenzar a construir dicho sistema actualizándolo a un nivel Master utilizando el conocimiento adquirido por los humanos.

Vale la pena señalar que, aunque los movimientos humanos sesgan la selección de acción en los nodos de árbol (estados), esto tiene un factor de descomposición. Esto significa que el aumento de las visitas a un estado específico reduce la fuerza de la anterior para alentar al algoritmo a explorar.

El nivel actual de Mastery of AlphaGo se desconoce cuán cerca o lejos está de la forma de jugar de un humano (¡en el torneo hizo un movimiento que un humano tenía casi cero probabilidad de realizar! - pero igualmente hizo algunos movimientos realmente malos también) . Posiblemente queda por responder a todas estas preguntas mediante la implementación de los algoritmos de prueba correspondientes.

Debo editar mi respuesta ya que el reciente artículo de DeepMind responde a su pregunta. Hubo muchos avances que surgieron de toda la experiencia previa con la primera versión de AlphaGo y realmente vale la pena leerlo.


De nada :)
Constantinos

8

Hasta donde entendí el algoritmo de AlphaGo, se basa en un marco de aprendizaje de refuerzo simple (RL), utilizando la búsqueda de árbol de Monte-Carlo para seleccionar las mejores acciones. Además, los estados y acciones cubiertos por el algoritmo RL no son simplemente la configuración completa posible del juego (Go tiene una enorme complejidad) sino que se basan en una red de políticas y una red de valores, aprendidas de juegos reales y luego mejorado jugando juegos AlphaGo vs AlphaGo.

Entonces podríamos preguntarnos si el entrenamiento de juegos reales es solo un atajo para ahorrar tiempo o una opción necesaria para obtener tal eficiencia. Supongo que nadie sabe realmente la respuesta, pero podríamos establecer algunas suposiciones. Primero, la capacidad humana para promover buenos movimientos se debe a una inteligencia mucho más compleja que una simple red neuronal. Para los juegos de mesa, es una mezcla entre memoria, experiencia, lógica y sentimientos. En esta dirección, no estoy seguro de que el algoritmo AlphaGo pueda construir tal modelo sin explorar explícitamente un gran porcentaje de la configuración completa del juego Go (que es prácticamente imposible). Las investigaciones actuales se centran en construir una representación más compleja de dicho juego, como RL relacional o aprendizaje de lógica inductiva. Luego, para juegos más simples (podría ser el caso del ajedrez pero nada seguro),

Aún así es solo una opinión. Pero estoy bastante seguro de que la clave para responder a su pregunta reside en el enfoque RL que hoy en día sigue siendo bastante simple en términos de conocimiento. Realmente no somos capaces de identificar qué nos hace capaces de manejar estos juegos, y la mejor manera que encontramos hasta el momento de derrotar a los humanos es aprender más o menos de él y mejorar (un poco) el modelo aprendido con cálculos masivos.


1

El juego competitivo sin base de datos humana es incluso posible en entornos complicados y parcialmente observados. OpenAI se está centrando en esta dirección. De acuerdo con este artículo :

El juego propio asegura que el entorno sea siempre la dificultad adecuada para que una IA mejore.

Esa es una razón importante para el éxito del juego personal.

OpenAI logró resultados sobrehumanos para Dota 2 1v1, el 11 de agosto de 2017, venció a Dendi 2-0 bajo las reglas estándar del torneo.

El bot aprendió el juego desde cero mediante el auto-juego, y no utiliza el aprendizaje de imitación o la búsqueda de árboles. Este es un paso hacia la construcción de sistemas de inteligencia artificial que cumplan objetivos bien definidos en situaciones complicadas y complicadas que involucran a humanos reales.

No solo los juegos, esta dirección también es prometedora para las tareas de robótica.

Descubrimos que el juego propio permite que las IA simuladas descubran habilidades físicas como abordar, agacharse, fingir, patear, atrapar y bucear para la pelota, sin diseñar explícitamente un entorno con estas habilidades en mente.

En el siguiente paso, amplían el método para aprender a cooperar, competir y comunicarse , no solo limitarse al juego propio.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.