Jump or Not to Jump: Solving Flappy Bird with Deep Reinforcement Learning w/ Kaleo Ha’o

kaleo-haoThe holy grail of machine learning has always been a “Skynet” type of artificial intelligence that could generally learn anything (artificial general intelligence), and the biggest advancement toward achieving such A.I. is deep reinforcement learning (DRL). The reason for this is DRL’s ability to solve a vast array of problems; its application ranges from learning any video game, to driving autonomous cars, to landing Space-X Falcon 9 rockets. As such, DRL is one of the most exciting fields in machine learning, and will continue to be so for the foreseeable future.

This talk will be a deep dive into the math behind an algorithm which uses DRL to solve the video game Flappy Bird. Additionally the goal of this talk will be such that even the most math-phobic beginner-to-ML will walk away excited about DRL and able to verbalize the central equation to DRL. This will be done in two simple steps. First we will derive the Bellman Equation (classic reinforcement learning), which provides a framework for the algorithm’s decision making process. Second we will use that Bellman Equation to derive a custom loss function, which will drive the training of the algorithm’s deep neural network (deep learning).

To keep things simple during presenting, Kaleo will skip the code snippets but links will be provided where everybody can download the Flappy Bird algorithm’s code, a 20 page paper (written by Kaleo) detailing the algorithm, and a list of resources for further study.

The following is a link to the algorithm code and accompanying paper (PDF), where the math details can be found in section Algorithms and Techniques: https://github.com/06kahao/Improved-Q-Learning-Multi-Environment

Kaleo Ha’o (@06kahao) is a graduate from Udacity’s Machine Learning Engineering program, Kaleo Ha’o is a freelance ML engineer who loves to contribute to Open A.I. research on reinforcement learning.