Giter Site home page Giter Site logo

deeprl_nanodegree_project1_navigation's Introduction

Overview

This project is part of the Value-Based Methods course in Udacity's Deep Reinforcement Learning Nanodegree. The goal of this project is to train a reinforcement learning agent in an environment similar to Unity's Banana Collector environment to collect yellow bananas and avoid blue bananas.

Environment

The agent's state is fully observable. The observation/state size is 37 and the action size is 4. The agent can select between the four discrete actions:

  • 0 - move forward
  • 1 - move backward
  • 2 - move left
  • 3 - move right

At each timestep, the agent receives a reward of +1 if it collects a yellow banana, and a reward of -1 if it collects a blue banana. The aim is to train the agent to select the best action so that it achieves an average reward of +13 over 100 consecutive episodes.

Agent

The agent is an implementation of the Deep-Q Network algorithm. Details will be discussed further in the included report.

Installation

  • To set up an Anaconda environment to run this code, you can follow the instructions included here. These instructions include:

    • Creating a new environment
    • Installing OpenAI gym
    • Cloning Udacity's deep reinforcement learning repository and installing dependencies
    • Creating and running the IPython kernel in the Jupyter notebook that provides the solution to this project.
  • The Banana executable (Banana.exe) for the environment is included in this repository and works for Windows 10 (64 bit).

Usage

  • The solution to this project is provided in the Navigation notebook (Navigation.ipynb). Run each section of the notebook sequentially to train the agent. (You can skip Section 3, "Take Random Actions in the Environment," as this only displays random behavior of an untrained agent.)
  • To view the details of the DQN implementation, see model.py and dqn_agent.py.

deeprl_nanodegree_project1_navigation's People

Contributors

rschloss123 avatar rschlos-snl avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.