《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強化學習的訓練,輸入的是原始像素,輸出的是估計未來獎勵的價值函數。
項目環境介紹:
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
網絡的架構
項目運行:
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),認清我們標誌就是了!。這裡有更多案例,更多朋友啊。也可以跟小編直接交流。另外也可以點擊左下角:瞭解更多,通過我們網站了解更多!
閱讀更多 昂鈦客AI 的文章