Repository navigation
Overview
v1.0.0 marks the first complete release of the PPO from scratch project.
The project implements Proximal Policy Optimization (PPO) in PyTorch and includes a full training pipeline, evaluation, logging, plotting, and benchmarking against Stable-Baselines3.
Key Features
- PPO implemenation from scratch
- actor-critic architecture
- Generalized Advantage Estimation (GAE)
- clipped PPO objective
- deterministic policy evaluation
- CSV logging and automated plotting
- structured experiment outputs
- benchmark against Stable-Baselines3
Results
- the custom PPO implementation successfully learns CartPole-v1
- evaluation rewards consistently reach ~150-250 with peaks up to ~450
- Stable-Baselines3 achieves perfect performance (500 reward, zero variance)
- results demonstrate correct learning behavior and meaningful policy improvement
Insights
- the custom PPO implementation is correct but less stable than a production-grad implementation
- performance differences are explained by:
- a simpler training pipeline
- fewer engineering optimizations
- higher sensitivity to hyperparameters
- remaining variance in policy learning
Conclusion
This project demonstrates a complete reinforcemenet learning workflow:
- algorithm implementation
- experimentation
- benchmarking
- and analysis
It provides a solid foundation for further reinforcement learning research and experimentation.
Future Work
- extend to more complex environments (e.g. LunarLander)
- improve training stability
- explore additional RL algorithms