以下內(nèi)容來源于一次部門內(nèi)部的分享,主要針對AI初學(xué)者,介紹包括CNN、Deep Q Network以及TensorFlow平臺等內(nèi)容。由于筆者并非深度學(xué)習(xí)算法研究者,因此以下更多從應(yīng)用的角度對整個系統(tǒng)進(jìn)行介紹,而不會進(jìn)行詳細(xì)的公式推導(dǎo)。
** 關(guān)于Flappy Bird **
Flappy Bird(非官方譯名:笨鳥先飛)是一款2013年鳥飛類游戲,由越南河內(nèi)獨立游戲開發(fā)者阮哈東(Dong Nguyen)開發(fā),另一個獨立游戲開發(fā)商GEARS Studios發(fā)布。—— 以上內(nèi)來自《維基百科》
Flappy Bird操作簡單,通過點擊手機(jī)屏幕使Bird上升,穿過柱狀障礙物之后得分,碰到則游戲結(jié)束。由于障礙物高低不等,控制Bird上升和下降需要反應(yīng)快并且靈活,要得到較高的分?jǐn)?shù)并不容易,筆者目前最多得過10分。
本文主要介紹如何通過AI(人工智能)的方式玩Flappy Bird游戲,分為以下四個部分內(nèi)容:
Flappy Bird 游戲展示
模型:卷積神經(jīng)網(wǎng)絡(luò)
算法:Deep Q Network
代碼:TensorFlow實現(xiàn)
一、Flappy Bird 游戲展示
在介紹模型、算法前先來直接看下效果,上圖是剛開始訓(xùn)練的時候,畫面中的小鳥就像無頭蒼蠅一樣亂飛,下圖展示的是在本機(jī)(后面會給出配置)訓(xùn)練超過10小時后(訓(xùn)練步數(shù)超過2000000)的情況,其最好成績已經(jīng)超過200分,人類玩家已基本不可能超越。