Categorías
Informática Universitario Videojuego

Aprendizaje por refuerzo

Tema 

La intro…

Las lecciones a tratar en este tema son:

  1. Métodos basados en valor
  2. Métodos basados en política
  3. Computación evolutiva
  4. Inteligencia emergente

Si en los algoritmos clásicos de búsqueda tenemos un espacio de estados, con estado inicial, estado objetivo, operadores, posiblemente heurística… y se trata de encontrar el camino mínimo, en el aprendizaje por refuerzo el agente está buscando algo parecido, establecer una política óptima de toma de decisiones que le permita pasar de estado, guiándose a través de la recompensa. Digamos que aquí cobran importancia todos estos conceptos de estados, acciones, recompensas, políticas, exploración, exploración…

Lo más importante aquí es conocer el Q-Learning (la base de lo que luego será llamado el Deep Q-Learning).

El algoritmo por defecto en Unity ML-Agents, que es la herramienta que típicamente usamos aquí, es precisamente PPO (creo Proximal Policy Optimization), uno de los algoritmos más avanzados.

Como curiosidad, algunas IAs han demostrado ser capaces de modificar el sistema de recompensa para recibir refuerzo aunque no estén resolviendo realmente el problema (a esto se le conoce como reward hacking).

Ejercicios

Para practicar lo aprendido pueden hacerse algunos ejercicios.

Prácticas

Para aplicar los conocimientos y las técnicas de este tema pueden realizarse prácticas como estas:

  • EJEMPLO, con una solución hecha por el profesor.
  • Si se quiere practicar aprendizaje profundo se puede programar una red neuronal artificial con TensorFlow (o mejor, PyTorch).
  • Partir de un microgame o similar, con Unity ML-Agent montado, y hacer que un agente aprenda por refuerzo a hacer algo, como aprender a salir de un laberinto, o a exploar unas mazmorras, evitando o venciendo enemigos, pillando las monedas y «farmeando» las mejores armas… Si es un juego de plataformas, aprende a saltar, esquivar, ir avanzando… si es de coches aprende a seguir el circuito sin salirse, mantener una velocidad rápida pero prudente.

Referencias

Para complementar este tema es recomendable consultar otros documentos: