Repository navigation
Releases: SyleKu/ppo-from-scratch
Release list
v1.0.0 — Final PPO Implementation and Experimental Analysis
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
v0.4.1 — Final Documentation and Results Overview
Overview
v0.4.1 improves the documentation and presentaiton of the PPO project.
This release focuses on clearly communicating experimental results and benchmarking insights.
Changes
- added detailed results analysis (
docs/results.md) - improved README with results and benchmark overview
- clarified comparsion between custom PPO and Stable-Baselines3
- minor structural and plotting fixes
Notes
No major algorithmic changes were introduced in this release.
v0.4.0 — Benchmark Against Stable-Baselines3
Overview
v0.4.0 introduces a benchmark comparison between the custom PPO implementation and Stable-Baseline3 on CartPole-v1.
This release validates the correctness and effectiveness of the custom implementation by comparing it to a widely used reference implementation.
Key Results
Custom PPO
- learns successfully and reaches high rewards (~150-250)
- shows correct learning dynamics
- exhibits some instability typical for simplified implementations
Stable-Baselines3 PPO
- achieves perfect performance (mean reward: 500)
- demonstrates fully stable policy learning
Insights
The comparison confirms that the custom PPO implementation is correct and capable of learning strong polices, while also highlighting differences in stability and optimization compared to a production-grade implementation.
Additions
- Stable-Baseline3 benchmark script
- evaluation summary output
- comparison-ready experiment structure
Next steps
- analyze performance gap in more detail
- improve stability of custom PPO
- extended benchmarking to more complex environments
v0.3.0 — CartPole Baseline Successfully Reproduced
##Overview
v0.3.0 marks a major milestone in the project by successfully reproducing strong PPO baseline performance on CartPole-v1.
The agent now demonstrates stable learning behaviour and consistently achieves high evaluation rewards.
Key Achievements
- successful reproduction of CartPole baseline performance
- evaluation rewards consistently reaching high values (>150-250)
- peak performance approaching environment maximum (~500)
- stable learning dynamics across extended training
Improvements
- extended training duration (500k timesteps)
- tuned learning rate and entropy coefficient
- improved evaluation stability with multiple episodes
- refined experiment tracking and plotting
Results
The PPO implementation now produces reliable and reproducible results, demonstrating correct and effective learning behaviour.
Next steps
- benchmark performance against Stable-Baseline3
- extend experiments to more complex environments
- add detailed report and analysis
v0.2.1 — Improved Training Stability and Performance
Improvements
- increased total training timesteps for more stable learning
- tuned learning rate and entropy coefficient
- improved evaluation stability through more episodes
- more consistent policy learning behaviour
Results
The agent now demonstrates significantly improved performance, reaching higher evaluation rewards and showing clearer learning trends compared to previous versions.
Notes
While the agent shows strong progress, further tuning is required to achieve fully stable baseline performance on CartPole-v1.
Next steps
- further stabilize training to consistently reach high rewards
- reproduce strong baseline results (>150-200 reward)
- benchmark
v0.2.0 — Evaluation, Logging, and Plotting
Included in this release
- deteministic policy evaluation over multiple episodes
- configurable evaluation frequency during training
- CSV-baded logging of training metrics
- automatic plotting of:
- evaluation reward
- policy loss
- value loss
- experiment outputs stored under
experiments/
Current status
The PPO implementation is functional and demonstrates learning on CartPole-v1, though further tuning is required to achieve stable baseline performance.
Next steps
- improve training stability and reproduce strong CartPole baseline results
- benchmark against Stable-Baseline3
- extend evaluation and reporting
v0.1.0 — Initial PPO Training Pipeline
Overview
This release marks the first end-to-end training milestone of the project.
It includes a from-scratch implementation of the core PPO pipeline for CartPole-v1, covering model definition, rollout collection, return and advantage computation, and policy optimization.
Included in this release
- project strucutre for PPO experiments
- YAML-based experiment configuration
- actor-critic network for discrete action spaces
- rollout buffer for trajectory storage
- generalized advantage estimation (GAE)
- clipped PPO optimization step
- end-to-end training loop for
CartPole-v1
Notes
This is the first functional baseline of the project and serves as a foundation for upcoming improvements such as policy evaluation, logging, plotting, and benchmmark comparisons.