国产精品久久久久久久小说,国产国产裸模裸模私拍视频,国产精品免费看久久久无码,风流少妇又紧又爽又丰满,国产精品,午夜福利

熱搜: 佳士科技  irobot  工業(yè)機器人  機器人  ABB  機器人產(chǎn)業(yè)聯(lián)盟  發(fā)那科  庫卡  碼垛機器人  機械手 

當AI具有人類大腦的進化能力,機器能產(chǎn)生“智慧”嗎?

   日期:2017-10-26     來源:36氪    作者:dc136     評論:0    
標簽: 人工智能
   神經(jīng)進化正在復興。主要的人工智能實驗室和研究人員正在試驗它,一絲新的成功點燃了更多的熱情,能對于深度學習產(chǎn)生影響的新機遇正在出現(xiàn)。也許你在深度學習所有的激動人心的時刻并沒有聽到過神經(jīng)進化,但它只是潛行于表面之下,作為一個小的熱情的研究社區(qū)的課題存在了幾十年?,F(xiàn)在它正伴隨著大眾對于它的潛力的了解而開始獲得更多的關(guān)注。
 
  簡單來說,神經(jīng)進化是人工智能和機器學習領(lǐng)域的一個分支。它力圖觸發(fā)一個和產(chǎn)生我們?nèi)祟惔竽X類似的進化過程,只不過這個過程是在計算機里實現(xiàn)的。換句話說,神經(jīng)進化試圖開發(fā)通過進化算法去尋找進化神經(jīng)網(wǎng)絡(luò)的方法。
 
  當我在上世紀九十年代末期第一次開始人工智能的研究的時候,關(guān)于可以在計算機里去進化大腦的想法和我想冒險的感覺產(chǎn)生了共鳴。在當時這還是一個不尋常的、甚至是很含糊的領(lǐng)域。但我對這個思想非常好奇而且也很有親切感。結(jié)果就是我生命里的20多年都在思考這個主題,并和杰出的同事一起開發(fā)出了一系列的算法,比如NEAT、HyperNEAT和新穎性搜索(novelty search)。在本博文里,我希望能帶給你神經(jīng)進化的一些激動人心的部分,并對這個主題給出一些洞見,但不會有科學文獻里那些讓人頭暈的術(shù)語。我也會部分采用自傳回顧的視角來把我在這個領(lǐng)域里摸爬滾打的經(jīng)歷講述一下。我希望我自己的故事能為更多的讀者打開一扇探索在計算機里進化大腦的窗戶。
 
  深度學習的成功
 
  如果你最近一直在跟蹤人工智能或是機器學習領(lǐng)域,你可以已經(jīng)聽說了深度學習。要感謝深度學習,計算機已經(jīng)在諸如圖像識別和控制無人駕駛汽車(甚至是控制電子游戲的角色)這樣的任務上接近或是有時超越人類的表現(xiàn)。這些成就已經(jīng)幫助深度學習和人工智能從默默無聞的學術(shù)期刊里一躍出現(xiàn)在大眾傳媒上,并激發(fā)了公眾的想象力。那么在深度學習的背后是什么使這一成功成為可能?
 
  實際上,在深度學習的表面下是一個已經(jīng)有幾十年歷史的技術(shù)的最新形式,它就是人工神經(jīng)網(wǎng)絡(luò)(ANN)。與很多AI領(lǐng)域里的思想一樣,ANN也是來自生物學的靈感。對ANN來說,它是模擬人類的大腦。我們之所以選擇大腦作為AI的靈感來源,是因為大腦是迄今為止唯一明確的智能載體。當我們想實現(xiàn)人工智能時,在某種程度上,模仿大腦應該是一個講得通的思路。大腦的一個關(guān)鍵組件就是神經(jīng)元。它是一個很小的細胞,可以通過連接想其他的神經(jīng)元發(fā)送信號。當非常多的神經(jīng)元彼此連接形成一個網(wǎng)絡(luò)(正如大腦里就是這樣),我們稱之為一個神經(jīng)網(wǎng)絡(luò)。因此,一個ANN就是試圖模仿類似神經(jīng)元這樣可以相互間發(fā)送信號的組件的集合。這就是在深度學習里面的“深度網(wǎng)絡(luò)”背后的機理。
 
  ANN的研究人員通過程序來模擬這些神經(jīng)元以及在他們中間傳輸?shù)男盘?,獲得了一個比較模糊的模擬大腦里發(fā)生的事情的過程。當然,這兩者間是有著非常多的不同的。但真正的挑戰(zhàn)是,僅僅只是簡單地把一堆類似神經(jīng)元的元素彼此相連并讓他們相互間共享信號并不能產(chǎn)生智慧。相反的,智慧是精確地來源于神經(jīng)元是如何連接的。
 
  例如,一個神經(jīng)元強烈地影響著另外一個神經(jīng)元被稱為有一個很大的權(quán)重連接到它的伙伴。在這里,這個連接的權(quán)重決定了神經(jīng)元是如何彼此影響的,從而產(chǎn)生了一個神經(jīng)網(wǎng)絡(luò)里神經(jīng)激活的特定模式,來響應到達神經(jīng)網(wǎng)絡(luò)的輸入(比如,來自眼睛的輸入)。要想得到一個智能的網(wǎng)絡(luò),相應的挑戰(zhàn)就變成了如何決定網(wǎng)絡(luò)連接的權(quán)重的問題。
 
  通常,沒人會通過手工計算得出連接的權(quán)重(考慮到現(xiàn)代的ANN一般都有上百萬個連接,你就能明白為什么手工的方法不現(xiàn)實了)。相反的,為某個任務找到正確的連接權(quán)重就被看成了一個學習的問題。換句話說,就是研究人員花費了大量的精力去發(fā)明讓ANN自己去為特定的任務學習最佳權(quán)重的方法。最常見的學習權(quán)重的方法就是把ANN的輸出(比如,那個看著像是條狗)和標準答案去比較,然后通過特定原則里的數(shù)學公式來改變權(quán)重,從而使下一次輸出正確的可能性更大。
 
  在經(jīng)過這樣無數(shù)次的比對樣例(可能會有上百萬個)的訓練后,神經(jīng)網(wǎng)絡(luò)就開始能夠分配正確的權(quán)重來準確地回答各種各樣的問題了。經(jīng)常性的,神經(jīng)網(wǎng)絡(luò)的能力甚至能泛化到可以回答它沒有碰到過的問題,只要這些問題和之前訓練里看到的問題差別不那么大。到此為止,ANN基本上學會了去應對特定的問題了。一種常見的調(diào)整權(quán)重的方法就是隨機梯度下降法,它是之前提到的深度學習里面非常流行的一個組件。最近幾年的深度學習的實現(xiàn)基本上是對由非常多層的神經(jīng)元(這就是為什么叫“深度”的原因)構(gòu)成的ANN進行海量的訓練。這也得益于近年來出現(xiàn)的強大的計算硬件的幫助。
 
  但這里有一個我還沒提到的問題,即我們首先如何決定誰連接到誰?換句話說,就是我們的大腦不只是由連接權(quán)重決定的,它還是由大腦內(nèi)部的結(jié)構(gòu)決定的。隨機梯度下降甚至都沒法去解決這個問題,而只是盡力去優(yōu)化給它的連接。
 
  這些連接是怎么來的?在深度學習里,答案就是:它們基本是由研究人員基于一定程度的經(jīng)驗來決定整個網(wǎng)絡(luò)的架構(gòu)是什么樣的。與之相對的,自然界的大腦的結(jié)構(gòu)則是通過進化形成的。我們?nèi)祟惔竽X里的100萬億個連接的架構(gòu)是來自于數(shù)百萬年的優(yōu)勝劣汰的自然選擇過程后進化來的。
 
  我們大腦的架構(gòu)是超級無敵。畢竟毫不夸張地說,人類的智慧都集中在那里。這實際上就意味著自然界里的大腦的進化是迄今為止唯一已知的產(chǎn)生強智慧的過程。神經(jīng)進化學的目標就是在計算機里觸發(fā)一個類似的進化過程。從這個方面講,神經(jīng)進化學是人工智能專業(yè)里唯一的一個有著實際的概念證明(大腦確實是進化來的)的分支。我們知道這是一條可以產(chǎn)生智慧的道路。
 
  說的更清楚點,深度學習傳統(tǒng)上關(guān)注于對ANN編程來學習,而神經(jīng)進化則側(cè)重于大腦網(wǎng)絡(luò)自身的原始架構(gòu)。它可以包括誰和誰來連接、連接的權(quán)重以及(有時)這些連接如何允許被改變。當然,這兩個領(lǐng)域是有一些交叉的。比如ANN依然需要為特定任務進行學習,無論是否進化過。有可能進化得到的ANN可以利用深度學習里的方法(比如隨機梯度下降)來獲得恰當?shù)臋?quán)重。實際上,深度學習甚至可以被認為是神經(jīng)進化的一個兄弟。它研究的是如何對于一個ANN(無論是進化來的還是預先定義)的架構(gòu)來學習連接的權(quán)重。
 
  但是,學習機制自身是可以進化的觀點也是可能的,從而讓神經(jīng)進化有著能超越或是更詳細地說明傳統(tǒng)的深度學習的潛力。簡而言之,大腦(包括它的架構(gòu)和如何學習)是自然選擇的產(chǎn)物。而神經(jīng)進化可以探索大腦出現(xiàn)的所有因素,或是借鑒深度學習的某些方面而讓進化來決定其他的部分。
 
  神經(jīng)進化是怎么工作的
 
  現(xiàn)在我們對于什么是神經(jīng)進化已經(jīng)有了初步的概念,現(xiàn)在可以聊一聊它是怎么工作的。第一代的神經(jīng)進化算法出現(xiàn)在上世紀80年代。在那個時候,一小批研究人員認為對于傳統(tǒng)ANN里的訓練算法(反向傳播,隨機梯度下降的一種形式)的一個可替代方案就是神經(jīng)進化。在早期的系統(tǒng)里,神經(jīng)進化研究人員會(就如今日的深度學習里那樣)決定神經(jīng)網(wǎng)絡(luò)的架構(gòu),即哪個神經(jīng)元連哪個。然后簡單地讓進化而不是隨機梯度下降來決定權(quán)重的大小。因為整體的網(wǎng)絡(luò)架構(gòu)不能由進化來改變,這種方法被叫做定拓撲神經(jīng)進化。
 
  這樣的系統(tǒng)和自然界里的神經(jīng)系統(tǒng)有一些不一樣,因為定拓撲神經(jīng)進化里的ANN的基因已經(jīng)編碼了它們的權(quán)重,從一“出生”就固定了。用這種方法,ANN一出生就知道了它們將會知道的事情,而不能在隨后的“生涯”里進一步學習。這個場景有一點讓人困惑,因為我們通常認為我們會在生命過程里學習一些新的東西。但是如果你仔細想想,在這些系統(tǒng)里的繁衍過程其實就是在學習。因為當父母在生育能更好適應一個任務的后代時,在一代一代的繁衍過程中學習就在發(fā)生。
 
  類似這樣的系統(tǒng)是如何真正地被設(shè)定的?如何進化一個人工的大腦來解決一個問題?實際上,這些都非常像動物的繁衍過程。設(shè)想你想進化一個神經(jīng)網(wǎng)絡(luò)來控制一個機器人行走。對于這種類型的任務,我們通常已經(jīng)有了很多的模擬器,因為神經(jīng)進化會進行非常多的嘗試,進行模擬會快很多且風險更小。因此我們將從一個物理模擬器里的機器人開始。
 
  現(xiàn)在我們需要一些ANN來開始。在剛開始,我們并不知道如何解決這個任務。因此我們就先產(chǎn)生一個隨機ANN的群體(比如100個)。就定拓撲ANN而言,這個100個預先定義的神經(jīng)網(wǎng)絡(luò)個體的每個的權(quán)重的都是隨機的?,F(xiàn)在我們僅僅是需要進行選擇。這意味著選擇更好的個體來繁衍后代。
 
  為了進化我們的群體,我們首先取一個ANN,并讓它來控制模擬的機器人身體。我們讓ANN來指揮身體如何移動,這就是網(wǎng)絡(luò)的輸出。這個ANN也可能接收來自身體的反饋輸入,比如感知到哪只腳觸地了。然后計算機就僅僅是觀察ANN的控制的表現(xiàn)。群體里的每個ANN都被用這種方法測試過,并基于它們各自的表現(xiàn),給一個叫“適應”的分值。
 
  很清楚的是,初始群體里這些隨機產(chǎn)生的網(wǎng)絡(luò)是不大可能有好的表現(xiàn)。他們可能像其他東西一樣更喜歡打來打去(畢竟它們的大腦是隨機產(chǎn)生的)。這也沒什么,因為這里的關(guān)鍵不是讓一個ANN非常好,而是發(fā)現(xiàn)一些比其他的要好,甚至只是好那么一點點即可。也許某個網(wǎng)絡(luò)能比其他網(wǎng)絡(luò)讓機器人往前多挪一點。驅(qū)動神經(jīng)進化進步的引擎就是選擇那些比其他的稍微強一點的網(wǎng)絡(luò)作為繁衍下一代的父母。算法將會通過稍微地修改這些ANN(比如稍微改變它們連接的權(quán)重)來產(chǎn)生它們的后代。雖然有一些后代會比它們的父母表現(xiàn)要差,但某些將會再稍微好點(比如晃的少一點)。那么這些就又成為產(chǎn)生下一代的父母,并按這個邏輯持續(xù)下去。用這個方法,整體的策略就是持續(xù)的選擇更合適的個體作為父母。實際上,這個神經(jīng)進化的過程是一個ANN自動繁衍的農(nóng)場,計算機基于它們的適應性選擇父母來產(chǎn)生后代。
 
  整個神經(jīng)進化的核心思想是很簡單的:它就是繁衍后代。但基于此之上的事情就變的有趣得多了。在第一代定拓撲神經(jīng)進化算法出現(xiàn)后的幾十年間,研究人員不斷地被現(xiàn)實所打擊。盡管這些算法可以產(chǎn)生新的可能性,它們進化出來的大腦與自然進化的相比還差的非常遠。這個差距的原因有很多,但是這個領(lǐng)域令人著迷的一面就是經(jīng)常會出現(xiàn)對自然進化的新洞察,并帶來神經(jīng)進化算法的大幅度提升。很常見的是這些洞察一般是反直覺的,推翻了之前的一些假定并展現(xiàn)了自然界的神奇之處。伴隨逐步地揭開這些秘密,我們發(fā)現(xiàn)了如何為進化大腦來設(shè)計更厲害的算法。
 
  復雜性增加
 
  在神經(jīng)進化學里取得進步意味著什么呢?一般而言,是意識到可進化的ANN的復雜性的局限,然后發(fā)明一個新的方法來客服這個局限。例如,上世紀八九十年代里的定拓撲算法的一個清晰的局限就是它與自然里的情況明顯不一致:這些算法進化的ANN永遠不能變大。相反的,自然界里的大腦在尺寸和復雜性上都可以沿多個譜系來增大。我們祖先大腦的神經(jīng)元數(shù)量比我們現(xiàn)有的100萬億個神經(jīng)元要少非常多個數(shù)量級。很明顯,如果ANN的拓撲在一開始就固定了,這樣的復雜度是不可能進化出來的。
 
  因此,研究人員開始試驗讓ANN的拓撲和權(quán)重都進化(TWEANN,拓撲權(quán)重全進化人工神經(jīng)網(wǎng)絡(luò))。在這個更靈活的變形版本里,父母ANN的架構(gòu)(拓撲)可以在它們的后代上被稍微地改變,比如新增一個連接或是一個新的神經(jīng)元。盡管這個思想是很簡單的,但它帶來的意義是巨大的,因為這意味著大腦可以進化的更大了。多種TWEANN算法在上世紀九十年代出現(xiàn),盡管它所試圖去解決的問題依然相對簡單,比如對簡單的數(shù)學或是控制問題給出正確的答案。但這個時代的令人興奮之處并不是它解決的問題本身,而是發(fā)現(xiàn)人工進化類似大腦的架構(gòu)和權(quán)重的無限潛力。這種系統(tǒng)的局限當時尚未被發(fā)現(xiàn),因此一切看起來皆有可能。
 
  下面給出一些這個時代的ANN試圖去進化并解決的問題。一個流行的基準問題就是所謂的桿平衡問題。這個問題是要控制一個模擬出來只能往兩個方向運行的小車。小車上通過鉸鏈和一個桿子相連。由ANN控制的小車能越長時間的控制桿子不倒,它的適應得分就越高。這個問題就類似于試圖去平衡一個豎在你手掌里上的鉛筆,它需要仔細地協(xié)調(diào)和快速的反應速度。隨著學習方法的不斷進步,ANN已經(jīng)可以解決更加困難版本的桿平衡問題,比如同時平衡兩個桿子。解決這樣問題的成果標志著這這個領(lǐng)域的進步。研究人員可以宣稱他們的算法是首個解決了一種或另外一種變形的桿平衡的方法。
 
  如果你對這一時期的算法的技術(shù)細節(jié)感興趣,Xin Yao的這篇精彩的1999年神經(jīng)進化算法的回顧論文是好的文獻。大部分這個時期的創(chuàng)新工作都來自Stefano Nolfi和Dario Floreano。他們在2000年的經(jīng)典著作《Evolutionary Robotics》(進化的機器人)里介紹了其中大部分的最佳思想。在世紀之交的另外一本讓進化神經(jīng)網(wǎng)絡(luò)流行的著作是由Fogel寫的經(jīng)典:《Blondie24: Playing at the Edge of AI》,Morgan Kaufmann出版發(fā)行。其中講述了神經(jīng)進化算法通過和人類比賽西洋棋來學到大師級水平的故事。
 
  在1999年,作為德州大學Austin分校的Risto Miikkulainen教授的研究組里的一個低年級博士生,我開始嚴肅地思考研究神經(jīng)進化這個課題。幾個重要的定拓撲算法已經(jīng)在這個研究組里被發(fā)明出來,比如David Moriaty和Faustino Gomez與Risto Miikkulainen發(fā)表的SANE和ESP。這些算法都已經(jīng)很聰明了,已經(jīng)在探索網(wǎng)絡(luò)里的單個神經(jīng)元可以在它們自己的子群體里和其他的神經(jīng)元合作并進化,然后和其他子群體里的神經(jīng)元共同形成一個更大的有用的網(wǎng)絡(luò)。這個想法通常被稱為“合作協(xié)同進化”。
 
  當時我正是處在這些思想發(fā)展的中間,我被大腦的進化可以在計算機里發(fā)生這個想法深深地吸引。我非常欣賞和理解通過進化ANN來解決問題的重要性,但是我真正的興趣是在用進化可以增加復雜性這個想法上的。我希望能開發(fā)出一種算法,它能讓ANN在計算機內(nèi)部探索復雜性,就如同自然界里的大腦所發(fā)生的進化那樣。因為某些原因,甚至是已有的TWEANN算法也能通過對ANN的進化來改變架構(gòu)。不過它們看起來還是缺乏我想得到的讓復雜性顯著增加的能力。
 
  我用了很多時間來研究已有的TWEANN算法,并思考為什么它們并沒有達到如它們可能有的表現(xiàn)。一些問題是已知的。比如競爭協(xié)定問題。它是指很難合并兩個父輩ANN來產(chǎn)生一個后代,這個操作叫“交叉”。更具體一點,不同連接權(quán)重組合出來的網(wǎng)絡(luò)可能有著相同的功能,這使得很難了解如何合并父輩ANN才能獲得好的后代。
 
  我很快就碰到了另外一個問題,但當時并沒有被發(fā)現(xiàn)。比如在一個群體里,新架構(gòu)在尚未發(fā)現(xiàn)它的潛能之前就趨向滅絕。這種情況下,從上一代改變架構(gòu)得到下一代所帶來最初的影響通常可能是負面的,雖然可能在經(jīng)過多代的進化后,最終進化的結(jié)果是可以利用新得到的權(quán)重的。
 
  在我的博士導師Risto Miikkulainen的幫助下,我搜尋一個更好的TWEANN算法的結(jié)果就是一個叫增強拓撲的神經(jīng)進化算法(NeuroEvolution of Augmenting Topologies,NEAT)。這個算法很快就在神經(jīng)進化界得到了認同并被廣泛采用。NEAT算法吸引人的地方就在于它通過一系列的創(chuàng)新回避了TWEANN算法的一些問題,并能通過進化來提升ANN的復雜性。一些早期的算法(比如Inman Harvey的SAGA算法)已經(jīng)提供了復雜性是可以進化的線索。而NEAT算法的亮點就是它給當時的神經(jīng)進化所碰到的問題提供了明確的解決方案。例如,NEAT用一個叫“歷史標記”的東西來標注基因,來確保交叉后的結(jié)果一致。它還實現(xiàn)了一個專門為TWEANN算法設(shè)計的特性,來讓創(chuàng)新性的新架構(gòu)有更大的繁衍機會,從而對從群體里滅絕一些未成熟的架構(gòu)進行了優(yōu)化。
 
  NEAT算法獲得了破紀錄的桿平衡得分。但更重要的是它給出了通過進化在一代一代后獲得從簡單到復雜的潛力。這是這個算法的商標,并激發(fā)了我遠超打破桿平衡紀錄的想像空間。盡管NEAT算法是在“深度學習”這個詞出現(xiàn)之前就已經(jīng)被發(fā)明了,但它有著吸引人的可以進化出越來越深的網(wǎng)絡(luò)的能力。
 
  NEAT算法已經(jīng)被我自己和其他人應用在了無數(shù)的應用里(包括控制機器人和控制電子游戲代理)。它還被發(fā)現(xiàn)了在計算性創(chuàng)新里的一方天地。例如在中佛羅里達大學我自己實驗室里的例子,它進化出的網(wǎng)絡(luò)變成了藝術(shù)品(比如這個Picbreeder)和音樂(比如這個MaestroGenesis)。對它創(chuàng)新性的應用還擴展到諸如Galactic Arms Race這樣的電子游戲。它的存在迫使這個游戲開發(fā)商去開發(fā)新的內(nèi)容。
 
  在它諸多重要的影響里,NEAT一個值得驕傲的應用就是被作為優(yōu)化的方法來在Tevatron粒子加速器上去發(fā)現(xiàn)迄今為止最精確的夸克的質(zhì)量估計(這里可以查看主要結(jié)果,這里是對NEAT應用的更多細節(jié))。這個由YouTube明星Sethbling最近錄制的視頻幫助教育了超過四百萬觀眾。它通過進化一個超級瑪麗游戲的控制器來介紹了NEAT的內(nèi)部工作機制。

  間接編碼
 
  聽起來NEAT像是神經(jīng)進化的最終結(jié)果了。但這個領(lǐng)域的魅力之一就是每次重大的突破經(jīng)常會伴隨著發(fā)現(xiàn)之前不知道的局限或缺陷。而這些局限的發(fā)現(xiàn)相應地又帶來了新的問題并促成了新一代的算法,這個循環(huán)一直在繼續(xù)。事實上,久而久之我們一步步地揭開了一些大自然的秘密——大腦是如何進化出來的。這一過程充滿了無盡的驚喜。
 
  例如,逐步占據(jù)我大腦的NEAT算法的一個局限就是它使用了一種叫做直接編碼的“人工DNA”。這意味著ANN里的每個連接都被基因組里的一個單獨的對應基因所描述。在你只有百這個數(shù)量級的連接的時候,這沒什么事。但如果你想得到的是更大的大腦,它就開始變得不易操作了。舉個例子,人類大腦里有100萬億個連接,在NEAT里就需要有100萬億個基因來編碼。換句話說,盡管NEAT確實能通過進化增加連接和神經(jīng)元數(shù)量來擴展ANN的尺寸,增加100萬億個連接意味著進行100萬億級別的變形。即使能想辦法來每秒進化一次增加一條連接(意味著每秒繁育一代),在100萬億級別的大腦可以被進化出來很久之前,太陽就已經(jīng)湮滅了。因此,NEAT算法必定是忽略了一些自然界里存在的特性。這些特性導致了能在相對短的時間里進化出巨大的腦結(jié)構(gòu)。
 
  為了應對這個挑戰(zhàn),神經(jīng)進化研究人員已經(jīng)探索了另外一類不同的基因編碼方法,叫做間接編碼(相對于直接編碼)。用這種方法,基因的數(shù)量可以比神經(jīng)元和連接的數(shù)量少很多。換而言之,DNA是大腦的一種壓縮表現(xiàn)形式。由Josh Bongard、Greg Hornby和Jordan Pollack等開創(chuàng)的間接編碼(包括對ANN和實際大腦的編碼)工作幫助展示了間接編碼能進化出令人印象深刻的更像自然界中的大腦結(jié)構(gòu)的威力。這些工作包括:進化出來的人工創(chuàng)造物展示了自然界有機體所有的規(guī)律響應性(Bongard的一些作品展示在這里),以及一系列來自Brandeis大學的Hornby和Pollack創(chuàng)造(論文在這里)的令人驚奇的進化出來的帶有有趣結(jié)構(gòu)模式的桌子(那種帶有抬高的平面結(jié)構(gòu))。間接編碼里最能捕獲眼球的(在此之前是在神經(jīng)進化領(lǐng)域得到關(guān)注)展示是Karl Sims的虛擬創(chuàng)造物。這里是20年前拍攝的視頻,但依然極具震撼和令人難忘。
 
  相比于NEAT算法這種直接編碼,神經(jīng)進化里的間接編碼(現(xiàn)在專注于編碼ANN)已經(jīng)讓能進化出更大的ANN成為可能。最流行的間接編碼算法之一是被叫做組合型模式生成網(wǎng)絡(luò)(compositional pattern-producing networks ,CPPNs)。它是在我所在的實驗室——中佛羅里達大學的進化復雜性研究組發(fā)明的,用來應對類似NEAT這樣的直接編碼的局限。CPPN基本上是采用規(guī)則性和對稱性來把一個模式壓縮成相對小的一個基因集合的方法。這個想法是容易理解的,因為自然界里的大腦就有著大量的規(guī)則的模式(像重復的圖案),比如在視覺大腦皮層上的接收區(qū)域里。CPPN網(wǎng)絡(luò)可以編碼相類似的連接模式。
 
  使用CPPN來生成進化中的ANN的連接模式所用的算法(也是來自我所在的實驗室)就叫做HyperNEAT(基于超立方的NEAT算法,Hypercube-based NEAT,由我和David D’Ambrosio和Jason Gauci共同發(fā)明)。之所以叫超立方,是因為按照一種數(shù)學性的解釋,CPPN可以被理解為對于代表一個ANN的連接性的超立方的內(nèi)部進行描繪。利用這一技術(shù),我們開始可以進化具有幾十萬到幾百萬連接的ANN。經(jīng)過間接編碼的ANN已經(jīng)被證明是有用的,特別是對于進化機器人的步伐。因為他們的規(guī)則性的連接模式更容易去支持涉及走和跑的移動的規(guī)律性。其他實驗室也探索了神經(jīng)進化領(lǐng)域的間接編碼技術(shù),比如Jan Koutník、Giuseppe Cuccu、Jürgen Schmidhuber和Faustino Gomez研究的壓縮網(wǎng)絡(luò)方法。
 
  新穎性搜索
 
  現(xiàn)在你已經(jīng)開始看到神經(jīng)進化思想發(fā)展的軌跡了。神經(jīng)進化這個領(lǐng)域從定拓撲網(wǎng)絡(luò)開始,走向了復雜化的網(wǎng)絡(luò),然后開始關(guān)注于間接編碼的網(wǎng)絡(luò)。這些視角和能力的躍進將會伴隨著我們對復雜性的進化獲得更多的洞察而繼續(xù)下去。另外一個近年來具有影響的思想(同樣是來自于我們的實驗室,同時也從Jean-Baptiste Mouret和Stéphane Doncieux的有影響的研究中得到了響應)就是父母不應該總是按照它們的客觀表現(xiàn)來被選擇,而是應該基于它們的新穎性來被選擇。換一種說法,有時可能有些令人驚訝,僅僅只是基于父母當前的適應性來選擇對長遠的成果其實是有害的。例如,考慮進化一個ANN來用于機器人行走。你可能會認為為了得到最好的行走者,目前表現(xiàn)最好的行走者應該被選為產(chǎn)生下一代的父母。但是,事實上卻不是這樣的。
 
  事實上,在早期進化行走能力時,控制行走者最好的ANN可能僅僅是依賴于不靠譜地向前一跳。可能其他的候選ANN干了一些有趣的事情,比如規(guī)律性地擺動機器人的腿。但假設(shè)這些有趣的機器人都摔倒了,按照我們的設(shè)定規(guī)則,我們應該會更選擇那些走了更遠的候選ANN,而把能擺動腿的排除出后續(xù)考慮。但問題是:有可能是更有趣的概念(比如擺動腿)比目前最好的策略(比如前躍)更有可能發(fā)展出行走的機器人。但是適應性并不偏好擺動,僅僅是因為在當前階段它的表現(xiàn)不那么好。換一種說法就是,目前使用的評估最佳行走者的進階石具有欺騙性。對上面的例子來說,從當前表現(xiàn)最好的里面選擇父母ANN有可能把我們帶進死胡同。
 
  這一洞察(與其他考慮結(jié)合在一起)引導我提出了新穎性搜索這個思想(和我的博士學生Joel Lehman一起發(fā)現(xiàn)的)。新穎性搜索是一個選擇模式,它選擇最具新穎性的ANN作為父母而不是基于最適應的這一思想。
 
  這一思想一開始可能聽起來有些怪,因此我們先按下不表。在進化里,有兩種主要的影響進化效果的因素:一個就是表現(xiàn)或是編碼,這在自然界的對應物就是DNA。提升復雜性和間接編碼的工作都可以落入這一類別里。另外一個大的影響因素是系統(tǒng)如何決定誰繁衍后代,即自然選擇。幾乎所有的進化計算學的選擇的重點都放在基于適應性做選擇。但這并不意味著我們必須或是僅僅使用它來選擇,因為這會快速地榨干群體的多樣性,但這也確實意味著更適應者比不太適應者有更多的機會獲得繁衍。
 
  新穎性搜索直接扭轉(zhuǎn)了這個適應性驅(qū)動的范式,在它的選擇模式里完全放棄了常用的適應性的定義(例如行為的質(zhì)量)。相反的,現(xiàn)在計算機關(guān)注每個候選者(例如行走機器人)的表現(xiàn),然后比較它們的行為和上一代的行為。在新穎性搜索里,如果一個新的候選者的行為顯著地不同于它的前輩,它就有更多的機會被選來繁衍后代,而不管它的適應性如何。
 
  這一思想帶來了一些爭議,因為大家更喜歡基于是否成功這個標準來選擇,這可以用適應性來衡量。但很難忽略新穎性有時也能有用這一事實。即有時候你可以通過選擇新穎的來比使用適應性在更短的時間里獲得更好的解決方案。想一下行走機器人的例子。和基于適應性的進化不同,新穎性搜索更可能選擇擺腿但摔倒的那個作為父母,這僅僅是因為它做了一些新鮮的東西。而基于適應的搜索則幾乎一定會因為它很快摔倒而忽略它。但就如我們討論的,事實是擺腿是讓機器人能行走的一個本質(zhì)的進階石。因此,盡管是反直覺地(因為適應性的欺騙性),最好還是忽視你的客觀而簡單地選擇新穎性而不是去提升客觀表現(xiàn)。
 
  這一洞察又一次躍升了我們?nèi)绾嗡伎忌窠?jīng)進化,并引領(lǐng)了一個全新的研究領(lǐng)域叫“質(zhì)量多樣化”或者有時也叫“啟示算法”。這一新類型的算法通常是由新穎性搜素演化出。其主要目標不是要發(fā)現(xiàn)一個單一的最優(yōu)解,而是闡明針對一個任務的可能性的所有高質(zhì)量的變化所帶來的廣泛的交叉部分,就如那些對于一個四足機器人有效的所有的步態(tài)。這種算法的其中一個(叫MAP-Elites,由Jean-Baptiste Mouret和Jeff Clune發(fā)明)出現(xiàn)在近期的《自然》雜志的封面上。因為它發(fā)現(xiàn)了非常大量的這樣的機器人步態(tài)的集合。這些步態(tài)可以在機器人出現(xiàn)損壞的場景下被選擇性地使用。
 
  如果你仔細地想想這一切,新穎性并不是要去解決一個特定的問題,而是去發(fā)現(xiàn)搜索空間里所有存在的有趣的可能性。事實是它能否給你一個最前沿的解決方案僅僅是這整個過程里的一個吸引人的副作用。質(zhì)量多樣性算法(超越新穎性搜索的下一步)把適應性的定義又引入回來,但用的是一個非常小心的方法,從而不會損害對新穎性的探求。其結(jié)果就是一類算法,它們可以在搜索空間里發(fā)散開,同時還能找到可能最好的東西。
 
  這個新方向?qū)τ谏窠?jīng)進化很重要,但更有趣的是注意到這已經(jīng)超越了神經(jīng)進化、機器學習或甚至是計算機科學的范疇。思考一下:有時取得一些值得的東西的最佳方法是避免直接去獲得這它們。這個原則是如此通用,以至于它可以被應用到我們的生活和社會里的很多方面。例如,最佳的提高學生成績的方法可能并不是給予持續(xù)的考試。事實是這一來自神經(jīng)進化的洞察具有如此潛在廣泛的影響并不是偶然的——很自然(也很令人興奮)的,大家協(xié)調(diào)一致地試圖去增強算法的能力來探索所有可能性將會帶來對于創(chuàng)新和進步的廣泛的洞察。
 
  換句話說,當我們試圖去揭開神經(jīng)進化的謎題的時候,我們不僅僅是學習到了計算機算法,還了解到了這個世界是如何在深層次的基礎(chǔ)層面上運作的。這就是我和合作者Joel Lehman要寫《Why Greatness Cannot Be Planned: The Myth of the Objective》(為什么偉大不能被計劃出來:客觀的秘密)這本書的原因。我們希望通過這本書來和大眾分享我們這個領(lǐng)域發(fā)展所帶來的一些更廣泛的影響。我們相信這些影響確實是對計算機科學界以外那些關(guān)注發(fā)明和創(chuàng)新的領(lǐng)域非常重要的。
 
  復興
 
  我在這篇文章的開頭宣稱神經(jīng)進化已經(jīng)復興,但這確切是什么意思?在現(xiàn)實里,這個領(lǐng)域從來沒有真正地消失,很多主力研究人員都一直奮戰(zhàn)在科研的第一線。然而,深度學習的興起必然會把之前很多流失的注意力又帶回了神經(jīng)進化?,F(xiàn)在這一切已經(jīng)開始改變了。
 
  深度學習取得成功的原因之一就是近幾年計算機硬件處理能力的提升。ANN已經(jīng)從能力在近期取得爆炸性增長的并行計算(比如在GPU上)里獲益。很多人認為深度學習里ANN和強大的硬件的聯(lián)姻是唯一且偶然的。其實在神經(jīng)進化領(lǐng)域的某些故事也是處于這種情況的尖端。這就是,和傳統(tǒng)的深度學習一樣神經(jīng)進化也是可以從海量硬件投資里獲益,甚至是更多。與所有進化算法一樣,神經(jīng)進化的優(yōu)點就是ANN的群體天然地可以被并行處理,而且很容易實現(xiàn)。如果你有100個ANN和100個處理器,你就可以同時評估所有100候選網(wǎng)絡(luò)。所花的時間和評估一個是一樣的。這一速度的提升可以急劇地提升和擴展神經(jīng)進化這一方法的潛力。
 
  一種結(jié)果就是那些能夠使用大規(guī)模計算集群的實驗室發(fā)現(xiàn)他們可能正坐在神經(jīng)進化的金礦上面。這會帶來新一代的研究人員和下一代的神經(jīng)進化的試驗,可能卻是從在傳統(tǒng)的深度學習上進行了投資的實驗室里產(chǎn)生。實際上在這些實驗室里已經(jīng)存在著對于可能會錯過一些重要的事情的擔憂存在了
 
  例如,Google Brain(谷歌大腦,谷歌內(nèi)部的人工智能實驗室)已經(jīng)發(fā)表了使用幾百個GPU去試圖進化深度網(wǎng)絡(luò)架構(gòu)的大規(guī)模試驗。其基本想法是神經(jīng)進化可能可以進化出使用隨機梯度下降訓練法的最佳的網(wǎng)絡(luò)架構(gòu)。實際上,這個通過神經(jīng)進化來進行架構(gòu)搜索的想法已經(jīng)在2016和2017年吸引了業(yè)界的主要企業(yè)的注意力,包括谷歌在內(nèi)的Sentient Technologies、MIT Media實驗室、Johns Hopkins大學、卡耐基梅隆大學,這個名單還在變長。點這里和這里可以查看這一領(lǐng)域的一些初期的成果。
 
  另外一個神經(jīng)進化復興的領(lǐng)域就是增強學習。增強學習專注于控制問題和決策問題(比如讓計算機去玩Atari游戲或是控制兩足機器人)。近期OpenAI的一個團隊報道了一個實驗,實驗對一系列的基準測試任務進行了比較,其中包括被廣為報道的谷歌DeepMind AI智庫最早用深度學習方法征服的Atari游戲。結(jié)果顯示一個神經(jīng)進化的變形方法取得了和基于傳統(tǒng)深度學習的增強學習一樣的表現(xiàn)。
 
  神經(jīng)進化領(lǐng)域也同樣沿著它自己獨特的路徑前進著。例如,過去幾年到現(xiàn)在的很多研究依然關(guān)注于如何進化可伸縮的ANN(Plastic ANN)。這些網(wǎng)絡(luò)的連接權(quán)重可以在網(wǎng)絡(luò)的生命周期里發(fā)生改變。即這種場景下的進化不僅決定架構(gòu)和權(quán)重,還決定指導如何和何時權(quán)重發(fā)生改變的規(guī)則。這樣產(chǎn)生的網(wǎng)絡(luò)理論上更像是隨著生命過程改變的生物大腦。我對于可伸縮神經(jīng)網(wǎng)絡(luò)的很多的想法都是受Dario Floreano的早期工作以及后來Andrea Soltoggio的神經(jīng)調(diào)節(jié)思想的影響。神經(jīng)調(diào)節(jié)允許一些神經(jīng)元來調(diào)整其他神經(jīng)元的伸縮性。
 
  另外一個非常合適神經(jīng)進化研究的有趣的也是我最愛的題目是開放式無結(jié)束的進化。即持續(xù)地進化來增加復雜性和有趣的行為而不結(jié)束。地球上很多有關(guān)的進化都是開放式無結(jié)束的,而從發(fā)生在計算機里的相似場景的視角去看則帶來了獨特的靈感。神經(jīng)進化的一個偉大的挑戰(zhàn)就是通過真正的無結(jié)束過程所產(chǎn)生的逐步增加復雜性的大腦的產(chǎn)物。如這里所述的,一個模糊但正在擴大的研究社區(qū)也正在推進無結(jié)束算法的邊界。我感覺開放式無結(jié)束的進化將會和人工智能一起成為計算機科學界的最偉大的挑戰(zhàn)之一。
 
  電子游戲依然是一個流行的應用,不僅僅只是為了控制游戲里的角色,而是為了進化出新的內(nèi)容。如果你思考地球上所有的生命的多樣性,你可以發(fā)現(xiàn)進化算法能成為生成新的多樣內(nèi)容的自然驅(qū)動力。Malta大學的Georgios Yannakakis和紐約大學的Julian Togelius都是他們自己領(lǐng)域的先鋒。在他們的新書《Artificial Intelligence and Games》(人工智能和游戲)里他們展示了很多應用神經(jīng)進化(和其他人工智能算法)在游戲界里的綜述。
 
  參與進來
 
  如果你有興趣進化神經(jīng)網(wǎng)絡(luò),好消息是從神經(jīng)進化開始相對容易一些。有大量的軟件可用(點這里查看),而且對很多人而言不用很高深的專業(yè)知識。繁衍的基本概念是符合直覺的,從而讓掌握神經(jīng)進化的主要思想比較容易。實際上,神經(jīng)進化有著這樣的榮譽,可以讓很多業(yè)余愛好者在自己家里的電腦上成功地進行試驗。如果你在YouTube上搜索“neuroevolution”或“NEAT neural”,你能看到很多這樣的例子。另外一個例子,NEAT算法的最流行和優(yōu)雅的軟件包之一(“SharpNEAT”)就是由一個獨立的軟件工程師開發(fā)的。而他沒有什么學術(shù)聯(lián)系或是受過專業(yè)培訓。
 
  考慮到進化是迄今為止我們唯一知道的真正能產(chǎn)生人類級別智能的方法,神經(jīng)進化領(lǐng)域未來發(fā)展的潛力是巨大的。而伴隨著今日計算能力的增加,產(chǎn)生新洞察的潛力也是巨大的。
 
  在這里可以下一份免費的報告來探索深度學習、無監(jiān)督學習和其他人工智能的前沿成果。
 
  This article originally appeared in English: "Neuroevolution: A different kind of deep learning".
 
  Kenneth O. Stanley
 
  Kenneth O. Stanley是中佛羅里達大學計算機科學的副教授。在這里他領(lǐng)導著進化復雜性(EPlex)研究組。他也是Uber人工智能實驗室的資深研究科學家。可以通過郵箱kenstanley001@gmail.com或是推特賬號@kenneth0stanley聯(lián)系到他。
當AI具有人類大腦的進化能力,機器能產(chǎn)生“智慧”嗎?
  圖片人物:Tim O'Reilly,被美國Magazine和WIRED的“The Trend Spotter”評為“硅谷的預言家”。
 
  “把人工智能在機構(gòu)中用起來”——O'Reilly人工智能大會正在征集講師議題,查看具體要求請點擊這里,截止日期11月7日。
 
 
更多>相關(guān)資訊
0相關(guān)評論

推薦圖文
推薦資訊
點擊排行