Keras implementations of deep RL algorithms
Top 59.3% on sourcepulse
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
pip install gym keras==2.1.6
python3 main.py --type <AlgorithmType> --env <EnvironmentName>
.python3 main.py --type A2C --env CartPole-v1
Highlighted Details
--is_atari
).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.
5 years ago
1 week