In this project, we’ll build a snake game from scratch, and implement both basic Reinforcement Learning and Deep Reinforcement Learning techniques to help the snake master the game and get really high scores.
Reinforcement learning (RL) is an area of machine learning concerned with how intelligent agents ought to take actions in an environment in order to maximize the notion of cumulative reward. A reinforcement learning agent is capable of learning on its own by exploring its environment to determine the best action to take in a certain situation.
In this project, we’ll build a snake game from scratch, and implement both basic Reinforcement Learning and Deep Reinforcement Learning techniques to help the snake master the game and get really high scores. Check out this gif to see how the agent will get better as it keeps playing: https://drive.google.com/file/d/1MnOe8JvfhyjQLZEXpKmxDtKR1B8MJKY7/view?usp=sharing If time permits, we’ll also create an agent that learns to play the Flappy Bird game amazingly well.
This project aims to introduce you to Reinforcement Learning and Deep Learning, creating your own games, and good coding practices. No prior Machine Learning experience is expected, but it’s a bonus if you know some stuff. Some familiarity with python and linear algebra is expected but you can catch up quickly without that too if you are motivated enough. Indicate your willingness to commit time to this project in the proposal as this project will have a steep learning curve and will be time-intensive. Be sure to mention previous (Python) coding or machine learning experience, if any.
|Week Number||Tasks to be Completed|
|Week 1||Get familiar with version control (Git and Github), brush up on python, make the simple game version|
|Week 2||Familiarize yourself with using Numpy and Jupyter Notebooks. Learn basic Reinforcement Learning concepts|
|Week 3-4||Continue exploring Reinforcement Learning and incorporating learned concepts into the project code, parallely exploring basic Machine Learning / Deep Learning concepts|
|Week 5||Experiment with and compare various reinforcement learning algorithms, tune parameters, document results. Implement the deep reinforcement learnign algorithm.|
|1||Set up of the coding environment, familiarity with Git, comfortable with python|
|2||Understanding of model-based and model-free RL algos, Game environment planning|
|3||Ready Game environment, basic RL algo implementation|
|4||Experimentation with several algos, deep learning concepts visited|
|5||Parameter Tuning, Attempt DRL algo, document results|