深度學(xué)習(xí)因?yàn)槠鋸?qiáng)大的表征能力,在很多方面都有非常優(yōu)秀的性能,它不論是在計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理,還是在游戲智能體上都能構(gòu)建出優(yōu)秀的模型。而最近圖盧茲聯(lián)邦大學(xué)等研究者表示進(jìn)化算法也有著與深度學(xué)習(xí)相類似的潛力,它可以進(jìn)化出一些能玩 Atari 游戲的智能體,并取得與人類相匹配的性能。
近期街機(jī)學(xué)習(xí)環(huán)境(ALE)被用于對(duì)比不同的控制器算法,從深度 Q 學(xué)習(xí)到神經(jīng)進(jìn)化算法。Atari 游戲的環(huán)境在一個(gè)通用界面上提供了大量不同任務(wù)、可理解的獎(jiǎng)勵(lì)度量和令人興奮的研究領(lǐng)域,且它所需的計(jì)算資源相對(duì)有限。無(wú)怪乎該基準(zhǔn)套件得到了如此廣泛的應(yīng)用。
Atari 領(lǐng)域中的一個(gè)困難在于使用純像素的輸入。盡管與現(xiàn)代游戲平臺(tái)相比,Atari 的屏幕分辨率不算高,但處理這類視覺(jué)信息對(duì)于人工智能體來(lái)說(shuō)仍然是個(gè)挑戰(zhàn)。人們使用目標(biāo)表征和像素縮減方法,將該信息壓縮成更適合進(jìn)化控制器的形式。這里深度神經(jīng)網(wǎng)絡(luò)控制器表現(xiàn)更加優(yōu)秀,原因在于卷積層和在計(jì)算機(jī)視覺(jué)領(lǐng)域的長(zhǎng)期應(yīng)用。
笛卡爾遺傳規(guī)劃(Cartesian Genetic Programming,CGP)在計(jì)算機(jī)視覺(jué)領(lǐng)域的應(yīng)用也有很長(zhǎng)的歷史,盡管比深度學(xué)習(xí)稍微短了一些。CGP-IP 能夠創(chuàng)建圖像濾波器,用于去噪、目標(biāo)檢測(cè)和質(zhì)心定位(centroid determination)。在強(qiáng)化學(xué)習(xí)任務(wù)中使用 CGP 的研究相對(duì)較少,本論文將展示首次使用 CGP 作為游戲智能體的研究。
簡(jiǎn)單而言,笛卡爾遺傳規(guī)劃是遺傳規(guī)劃的一種形式,其中程序表征為有向的、通常由笛卡爾坐標(biāo)索引的非循環(huán)圖。其中功能性節(jié)點(diǎn)通常由一組進(jìn)化的基因定義,并通過(guò)它們的坐標(biāo)連接輸入與其它功能性節(jié)點(diǎn)。程序的輸出由任何內(nèi)部節(jié)點(diǎn)或程序輸入基于進(jìn)化的輸出坐標(biāo)得出。
ALE 提供了 CGP 和其他方法之間的定量對(duì)比。直接將 Atari 游戲分?jǐn)?shù)與之前研究中的不同方法結(jié)果進(jìn)行對(duì)比,以對(duì)比 CGP 與其他方法在該領(lǐng)域的能力。
CGP 的獨(dú)特優(yōu)勢(shì)使得其應(yīng)用在 ALE 上非常合適。通過(guò)定長(zhǎng)的基因組,小型程序能通過(guò)進(jìn)化生成并被讀取以理解。雖然深度 actor 或進(jìn)化神經(jīng)網(wǎng)絡(luò)的內(nèi)部機(jī)制可能難以了解,但 CGP 進(jìn)化的程序可以讓我們深入理解玩 Atar 游戲的策略。最后,通過(guò)使用用于矩陣運(yùn)算的函數(shù)集,CGP 能夠僅使用像素輸入而不使用先驗(yàn)游戲知識(shí),在多種游戲上實(shí)現(xiàn)與人類相當(dāng)?shù)男阅堋?/p>
論文:Evolving simple programs for playing Atari games
論文地址:https://arxiv.org/abs/1806.05695
項(xiàng)目地址:hps://github.com/d9w/CGP.jl
摘要:笛卡爾遺傳規(guī)劃(Cartesian Genetic Programming,CGP)之前已被證明在圖像處理任務(wù)中具備使用計(jì)算機(jī)視覺(jué)專用的函數(shù)集來(lái)進(jìn)化程序的能力。類似的方法也可用于 Atari 游戲。使用混合型 CGP 和適用于矩陣運(yùn)算的函數(shù)集(包括圖像處理)來(lái)進(jìn)化程序,但是允許出現(xiàn)控制器動(dòng)作。盡管這些程序相對(duì)較小,但很多控制器的性能與 Atari 基準(zhǔn)集的最優(yōu)方法不相上下,且需要的訓(xùn)練時(shí)間更短。通過(guò)評(píng)估最優(yōu)進(jìn)化的程序,我們可以找到簡(jiǎn)單卻有效的策略。
3 方法
盡管有很多在圖像處理中使用 CGP 的案例,但在玩 Atari 游戲時(shí)這些實(shí)現(xiàn)必須進(jìn)行修改。最重要的是,輸入像素必須通過(guò)進(jìn)化程序處理以確定標(biāo)量輸出,這需要程序減少輸入空間。本研究選擇的方法可確保和其它 ALE 結(jié)果的可比較性,同時(shí)鼓勵(lì)有競(jìng)爭(zhēng)力且簡(jiǎn)單的程序的進(jìn)化。
圖 1:使用 CGP 來(lái)玩 Atari 游戲,藍(lán)色像素矩陣是進(jìn)化程序的輸入,進(jìn)化的輸出決定最后的控制器動(dòng)作。這里展示了所有控制器動(dòng)作,但大多數(shù)游戲僅使用可用動(dòng)作的子集。帶紅色標(biāo)記的動(dòng)作表示一個(gè)按鈕。
4 結(jié)果
圖 2: Kung-Fu Master 游戲的蹲伏方法和玩家功能圖。為簡(jiǎn)潔起見(jiàn),這里忽略未激活的輸出和導(dǎo)致這些輸出的計(jì)算圖。
圖 3:Centipede 玩家,僅激活了輸出 17,下-左-開(kāi)火。所有其它輸出導(dǎo)致空值或恒定零輸入,此處未展示。
圖 4:Boxing 游戲,使用像素輸入來(lái)連續(xù)移動(dòng)和采取不同動(dòng)作。這里,CGP 智能體通過(guò)不斷打擊 Atari 玩家來(lái)緩慢移動(dòng),將 Atari 玩家逼到圍繩處。