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.
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.
fuente
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.
fuente
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 :
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.
No solo los juegos, esta dirección también es prometedora para las tareas de robótica.
En el siguiente paso, amplían el método para aprender a cooperar, competir y comunicarse , no solo limitarse al juego propio.
fuente