Generado con IA · Supuesto práctico

Aprendizaje por refuerzo para un agente NPC: entrenamiento, evaluación y uso ético de la IA

Caso único con preguntas Informática Comunidad Valenciana
Descargar:
Supuesto práctico generado por la IA de OposicionesIA, con su orientación y solución modelo más abajo. Dentro de la plataforma, además, puedes resolverlo y recibir una corrección con rúbrica y nota.

Aprendizaje por refuerzo para un agente NPC: entrenamiento, evaluación y uso ético de la IA

Contexto

Como fase avanzada del módulo, un centro ficticio de la Comunitat Valenciana propone sustituir la IA «a mano» de un enemigo por un agente que aprende mediante aprendizaje por refuerzo (reinforcement learning), usando un framework tipo Unity ML-Agents. El objetivo es entrenar a un agente que persiga al jugador en una arena con obstáculos, recoja energía y evite caer en zonas de peligro. El alumnado debe diseñar el problema de aprendizaje, entrenarlo y evaluarlo de forma responsable.

Datos del experimento:

  • Observaciones del agente: posición relativa al objetivo, raycasts de detección de obstáculos, energía restante.
  • Acciones: movimiento continuo en dos ejes (vector de dirección y velocidad).
  • Episodios de 30 s; entorno con 8 copias paralelas para acelerar el entrenamiento.
  • Algoritmo de referencia: PPO; objetivo de convergencia razonable en unas horas de cómputo.
  • Restricción: el proyecto debe documentar consideraciones éticas, de sesgo y de sostenibilidad del entrenamiento.

La actividad evalúa el RA5 (IA y aprendizaje automático en el desarrollo de videojuegos).

Cuestiones

1. Paradigmas de aprendizaje. Distinga aprendizaje supervisado, no supervisado y por refuerzo y justifique por qué este problema encaja en el aprendizaje por refuerzo y no en los otros. Defina los elementos del problema RL: agente, entorno, estado/observación, acción, recompensa y política.

2. Diseño de la recompensa. Diseñe una función de recompensa coherente con los objetivos (acercarse y alcanzar el objetivo, recoger energía, evitar peligros, eficiencia temporal). Analice el riesgo de reward hacking (comportamientos degenerados que maximizan recompensa sin cumplir la intención) y proponga cómo prevenirlo y cómo equilibrar recompensas densas frente a escasas (sparse).

3. Entrenamiento y evaluación. Explique el ciclo de entrenamiento: papel de los entornos paralelos, hiperparámetros relevantes (tasa de aprendizaje, factor de descuento γ, tamaño de lote) y cómo interpretar la curva de recompensa. Defina cómo evaluar el modelo entrenado de forma justa (escenarios no vistos, overfitting al entorno de entrenamiento) y qué métricas usaría.

4. IA clásica frente a IA aprendida. Compare este enfoque con la IA clásica (árbol de comportamiento) del módulo: ventajas, inconvenientes, coste de cómputo, previsibilidad para el diseño de jugabilidad y mantenibilidad. Recomiende, con criterio, en qué situaciones de un videojuego conviene cada uno e indique si combinaría ambos.

5. Ética, sesgo y sostenibilidad. Aplique consideraciones de uso responsable de la IA: riesgos de sesgo según los datos/entornos de entrenamiento, transparencia, y el impacto energético del entrenamiento (sostenibilidad). Mencione el marco normativo emergente (AI Act de la UE) y qué buenas prácticas documentaría en la memoria del proyecto, incluida la generación procedimental asistida por IA y su uso ético.

Orientación cómo resolverlo por tu cuenta

Este supuesto integra fundamentos de aprendizaje automático aplicados a videojuegos (RA5). No basta con saber Unity ML-Agents: hay que dominar el vocabulario formal del RL y razonar con criterio didáctico y ético.

Cuestión 1. Repasa la taxonomía clásica del ML por tipo de señal de aprendizaje: supervisado (pares entrada-etiqueta), no supervisado (solo datos, busca estructura) y por refuerzo (señal escalar de recompensa diferida por interacción). Justifica el encaje fijándote en que aquí no hay dataset etiquetado de «acción correcta» sino consecuencias. Define con precisión la tupla del MDP (agente, entorno, S, A, R, π) y mapea cada elemento a los datos del enunciado (observaciones, acción continua 2D, recompensa). Error típico: confundir «no supervisado» con «sin profesor».

Cuestión 2. Piensa la recompensa como shaping: combina término denso (acercamiento al objetivo) con eventos discretos (alcanzar, energía, peligro) y penalización temporal por paso. El núcleo es el reward hacking: anticipa comportamientos degenerados (girar para acumular recompensa de acercamiento, kamikaze). Menciona potential-based shaping, clipping y curriculum. Equilibra denso vs sparse. No des una única fórmula «mágica» sin justificar cada término.

Cuestión 3. Explica el bucle rollout → ventaja → actualización de PPO, el papel de los 8 entornos paralelos (más muestras i.i.d., batch mayor). Define hiperparámetros (lr, γ, batch/buffer, epochs, clip) y cómo leer la curva de recompensa (ruido, mesetas, colapso). Evaluación justa: separar arenas de test no vistas, semillas distintas, evitar overfitting al layout. Aporta métricas (tasa de éxito, tiempo, energía).

Cuestión 4. Compara con behavior trees: previsibilidad y control de diseño frente a adaptabilidad y coste de cómputo/no determinismo. Recomienda enfoques híbridos.

Cuestión 5. Aborda sesgo (entornos poco diversos), transparencia, huella energética (medir kWh/CO₂) y el AI Act de la UE (enfoque por riesgo). Documenta model card y uso ético de la generación procedimental.

Solución modelo respuesta completa — intenta resolverlo antes de mirar

Cuestión 1. Paradigmas de aprendizaje y formalización del problema RL

Distinción de los tres paradigmas

Paradigma Señal de aprendizaje Datos Objetivo Ejemplo típico
Supervisado Etiqueta «correcta» para cada entrada (par X→Y) Dataset etiquetado Aproximar una función entrada→salida que generalice Clasificar imágenes, predecir si un movimiento del jugador es «ataque»
No supervisado Ninguna etiqueta; solo la estructura intrínseca de los datos Dataset sin etiquetar Descubrir estructura (clusters, dimensiones latentes, anomalías) Agrupar perfiles de jugadores (k-means), reducción de dimensión (PCA), autoencoders
Por refuerzo (RL) Señal escalar de recompensa, normalmente diferida y poco informativa, obtenida al interactuar con un entorno No hay dataset previo: las muestras se generan probando Aprender una política que maximice la recompensa acumulada esperada Agente que aprende a navegar, jugar o controlar

La diferencia clave es el tipo de señal: en supervisado un «profesor» indica la respuesta correcta para cada caso; en no supervisado no hay profesor ni objetivo de predicción explícito; en RL hay un crítico que solo dice cómo de buena fue una secuencia de decisiones, sin decir cuál era la acción óptima.

Por qué este problema es RL y no los otros

  • No es supervisado porque no existe un conjunto etiquetado de «acción correcta» para cada estado del juego. Nadie puede etiquetar a priori el vector de movimiento óptimo en cada una de las infinitas configuraciones de la arena (posición del jugador, obstáculos, energía). Lo único disponible es el resultado de actuar (alcanzar al jugador, caer en zona de peligro, recoger energía).
  • No es no supervisado porque sí existe un objetivo de desempeño (perseguir, recoger energía, evitar peligros) y una señal que lo mide; no se trata de descubrir estructura latente en datos estáticos.
  • Es RL porque hay un agente que toma decisiones secuenciales, recibe recompensa diferida (el éxito o fracaso se conoce tras varias acciones), debe gestionar el trade-off exploración/explotación y la recompensa depende de la dinámica del entorno. Encaja en el formalismo del Proceso de Decisión de Markov (MDP).

Elementos del problema RL (mapeados al enunciado)

  • Agente: el NPC enemigo (la política que controla su movimiento). Es lo que aprende.
  • Entorno: la arena con obstáculos, zonas de peligro, energía y el jugador. Define la dinámica de transición de estados y emite recompensas. En ML-Agents son las 8 copias paralelas de la escena.
  • Estado / Observación (Sₜ): lo que el agente percibe en el instante t. Aquí: posición relativa al objetivo, raycasts de detección de obstáculos y energía restante. (Nota: la observación puede ser una visión parcial del estado real; es un MDP parcialmente observable mitigado por los raycasts.)
  • Acción (Aₜ): control continuo en dos ejes (vector de dirección y velocidad). Espacio de acción continuo → adecuado para PPO con política gaussiana, no para métodos tabulares ni Q-learning discreto.
  • Recompensa (Rₜ): señal escalar emitida por el entorno tras cada acción/evento (ver Cuestión 2).
  • Política (π): la estrategia del agente, π(a|s), que asigna a cada observación una distribución de probabilidad sobre acciones. Es la red neuronal que entrenamos. El objetivo es hallar π* que maximice el retorno esperado G = E[Σ γᵗ Rₜ].

Cuestión 2. Diseño de la función de recompensa

Propuesta de función de recompensa (reward shaping)

Se combina una recompensa densa (orientación continua) con eventos discretos (hitos) y una penalización temporal:

# Pseudocódigo (por paso de simulación) - ML-Agents
r = 0

# 1) Término denso de acercamiento (potential-based shaping)
#    Recompensa la REDUCCIÓN de distancia al objetivo, no la distancia en sí
r += w_approach * (dist_anterior - dist_actual)   # p.ej. w_approach ≈ 0.05

# 2) Penalización temporal por paso (eficiencia / no quedarse parado)
r += -0.001                                        # coste por step

# 3) Eventos discretos (terminales o de hito)
if alcanza_objetivo:   r += +1.0 ;  AddReward y EndEpisode()
if recoge_energia:     r += +0.3
if cae_en_peligro:     r += -1.0 ;  EndEpisode()
if energia == 0:       r += -0.5 ;  EndEpisode()
if colision_obstaculo: r += -0.02   # leve, para que aprenda a esquivar

SetReward(r)  # o AddReward(r) acumulando en el step

Justificación de cada término

  • Acercamiento (denso): sin él, con recompensa solo al alcanzar el objetivo (sparse), el agente apenas recibe señal y el entrenamiento es lentísimo o no converge. Se formula como diferencia de distancias (Δdistancia), no como -distancia absoluta, para usar potential-based reward shaping (Ng, Harada & Russell, 1999), que garantiza no alterar la política óptima y reduce el reward hacking.
  • Penalización temporal: induce eficiencia (alcanzar antes mejor) y evita políticas pasivas.
  • Energía (+0.3): premio intermedio que guía el subobjetivo sin dominar el objetivo principal (peso menor que alcanzar).
  • Peligro y energía agotada (negativos + fin de episodio): señal terminal clara de fracaso.
  • Magnitudes: los premios terminales (±1.0) dominan; los densos son pequeños (≈0.05) para que orienten sin que su acumulación supere el premio real. Conviene normalizar/clipar la recompensa (p. ej. a [-1, 1]) para estabilidad numérica de PPO.

Riesgo de reward hacking y prevención

El reward hacking aparece cuando el agente maximiza la recompensa sin cumplir la intención del diseñador. Ejemplos previsibles aquí:

  • Si se premiase -distancia absoluta por paso, el agente podría orbitar cerca del objetivo acumulando recompensa indefinidamente sin alcanzarlo nunca → solución: usar Δdistancia (potential-based), que hace telescópica la suma y no premia quedarse cerca.
  • Recoger energía repetidamente ignorando al jugador → mantener el peso de energía bajo frente al objetivo y/o limitar energía disponible.
  • Caer rápido en peligro para «terminar» y evitar la penalización temporal → la penalización por peligro debe ser claramente mayor que el coste temporal acumulable.

Medidas generales: reward clipping; potential-based shaping; pesos relativos cuidados; curriculum learning (empezar en arenas fáciles); monitorizar vídeos del comportamiento (no solo la curva) para detectar políticas degeneradas; y diseño iterativo.

Densas vs escasas (sparse): las densas aceleran y guían el aprendizaje pero introducen sesgo del diseñador y riesgo de hacking; las escasas (solo al alcanzar) son más fieles a la intención pero exigen mucha exploración. El equilibrio recomendado: recompensa terminal escasa que define el éxito real + shaping denso potential-based que solo acelera sin cambiar el óptimo, retirando o reduciendo el shaping cuando la política ya es competente.

Cuestión 3. Entrenamiento y evaluación

Ciclo de entrenamiento con PPO

PPO (Proximal Policy Optimization) es un algoritmo on-policy actor-crítico que alterna:

  1. Rollout / recolección: los agentes ejecutan la política actual e interactúan con el entorno, almacenando (sₜ, aₜ, rₜ, sₜ₊₁).
  2. Cálculo de ventaja (GAE) y del retorno, usando el crítico (función de valor V(s)).
  3. Actualización: se optimiza el objetivo clipped surrogate de PPO durante varias epochs sobre el buffer, limitando el cambio de política (el clipping impide pasos demasiado grandes y estabiliza el entrenamiento).

Papel de los 8 entornos paralelos

Las 8 copias generan experiencia simultáneamente, lo que: (a) multiplica el throughput de muestras (acelera el wall-clock); (b) decorrela las muestras (estados más i.i.d. → gradientes menos sesgados); (c) permite batches mayores y estimaciones de gradiente más estables. Es paralelismo de recolección de datos, no de actualización (el aprendizaje sigue siendo centralizado).

Hiperparámetros relevantes

  • Tasa de aprendizaje (learning_rate, ~3e-4): tamaño del paso de optimización. Alta → inestabilidad/colapso; baja → lentitud. Suele decaerse linealmente.
  • Factor de descuento γ (~0.99): peso de las recompensas futuras. Próximo a 1 → visión a largo plazo (necesario aquí porque el éxito es diferido); demasiado alto puede aumentar la varianza.
  • Tamaño de lote / buffer (batch_size, buffer_size): muestras por actualización. Mayor → gradientes más estables pero más cómputo. Con 8 entornos conviene un buffer amplio.
  • Otros: λ (GAE ~0.95), epochs por actualización (3–10), ε de clipping (~0.2), coeficiente de entropía (fomenta exploración), arquitectura de la red.

Interpretar la curva de recompensa

Se observa Environment/Cumulative Reward vs steps (en TensorBoard). Lectura:

  • Tendencia creciente y estabilización en meseta alta → el agente aprende y converge.
  • Curva plana y baja → recompensa mal diseñada, lr inadecuada u observaciones insuficientes.
  • Subida y luego caída brusca (colapso) → lr demasiado alta o inestabilidad de la política.
  • Mucho ruido → normal, pero conviene mirar la media móvil y complementar con Policy/Entropy (debe decrecer suavemente) y la value loss. Una curva alta NO garantiza buen comportamiento: hay que ver vídeos (riesgo de hacking).

Evaluación justa del modelo entrenado

  • Inferencia sin exploración: evaluar con la política determinista (sin ruido de entrenamiento), con los pesos congelados.
  • Escenarios no vistos: probar en arenas con disposición de obstáculos, posiciones iniciales y semillas distintas a las de entrenamiento, para detectar overfitting al layout (memorización del entorno concreto en lugar de aprender a perseguir). Si el rendimiento cae mucho fuera de distribución, hay sobreajuste → ampliar la diversidad/aleatorización del entorno (domain randomization) en entrenamiento.
  • Métricas: tasa de éxito (% de episodios en que alcanza al jugador), tiempo medio hasta el objetivo, energía media recogida/restante, % de caídas en peligro, longitud media de episodio y robustez (varianza entre semillas). Evaluar sobre muchos episodios para significancia estadística.

Cuestión 4. IA clásica (árbol de comportamiento) frente a IA aprendida (RL)

Criterio IA clásica (Behavior Tree) IA aprendida (RL / PPO)
Diseño Reglas y nodos explícitos definidos por el diseñador Se aprende de la interacción; no se programa el comportamiento directamente
Previsibilidad / control de jugabilidad Alta: comportamiento determinista, fácil de ajustar a la dificultad deseada Baja: comportamiento emergente, a veces sorprendente o no deseado
Adaptabilidad / naturalidad Limitada; puede sentirse rígida o explotable por el jugador Alta; comportamiento fluido y difícil de «romper»
Coste de cómputo En ejecución muy bajo; sin coste de entrenamiento Entrenamiento caro (horas de GPU/CPU, energía); en ejecución la inferencia de la red es moderada
Mantenibilidad / depuración Sencilla: se inspecciona el árbol y se corrige el nodo Difícil: «caja negra», reentrenar es costoso, cambios poco trazables
Tiempo de desarrollo Rápido para comportamientos sencillos; crece con la complejidad Lento al inicio (tuning de recompensa e hiperparámetros)
Determinismo para QA/balanceo Reproducible y testeable No determinista; balanceo y testeo más difíciles

Recomendación con criterio

  • Behavior Tree cuando se necesita control fino del diseño, previsibilidad, balanceo de dificultad y bajo coste: la mayoría de NPCs de juegos comerciales, jefes con fases scriptadas, IA de tutorial. Es la opción por defecto en producción.
  • RL cuando se busca comportamiento adaptativo, emergente o robusto frente a estrategias del jugador, o cuando el espacio de estados es tan grande que escribir reglas es inviable (locomoción física, conducción, deportes). También como herramienta de investigación/QA (agentes que prueban niveles automáticamente).

¿Combinarlos? Sí, enfoque híbrido recomendable: un behavior tree de alto nivel decide el modo (patrullar, perseguir, huir, recoger energía) garantizando previsibilidad y control de diseño, y delega en una política RL la ejecución de bajo nivel (navegación/persecución fluida esquivando obstáculos). Así se combina la controlabilidad de la IA clásica con la naturalidad de la aprendida, acotando el no determinismo a un subproblema.

Cuestión 5. Ética, sesgo y sostenibilidad

Riesgos de sesgo según datos/entornos de entrenamiento

El agente aprende de la distribución de entornos que ve. Si las arenas de entrenamiento son poco diversas (siempre el mismo tipo de obstáculos, mismas posiciones, mismo «estilo» de jugador simulado), el agente sesga su política hacia esas condiciones y falla o se comporta de forma injusta fuera de ellas (mala generalización; en juegos multijugador podría perjudicar a estilos de juego no representados). Mitigación: aleatorización de dominio, diversidad de escenarios y de oponentes, y evaluación en condiciones no vistas (Cuestión 3).

Transparencia

Documentar que un comportamiento del juego está controlado por IA aprendida, sus limitaciones y casos donde puede fallar. Elaborar una model card (datos/entornos de entrenamiento, métricas, sesgos conocidos, usos previstos y no previstos). Evitar la opacidad total de la «caja negra» mediante registro de decisiones y reproducibilidad (semillas, versiones, hiperparámetros).

Impacto energético y sostenibilidad

El entrenamiento por RL consume energía y emite CO₂ (cómputo intensivo en GPU/CPU durante horas, con 8 entornos paralelos). Buenas prácticas: medir el consumo (kWh, herramientas tipo CodeCarbon, huella estimada de CO₂), limitar experimentos redundantes, reutilizar checkpoints, usar early stopping, elegir el algoritmo/tamaño de red suficiente y no excesivo, y preferir electricidad de fuentes renovables. Reportar la huella en la memoria (green AI).

Marco normativo: AI Act de la UE

El Reglamento de IA de la UE (AI Act, Reglamento (UE) 2024/1689), en aplicación escalonada desde 2024–2026, adopta un enfoque basado en el riesgo (inaceptable / alto / limitado / mínimo) e impone obligaciones de transparencia, gobernanza de datos, supervisión humana, documentación técnica y gestión de riesgos para sistemas de alto riesgo. Una IA de NPC en un videojuego es, en principio, de riesgo mínimo, pero el proyecto debe aplicar por buena praxis los principios de transparencia y de IA fiable (Ethics Guidelines for Trustworthy AI): supervisión humana, robustez técnica, privacidad, no discriminación, bienestar social y rendición de cuentas.

Buenas prácticas a documentar en la memoria

  1. Objetivo, diseño de recompensa y análisis de reward hacking.
  2. Diversidad de entornos y análisis de sesgo; evaluación en escenarios no vistos.
  3. Métricas, semillas, versiones y reproducibilidad (model card).
  4. Coste energético medido y medidas de sostenibilidad adoptadas.
  5. Supervisión humana y límites del sistema (transparencia).
  6. Generación procedimental asistida por IA: documentar que el contenido generado (arenas, layouts) respeta derechos de autor, evita contenido inapropiado, mantiene diversidad y equidad (no reforzar estereotipos), conserva control humano sobre el resultado final y se valida antes de su uso. Uso ético = la IA asiste, el equipo decide y responde.

Practica con supuestos como este

Genera supuestos de tu especialidad y comunidad en cualquiera de los cuatro formatos, resuélvelos y recibe corrección con nota al instante.