Applying Prioritized Experience Replay in the PPO algorithm

Posted by NoteDancing@reddit | Python | View on Reddit | 0 comments

What My Project Does

This RL class implements a flexible, research-friendly training loop that brings prioritized experience replay (PER) into Proximal Policy Optimization (PPO) workflows. It supports on- and off-policy components (PPO, HER, MARL, IRL), multi-process data collection, and several replay strategies (standard uniform, PER, and HER), plus conveniences like noise injection, policy wrappers, saving/checkpointing, and configurable training schedulers. Key features include per-process experience pools, a pluggable priority scoring function (TD / ratio hybrid), ESS-driven windowing to control buffer truncation, and seamless switching between batch- and step-based updates — all designed so you can experiment quickly with novel sampling and scheduling strategies.

Target Audience

This project is aimed at researchers and engineers who need a compact but powerful sandbox for RL experiments:

Comparison

Compared with large, production-grade RL frameworks (e.g., those focused on turnkey agents or distributed training), this RL class trades out-of-the-box polish for modularity and transparency: every component (policy, noise, prioritized replay, window schedulers) is easy to inspect, replace, or instrument. Versus simpler baseline scripts, it adds robust features you usually want for reproducible research — multi-process collection, PER + PPO integration, ESS-based buffer control, and hooks for saving/monitoring. In short: use this if you want a lightweight, extensible codebase to test new ideas and sampling strategies quickly; use heavier frameworks when you need large-scale production deployment, managed cluster orchestration, or many pre-built algorithm variants.

https://github.com/NoteDance/Note_rl