Skip to content

Implementation of DQN, DDQN and DRQNs for Atari Games in Tensorflow. [Work in Progress]

Notifications You must be signed in to change notification settings

ktzsh/DeepRLTensorflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Human-Level Control through Deep Reinforcement Learning

Tensorflow implementation of Human-Level Control through Deep Reinforcement Learning.

This implementation contains:

  1. DQN (Deep Q-Network) and DDQN (Double Deep Q-Network)
  2. Experience Replay Memory
    • to reduce the correlations between consecutive updates
  3. Network for Q-learning targets are fixed for intervals [OpenAI hack]
    • to reduce the correlations between target and predicted Q-values
  4. Image Cropping and Explicit Frame Skiping as in Original paper
  5. Support for Both Atari and Classic Control Environemnts from OpenAI gym

Requirements

Usage

  1. First, install prerequisites with:

     $ pip install gym[all]
    
  2. Setup ALE Arcade-Learning-Environment

  3. To train a model for Breakout(or Any Other Atari Games):

    • Edit the cfg/Atari.yml as required and run:

        $ python main.py --rom <ROM bin file>
      
  4. To test a model run:

     $ python main.py --rom <ROM bin file> --mode test
    

Results

TODOs

  • Implement DQN
  • Implement DDQN
  • Adaptive Exploration Rates
  • Implement DRQN
  • Prioritized Experience Replay
  • Add Detailed Results
  • Dueling Network Architectures

References

License

MIT License.