Skip to content

Implementing Deep Q Network and its improvement techniques using Pytorch

Notifications You must be signed in to change notification settings

srikanthkb/Q-Learning-Agents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deep-Q-Learning-Agents

Implementing Q-Learning agents using Deep Neural Networks for the OpenAI Gym environments. The current example is based on the LunarLander-v2 environment. The evolution of reinforcement learning and the effect of DQN improvement techniques on the performance of the agent can be observed from this example.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes:

  1. Clone the project with link: https://github.com/Srikanth-Kb/Q-Learning-Agents.git

Prerequisites

OpenAi - Gym
PyTorch - Deep learning framework
Numpy library
Jupyter notebook / VS Code Python Extension

Working principle

There are three major components in any RL Framework:

  1. Model: Represents the Neural Network Architecture, in this case, Q-Network and Dueling-Q-Network
  2. Agent: Represents the RL agent, that learns, acts, saves experiences by interacting with the environment.
  3. Environment: Represents the space where the agent interacts and performs actions to earn rewards.

DQN Improvements

Three major improvements for the DQN architecture are implemented in this repository:

  1. Double Q Network
  2. Dueling Q Network
  3. Dueling Double Q Network

Running the Code

Run the following file for training the RL from scratch for each of the architectures: Comparison_Of_DQNs.ipynb

Trained Agent Demo

ToDo

  1. Automate training for Dueling network architecture

About

Implementing Deep Q Network and its improvement techniques using Pytorch

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published