This repository is a implementation of the paper Human-level control through Deep Reinforcement Learning.
Please โญ this repository if you found it useful!
For implementations of other deep learning papers, check the implementations repository!
Deep Q-Network (DQN) is a reinforcement learning algorithm that extends the tabular Q-Learning algorithm to large complex environments using neural networks. To train the algorithm efficiently, the authors suggest using Experience Replay and Target Networks.
Instead of the traditional Q-Learning algorithm that discards the interaction experience after learning from it once, DQN saves all these experience into a "replay buffer." This allows minibatch learning, which lowers variance and accelerates learning. Target network slows down the update of the Q-network that is used to compute the target of the MSE loss, which also lowers variance.
First, clone this repository from GitHub. Since this repository contains submodules, you should use the --recursive
flag.
git clone --recursive https://github.com/seungjaeryanlee/implementations-dqn.git
If you already cloned the repository without the flag, you can download the submodules separately with the git submodules
command:
git clone https://github.com/seungjaeryanlee/implementations-dqn.git
git submodule update --init --recursive
After cloing the repository, use the requirements.txt for simple installation of PyPI packages.
pip install -r requirements.txt
This repository uses TensorBoard for offline logging and Weights & Biases for online logging. You can see the all the metrics in my summary report at Weights & Biases!