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