Frank Stephano Alayza Herrera
Luis Cesar Guadarrama Jimenez
Federico Martinez
Federico Martinez
Juan Rueda
José Luis Vega Ortega
Carlos Andres Prieto Garavito
MARIA TERESA PANIAGUA RIVERA
Brenda Iliana Gallegos López
Si te interesa ver un proyecto completo de aprendizaje por refuerzo aplicado desde cero, te invito a revisar mi repositorio donde desarrollé un laboratorio interactivo de Q-Learning con Gymnasium, visualizaciones, widgets y análisis paso a paso.
Puedes descargar el notebook y ejecutarlo desde collab, sirve mucho para ver los diferentes escenarios y parámetros planteados en la clase por Frida
En la clase se mencionan varias definiciones clave relacionadas con el aprendizaje por refuerzo:
Estos conceptos son fundamentales para entender cómo funciona el aprendizaje por refuerzo y su implementación en entornos como OpenAI Gym.
Q-learning es un algoritmo de aprendizaje por refuerzo que permite a un agente aprender a tomar decisiones óptimas en un entorno, maximizando las recompensas a largo plazo. Funciona mediante la construcción de una Q-table, donde cada entrada representa el valor esperado de una acción en un estado determinado. A través de la exploración y la explotación de acciones, el agente actualiza esta tabla para mejorar su rendimiento. Este método es especialmente útil en entornos donde se pueden simular situaciones, como en OpenAI Gym con ejemplos como Frozen Lake.
Cuando la cantidad de estados es gigante, ya no se puede aplicar Q-Learning pues la Q-table será de grandes dimensiones, ocupando mucho espacio. Es por esto que hay alternativas como Approximate Q-Learning, donde se extraen ciertos features dependiendo del problema y así se determina el comportamiento del agente. Les dejo un proyecto que trata de optimizar cómo cambian los semáforos dependiendo de la cantidad de carros en una intersección, por si lo quieren revisar.
¿Por qué es mejor reducir la exploración gradualmente?
Reducir la exploración de forma gradual garantiza que el agente construya una base de conocimiento robusta antes de intentar optimizar su ruta. Si cortas la exploración de golpe, el agente sufrirá de convergencia prematura.
Imagina que estás buscando la ruta más rápida al trabajo. El primer día tomas una avenida principal y llegas en 30 minutos. Si dejas de explorar inmediatamente y solo explotas ese conocimiento, tomarás esa misma avenida todos los días. Sin embargo, si hubieras seguido explorando gradualmente, podrías haber descubierto un atajo por calles secundarias que toma solo 15 minutos. En el código, esto se controla mediante el decaimiento de la variable epsilon. Al reducirla poco a poco, le das tiempo al algoritmo de mapear las verdaderas probabilidades de éxito de múltiples caminos (llenando su Q-Table con datos reales) antes de comprometerse con la decisión final. Es la diferencia entre encontrar "una solución" y encontrar "la mejor solución posible".
Gracias
Al parecer mí agente está en código rojo.