GameNGen genera una versión de Mario total imaginada

El mes pasado, el modelo de IA de GameNGen demostró que se pueden utilizar técnicas de difusión de imágenes generalizadas para generar una versión aceptable y jugable de Doom, como bien lo dimos a conocer aquí en TECHcetera. Ahora, los investigadores se encuentran utilizando algunas técnicas similares con un modelo denominado “MarioVGG” para ver si la Inteligencia Artificial tiene la capacidad de poder generar un video plausible de Super Mario Bros. en respuesta a las entradas del usuario.

Vale la pena destacar que, los resultados del modelo MarioVGG (disponible como artículo preliminar publicado por la empresa de IA Virtuals Protocol, vinculada a las criptomonedas) todavía presentan muchos fallos evidentes y es demasiado lento para cualquier cosa que se acerque a un juego en tiempo real. Pero… los resultados logran mostrar cómo incluso un modelo limitado tiene la capacidad de poder inferir algunas dinámicas físicas y de juego impresionantes, con solo estudiar un poco de video y datos de entrada.

Modelo denominado “MarioVGG”

Los investigadores esperan que esto represente un primer paso hacia “producir y demostrar un generador de videojuegos confiable y controlable o posiblemente incluso reemplazar completamente el desarrollo de juegos y los motores de juegos utilizando modelos de generación de videos en el futuro”.

Percibiendo 737.000 fotogramas de Mario

Para entrenar su modelo, los investigadores de MarioVGG comenzaron con un conjunto de datos públicos de juego de Super Mario Bros. que contenía 280 “niveles” de datos de entrada e imágenes organizados para fines de aprendizaje automático (el nivel 1-1 se eliminó de los datos de entrenamiento para que las imágenes de este se pudieran usar en la evaluación). Los más de 737.000 fotogramas individuales de ese conjunto de datos se “preprocesaron” en fragmentos de 35 fotogramas para que el modelo pudiera comenzar a aprender cómo se veían en general los resultados inmediatos de varias entradas.

Cabe aclarar que para “simplificar la situación del juego”, los investigadores decidieron centrarse exclusivamente en 2 posibles entradas del conjunto de datos; “correr hacia la derecha” y “correr hacia la derecha y saltar”. Sin embargo, incluso este conjunto limitado de movimientos presentó algunas dificultades para el sistema de aprendizaje automático, puesto que el preprocesador tuvo que mirar hacia atrás durante unos pocos fotogramas antes de un salto para averiguar si la “carrera” comenzó y cuándo. Es de resaltar que todos los saltos que incluían ajustes en el aire (es decir, el botón “izquierdo”) también tuvieron que descartarse porque “esto introduciría ruido en el conjunto de datos de entrenamiento”, Según escriben los investigadores.

Después del preprocesamiento, los investigadores utilizaron un proceso estándar de convolución y eliminación de ruido para generar nuevos fotogramas de vídeo a partir de una imagen estática inicial del juego y una entrada de texto (ya sea “correr” o “saltar” en este caso limitado). Aunque estas secuencias generadas solo duran unos pocos fotogramas, el último fotograma de una secuencia se tiene la posibilidad de utilizar como el primero de una nueva secuencia, lo que permite crear vídeos de juego de cualquier duración que sigan mostrando un juego coherente y consistente, según los investigadores.

Super Mario 0.5

Es crucial tener presente que incluso con toda esta configuración, MarioVGG no genera exactamente un vídeo fluido e indistinguible de un juego real de NES. Para lograr una mayor eficiencia, los investigadores redujeron la resolución de los fotogramas de salida de 256×240 de NES a una resolución mucho más borrosa de 64×48. Asimismo, condensaron el tiempo de vídeo de 35 fotogramas en sólo 7 fotogramas generados que se distribuyen “a intervalos uniformes”, creando un vídeo de “juego” que posee un aspecto mucho más áspero que el resultado del juego real.

A pesar de esas limitaciones, el modelo MarioVGG todavía tiene dificultades para acercarse a la generación de video en tiempo real en este momento. La única RTX 4090 utilizada por los investigadores tardó 6 segundos completos en generar una secuencia de video de 6 cuadros, lo que representa poco más de medio segundo de video, incluso a una velocidad de cuadros enormemente limitada.

Los investigadores admiten que esto “no es práctico ni amigable para los videojuegos interactivos”.

Sin embargo, esperan que las futuras optimizaciones en la cuantificación de peso (y tal vez el uso de más recursos computacionales) puedan mejorar esta velocidad.

Ahora bien, como todos los modelos de IA probabilísticos, MarioVGG posee una tendencia frustrante a dar a veces resultados totalmente inútiles.

Sin embargo, teniendo en cuenta esos límites, MarioVGG tiene la capacidad de poder crear algunos vídeos bastante creíbles de Mario corriendo y saltando a partir de una imagen inicial estática, de forma similar al creador de juegos Genie de Google. El modelo incluso fue capaz de aprender la física del juego únicamente a partir de fotogramas de vídeo en los datos de entrenamiento sin ninguna regla explícita codificada, según escriben los investigadores. Esto incluye inferir comportamientos como la caída de Mario cuando corre por el borde de un acantilado (con gravedad creíble) y (normalmente) detener el movimiento hacia delante de Mario cuando está adyacente a un obstáculo, escriben los investigadores.

No se debe pasar por alto señalar que, aunque MarioVGG se centró en simular los movimientos de Mario, los investigadores descubrieron que el sistema podía alucinar de manera eficaz nuevos obstáculos para Mario conforme el vídeo se desplazaba por un nivel imaginario.

Estos obstáculos “son coherentes con el lenguaje gráfico del juego”, escriben los investigadores.

Pero… actualmente no pueden verse influenciados por las indicaciones del usuario (por ejemplo, poner un hoyo delante de Mario y hacer que salte sobre él).

Sin embargo, como todos los modelos de IA probabilísticos, MarioVGG tiene una tendencia frustrante a dar resultados completamente inútiles en ocasiones. A veces eso significa simplemente ignorar las indicaciones de entrada del usuario. Otras veces, significa alucinar fallas visuales obvias; Mario a veces cae dentro de obstáculos, corre a través de obstáculos y enemigos, parpadea con diferentes colores, se encoge o crece de un cuadro a otro o inclusive, desaparece por completo durante varios cuadros antes de reaparecer.

Los investigadores suponen que entrenar durante más tiempo con “datos de juego más diversos” podría ayudar a solucionar estos problemas importantes y ayudar a que su modelo simule algo más que correr y saltar inexorablemente hacia la derecha. Aun así, MarioVGG viene siendo una prueba divertida de que incluso con datos de entrenamiento y algoritmos limitados, se pueden crear algunos modelos iniciales decentes de juegos básicos.