Google DeepMind's Paper: Asynchronous Method for Deep Reinforcement Learning.
This implementation contains:
- Deep Q-network and Q-learning
- Varying epsilon for improving exploration vs exploitation
- to reduce the correlations between consecutive parameter updates
- Network for Q-learning targets are fixed for intervals
- to reduce the correlations between target and predicted Q-values
- Separate actor-learner threads
- To improve system performance
- Python 2.7 or Python 3.3+
- gym 0.7.0
- tqdm
- SciPy or OpenCV2
- TensorFlow 1.3.0
- Atari-py 0.0.21
First, install prerequisites with:
$ pip install tqdm gym[all]
$ pip install atari-py==0.0.21
$ pip install gym==0.7.0
To train a model for Breakout:
$ python main.py --env_name=Breakout-v0 --is_train=True
$ python main.py --env_name=Breakout-v0 --is_train=True --display=True
To test and record the screen with gym:
$ python main.py --is_train=False
$ python main.py --is_train=False --display=True
MIT License.