AI自動玩Flappy Brid小遊戲,AlphaZero深度強化學習原理實現

AI自動玩Flappy Brid小遊戲,AlphaZero深度強化學習原理實現

《Flappy Bird》是一款由來自越南的獨立遊戲開發者Dong Nguyen所開發出來風靡全球的小遊戲,而這款虐人的小遊戲不知折磨了多少手殘的玩家,最近小編在網上看到了許多關於AI學習的優秀作品,我們是否能利用機器學習技術,來實現讓AI自動“玩”Flappy Brid”呢?

12月5日,DeepMind上傳了最新論文《用通用強化學習算法自我對弈,掌握國際象棋和將棋》(Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm),不僅僅針對圍棋遊戲,更是泛化其他類棋類遊戲的功能。

今天,我們也利用AlphaZero需要利用的深度強化學習(DQN)來實踐一個玩Flappy Brid的小遊戲。這裡所謂DQN(Deep Q-Network),是一個卷積神經網絡(CNN),利用Q-Learning強化學習的訓練,輸入的是原始像素,輸出的是估計未來獎勵的價值函數。

AI自動玩Flappy Brid小遊戲,AlphaZero深度強化學習原理實現

項目環境介紹:

lPython 3.0+或Python 2.7(本教程用Python3.6版本)

下載完Python,並配置相關的系統環境,按win鍵+R鍵輸入cmd,

l打開命令提示符,輸入命令安裝一下依賴:

Øpip3 install pygame

Øpip3 install OpenCV-Python

Deep Q Learning的偽代碼

Initialize replay memory D to size N

網絡的架構

AI自動玩Flappy Brid小遊戲,AlphaZero深度強化學習原理實現

項目運行:

TensorFlow(CPU版)

git clone https://github.com/yanpanlau/Keras-FlappyBird.git

cd Keras-FlappyBird

python qlearn.py -m "Run"

項目總結:

本項目實現了用DQN實現AI自動玩Flappy Bird小遊戲,希望大家能在本項目中見識到許多有意思的東西。具體的代碼講解請長期關注我們angtk,更多精彩內容將在後面文章呈現,或者在加入人工智能社群:搜索(TensorFlow機器學習angtk),認清我們標誌就是了!。這裡有更多案例,更多朋友啊。也可以跟小編直接交流。另外也可以點擊左下角:瞭解更多,通過我們網站了解更多!


分享到:


相關文章: