OpenAI Five es un programa informático de OpenAI que juega al videojuego de cinco contra cinco Dota 2. Su primera aparición pública se produjo en 2017, donde se demostró en una partida uno contra uno en directo contra el jugador profesional Dendi , que perdió contra él. Al año siguiente, el sistema había avanzado hasta el punto de funcionar como un equipo completo de cinco, y comenzó a jugar contra equipos profesionales y a demostrar su capacidad para derrotarlos.
Al elegir un juego tan complejo como Dota 2 para estudiar el aprendizaje automático , OpenAI pensó que podría capturar con mayor precisión la imprevisibilidad y la continuidad observadas en el mundo real, construyendo así sistemas de resolución de problemas más generales. Los algoritmos y el código utilizados por OpenAI Five fueron finalmente tomados prestados por otra red neuronal en desarrollo por la empresa, una que controlaba una mano robótica física. OpenAI Five ha sido comparado con otros casos similares de inteligencia artificial (IA) jugando contra humanos y derrotándolos, como AlphaStar en el videojuego StarCraft II , AlphaGo en el juego de mesa Go , Deep Blue en ajedrez y Watson en el programa de televisión Jeopardy !.
El desarrollo de los algoritmos utilizados para los bots comenzó en noviembre de 2016. OpenAI decidió utilizar Dota 2 , un videojuego competitivo de cinco contra cinco, como base debido a que era popular en la plataforma de transmisión en vivo Twitch , tenía soporte nativo para Linux y tenía una interfaz de programación de aplicaciones (API) disponible. [1] Antes de convertirse en un equipo de cinco, la primera demostración pública ocurrió en The International 2017 en agosto, el torneo de campeonato de estreno anual para el juego, donde Dendi , un jugador profesional ucraniano, perdió contra un bot de OpenAI en un enfrentamiento uno contra uno en vivo. [2] [3] Después del partido, el CTO Greg Brockman explicó que el bot había aprendido jugando contra sí mismo durante dos semanas en tiempo real , y que el software de aprendizaje era un paso en la dirección de crear software que pueda manejar tareas complejas "como ser un cirujano". [4] [5] OpenAI utiliza una metodología llamada aprendizaje de refuerzo , ya que los bots aprenden con el tiempo jugando contra sí mismos cientos de veces al día durante meses, en los que son recompensados por acciones como matar a un enemigo y destruir torres. [6] [7] [8]
En junio de 2018, la capacidad de los bots se expandió para jugar juntos como un equipo completo de cinco y pudieron derrotar a equipos de jugadores amateurs y semiprofesionales. [9] [6] [10] [11] En The International 2018 , OpenAI Five jugó en dos juegos contra equipos profesionales, uno contra paiN Gaming con sede en Brasil y el otro contra un equipo estelar de exjugadores chinos. [12] [13] Aunque los bots perdieron ambos partidos, OpenAI todavía lo consideró una empresa exitosa, afirmando que jugar contra algunos de los mejores jugadores de Dota 2 les permitió analizar y ajustar sus algoritmos para juegos futuros. [14] La demostración pública final de los bots ocurrió en abril de 2019, donde ganaron una serie al mejor de tres contra los campeones de The International 2018, OG, en un evento en vivo en San Francisco . [15] Un evento en línea de cuatro días para jugar contra los bots, abierto al público, ocurrió el mismo mes. [16] Allí, los bots jugaron en 42.729 juegos públicos, ganando el 99,4% de esos juegos. [17]
Cada bot OpenAI Five es una red neuronal que contiene una sola capa con un LSTM de 4096 unidades [18] que observa el estado actual del juego extraído de la API del desarrollador de Dota. La red neuronal realiza acciones a través de numerosos posibles cabezales de acción (sin datos humanos involucrados), y cada cabezal tiene un significado. Por ejemplo, la cantidad de ticks para retrasar una acción, qué acción seleccionar: la coordenada X o Y de esta acción en una cuadrícula alrededor de la unidad. Además, los cabezales de acción se calculan de forma independiente. El sistema de IA observa el mundo como una lista de 20 000 números y realiza una acción realizando una lista de ocho valores de enumeración. Además, selecciona diferentes acciones y objetivos para comprender cómo codificar cada acción y observar el mundo. [19]
OpenAI Five se ha desarrollado como un sistema de entrenamiento de aprendizaje de refuerzo de propósito general en la infraestructura "Rapid". Rapid consta de dos capas: pone en marcha miles de máquinas y las ayuda a "hablar" entre sí y una segunda capa ejecuta el software. En 2018, OpenAI Five había jugado alrededor de 180 años de juegos de aprendizaje de refuerzo ejecutándose en 256 GPU y 128.000 núcleos de CPU , [20] utilizando la optimización de políticas proximales , un método de gradiente de políticas . [19] [21]
Antes de OpenAI Five, se habían utilizado con éxito otros experimentos y sistemas de IA contra humanos, como Jeopardy! con Watson , ajedrez con Deep Blue y Go con AlphaGo . [22] [23] [24] En comparación con otros juegos que han utilizado sistemas de IA para jugar contra jugadores humanos, Dota 2 se diferencia como se explica a continuación: [19]
Visión de largo plazo : los robots funcionan a 30 cuadros por segundo durante un tiempo de partida promedio de 45 minutos, lo que da como resultado 80 000 ticks por partida. OpenAI Five observa cada cuarto cuadro, lo que genera 20 000 movimientos. En comparación, el ajedrez generalmente termina antes de 40 movimientos, mientras que el Go termina antes de 150 movimientos.
Estado del juego parcialmente observado : los jugadores y sus aliados solo pueden ver el mapa que los rodea directamente. El resto está cubierto por una niebla de guerra que oculta las unidades enemigas y sus movimientos. Por lo tanto, jugar Dota 2 requiere hacer inferencias basadas en estos datos incompletos, así como predecir lo que su oponente podría estar haciendo al mismo tiempo. En comparación, el ajedrez y el Go son "juegos de información completa", ya que no ocultan elementos al jugador oponente. [25]
Espacio de acción continua : cada personaje jugable en una partida de Dota 2 , conocido como héroe, puede realizar docenas de acciones que tienen como objetivo a otra unidad o a una posición. Los desarrolladores de OpenAI Five permiten un espacio de 170.000 acciones posibles por héroe. Sin contar los aspectos perpetuos del juego, hay un promedio de ~1.000 acciones válidas por tick. En comparación, el número promedio de acciones en ajedrez es 35 y 250 en Go.
Espacio de observación continua : Dota 2 se juega en un gran mapa con diez héroes, cinco en cada equipo, junto con docenas de edificios y unidades de personajes no jugadores (NPC). El sistema OpenAI observa el estado de un juego a través de la API del bot de los desarrolladores, como 20.000 números que constituyen toda la información a la que un humano puede acceder. Un tablero de ajedrez se representa con unas 70 listas, mientras que un tablero de Go tiene unas 400 enumeraciones.
OpenAI Five ha recibido el reconocimiento de la comunidad de IA, tecnología y videojuegos en general. El fundador de Microsoft, Bill Gates, lo calificó como un "gran logro", ya que sus victorias "requerían trabajo en equipo y colaboración". [8] [26] El ajedrecista Garry Kasparov , que perdió contra Deep Blue AI en 1997, afirmó que a pesar de su desempeño perdedor en The International 2018, los robots eventualmente "llegarían allí, y antes de lo esperado". [27]
En una conversación con MIT Technology Review , los expertos en IA también consideraron el sistema OpenAI Five como un logro significativo, ya que señalaron que Dota 2 era un "juego extremadamente complicado", por lo que incluso vencer a jugadores no profesionales era impresionante. [25] PC Gamer escribió que sus victorias contra jugadores profesionales fueron un evento significativo en el aprendizaje automático. [28] Por el contrario, Motherboard escribió que la victoria fue "básicamente una trampa" debido a los grupos de héroes simplificados en ambos lados, así como al hecho de que a los bots se les dio acceso directo a la API, en lugar de usar la visión por computadora para interpretar los píxeles en la pantalla. [29] The Verge escribió que los bots eran evidencia de que el enfoque de la compañía hacia el aprendizaje por refuerzo y su filosofía general sobre la IA estaba "dando hitos". [16]
En 2019, DeepMind presentó un bot similar para Starcraft II , AlphaStar . Al igual que OpenAI Five, AlphaStar utilizó el aprendizaje por refuerzo y el juego autónomo. The Verge informó que "el objetivo de este tipo de investigación de IA no es solo aplastar a los humanos en varios juegos solo para demostrar que se puede hacer. En cambio, es demostrar que, con suficiente tiempo, esfuerzo y recursos, el software de IA sofisticado puede superar a los humanos en prácticamente cualquier desafío cognitivo competitivo, ya sea un juego de mesa o un videojuego moderno". Agregaron que las victorias de DeepMind y OpenAI también fueron un testimonio del poder de ciertos usos del aprendizaje por refuerzo. [30]
OpenAI tenía la esperanza de que la tecnología pudiera tener aplicaciones fuera del ámbito digital. En 2018, pudieron reutilizar los mismos algoritmos de aprendizaje de refuerzo y el código de entrenamiento de OpenAI Five para Dactyl , una mano robótica similar a la humana con una red neuronal diseñada para manipular objetos físicos. [31] En 2019, Dactyl resolvió el cubo de Rubik . [32]