Rainbow  by Kaixhin

Deep reinforcement learning research paper implementation

created 7 years ago
1,637 stars

Top 26.3% on sourcepulse

GitHubView on GitHub
Project Summary

Rainbow is a deep reinforcement learning library that combines multiple state-of-the-art improvements to the Deep Q-Network (DQN) algorithm. It is designed for researchers and practitioners looking to achieve higher performance and data efficiency in reinforcement learning tasks, particularly in environments like Atari.

How It Works

Rainbow integrates eight key improvements into a single agent: DQN, Double DQN, Prioritised Experience Replay, Dueling Network Architecture, Multi-step Returns, Distributional RL, and Noisy Nets. This synergistic combination aims to enhance learning stability, exploration, and overall performance by addressing limitations in the original DQN architecture.

Quick Start & Requirements

  • Install: conda env create -f environment.yml and source activate rainbow.
  • Prerequisites: Atari games (ROMs required), OpenCV, Plotly, PyTorch.
  • Running: python main.py for default Rainbow, or use specific flags for data-efficient Rainbow.
  • Pretrained Models: Note that models from release 1.3 may require adjusting padding in the first convolutional layer from 0 to 1 for compatibility.

Highlighted Details

  • Implements eight key improvements: DQN, Double DQN, Prioritised Experience Replay, Dueling Network, Multi-step Returns, Distributional RL, and Noisy Nets.
  • Offers a data-efficient variant with specific configuration options.
  • Provides pretrained models for immediate use.

Maintenance & Community

The project acknowledges contributions from various individuals and organizations, including @floringogianu, @jvmancuso, @jaara, and OpenAI. Specific community channels or roadmaps are not detailed in the README.

Licensing & Compatibility

The README does not explicitly state a license. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

Pretrained models from release 1.3 may have a slight network architecture discrepancy requiring manual adjustment. The README does not detail specific hardware requirements beyond the need for PyTorch, which typically benefits from GPU acceleration.

Health Check
Last commit

3 years ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
18 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.