Q-Learning

Q-Learning from scratch in Python

View the Project on GitHub piyush2896/Q-Learning

Q-Learning

There are drawbacks, like requirement of knowing the dynamics of the environment, which we face when using techniques like Value Iteration and Policy iteration. To overcome this drawback we can use sampling-based approximation techniques like Q-Learning.

In Q-Learning we:

Bellman Equation

Expectation format of Bellman Equation

Task at Hand

The task is to maximize a reward in a world that consists of an agent that can navigate in 4 directions - North, South, East and West. With a 20% of equally likely chance of deviating to left or right from the action asked to perform.

World
Src: UC Berkley 2017 Deep RL bootcamp Lecture 1 slides

Usage

Modify main.json to suit your needs. The key names are self explanatory. Then run python main.py.

You can also create your own <user-defined>.json file with every paramter defined and then run python main.py --json_path <user-defined>.json