A small project during summer at THU Graduate School in Shenzhen. In this project, I implemented and compared various classic reinforcement learning algorithms, especially different variants of DQN (Deep Q-Network), and evolutionary algorithms within the context of the Flappy Bird game. There is still some work in progress and some interesting part to be explored in the future. You can find a summary of interesting ML algorithms from this repo:Andy-wyx/machine-learning-algorithms
- python
- pygame
- cv2
- pytorch
- numpy
- LSTM
- rainbow dqn
- more implementation of Evolutionary Algorihms (EA) i.e. Genetic Algorithm and Evolution Strategy
- PPO
- distributed learning in RL (parallel or asynchronous)
- a better CNN, maxpooling ...
- frameskipp
- some reward engineering
- NAS: Network Architecture Search
- Encapsulate the flappy bird env (you can even try to publish it onto the Gymnasium)
- add save & load
- enable human mode
- enable GPU mode
- enable CPU/GPU utilization monitoring
Playing Atari with Deep Reinforcement Learning
The flappy bird environment is implemented based on the repo uvipen/Flappy-bird-deep-Q-learning-pytorch.
There are many repos about flappy bird agents or some other atari games, you might find some of them useful as well:
Flappy Bird
- xmfbit/DQN-FlappyBird
- robertoschiavone/flappy-bird-env
- jmichaux/dqn-pytorch
- yenchenlin/DeepLearningFlappyBird
- floodsung/DRL-FlappyBird
- markub3327/flappy-bird-gymnasium
Atari Pong