This project uses Deep Q Network to train a RL-Agent to navigate (and collect bananas!) in a large, square world. A reward of +1 is provided for collecting a yellow banana, and a reward of -1 is provided for collecting a blue banana. Thus, the goal of the RL agent is to collect as many yellow bananas as possible while avoiding blue bananas.
The state space has 37 dimensions and contains the agent's velocity, along with ray-based perception of objects around the 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 forward1
move backward2
turn left3
turn right
The task is episodic, and in order to solve the environment, agent must get an average score of +13 over 100 consecutive episodes.
- Clone this repository
- Download the Unity Environment
- Linux: click here
- Mac OSX: click here
- Windows (32-bit): click here
- Windows (64-bit): click here
- Unzip in Repo folder
- Create a virtual environment with python3.6
- Install dependencies via pip
pip install -r requirements.txt
- Change the location for Unity Environment in
Navigation.ipynb
at cell 4 - Test the pretrained model by function in cell 13
- Feel free to change the hyperparameters of the agent and the Network Architecture
- Explore.