編者按:笛卡爾遺傳規(guī)劃(Cartesian Genetic Programming)在圖像處理任務(wù)中已經(jīng)發(fā)揮了不小的作用,這一方法同樣可以應(yīng)用到雅達(dá)利游戲中。說(shuō)起雅達(dá)利游戲,我們首先會(huì)想到深度學(xué)習(xí)在其中做過(guò)的努力,但是本項(xiàng)目的研究人員們卻用另一種有效的方法——演化算法,控制雅達(dá)利游戲的進(jìn)行,結(jié)果顯示,演化算法的性能并不比深度學(xué)習(xí)差。以下是論智帶來(lái)的編譯。
隨著神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)技術(shù)的發(fā)展,計(jì)算機(jī)科學(xué)領(lǐng)域幾乎被這些新技術(shù)占據(jù)。特別是神經(jīng)網(wǎng)絡(luò),已經(jīng)在某些任務(wù)上達(dá)到甚至超過(guò)了人類水平,例如目標(biāo)和人臉識(shí)別、棋類游戲和多種街機(jī)游戲比賽。
這些網(wǎng)絡(luò)都是根據(jù)人類大腦的工作原理建立的,因?yàn)槿祟惔竽X能產(chǎn)生最多的可能性,對(duì)嗎?
答案不盡然。現(xiàn)在有一種全新的計(jì)算方式能比神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)擁有更強(qiáng)大的計(jì)算力。這行技術(shù)是基于人腦形成的過(guò)程——演化。換句話說(shuō),一些列迭代變化和選擇生成了最復(fù)雜的機(jī)器——人類。演化的力量可以看成是奇跡。
自從30年前第一次應(yīng)用于對(duì)生產(chǎn)線的優(yōu)化后,進(jìn)化計(jì)算就取得了令人矚目的成果。但是最近幾年,由于深度學(xué)習(xí)的發(fā)展和它取得的巨大成功,進(jìn)化計(jì)算淡出了人們的視線。
今天,來(lái)自法國(guó)圖盧茲大學(xué)的研究人員Dennis Wilson等人的一項(xiàng)研究讓人們注意到了演化計(jì)算能達(dá)到和深度學(xué)習(xí)機(jī)器同樣的性能。在街機(jī)游戲,例如雅達(dá)利游戲中的《乓》、《打磚塊》、《太空侵略者》中表現(xiàn)出了超越人類的水平。這項(xiàng)工作表明,人們?cè)谥匾暽疃葘W(xué)習(xí)方法的同時(shí),也要給予演化算法相當(dāng)?shù)年P(guān)注。
深度學(xué)習(xí) VS 演化計(jì)算
演化計(jì)算和神經(jīng)網(wǎng)絡(luò)完全不同,它的目標(biāo)是創(chuàng)建能用反直覺(jué)式的方法解決特殊問(wèn)題的代碼。通常代碼創(chuàng)建的一般方法是有了特定目標(biāo)后按第一原理開(kāi)始書寫。
而演化計(jì)算用的是另一種方法,它完全是隨機(jī)生成代碼,并且不只有一個(gè)版本,而是多個(gè)版本,有的時(shí)候甚至由成百上千個(gè)片段隨機(jī)拼湊起來(lái)形成代碼。
但是很多情況下,這些代碼片段的效果并不是很好。接著它們會(huì)再次重新生成,其中會(huì)加入更多的代碼片段。然而,第二次訓(xùn)練和第一次的代碼不會(huì)完全相同,一定有某些改動(dòng)。這些改變可能會(huì)導(dǎo)致某種計(jì)算點(diǎn)突變。
之后生成的新代碼會(huì)經(jīng)過(guò)測(cè)試,看它們表現(xiàn)的如何。表現(xiàn)最好的代碼會(huì)優(yōu)先進(jìn)入下一批代碼生成,以此類推。
這一過(guò)程就是代碼演化的過(guò)程。隨著時(shí)間的推移,代碼表現(xiàn)得越來(lái)越好,多次迭代后,如果條件合適,它的表現(xiàn)會(huì)比人類設(shè)計(jì)的代碼更好。
計(jì)算機(jī)科學(xué)家們已經(jīng)成功地將演化計(jì)算應(yīng)用到很多問(wèn)題上,包括機(jī)器人設(shè)計(jì)和建造航天器部件。
但是,深度學(xué)習(xí)的巨大成功讓演化計(jì)算“失寵”了。所以,一個(gè)很重要的問(wèn)題是,演化計(jì)算能夠達(dá)到和深度學(xué)習(xí)同樣的水平。為了弄清楚這一點(diǎn),Wilson和他的同事們用演化計(jì)算創(chuàng)建出了能玩雅達(dá)利游戲的代碼。
游戲設(shè)計(jì)
這些游戲目前在Arcade Learning Environment數(shù)據(jù)集中可用,該數(shù)據(jù)集經(jīng)常被用來(lái)測(cè)試不同類型游戲的學(xué)習(xí)行為。數(shù)據(jù)集含有61種雅達(dá)利游戲,例如《乓》、《太空侵略者》、《打磚塊》和《功夫大師》等等。
任務(wù)的目的是創(chuàng)建一套算法,只需要看屏幕上輸出的效果,就能熟練地玩雅達(dá)利游戲,和人類玩游戲的方式一樣。所以算法必須分析每次游戲動(dòng)作的位置,然后決定如何移動(dòng)才能得到最多分?jǐn)?shù)。
對(duì)所有游戲的控制方法都是相同的,它對(duì)應(yīng)著八個(gè)不同的移動(dòng)方向:上、下、左、右、以及左上、左下、右上、右下。另外還有一個(gè)可以和八個(gè)方向結(jié)合的按鈕,可以隨意進(jìn)行組合。并不是所有游戲都能用到18個(gè)可能的結(jié)合,一些游戲只能用到四種。
首先,代碼創(chuàng)造出來(lái)之后,演化方法需要一系列術(shù)語(yǔ)來(lái)生成計(jì)算代碼,其中包括簡(jiǎn)單的“ADD(x+y)/2”到更復(fù)雜的“return the 1-element x-vector if x is a scalar”。
同時(shí),選擇何種術(shù)語(yǔ)來(lái)組成這一系列詞典是非常重要的,Wilson和他的同事們使用的是已經(jīng)被稱為笛卡爾遺傳規(guī)劃(Cartesian Genetic Programming)的集合。
在這一過(guò)程的開(kāi)始,系統(tǒng)隨機(jī)創(chuàng)建包含40個(gè)術(shù)語(yǔ)的代碼,這可以看作是該項(xiàng)目的“基因組”。之后,這些代碼經(jīng)過(guò)游戲測(cè)試,看最終能得到多少分。根據(jù)它們的表現(xiàn),“基因組”會(huì)不斷改變進(jìn)行重復(fù)生成,再進(jìn)行測(cè)試。最后,該研究小組用這種方法測(cè)試了10000個(gè)“基因組”。
實(shí)驗(yàn)結(jié)果
結(jié)果很有趣。最初,代碼玩游戲的水平很差,但是經(jīng)過(guò)一段時(shí)間的迭代,代碼的表現(xiàn)越來(lái)越好。經(jīng)過(guò)多次代碼生成后,它們已經(jīng)表現(xiàn)得很好了,甚至有時(shí)還超過(guò)了人類。
代碼在很多情況下都會(huì)生成全新的游戲策略,通常都很復(fù)雜。但是有時(shí)也會(huì)找到被人們忽略的簡(jiǎn)單游戲方法。
例如,當(dāng)計(jì)算機(jī)在玩《功夫大師》時(shí),演化算法發(fā)現(xiàn),最有價(jià)值的攻擊是下蹲拳。下蹲更加安全,因?yàn)樗芏惚芤话氲淖訌棽⑶疫M(jìn)行近身攻擊。算法最初的策略是重復(fù)使用這一技巧,不添加其他動(dòng)作,事后想來(lái)這樣做也是有道理的。
這樣研究人員非常吃驚,他們表示:“運(yùn)用這種策略比正常玩這種游戲得到的分?jǐn)?shù)更好,而且現(xiàn)在代碼在這個(gè)游戲中只使用下蹲拳。”
總的來(lái)說(shuō),演化出的算法能很好地掌握多種游戲,甚至超過(guò)人類水平。更重要的是,這些算法能和深度學(xué)習(xí)相媲美。它同樣還有另一種結(jié)果:“雖然這一項(xiàng)目體積相對(duì)較小,很多控制器在這種方法上就非常有競(jìng)爭(zhēng)力,所需的訓(xùn)練時(shí)間就更少。”
生成的代碼還有另一個(gè)優(yōu)點(diǎn)。由于它很小,就很容易觀察它的工作過(guò)程。相反,深度學(xué)習(xí)技術(shù)眾所周知的問(wèn)題就是有時(shí)我們不知道它為什么會(huì)做出某種決策,這就會(huì)導(dǎo)致很多現(xiàn)實(shí)和法律問(wèn)題。
小結(jié)
總的來(lái)說(shuō),這項(xiàng)有趣的工作也許能提醒那些只關(guān)注深度學(xué)習(xí)的科學(xué)家們,還有演化算法這樣的替代性技術(shù)。
Keras締造者、深度學(xué)習(xí)研究人員Fran?ois Chollet在推特上表示:“這項(xiàng)研究很了不起,通常用深度學(xué)習(xí)總會(huì)經(jīng)歷多次微小迭代,而這項(xiàng)工作是不同類型的嘗試。通常,如果你能在老生常談的問(wèn)題上得到小有競(jìng)爭(zhēng)力的結(jié)果,那么最終一定有所作為。”
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4765瀏覽量
100568 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5493瀏覽量
121000
原文標(biāo)題:在深度學(xué)習(xí)“大行其道”的今天,不要忽視更強(qiáng)大的演化算法
文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論