Skip to content

Releases: SyleKu/ppo-from-scratch

v1.0.0 — Final PPO Implementation and Experimental Analysis

Choose a tag to compare

@SyleKu SyleKu released this 12 Apr 16:22

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

Choose a tag to compare

@SyleKu SyleKu released this 12 Apr 13:23

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

Choose a tag to compare

@SyleKu SyleKu released this 12 Apr 00:37

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

Choose a tag to compare

@SyleKu SyleKu released this 11 Apr 19:44

##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

Choose a tag to compare

@SyleKu SyleKu released this 11 Apr 19:01

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

Choose a tag to compare

@SyleKu SyleKu released this 11 Apr 18:32

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

Choose a tag to compare

@SyleKu SyleKu released this 11 Apr 16:56

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.