• Stars
    star
    146
  • Rank 251,295 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 7 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Reinforcement Learning in Keras on VizDoom

Implementation of Reinforcement Learning Algorithms in Keras tested on VizDoom

This repo includes implementation of Double Deep Q Network (DDQN), Dueling DDQN, Deep Recurrent Q Network (DRQN) with LSTM, REINFORCE, Advantage Actor Critic (A2C), A2C with LSTM, and C51 DDQN (Distribution Bellman). All implementations are tested on VizDoom Defend the Center scenario, which is a 3D partially observable environment.

For more details on the implementation, you can check out my blog post at https://flyyufelix.github.io/2017/10/12/dqn-vs-pg.html.

Results

Below is the performance chart of 20,000 episodes of DDQN, REINFORCE, and A2C running on Defend the Center. Y-axis is the average number of kills (moving average over 50 episodes).

Performance Chart 1

The performance chart of 15,000 episodes C51 DDQN and DDQN running on Defend the Center.

Performance Chart 2

Usage

First follow this instruction to install VizDoom. If you use python, you can simply do pip install:

$ pip install vizdoom

Second, clone ViZDoom to your machine, copy the python files provided in this repo over to examples/python.

To test if the environment is working, run

$ cd examples/python
$ python ddqn.py

You should see some printouts indicating that the DDQN is running successfully. Errors would be thrown otherwise.

Dependencies