🎮 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