In this project, I will train an agent to navigate (and collect bananas!) in a vast, square world. I am going to use the Unity Machine Learning Agents Toolkit to design, train, and evaluate my own set of deep reinforcement learning algorithms implementations. I will implement Deep Q-learning (DQN), Double DQN (DDQN) and DDQN with prioritized experience replay.
The environment used for this project is the Udacity version of the Banana Collector environment, from Unity. The goal of the agent is to collect as many yellow bananas as possible while avoiding 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 a 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 to solve the environment, the agent must get an average score of +13 over 100 consecutive episodes. This project is part of the Deep Reinforcement Learning Nanodegree program, from Udacity. You can check my report here.
This project requires Python 3.5 or higher, the Banana Collector Environment (follow the instructions to download here) and the following Python libraries installed:
In a terminal or command window, navigate to the top-level project directory banana-rl/
(that contains this README) and run the following command:
$ jupyter notebook
This will open the Jupyter Notebook software and notebook in your browser which you can use to explore and reproduce the experiments that have been run.
- Schaul, T., Quan, J., Antonoglou, I., & Silver, D. Prioritized Experience Replay. arXiv.org, 2015.
- Van Hasselt, H., Guez, A., & AAAI, D. S. Deep Reinforcement Learning with Double Q-Learning. Aaai.org, 2016.
- Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A. A., Veness, J., Bellemare, M. G., et al. Human-level control through deep reinforcement learning. Nature, 52015.
The contents of this repository are covered under the MIT License.