Categorías
Universitario Videojuego

Paradigmas de aprendizaje

El Aprendizaje Automático supone un cambio de mentalidad importante frente al mundo de la programación, la disciplina tradicional de la Informática que tan importante resulta para el desarrollo de videojuegos. En este área del Aprendizaje Automático, contenido en el campo más amplio de la Inteligencia Artificial, se trabaja principalmente con datos, entornos y restricciones, pero no se especifica el comportamiento final del sistema que se desea desarrollar sino que este se va «cultivando» gracias al entrenamiento. En el mundo del videojuego cada vez se usan más técnicas de Aprendizaje Automático para guiar los procesos industriales de diseño y producción.

Cambio de mentalidad

En la programación imperativa, la que conocemos, un desarrollador programa código, escribe reglas o representa diagramas de flujo con el propósito de convertir eventos o datos de entrada en acciones o datos de salida. Puede establecer ciertas condiciones (ej. curarte si tu salud es menos de 20), pero siempre dando «órdenes» al sistema o a un agente inteligente sobre lo que tiene que hacer en cada momento.

En cierto sentido, el Aprendizaje Automático (AA) invierte esta idea. Ahora el desarrollador es el que introduce previamente en el sistema los eventos o datos de entrada (y a veces también información relativa a las acciones o datos de salida deseados) con la intención de que el propio sistema descubra, infiera (es decir, aprenda) por sí mismo -automáticamente- esa relación existente entre la entrada y la salida. De esta manera, una vez concluido el aprendizaje, el sistema sabe cómo comportarse sin haber recibido órdenes explícitas del desarrollador.

De alguna manera el grueso de lo que se estudia en la Inteligencia Artificial para Videojuegos tiene un enfoque más tradicional y «simbólico» mientras que lo que se estudia en este curso tiene un enfoque más «subsimbólico», aunque esta división no sea estricta… ya que existe aprendizaje automático «simbólico» y hay disciplinas que veremos más adelante como la Computación Evolutiva, que aunque sea «subsimbólica» en realidad ni siquiera es «aprendizaje».

Historia

Aunque hoy día es una revolución, el Aprendizaje Automático (o Machine Learning) es muy antiguo. Comenzó a desarrollarse como disciplina en la década de 1950, cuando los investigadores exploraban formas de que las máquinas aprendieran de la experiencia. Uno de los primeros hitos fue el trabajo de Arthur Samuel, quien en 1959 definió el campo de estudio como aquel en el que se buscan computadoras capaces de realizar funciones para las que no han sido programadas explícitamente, desarrollando un sistema capaz de mejorar su rendimiento jugando a las damas. Durante las décadas de 1960 y 1970 surgieron los primeros métodos de aprendizaje simbólico, como los árboles de decisión y los sistemas basados en reglas, que buscaban representar el conocimiento mediante expresiones lógicas fáciles de interpretar por los seres humanos.

A partir de las décadas de 1980 y 1990, el campo experimentó un importante avance gracias al desarrollo de algoritmos estadísticos y al resurgimiento de las redes neuronales artificiales (planteadas originalmente en 1943), impulsado por la popularización del algoritmo de retropropagación (que Rumelhart, Hinton y Williams empezaron a aplicar para entrenar redes multicapa en 1986).

Posteriormente, el aumento de la capacidad de cómputo, la disponibilidad de grandes volúmenes de datos y el uso de procesadores gráficos (GPU) que permiten paralelizar los cálculos, dieron lugar al auge del aprendizaje profundo que vivimos en la década de 2010. Actualmente, el Aprendizaje Automático es un área importantísima dentro de la Inteligencia Artificial con aplicaciones en prácticamente todos los sectores económicos y sociales.

Tipos de aprendizaje

Dentro del Aprendizaje Automático hay distintos «paradigmas» o maneras de enfocar el asunto. Estos son los más habituales, y también los que estudiaremos en este curso:

  • Aprendizaje supervisado. Cuando el sistema recibe las entradas acompañadas de las salidas correctas, se dice que los datos de los que parte «están etiquetados» (la etiqueta es esa respuesta correcta que nos ha proporcionado el supervisor humano del sistema), y el objetivo del aprendizaje es ser capaz de predecir la «etiqueta» que le correspondería a cada nueva entrada que se reciba. Este es el paradigma más apropiado cuando contamos con muchos datos etiquetados (ej. comportamiento analizado de muchos jugadores de videojuegos para los que ya se ha comprobado en el pasado si hacían o no hacían trampas –cheats-).
  • Aprendizaje no supervisado. Por el contrario, cuando el sistema recibe datos de entrada «no etiquetados» tiene que aprender, sin ayuda de nadie, a agruparlos, identificar anomalías… y en definitiva extraer patrones ocultos a simple vista que se pueden reconocer gracias a la naturaleza y distribución de los propios datos.
  • Aprendizaje por refuerzo. Si lo que tenemos se parece más a un agente inteligente que interactúa con su entorno que a un sistema de procesamiento de datos, y dicho agente es capaz de recibir refuerzos (positivos o negativos) según su desempeño en el entorno, el paradigma de aprendizaje por refuerzo es el más adecuado. Repitiendo el proceso muchas veces, el agente tratará de maximizar la recompensa a largo plazo, aprendiendo a jugar cada vez un poco mejor, aplicando incluso «tácticas emergentes» que van más allá de lo que el desarrollador esperaba que el agente aprendiese.

En realidad hay más tipos, siendo el aprendizaje auto-supervisado, el semi-supervisado y el débilmente supervisado algunos de ellos, aunque no son tan populares como los anteriores. E incluso existe muchas formas de Aprendizaje Automático simbólico, donde se aprenden reglas o casos, y no tanto patrones abstractos asociados a datos. Aquí se incluirían enfoques como los propios árboles de decisión -algoritmos ID3, C4.5, etc.- que veremos, la programación lógica inductiva (Inductive Logic Programming ó ILP), IA neuro-simbólica y muchos otros.

La idea central es que para cada problema al que nos enfrentemos puede que exista un paradigma de Aprendizaje Automático que resulte más útil que los demás y por eso es importante conocerlos todos en la medida de lo posible.

Es importante distinguir entre «aprendizaje» y «memorización». Cuando decimos que un modelo captura lo que se ha aprendido, está implícito el concepto de generalización… es decir, en el modelo no han quedado grabadas las soluciones a todos los problemas del entrenamiento, sino una relación entre dichos problemas y soluciones que permite resolver la mayoría de casos de entrenamiento… y muchos más. Sin entrar en matemáticas ni métricas formales, los problemas de los que hablaremos después como el sobreajuste (overfitting) y el subajuste (underfitting), hacen referencia a apegarse demasiado al caso particular (varianza) perdiendo esa capacidad de generalizar o, en el caso contrario, a no llegar a adquirirla suficientemente durante el proceso de aprendizaje (sesgo). Por ejemplo, en aprendizaje supervisado el modelo puede memorizar todo el conjunto de datos (dataset) de entrenamiento pero fallar en la prueba final; en aprendizaje no supervisado, el agrupamiento (clustering) puede adaptarse tanto al ruido que genere grupos artificiales inexistentes; y en aprendizaje por refuerzo el agente puede memorizar rutas exactas de un entorno simulado, pero si se modifica ligeramente el entorno (ej. moviendo un obstáculo), puede fallar estrepitosamente por esa falta de generalización.

Aplicaciones en videojuegos

Aunque parece lo deseable, el uso del Aprendizaje Automático para crear el comportamiento de personajes no jugadores (Non-Player Characters o NPCs) es sólo una pequeña fracción de los usos que esta disciplina tiene en la industria. El verdadero impacto se encuentra en la frontera técnica: desde la optimización gráfica pura hasta la automatización de pruebas y la física en tiempo real. Este avance no es casual, sino el fruto de un trasvase continuo de conocimiento entre academia y empresa, visible en foros como ACM SIGGRAPH, Eurographics o la Game Developers Conference (GDC). Un claro ejemplo es la división de I+D de Electronic Arts, SEED (Search for Extraordinary Experiences Division), que investiga activamente en estas cuestiones.

Tecnologías como NVIDIA DLSS o AMD FSR aprovechan el AA para realizar reconstrucciones temporales de fotogramas y escalados de resolución de alta calidad, o para aplicar técnicas de reducción de ruido en trazado de trayectorias. A esto se suma su capacidad para sustituir o acelerar simulaciones físicas pesadas, permitiendo la animación dinámica de cuerpos deformables —como la física realista de pelo o telas— a un coste computacional mucho menor.

En lo relativo al comportamiento autónomo y el control de agentes, los avances han redefinido lo que significa una IA competitiva. Sistemas emblemáticos como Drivatar en la saga Forza de Microsoft emplean aprendizaje por imitación sobre la nube de Azure para replicar el perfil de conducción y el estilo de jugadores humanos. Llevando el control de agentes al límite, laboratorios como Google DeepMind demostraron con AlphaStar que mediante Aprendizaje por Refuerzo Profundo y arquitecturas sumamente complejas es posible dominar juegos de información imperfecta y alta estrategia en tiempo real como StarCraft II.

Para hacer accesibles todas estas tecnologías a los creadores de contenido, los grandes motores del mercado están integrando soluciones de aprendizaje automático de forma nativa en sus pipelines. Unity lidera esta integración con herramientas como Unity Sentis para inferencia local de modelos en tiempo real, el veterano Unity ML-Agents para el entrenamiento por refuerzo, y su suite de IA generativa Unity AI. Por su parte, Unreal Engine ofrece el Neural Network Engine (NNS) para inferencia, el ML Deformer Framework para deformaciones musculares de calidad cinematográfica a 60 FPS, y un plugin nativo Learning Agents para el entrenamiento de personajes.

Más información

Para complementar es recomendable consultar otros documentos.

Esta página está licenciada bajo CC BY-NC-SA 4.0 por Laboratorios Narratech.