The full report for this project can be found on my personal website here
For this project, my directive was to train a Reinforcement Learning agent to collect yellow bananas and avoid blue bananas
A reward of +1 is provided for collecting a yellow banana, and a reward of -1 is provided for collecting a blue banana.
The state space has 37 dimensions and contains the agent's velocity, along with ray-based perception of objects around agent's forward direction. Given this information, the agent has to learn how to best select actions. Four discrete actions are available, corresponding to:
0- move forward.1- move backward.2- turn left.3- turn right.
The task is episodic, and in order to solve the environment, the agent must get an average score of +13 over 100 consecutive episodes.
-
Download the environment from one of the links below. You need only select the environment that matches your operating system:
- Linux: click here
- Mac OSX: click here
- Windows (32-bit): click here
- Windows (64-bit): click here
-
Place the file in the same directory as the repository, and unzip (or decompress) the file.
Start by creating a new virtual environment running under Python 3.6
$ virtualenv drlActivate the environment using
$ source drl/bin/activateInstall the dependencies for the project
$ cd python/
$ pip install .To start training the agent, run
$ python main.py <Double>
Usage:
python main.py <Double>
Where <Double> can take either true or false, with true means using double DQN.For regular DQN, the environment was solved after 503 episodes. For Double DQN, the environment was solved after 381 episodes!