
Here to clarify the doubts and to have clear understanding about terms:
So technically until done flag is set to True.
For example we do our training for 500 episodes... so we play game 500 times...
Here it's worth mentioning that when we set random seed for our environment - in configuration provided in this video
env.action_space.sample()
will still get fully random (not repeatable) results.
This is due to that fact that for sample moves for some reasons Gym uses different approach to get randomness. More details here:
https://github.com/openai/gym/blob/339415aa03a9b039a51f67798a44f8cd21464091/gym/spaces/box.py#L28-L29
So if you also need to "fix" randomness of sample moves - you have to use:
from gym.spaces.prng import seed
seed(seed_value)
File atari_wrappers.py (from OpenAI github page) has to be downloaded to the same location as all other files. It has to be in same directory - because then we will be able to import it directly in our code.
Here I also recommend giving a try with update_target_frequency = 2000. I noticed that sometimes it give even better results (game is resolved faster)!
UPDATE:
All the code and installation instructions have been updated and verified to work with Pytorch 1.6 !!
Artificial Intelligence is dynamically edging its way into our lives. It is already broadly available and we use it - sometimes even not knowing it - on daily basis. Soon it will be our permanent, every day companion.
And where can we place Reinforcement Learning in AI world? Definitely this is one of the most promising and fastest growing technologies that can eventually lead us to General Artificial Intelligence! We can see multiple examples where AI can achieve amazing results - from reaching super human level while playing games to solving real life problems (robotics, healthcare, etc).
Without a doubt it's worth to know and understand it!
And that's why this course has been created.
We will go through multiple topics, focusing on most important and practical details. We will start from very basic information, gradually building our understanding, and finally reaching the point where we will make our agent learn in human-like way - only from video input!
What's important - of course we need to cover some theory - but we will mainly focus on practical part. Goal is to understand WHY and HOW.
In order to evaluate our algorithms we will use environments from - very popular - OpenAI Gym. We will start from basic text games, through more complex ones, up to challenging Atari games
What will be covered during the course ?
- Introduction to Reinforcement Learning
- Markov Decision Process
- Deterministic and stochastic environments
- Bellman Equation
- Q Learning
- Exploration vs Exploitation
- Scaling up
- Neural Networks as function approximators
- Deep Reinforcement Learning
- DQN
- Improvements to DQN
- Learning from video input
- Reproducing some of most popular RL solutions
- Tuning parameters and general recommendations
See you in the class!