Reinforcement learning agent that learns to play PixelCopter using Q-learning with neural network function approximations.
Developed this project to learn the basics of RL, Q-learning with NNs, and using Keras (Tensorflow backend). As for running simulations, I used the Python Learning Environment, which has a number of pre-built games in Python (like Flappy Bird, Pong, PixelCopter, etc). This way, I didn't have to build the game but instead focus more on designing the agent, which is awesome!
Resources I read a variety of articles and Medium blog posts to get familiar with RL. There are also a lot of Github implementations of other bots, like Flappy Bird, which I also used as a reference (but I couldn't find any for PixelCopter...)
Here are some links:
- Q-learning with Neural Networks - this is the one I used the most, it's amazing. I recommend understanding parts 1 and 2 also.
- An introduction to Deep Q-Learning: let’s play Doom
- Playing Atari with Deep Reinforcement Learning - DeepMind Paper
- David Silver's RL Course - I watched a few of these
- Python Learning Environment - used to build the game