Se gastan 153.000 euros en enseñar a una IA a jugar a Minecraft en PC
Enseñan a una inteligencia artificial a jugar a Minecraft y hacer lo mismo que un usuario humano entrenándola con vídeos de Internet.
Ver jugar a alguien, ya sea en un directo o en un vídeo subido, puede enseñarte sobre ese juego en particular. Puedes aprender algún truco, o conocer los fundamentos de su gameplay. Pero como para cualquier juego, necesitas saber cómo se maneja, el mapeado de las acciones en los botones de un pad o de un teclado, cómo responden en pantalla a tus acciones.
Cuando juegas a un juego y ya conoces la jugabilidad de ese juego, aprendes más que quien lo esté viendo sin haberlo probado en una consola / PC, ya que esa otra persona necesita hacerse primero a los controles físicos. Esto es un ABC, pero imagina que eres un experto en Inteligencia Artificial y necesitas enseñar no a un jugador, sino a una IA. Y además con un entrenamiento más visual que jugable. ¿Cómo lo harías?
La IA que juega a Minecraft
Son varias las redes neuronales que han conquistado varios tipos de juegos en los últimos años mediante lo que se llama aprendizaje por refuerzo: AlphaZero de DeepMind, que se enfrentó al ajedrez, al Go y al Shogi, y el posterior programa MuZero, que añadió la capacidad de manejar juegos de Atari.
“Hay millones de horas de gameplay en la Red, lo que pasa es que estos vídeos sólo proporcionan un registro de lo que sucedió, pero no precisamente de cómo se logró”: este es el desafío al que se enfrentaron los ingenieros de OpenAI, compañía especializada en Inteligencia Artificial, en su proyecto ‘Aprendiendo a jugar al Minecraft con VPT (Preentrenamiento de Vídeo)’. Estos se propusieron entrenar una red neuronal en un enorme conjunto de datos de vídeo no etiquetados sobre partidas de jugadores reales de Minecraft, al tiempo que “utilizamos sólo una pequeña cantidad de datos de contratistas etiquetados”.
El desafío era que su IA aprendiese a jugar a un juego más complejo que los citados como es Minecraft, y además usando más opciones que solo el lenguaje, valiéndose de un modelo más visual aprovechando la cantidad de horas de gamers jugando a Minecraft que hay en Internet.
Según los ingenieros de OpenAI, “nuestro modelo puede aprender a fabricar herramientas de diamante, una tarea que suele llevar a los humanos competentes más de 20 minutos (24.000 acciones). Nuestro modelo utiliza la interfaz humana nativa de pulsaciones de teclas y movimientos de ratón, lo que lo hace bastante general, y representa un paso hacia los agentes generales que utilizan ordenadores”.
IDM
El concepto de adiestrar a su IA con más videos de gameplay que de la jugabilidad en sí comienza reuniendo un pequeño conjunto de datos de los jugadores contratados “en el que grabamos no sólo su vídeo, sino también las acciones que realizaron, que en nuestro caso son pulsaciones de teclas y movimientos del ratón. Con estos datos entrenamos un modelo de dinámica inversa (IDM), que predice la acción que se realiza en cada paso del vídeo”.
Es importante destacar que el IDM puede utilizar información pasada y futura para adivinar la acción en cada paso. Esta tarea es mucho más sencilla y, por tanto, requiere muchos menos datos que la tarea de clonación del comportamiento de predecir las acciones teniendo en cuenta sólo los fotogramas de vídeo pasados, lo que requiere inferir lo que la persona quiere hacer y cómo llevarlo a cabo. A continuación, “podemos utilizar el IDM entrenado para etiquetar un conjunto de datos mucho mayor de vídeos en línea y aprender a actuar mediante la clonación de comportamientos”.
Los investigadores adjuntaron etiquetas a los fotogramas del vídeo del juego para acciones como 'inventario', para comprobar la colección de objetos del jugador utilizando la tecla 'E'; y 'colarse, para moverse con cuidado en la dirección actual, utilizando la tecla SHIFT. Estas acciones se registran como cadenas de texto JSON en cada momento del juego y se almacenan con los fotogramas de vídeo.
Los fotogramas del juego con sus acciones etiquetadas se utilizaron para entrenar la red neuronal del IDM, que aprende qué acciones van con qué fotogramas. El IDM es una mezcla de varios tipos de redes neuronales, como una red neuronal convolucional 3D y una ResNet para analizar los fotogramas de vídeo, y varias redes Transformer (redes neuronales para secuencias, basadas en la auto-atención,) de atención para predecir el siguiente fotograma de vídeo.
La capacidad entrenada del IDM se utiliza entonces en un conjunto mucho mayor de secuencias de vídeo, un total de 70.000 horas de secuencias de Minecraft sin etiquetar recogidas de la web. El IDM aplica "pseudoetiquetas" a esa colección mucho mayor. En otras palabras, el IDM, y los honorarios de los contratistas, son una forma de arrancar un enorme conjunto de vídeos de entrenamiento.
Pillar Jumping
Entrenado con 70.000 horas de vídeo online etiquetado con IDM, el llamado modelo de clonación del comportamiento (el "modelo de fundación VPT") realiza tareas en Minecraft que “son casi imposibles de lograr con el aprendizaje por refuerzo desde cero”. La IA aprendió a talar árboles para recoger troncos, convertir esos troncos en tablones y, a continuación, convertir esos tablones en una mesa de artesanía. Una secuencia que lleva a un humano experto en Minecraft aproximadamente 50 segundos o 1.000 acciones de juego consecutivas.
Además, el modelo realiza otras habilidades complejas que los humanos suelen hacer en el juego, como nadar, cazar animales para alimentarse y comer esa comida. También aprendió la habilidad de “pillar jumping” , un comportamiento habitual en Minecraft de elevarse saltando repetidamente y colocando un bloque debajo de uno mismo. Y sus creadores lograron que la IA hiciese todos los pasos y acciones que se requieren para lograr el Pico de Diamante, lo que le llevó más de 20 minutos y 24.000 acciones.
Por qué entrenarlo con Minecraft
¿Por qué usar Minecraft y no otro juego? OpenAI eligió validar su método de aprendizaje en Minecraft porque se trata de “uno de los videojuegos más jugados del mundo y, por tanto, cuenta con una gran cantidad de datos de vídeo disponibles de forma gratuita”. Y porque es “un juego abierto con una gran variedad de cosas que hacer, similar a las aplicaciones del mundo real, como el uso del ordenador”.
A diferencia de trabajos anteriores en Minecraft que utilizan espacios de acción simplificados con el fin de facilitar la exploración, su IA utiliza la interfaz humana nativa, mucho más aplicable, aunque también mucho más difícil: 20Hz de velocidad de fotogramas con el ratón y el teclado.
153.000 euros
El trabajo de construcción de la red neuronal, denominada VPT, se desarrolló en dos etapas. En la primera se necesitaron jugadores humanos o contratistas, que reunieron 4.500 horas de juego. Más tarde, los investigadores descubrieron que en realidad sólo necesitaban unas 2.000 horas.
Baker y su equipo describen el proceso:
“Tuvimos las solicitudes abiertas durante un día, y luego seleccionamos al azar a 10 solicitantes para la primera ronda de contratistas. Más adelante, cuando necesitábamos más datos y algunos contratistas pidieron que se rescindieran sus contratos, añadimos más solicitantes del grupo original, así como referencias de los contratistas que ya estaban trabajando.
A los contratistas se les pagó 20 dólares / 19 euros por hora (menos las tasas de la plataforma Upwork y los impuestos aplicables). Todos los resultados presentados en este documento se basan en unas 4.500 horas de datos (incluidos los datos registrados para recopilar estadísticas del juego humano que no se utilizaron para la formación), que nos costaron unos 90.000 dólares (86.300€). A lo largo del proyecto, recogimos algunos datos que no utilizamos debido a fallos en la grabadora y para algunas ideas que finalmente no llevamos a cabo.
En total, gastamos unos 160.000$ (153.410€) en compensaciones a contratistas a lo largo del proyecto. Sin embargo, como discutimos en la sección 4.6, probablemente podríamos obtener la mayoría de nuestros resultados con un IDM entrenado usando sólo 2.000$ (1.917€) de datos, es decir, el modelo VPT básico, el ajuste de BC al conjunto de datos earlygame_keyword y los resultados del ajuste de RL.
La recopilación del conjunto de datos contractor_house costó unos 8.000 dólares (7.670€). Como utilizamos el IDM entrenado en unas 2.000 horas de datos de contratistas, el coste real de los datos de contratistas para esos resultados fue de unos 40.000$ (38.352€)”.