Varias técnicas de inteligencia artificial han sido utilizadas en los videojuegos, de muchas maneras, que van desde el control de personajes no jugadores (NPC) hasta la generación de contenido procesal (PCG). El aprendizaje automático es un subconjunto de la inteligencia artificial que se centra en el uso de algoritmos y modelos estadísticos para hacer que las máquinas actúen sin una programación específica. Esto contrasta en gran medida con métodos tradicionales de inteligencia artificial como árboles de búsqueda y sistemas expertos.
La información sobre las técnicas de aprendizaje de máquina en el campo de los juegos es mayoritariamente conocida por el público a través de proyectos de investigación, ya que la mayoría de las compañías de juegos deciden no publicar información concreta sobre su propiedad intelectual. La aplicación públicamente más conocida de aprendizaje de máquina en juegos es, probablemente, el uso de agentes de aprendizaje profundo que compiten con jugadores humanos profesionales en juegos de estrategia complejos. Ha habido una aplicación significativa de aprendizaje de máquina en juegos como Atari/ALE, Doom, Minecraft, Starcraft, y de carreras de automóviles. Otros juegos que originalmente no existían como videojuegos, tales como ajedrez y Go, también han sido afectados por el aprendizaje automático.
Visión general de las técnicas relevantes de aprendizaje de máquina miniaturadeimagen|Una red neuronal artificial es un grupo interconectado de nodos, semejantes a la vasta red de neuronas en un cerebro. Aquí, cada nodo circular representa una neurona artificial y una flecha representa la salida de una neurona artificial a la entrada de otra.
Aprendizaje profundo El aprendizaje profundo es un subconjunto de aprendizaje automático el cual se centra fuertemente en el uso de redes neuronales artificiales (ANN) que aprenden a solucionar tareas complejas. El aprendizaje profundo utiliza múltiples capas de ANN y otras técnicas para extraer progresivamente información de una entrada. Debido a este enfoque complejo de capas, los modelos de aprendizaje profundo a menudo requieren máquinas potentes para entrenarse y correr.
Redes neuronales convolucionales Las redes neuronales convolucionales (CNN) son ANN que a menudo se utilizan para analizar datos de imágenes. Estos tipos de redes son capaces de aprender patrones invariables de traducción, los cuales son patrones que no dependen de la ubicación. Las CNN son capaces de aprender estos patrones en una jerarquía, lo que significa que las capas convolucionales anteriores aprenderán patrones locales más pequeños mientras las capas posteriores aprenderán los patrones más grandes basados en los patrones anteriores. La capacidad de una CNN de aprender datos visuales la han hecho una herramienta comúnmente utilizada para aprendizaje profundo en los juegos.
Red neuronal recurrente Las redes neuronales recurrentes son un tipo de ANN que están diseñadas para procesar secuencias de datos en orden, una parte a la vez en lugar de todas. Un RNN recorre cada parte de una secuencia, utilizando la parte actual de la secuencia junto con la memoria de partes anteriores de la secuencia actual para producir una salida. Estos tipos de ANN son altamente eficaces en tareas como reconocimiento de voz y otros problemas que depende fuertemente del temporal. Hay varios tipos de RNN con diferentes configuraciones internas; la implementación básica sufre una carencia de memoria de plazo largo debido al gradiente de desvanecimiento, por lo que raramente se utiliza en implementaciones más nuevas.
Memoria de plazo corto larga Una red de memoria a largo plazo (LSTM) es una implementación concreta de un RNN que está diseñado para tratar el problema del gradiente de desaparición visto en los RNN simples,lo que llevaría a "olvidarse" gradualmente de las partes anteriores de un secuencia ingresada al calcular la salida de una parte actual. Los LSTM solucionan este problema con la adición de un sistema elaborado utiliza una entrada adicional para mantener pista de los datos a plazo largo. Los LSTM han conseguido resultados muy fuertes en varios campos, y estuvo utilizado por varios agentes de aprendizaje profundos monumentales en juegos.
Aprendizaje de refuerzo El Aprendizaje de refuerzo es el proceso de entrenar un agente que utiliza recompensas y/o castigos. La manera en que un agente es premiado o castigado depende en gran medida del problema; como dar a un agente una recompensa positiva por ganar un juego o un negativa por perder. El Aprendizaje de refuerzo se utiliza mucho en el campo del aprendizaje de máquina y puede ser visto en métodos como Q-learning, búsqueda de política, Deep Q-networks y otros. Se ha visto un fuerte rendimiento en el campo de juegos y robótica.
Neuroevolución La neuroevolución implica el uso de redes neuronales y algoritmos evolutivos. En lugar de utilizar el descenso de gradiente como la mayoría de las redes neuronales, los modelos de neuroevolución utilizan algoritmos evolutivos para actualizar las neuronas en la red. Los investigadores afirman que es menos probable que este proceso se quede estancado en un mínimo local y que sea potencialmente más rápido que las técnicas de aprendizaje automático más avanzadas.
Agentes de aprendizaje profundo Los agentes de aprendizaje profundo se han utilizado para tomar el lugar de un jugador humano en lugar de funcionar como NPCs, que se agregan deliberadamente a los videojuegos como parte del juego diseñado. Los agentes de aprendizaje profundo han logrado resultados impresionantes cuando se usan en competencia con humanos y otros agentes de inteligencia artificial.
Ajedrez El ajedrez es un juego de estrategia por turnos que se considera un problema de IA difícil debido a la complejidad computacional de su espacio de estado en tablero. Juegos de estrategia similares a menudo se resuelven con alguna forma de generación de árbol Minimax. Se sabe que estos tipos de agentes de IA superan a los jugadores humanos profesionales, como el histórico Deep Blue contra Garry Kasparov en 1997. Desde entonces, los agentes de aprendizaje automático han demostrado un éxito cada vez mayor que los agentes de IA anteriores.
Go Go es otro juego de estrategia por turnos que se considera un problema de IA aún más difícil que el Ajedrez. El espacio de Go es de alrededor de 10 ^ 170 estados de tablero posibles en comparación con los 10^120 estados de tablero para Ajedrez. Antes de los modelos recientes de aprendizaje profundo, los agentes de AI Go solo podían jugar al nivel de un aficionado humano.
AlphaGo AlphaGo de Google en 2015 fue el primer agente de IA en vencer a un jugador profesional de Go. AlphaGo utilizó un modelo de aprendizaje automático para entrenar los pesos de una Búsqueda de árbol de Montecarlo (MCTS). El modelo de aprendizaje automático consistió en 2 ANN, una red de políticas para predecir las probabilidades de posibles movimientos de los oponentes, y una red de valores para predecir la posibilidad de ganar un estado determinado. El modelo de aprendizaje automático le permite al agente explorar potenciales estados de juego de manera más eficiente que un MCTS de vainilla. La red se entrenó inicialmente en juegos contra jugadores humanos y luego se entrenó más con otros juegos en contra de sí misma.
AlphaGo Cero AlphaGo Zero, otra implementación de AlphaGo, pudo entrenarse completamente jugando contra sí mismo. Fue capaz de entrenar rápidamente a las capacidades del agente anterior.
Starcraft 2 Starcraft y Starcraft 2 son videojuegos de estrategia en tiempo real (RTS) que se han convertido en entornos populares para la investigación de IA. Blizzard Y Deepmind han trabajado juntos para lanzar un entorno público de Starcraft 2 para que se realice una investigación de IA. Se han probado varios métodos de aprendizaje profundo en ambos juegos, aunque la mayoría de los agentes suelen tener problemas para superar la IA predeterminada con los trucos habilitados o los jugadores expertos del juego.
Alphastar Alphastar fue el primer agente de IA en vencer a los jugadores profesionales de Starcraft 2 sin ninguna ventaja en el juego. La red de aprendizaje automática del agente inicialmente recibió información de una versión simplificada y alejada del estado del juego, pero luego se actualizó para jugar usando una cámara como otros jugadores humanos. Los desarrolladores no han lanzado públicamente el código o la arquitectura de su modelo, pero han enumerado varias técnicas de aprendizaje automático de última generación, como el aprendizaje de refuerzo profundo relacional, la memoria a largo plazo, los jefes de políticas autorregresivos, las redes de punteros y el valor centralizado base. Alphastar fue inicialmente entrenado con aprendizaje supervisado, observó repeticiones de muchos juegos humanos para aprender estrategias básicas. Luego entrenó contra diferentes versiones de sí mismo y se mejoró mediante el aprendizaje por refuerzo. La versión final tuvo un gran éxito, pero solo se entrenó para jugar en un mapa específico en un enfrentamiento de espejo protoss.
Dota 2 Dota 2 es un juego multijugador en línea de arena de batalla (MOBA). Al igual que otros juegos complejos, los agentes de IA tradicionales no han podido competir en el mismo nivel que los humanos profesionales. La única información ampliamente publicada sobre los agentes de IA intentados en Dota 2 es el agente Five de aprendizaje profundo de OpenAI.
OpenAI Five OpenAI Five utilizó redes LSTM redes para aprender cada héroe.Se entrenó utilizando una técnica de Aprendizaje de refuerzo conocida como Aprendizaje de política proximal que se ejecuta en un sistema que contiene GPUs y 128,000núcleos de CPU. Five entrenado durante meses, acumula 180 años de experiencia en el juego cada día, antes de enfrentarse con jugadores profesionales. Finalmente fue capaz de vencer al equipo campeón de esports en Dota 2 2018 en una serie de juegos del 2019.
Planetary Annihilation Planetary Annihilation es un juego de estrategia de tiempo real qué se centra en una guerra a gran escala. Los desarrolladores usan ANN en su agente de IA predeterminado
Juegos generalizados Ha habido intentos de crear agentes de aprendizaje automático que puedan jugar más de un juego. Estos agentes de juego "generales" están entrenado para comprender juegos basados en propiedades compartidas entre ellos.
AlphaZero AlphaZero es una versión modificada de AlphaGo Zero que puede jugar shōgi, ajedrez y Go. El agente modificado comienza con solo información básica de las reglas del juego, y también se entrena completamente a través del autoaprendizaje. Deepmind pudo entrenar a este agente generalizado para ser competitivo con versiones anteriores de sí mismo en Go, así como con los mejores agentes en los otros 2 juegos.
Fortalezas y debilidades de los agentes de aprendizaje profundo Los agentes de aprendizaje automático no suelen tratarse en cursos de diseño de juegos. El uso previo de agentes de aprendizaje automático en los juegos puede no haber sido muy práctico, ya que incluso la versión 2015 de AlphaGo tomó cientos de horas de computación con CPU y GPU para llegar a un nivel fuerte. Esto potencialmente limita la creación de agentes de deep learning altamente efectivos para grandes corporaciones o individuos extremadamente ricos. El extenso tiempo de entrenamiento de los enfoques basados en redes neuronales también puede llevar semanas en estas máquinas potentes..