您的位置:首頁>正文

穀歌和OpenAI新研究:如何使用達爾文進化論輔助設計人工智慧演算法?

現代機器智慧建立在模仿自然的基礎之上——這一領域的主要目的是在電腦中複製人類通過生物方式具備的強大決策能力。

30 年的發展取得了一些優秀成果, 大多數腦啟發人工智慧技術的進展都圍繞著「神經網路」, 這一術語借用自神經生物學, 其把機器思考描述為被稱作「神經元」的互相連接的數學函數中的資料流程動。 但是自然界也有其他好想法:現在電腦科學家正再次踏入生物進化這一研究領域, 希望通過在人工智慧中植入生物進化元素的方式開發出更智慧更有效的演算法, 恰如數十億年來生物進化塑造了人類大腦一樣。

但是, 首先讓我們回到中學的生物課本上。 簡單地說, 進化(evolution)這一概念表述了有機體基因組中的隨機變化會為其生存帶來了優勢或劣勢的結果, 該思想最早由查理斯·達爾文據此提出, 後人又對其進行了不斷的完善。

如果有機體的基因突變使其獲得了生存和繁殖的機會, 則該突變一直傳遞下去;如果沒有, 則該突變會隨有機體一起消亡。 在演算法的世界, 這被稱為神經進化(neuroevolution)。 人工神經網路是為了複製生物學習單個概念的過程, 而神經進化則是試圖再現構建大腦的部分過程——即適者(強大的或聰明的)生存的過程。

儘管神經進化在 20 世紀 80 年代左右就已被提出, 但隨著研究者在機器學習的不同視角上對其進行研究, 它也正獲得新的關注。 上個月, 穀歌大腦和非營利性組織 OpenAI 分別就神經進化這一主題發表了還未經評議的論文, 穀歌的論文是關於神經進化原理在圖像識別上的應用, 而 OpenAI 的論文則是關於使用工作器(worker)演算法讓一個主演算法學會實現一個任務的最好方法。

為本已複雜的人工智慧研究領域引入生物進化的思想不免使人困惑。 因此, 如果想解決困惑, 就把演算法看作馬吧。 馬一生之中都在學習, 但是它們只在幾個不同的指標上進化, 例如奔跑的速度。 圖像識別的精確度不難獲得, 只是一個數位而已, 馬跑一圈所需要的時間量也是如此。 但是真正使馬跑得更快的東西卻極為複雜——這是一個基於 DNA 的巨大網路, 它能賦予馬生長肌肉、持久奔跑甚至思考的能力。 這種複雜性是演算法底層參數的真實寫照——即一個圖像識別演算法究竟是如何表現得好(或壞)的。 如果你在本文之中的某處卡住了, 做個深呼吸並想像一下馬吧(這也是一個好的人生建議)。

為了這一研究, 谷歌團隊生成了 1000 個圖像識別演算法, 這些演算法使用了現代深度神經網路來訓練以識別一組特殊的圖像;接著, 250 台電腦中的每一台選擇 2 個演算法, 並通過一張圖像的識別任務來測試演算法的精確度。 具有更高精確度的演算法會被保留, 表現欠佳的演算法則被刪除。 接著保留的演算法被複製, 並生成稍作改變的克隆演算法(或「孩子」), 就像人類 DNA 在生育期間隨機改變一樣。 但是這次突變改變的不再是藍眼睛或是紅頭髮, 而是新演算法解讀訓練資料的方式。 接著, 把訓練親代演算法的相同資料用來訓練克隆演算法並將克隆演算法放回到那 1000 個演算法之中, 並再一次開始這一過程。

谷歌的研究者通過神經進化培育出了一個精度高達 94.6% 的演算法, 並且在 4 次重複實驗中都取得了類似的結果(儘管並不完全等同)。 能夠提升該演算法的圖像識別技能的突變被保留(即這些演算法存活), 而引起了演算法性能降低的突變則會被清除。 正如自然界的情況一樣。

穀歌進行的 5 次實驗之間的不同也表明了一個持續存在的問題。 谷歌研究者及該論文合作者 Esteban Real 說, 該演算法常常會在運行到一半時卡住, 似乎不確定是要繼續進化還是停止突變重新開始。 Real 說自然界裡翅膀的進化是這種情況的一個類比:一隻翅膀不會帶來太多幫助, 但是一對翅膀可以使你飛翔。

現在穀歌的團隊正致力於使進化模型更全面地(為了打造一對翅膀)探索不同的突變。 但是這有點棘手。這個團隊只想要演算法以一種限定的方式突變,這樣能使該演算法不會獲得一大堆無用的額外代碼。Real 解釋說:「最壞的情況是我們得到很多的單只翅膀。」

通過主要聚焦於圖像識別,穀歌不僅測試了神經進化解決那些生物大腦所擅長事情的能力,還測試了其解決現代問題的能力。另一方面,OpenAI 則使用了一種更純粹的進化形式來承擔一個不同的任務。

OpenAI 沒有訓練數以千計的演算法以更好地解決一件事情,而是希望使用「工作器」演算法來訓練一個主演算法以完成一項未知的任務,比如玩一個視頻遊戲或在一個 3D 模擬器中行走。這一技術並非教機器如何做決策的主要方式,但卻是一種教機器更有效地學習特定知識的方式,OpenAI 研究者和論文合作者 Tim Salimans 解釋說。這種進化演算法能夠監控工作器的學習方式,並且從根本上學會學習——即,從相同量的資料中提取更多的知識。

為了進行研究,該 OpenAI 團隊設定了 1440 種工作器演算法來玩 Atari 遊戲。這些工作器會一直玩下去直到 Game Over,結束後這些工作器演算法會向主演算法報告各自的得分。生成最好得分的演算法被複製下來(和穀歌的研究一樣),複製版本隨機進行突變。突變後的工作器然後繼續重複上述過程——有益的突變被獎勵,壞的突變被淘汰。

這種方法也有自己的局限性,最主要的是工作器演算法只返回一個數值(高分)到主演算法。有最佳得分的演算法保留下來,但要讓主演算法意識到任何明確的成功行為(move)將需要大量的計算能力。(可以類比為生物上的蟻群:工蟻出去尋找最優的解決方案,蟻后是資訊中心。)換言之,OpenAI 學習的東西大都是關於成功的,零碎的其它東西則學得很少。

時間倒回到上世紀 80 年代,那時候神經進化和神經網路研究領域的大小還差不多。中加州大學的副教授兼 Uber 人工智慧團隊的成員(Uber 收購了他聯合創立的 Geometric Intelligence)Kenneth Stanley 說:

很少有人思考過大腦是如何出現在世界上的,而大腦是智慧在自然界中唯一的概念證明。一些人認為也許創造智慧的最直接方式應該是在電腦中創造一種可以進化的、達爾文式的過程,使其成為小型的人工大腦。

神經網路的騰飛始於三位元電腦科學家。1986 年,David Rumelhart、Geoffrey Hinton 和 Ronald Williams 發表的一篇論文《Learning representations by back-propagating errors》描述了一種可以增強網路從其錯誤中進行學習的能力的演算法——反向傳播(backpropagation)。這個研究成果極大地提升了人工設計的神經網路的效率,但一次即將到來的人工智慧冬天抑制了其進一步的發展——那時候因為人工智慧技術缺乏進展,研究資金被削減了。直到後來 Hinton 等人發表的論文使神經網路變得太有誘惑力之後,更廣泛的電腦科學社區才放棄抵抗。他們的研究表明反向傳播能讓神經網路實現極大的增長,反過來又使得這樣的神經網路能理解遠遠更加複雜的概念。這種網路被冠以「深度」之名——即「深度神經網路(deep neural networks)」,且已經發展成了目前最受歡迎的人工智慧技術。

Stanley 說:「因此,對於類比大腦進化的神經進化這條線,人們的瞭解就出現了一些缺失。」

2002 年的時候,Stanley 的事業剛剛開始,他就寫出了 NEAT 演算法,該演算法可以讓神經網路隨時間進化成更大和更複雜的版本。根據穀歌學術的資料,他的對應性論文《Evolving neural networks through augmenting topologies》已經被引用了至少 1600 次,而且自發表以來,就一直不斷地被深度神經網路設計和神經進化方面的研究所引用。在 2006 年,Stanley 發表了一種可以實現更大規模的神經進化的演算法 Hyper-NEAT,該演算法的靈感來自於 DNA 的編碼能力——DNA 僅需大約 30000 個基因就能編碼帶有數萬億個連接的數十億個生物神經元。(Hyper-NEAT 的全稱是 Hybercube-based NeuroEvolution of Augmenting Topologies。)今天,Stanley 說他很欣喜地看到自己的研究又回歸成為了時代的思潮。

和 Stanley 一樣,OpenAI 和穀歌也正在研究來自這個領域的兩種不同的思想。穀歌的混合方法將經典的神經進化和反向傳播等技術結合到了一起,從而實現了現在非常強大的深度學習:教一個演算法如何在世界中採取行動,讓其進化,而該演算法的「孩子」將具有大多數積累的知識。OpenAI 的方法更類似于生物的進化方式。該團隊在每一代僅允許隨機突變來主宰該網路提升或失敗的方式,也就是說其提升是完全通過隨機進化創造的。這兩項研究都有非常明確的目標——識別圖像或在遊戲中獲得高分(即使馬跑得更快)。該演算法將如何實現目標就要看造化了。

以下是對穀歌和 OpenAI 的這兩項研究的摘要介紹:

穀歌論文:圖像分類器的大規模進化(Large-Scale Evolution of Image Classifiers)

神經網路已被證明能有效地解決困難問題,但它們的架構的設計難度可能非常大,甚至只是對單獨的圖像分類問題也是如此。進化演算法(evolutionary algorithm)是一種能用於自動發現這些網路的技術。儘管進化模型(evolving model)有顯著的計算要求,但我們的研究表明今天已經可以使用進化模型實現媲美大型的人工設計的架構了。我們在前所未有的規模上使用了簡單的進化技術來發現用於 CIFAR-10 和 CIFAR-100 資料集的模型,並且是從簡單平常的初始條件開始的。為了實現目標,我們使用了全新的和直觀的突變運算元(mutation operator),其可以在大型搜索空間中尋找方向。我們要強調:一旦進化開始,其就不再需要人類的參與了,然後其會輸出一個完全訓練好的模型。在這項研究中,我們特別強調了結果的可重複性、輸出結果的可變性和對計算的要求。

OpenAI 論文:用作強化學習的可擴展替代的進化策略(Evolution Strategies as a Scalable Alternative to Reinforcement Learning)

我們探索了進化策略(Evolution Strategies/ES)的使用,這是一類黑箱的優化演算法,可作為 Q-學習和策略梯度等流行的強化學習方法的替代。在 MuJoCo 和 Atari 上的實驗表明 ES 是一種可行的解決策略,其可以很好地擴展到多個可用的 CPU 上:通過使用數百到數千個並行的工作器(worker),ES 可以在 10 分鐘內解決 3D 人形行走的問題,而且在一小時的訓練之後可以在大多數 Atari 遊戲上實現很有競爭力的結果。此外,我們還突出強調了作為一種黑箱優化技術的 ES 的幾個優勢:動作頻率和延遲的獎勵對其不會產生影響、能包容非常長的時間、不需要時間貼現(temporal discounting)或價值函數近似(value function approximation)。

作者:Dave Gershgorn

機器之心編譯

但是這有點棘手。這個團隊只想要演算法以一種限定的方式突變,這樣能使該演算法不會獲得一大堆無用的額外代碼。Real 解釋說:「最壞的情況是我們得到很多的單只翅膀。」

通過主要聚焦於圖像識別,穀歌不僅測試了神經進化解決那些生物大腦所擅長事情的能力,還測試了其解決現代問題的能力。另一方面,OpenAI 則使用了一種更純粹的進化形式來承擔一個不同的任務。

OpenAI 沒有訓練數以千計的演算法以更好地解決一件事情,而是希望使用「工作器」演算法來訓練一個主演算法以完成一項未知的任務,比如玩一個視頻遊戲或在一個 3D 模擬器中行走。這一技術並非教機器如何做決策的主要方式,但卻是一種教機器更有效地學習特定知識的方式,OpenAI 研究者和論文合作者 Tim Salimans 解釋說。這種進化演算法能夠監控工作器的學習方式,並且從根本上學會學習——即,從相同量的資料中提取更多的知識。

為了進行研究,該 OpenAI 團隊設定了 1440 種工作器演算法來玩 Atari 遊戲。這些工作器會一直玩下去直到 Game Over,結束後這些工作器演算法會向主演算法報告各自的得分。生成最好得分的演算法被複製下來(和穀歌的研究一樣),複製版本隨機進行突變。突變後的工作器然後繼續重複上述過程——有益的突變被獎勵,壞的突變被淘汰。

這種方法也有自己的局限性,最主要的是工作器演算法只返回一個數值(高分)到主演算法。有最佳得分的演算法保留下來,但要讓主演算法意識到任何明確的成功行為(move)將需要大量的計算能力。(可以類比為生物上的蟻群:工蟻出去尋找最優的解決方案,蟻后是資訊中心。)換言之,OpenAI 學習的東西大都是關於成功的,零碎的其它東西則學得很少。

時間倒回到上世紀 80 年代,那時候神經進化和神經網路研究領域的大小還差不多。中加州大學的副教授兼 Uber 人工智慧團隊的成員(Uber 收購了他聯合創立的 Geometric Intelligence)Kenneth Stanley 說:

很少有人思考過大腦是如何出現在世界上的,而大腦是智慧在自然界中唯一的概念證明。一些人認為也許創造智慧的最直接方式應該是在電腦中創造一種可以進化的、達爾文式的過程,使其成為小型的人工大腦。

神經網路的騰飛始於三位元電腦科學家。1986 年,David Rumelhart、Geoffrey Hinton 和 Ronald Williams 發表的一篇論文《Learning representations by back-propagating errors》描述了一種可以增強網路從其錯誤中進行學習的能力的演算法——反向傳播(backpropagation)。這個研究成果極大地提升了人工設計的神經網路的效率,但一次即將到來的人工智慧冬天抑制了其進一步的發展——那時候因為人工智慧技術缺乏進展,研究資金被削減了。直到後來 Hinton 等人發表的論文使神經網路變得太有誘惑力之後,更廣泛的電腦科學社區才放棄抵抗。他們的研究表明反向傳播能讓神經網路實現極大的增長,反過來又使得這樣的神經網路能理解遠遠更加複雜的概念。這種網路被冠以「深度」之名——即「深度神經網路(deep neural networks)」,且已經發展成了目前最受歡迎的人工智慧技術。

Stanley 說:「因此,對於類比大腦進化的神經進化這條線,人們的瞭解就出現了一些缺失。」

2002 年的時候,Stanley 的事業剛剛開始,他就寫出了 NEAT 演算法,該演算法可以讓神經網路隨時間進化成更大和更複雜的版本。根據穀歌學術的資料,他的對應性論文《Evolving neural networks through augmenting topologies》已經被引用了至少 1600 次,而且自發表以來,就一直不斷地被深度神經網路設計和神經進化方面的研究所引用。在 2006 年,Stanley 發表了一種可以實現更大規模的神經進化的演算法 Hyper-NEAT,該演算法的靈感來自於 DNA 的編碼能力——DNA 僅需大約 30000 個基因就能編碼帶有數萬億個連接的數十億個生物神經元。(Hyper-NEAT 的全稱是 Hybercube-based NeuroEvolution of Augmenting Topologies。)今天,Stanley 說他很欣喜地看到自己的研究又回歸成為了時代的思潮。

和 Stanley 一樣,OpenAI 和穀歌也正在研究來自這個領域的兩種不同的思想。穀歌的混合方法將經典的神經進化和反向傳播等技術結合到了一起,從而實現了現在非常強大的深度學習:教一個演算法如何在世界中採取行動,讓其進化,而該演算法的「孩子」將具有大多數積累的知識。OpenAI 的方法更類似于生物的進化方式。該團隊在每一代僅允許隨機突變來主宰該網路提升或失敗的方式,也就是說其提升是完全通過隨機進化創造的。這兩項研究都有非常明確的目標——識別圖像或在遊戲中獲得高分(即使馬跑得更快)。該演算法將如何實現目標就要看造化了。

以下是對穀歌和 OpenAI 的這兩項研究的摘要介紹:

穀歌論文:圖像分類器的大規模進化(Large-Scale Evolution of Image Classifiers)

神經網路已被證明能有效地解決困難問題,但它們的架構的設計難度可能非常大,甚至只是對單獨的圖像分類問題也是如此。進化演算法(evolutionary algorithm)是一種能用於自動發現這些網路的技術。儘管進化模型(evolving model)有顯著的計算要求,但我們的研究表明今天已經可以使用進化模型實現媲美大型的人工設計的架構了。我們在前所未有的規模上使用了簡單的進化技術來發現用於 CIFAR-10 和 CIFAR-100 資料集的模型,並且是從簡單平常的初始條件開始的。為了實現目標,我們使用了全新的和直觀的突變運算元(mutation operator),其可以在大型搜索空間中尋找方向。我們要強調:一旦進化開始,其就不再需要人類的參與了,然後其會輸出一個完全訓練好的模型。在這項研究中,我們特別強調了結果的可重複性、輸出結果的可變性和對計算的要求。

OpenAI 論文:用作強化學習的可擴展替代的進化策略(Evolution Strategies as a Scalable Alternative to Reinforcement Learning)

我們探索了進化策略(Evolution Strategies/ES)的使用,這是一類黑箱的優化演算法,可作為 Q-學習和策略梯度等流行的強化學習方法的替代。在 MuJoCo 和 Atari 上的實驗表明 ES 是一種可行的解決策略,其可以很好地擴展到多個可用的 CPU 上:通過使用數百到數千個並行的工作器(worker),ES 可以在 10 分鐘內解決 3D 人形行走的問題,而且在一小時的訓練之後可以在大多數 Atari 遊戲上實現很有競爭力的結果。此外,我們還突出強調了作為一種黑箱優化技術的 ES 的幾個優勢:動作頻率和延遲的獎勵對其不會產生影響、能包容非常長的時間、不需要時間貼現(temporal discounting)或價值函數近似(value function approximation)。

作者:Dave Gershgorn

機器之心編譯

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示