Deep-RL-Keras  by germain-hug

Keras implementations of deep RL algorithms

created 7 years ago
545 stars

Top 59.3% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides a modular Keras implementation of popular Deep Reinforcement Learning algorithms, including A2C, A3C, DDPG, DDQN, DDQN with Prioritized Experience Replay (PER), and Dueling DDQN. It is designed for researchers and practitioners looking to experiment with and apply these state-of-the-art RL techniques to various environments, particularly OpenAI Gym.

How It Works

The implementation leverages Keras for building neural network models. Actor-Critic methods (A2C, A3C) use separate actor and critic networks, with A2C employing shared backbones and entropy regularization for stability, while A3C utilizes asynchronous weight updates across multiple threads for faster computation. DDPG handles continuous action spaces with an actor-critic structure, incorporating experience replay and parameter space noise for improved stability and exploration. DQN variants build upon Q-learning, using a deep network for Q-value approximation, with DDQN employing a target network to mitigate overestimation, DDQN+PER prioritizing high-TD-error experiences via a SumTree, and Dueling DDQN factoring state value and advantage estimates for better performance.

Quick Start & Requirements

  • Install via pip: pip install gym keras==2.1.6
  • Requires Python 3.x and OpenAI Gym.
  • Run algorithms using python3 main.py --type <AlgorithmType> --env <EnvironmentName>.
  • Example: python3 main.py --type A2C --env CartPole-v1
  • Official documentation and examples are available within the README.

Highlighted Details

  • Implements A2C, A3C, DDPG, DDQN, DDQN+PER, and Dueling DDQN.
  • Supports Atari environments with pixel input (--is_atari).
  • Includes options for Prioritized Experience Replay and Dueling Networks for DDQN.
  • Offers TensorBoard monitoring and results plotting with Plotly.

Maintenance & Community

The project appears to be a personal implementation, with no explicit mention of active maintenance, community channels (like Discord/Slack), or notable contributors beyond the author.

Licensing & Compatibility

The README does not explicitly state a license. Given the use of Keras and OpenAI Gym, it is likely compatible with common open-source licenses, but users should verify for commercial or closed-source applications.

Limitations & Caveats

The project requires a specific Keras version (2.1.6), which might be outdated. There is no explicit mention of support for newer Keras versions or TensorFlow 2.x. The project's maintenance status and community support are not clearly indicated.

Health Check
Last commit

5 years ago

Responsiveness

1 week

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

Explore Similar Projects

Feedback? Help us improve.