🎮 Aprendizaje por Refuerzo
🎮 Aprendizaje por Refuerzo

PPO con Stable Baselines3 en CartPole

Implementar un agente de RL con algoritmos modernos de policy gradient sin escribir el algoritmo desde cero: PPO (Proximal Policy Optimization) resuelve el problema de los pasos de actualización demasiado grandes que desestabilizan el aprendizaje en policy gradient clásico.

Problema

Implementar un agente de RL con algoritmos modernos de policy gradient sin escribir el algoritmo desde cero: PPO (Proximal Policy Optimization) resuelve el problema de los pasos de actualización demasiado grandes que desestabilizan el aprendizaje en policy gradient clásico.

Solución

PPO vía Stable Baselines3: entrenamiento sobre CartPole-v1 con 100k timesteps, función de evaluación propia para medir rendimiento en episodios de prueba, y grabación de vídeo del agente entrenado para visualizar el comportamiento de la política aprendida.

Entrenamiento con PPO

  • Stable Baselines3 PPO sobre Gymnasium CartPole-v1 — 100k timesteps de entrenamiento
  • PPO restringe el tamaño de las actualizaciones de política mediante clipping — estabilidad frente a REINFORCE
  • Configuración del entorno con make_vec_env para entrenamiento paralelizado
  • Política aprendida alcanza recompensa máxima de 500 pasos consecutivos

Evaluación y visualización

  • Función evaluate() personalizada: ejecuta N episodios y devuelve recompensa media del agente
  • Comparativa antes/después del entrenamiento: recompensa media aleatoria vs. política PPO
  • Grabación de vídeo del agente en acción: comportamiento de balanceo visible post-entrenamiento
  • Análisis de convergencia: el agente resuelve CartPole consistentemente tras el entrenamiento

Más proyectos en Aprendizaje por Refuerzo