Giter VIP home page Giter VIP logo

deep_q_learning's Introduction

deep_q_learning

This is the Code for "Deep Q Learning - The Math of Intelligence #9" By Siraj Raval on Youtube

Coding Challenge - Due Date, Thursday August 17th 2017

This weeks challenge is to use Q learning to train an agent for any game you'd like. You can use OpenAI's Gym or Universe as a simulation testbed, but for the Q-Learning algorithm itself don't use any libraries. Bonus points if you use a deep convolutional network from scratch as well to learn from pixels, which means your agent is generalized to more than just one game (Deep Q Learning). Good luck!

Overview

This is the code for this video on Youtube by Siraj Raval as part of the Math of Intelligence series. We're going to rerecreate DeepMind's Deep Q Learner for a variety of games.

Dependencies

Use pip to install any dependencies.

Usage

Just run jupyter notebook in terminal and the code will run. If you'd like to run this code on Super Mario, you need to install this additonal dependency.

Credit

The credit for this code goes to PeterWittek. I've merely created a wrapper to get people started.

deep_q_learning's People

Contributors

llsourcell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deep_q_learning's Issues

How can we make the bot play multiple instances?

I ran the code and I see that the bot only plays once and the script ends when one game is completed(without completing the goal of the game). How can we make it run multiple instances as we observe its movements?

Observation and training implementations don't appear to be correct.

The observation implementation seems broken. Random sampling is done from the game state with probability 'epsilon', which makes sense, but then the model is sampled with probability (1-epsilon); however, during this time, the model is completely untrained, is not updated during the observation process and is producing outputs that are not related to the problem at all.

Not only that, but in the phase where you're supposed to be training the model, you're taking predictions from the untrained model as your targets, basically teaching the model to reproduce random results based on it's own uniform weight initialization. So far as I can tell, this behavior translates well to the final 'play' phase, as the agent is never able to complete the game and behaves fairly randomly, running from the stock implementation.

Perhaps I'm confused, but, could you elaborate on what you think is happening in each phase of the notebook?

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.