Skip to content

jweixuan/Deep_Reinforcement_Learning_on_Car_Racing_Game

 
 

Repository files navigation

Deep_Reinforcement_Learning_on_Car_Racing_Game

License

Task

Our project explores the algorithms of reinforcement learning (RL) used in game playing. We study several RL algorithms and implement them in a car racing game. The RL methods include, but not limited to, DQN, Double DQN, and Dueling DQN. After the RL methods been implemented, we make comparison between these results and analyze the characteristics of each method.

Related Work

Playing Atari with Deep Reinforcement Learning

Human-level control through deep reinforcement learning

Deep Reinforcement Learning with Double Q-learning

Dueling Network Architectures for Deep Reinforcement Learning

Game Environment

OpenAI Car Racing-v0

Algorithm

We try DQN, Double DQN(DDQN) and dueling DQN. Please refer to the presentation for detailed algorithm explanation. Also, you should have some basic knowledge on Reinforcement Learning and Q-learning.

Installation

  1. pip install -r requirements.txt

    necessary module: tensorflow, pygame, gym, Box2D, VC++ 14.0 ...

  2. In DQN/DDQN/dueling DQN folder, run python car_runner_main.py

  3. If you'd like to utilize the trained model, switch load_checkpoint = True in python car_runner_main.py

  4. On CPU, it takes about 8 hours to get a well-trained model.

Introduction

The DQN,DDQN and dueling DQN have similar structures. Take DQN for example:

DQN/car_runner_main.py - main entrance, the executable file

DQN/dqn/agent.py - DQN model

DQN/dqn/experience_replay.py - experience replay

data/plot.py - plot figures

Result

Training Result

Sample Sample Sample

Test Result

Sample Sample

DQN DDQN Dueling DQN Human
755 784.95 737.35 216.35

Sample

The dueling DQN doesn't perform as well as we expected. Some speculated reasons are in the presentation.

Timeline

Oct.15,2018 Project Proposal

Nov.19,2018 Project Progress

Dec.12,2018 Presentation

Dec.14,2018 [Final Report] (Coming Soon...)

About

Deep Learning Project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%