This project implements the Rainbow Deep Reinforcement Learning (DRL) algorithm, a state-of-the-art technique that combines several advancements in the field of reinforcement learning to achieve superior performance in a wide range of environments. Rainbow integrates multiple key innovations, including Double Q-learning, prioritized experience replay, dueling network architectures, multi-step learning, distributional reinforcement learning, and noisy nets, into a single, cohesive agent.
To get started with this project, follow these steps to install the necessary dependencies. It is recommended to use a virtual environment to manage dependencies separately from your system's Python installation.
-
Clone the repository
git clone https://github.com/Manuelnkegoum-8/Rainbow_is_all_we_need.git cd your-project
-
Set up a virtual environment (optional but recommended)
-
For Unix/Linux or MacOS:
python3 -m venv venv source venv/bin/activate
-
For Windows:
python -m venv venv .\venv\Scripts\activate
-
-
Install the requirements
pip install -r requirements.txt
-
Usage
- To run the training module with custom configurations, use the following command format. This example sets the game to "SpaceInvadersNoFrameskip-v4," the number of steps to 5 million, and the memory capacity to 100,000.
python trainer.py --game SpaceInvaders --steps 5e6 --memory_capacity 1e5
- Thanks to the creators of the Rainbow algorithm and all the researchers whose work contributed to this powerful approach to deep reinforcement learning.
- Special thanks to OpenAI for providing the baseline wrappers for Atari environments, which significantly simplify the process of preprocessing and setting up these environments for training.
- This project uses OpenAI Gym for the environment simulations.
- Victor Hoffmann : VictorHoffmann1
- Manuel Nkegoum : Manuelnkegoum-8
[1] Rainbow: Combining Improvements in Deep Reinforcement Learning
[2] Distributional Reinforcement Learning with Quantile Regression
[3] Playing Atari with Deep Reinforcement Learning
[4] Deep Reinforcement Learning with Double Q-learning
[5] Prioritized Experience Replay
[6] Dueling Network Architectures for Deep Reinforcement Learning
[7] Reinforcement Learning: An Introduction
[8] A Distributional Perspective on Reinforcement Learning
[9] Noisy Networks for Exploration