I've been studying reinforcement learning and decision-making for a couple of years now. One of the most difficult things that I've encountered is not necessarily related to the concepts but how these concepts have been explained. To me, learning occurs when one is able to make a connection with the concepts being taught. For this, often an intuitive explanation is required, and likely a hands-on approach helps build that kind of understanding.
My goal for this repository is to create, with the community, a resource that would help newcomers understand reinforcement learning in an intuitive way. Consider what you see here my initial attempt to teach some of these concepts as plain and simple as I can possibly explain them.
If you'd like to collaborate, whether a typo, or an entire addition to the text, maybe a fix to a notebook or a whole new notebook, please feel free to send your issue and/or pull request to make things better. As long as your pull request aligns with the goal of the repository, it is very likely we will merge. I'm not the best teacher, or reinforcement learning researcher, but I do believe we can make reinforcement learning and decision-making easy for anyone to understand. Well, at least easier.
This repository contains Jupyter Notebooks to follow along with the lectures. However, there are several packages and applications that need to be installed. To make things easier on you, I took a little longer time to setup a reproducible environment that you can use to follow along.
Follow the instructions at (https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
Follow the instructions at (https://docs.docker.com/engine/getstarted/step_one/#step-2-install-docker)
git clone [email protected]:mimoralea/applied-reinforcement-learning.git && cd applied-reinforcement-learning
docker pull mimoralea/openai-gym:v1
docker run -it --rm -p 8888:8888 -p 6006:6006 -v $PWD/notebooks/:/mnt/notebooks/ mimoralea/openai-gym:v1
git clone [email protected]:mimoralea/applied-reinforcement-learning.git ~/Projects/applied-reinforcement-learning
)cd ~/Projects/applied-reinforcement-learning
)docker build -t mimoralea/openai-gym:v1 .
docker pull mimoralea/openai-gym:v1
docker run -it --rm -p 8888:8888 -p 6006:6006 -v $PWD/notebooks/:/mnt/notebooks/ mimoralea/openai-gym:v1
http://localhost:8888
(or follow the link that came out of the run command about which will include the token)http://localhost:6006
This will help you visualize the Neural Network in the lessons with function approximation.
docker ps
# will show you currently running containers -- note the id of the container you are trying to accessdocker exec --user root -it c3fbc82f1b49 /bin/bash
# in this case c3fbc82f1b49 is the iddocker run -it --rm mimoralea/openai-gym:v1 /bin/bash
# this will run the bash session as the Notebook userdocker run --user root -e GRANT_SUDO=yes -it --rm mimoralea/openai-gym:v1 /bin/bash
# this will run the bash session as root