Uber提出有創造力的POET:自行開發更困難環境和解決方案
近日,Uber 發文介紹了一種開放式方法 POET(Paired Open-Ended Trailblazer),可自行開發難度遞增的環境及其解決方案,還可以實現不同環境中的智能體遷移,促進進化。
Uber AI 實驗室注重開放性(open-endedness),開放性為機器學習自行開發多樣化和不斷增加的「課程」提供可能。擁有海量數據通常能夠助力機器學習取得成功,因此 Uber 正在努力設計能夠無限量生成自己所需訓練數據的演算法。
在普通的機器學習實踐中,研究人員確定一個特定問題(例如像 ImageNet 這樣的分類問題或者像《蒙特祖瑪的復仇》這樣的電子遊戲),然後重點尋找或設計一個可實現最佳性能的演算法。然而,有時我們不僅僅想解決已知問題,未知問題也十分重要。這些可能是對暴露(和解決)問題至關重要的邊緣案例(如安全應用),但也可能是重要的基石,其解決方案可能有助於在更具挑戰性的問題上取得進展。因此,Uber 正在探索不斷提出越來越複雜和多樣化的問題及解決方案的演算法。
要生成問題和解決方案的一個重要原因是,這是解決一系列極其困難的挑戰的唯一現實方法。要了解其中原因,請類比課程在教育中的重要作用。為什麼要設置課程呢?因為如果沒有事先掌握基礎技能,就很難學習高級技能或概念。這個原則不僅適用於課堂上的學生,也適用於學習演算法:正如這個項目的結果所示(不久後會公開),如果將難以或不可能直接學習的任務分解成一個個「墊腳石」任務,那事情就變得簡單多了,實際上這就是課程的作用。
然而,雖然原則上課程對某些任務來說必不可少,但在實踐中我們面臨的問題是,我們不知道適合給定任務的課程是什麼,而且我們也不知道能夠學習的任務範圍,要是它們會在正確的時間和順序受到攻擊就好了。事實上,我們很快會發現,最好的課程往往是反直覺的,甚至是逆向的(即學習難的任務會為簡單的任務找到更好的解決方案)。因此,雖然課程通常是手動設計的,但只有讓在學習者學習課程的同時設計課程,才能揭示所有可能的課程內容。
開放性展示了自生成課程和許多其它課程的好處:在最好的情況下,它可以無限地生成新任務,智能體也能夠解決日益多樣化和複雜的挑戰。
自然進化是研究開放性的最初靈感來源之一,其複雜性近乎永恆。進化實際上是一個無限的過程,它在這條不斷向前的路上創造了地球上所有形式的生命,這個過程仍在繼續。值得注意的是,人類智能的產生也來自這個過程。雖然進化計算領域受開放性的啟發,但沒有任何進化演算法接近自然,它們更像收斂到全局最優的傳統機器學習演算法,而不是生成一個能遍歷所有可能生命形式的生命之樹(或者更抽象地說,是一系列挑戰(比如夠著高高樹上的葉子)和解決方案(比如長頸鹿和毛毛蟲))。
雖然關於開放性的以往研究主要集中在創造人工世界(通常與人造生命領域相關),例如 Tierra、Avida、Evosphere 和 Chromaria,但深度神經進化的最新進展使開放性變得實用,並可以與機器學習相結合。與傳統的進化演算法(如遺傳演算法、進化策略等)相比,這可以歸類為黑箱優化,受開放性概念啟發的現代神經進化演算法更側重於發散(divergence)和發現「踏腳石」,例如查新(novelty search)、局部競爭查新、MAP-Elites、最小標準協同進化(MCC)、創新引擎(Innovation Engines)和 CMOEA。有趣的是,Uber AI 實驗室最近取得了一項名為 Go-Explore 的突破,它在《蒙特祖瑪的復仇》和 Pitfall 中取得了破紀錄的表現,這項突破也受到了這些想法的啟發。最小標準協同進化(MCC)演算法尤其值得注意,它突出了在協同進化動態中創建新環境的潛力,儘管它沒有採取在其環境中明確優化解決方案的步驟。此外,創新引擎引入了在不同任務間切換目標的想法,即將智能體從一個環境遷移到另一個更優的環境,從而利用一組不斷擴展的「踏腳石」來促進發展。
POET 概要
Uber 發布了 Paired Open-Ended Trailblazer (POET),它結合了這些想法,明確地將這一系列研究推向生成新的任務、優化解決方案,以及在任務間遷移智能體,以實現其它方案無法取得的進展。為了證明這一方法,Uber 研究人員將 POET 用於創建和解決兩足步行環境(改編自 OpenAI Gym 中的 BipedalWalker 環境),其中每個環境 E_i 與一個神經網路控制的智能體 A_i 配對,該智能體 Ai 嘗試學習如何在該環境行走。下圖展示了示例環境和智能體:
圖 1:兩足步行環境示例。
圖 2:POET 概覽。
如圖 2 所示,POET 開始於一個與隨機初始化的智能體 A_0 配對的簡易環境 E_0,然後不斷增長,不過環境和智能體一直是一對一配對的。在整個過程中,POET 旨在實現兩個目標:(1) 將環境向多樣性和複雜性演化;(2) 優化智能體以求解其配對環境。在單次運行期間,POET 會產生一系列複雜的環境及其解決方案。下圖展示了 POET 發現的一個有趣的環境和解決方案:
圖 3:POET 發現的有趣環境和解決方案示例。
為了進化環境,POET 首先決定當前有哪些環境適合復現,判定標準是配對智能體必須滿足的分數閾值。此要求可避免將計算資源浪費在當前過於困難的問題上。接下來,適當的環境突變(複製並稍微更改)以生成候選子環境,其配對智能體初始化為與母環境中相同的智能體。最後,POET 評估候選子環境,按最小標準篩選,根據新穎性排名,最後納入排名最高的候選環境。在這項工作中,最小標準是配對智能體適應度分數的下限和上限,它過濾掉對於當前智能體群體而言過於簡單或過於複雜的環境。新穎性為創造更多樣化的環境(挑戰)帶來壓力——這是對候選環境與先前環境異同的定量測量。鑒於計算資源受限,一旦環境數量達到上限,在接納新環境前,POET 將刪除最舊的環境。
在這些實驗中,研究者使用最新的進化策略(ES)變體來優化智能體以獲得最大的環境回報,但任何強化學習或黑箱優化演算法都可以實現。大多數情況下,智能體都經過了優化,可以在與其配對的環境中進行改進。重要的是,POET 還會定期進行遷移實驗,以驗證在一個環境中優化的智能體是否可以作為在另一環境中獲得更好性能的「跳板」。這樣,通過遷移測試,POET 可以充分利用其多個智能體—環境對的多樣性,即不會錯過任何利用現有「跳板」的機會。存在兩種類型的遷移(圖 4):直接遷移,來自源環境的智能體在目標環境中直接進行評估,以及提議遷移(proposal transfer),智能體在目標環境中執行一個 ES 優化步驟(以防將有用的技能從源環境遷移到目標環境時需要一些優化)。如果遷移後的結果更好,則替換目標環境中的現有配對智能體。
圖 4:POET 有兩種類型的遷移:直接遷移和提議遷移。只有遷移在目標環境上的性能優於當前配對智能體時,遷移才會發生(由虛線表示)。
觀察開放式發現
遷移可以產生意想不到的效果,這些效果都是產生重要進化的「跳板」。在一個示例中,原始環境是平坦的地面,其配對的智能體學習在沒有完全站立的情況下向前移動。該步態表示局部最優,因為如果智能體直立,可以實現更有效的步態。在迭代 400 次後,該環境生成帶有路障的子環境。最初的子智能體從母環境中繼承了低膝行走步態,這樣可以實現在惡劣的環境中移動,但是它經常會因為以前沒有遇到過的障礙而出錯。最終,子環境中的智能體學會站起來並跳過障礙。
然後,在一個證明遷移潛力的演示中,該技能在 1175 次迭代時被遷移回母環境。現在,原始平坦環境中的智能體是直立的智能體,這樣搜索過程就脫離了低膝局部最優。這個新的直立策略專註於新的平坦環境,能產生更快的步態。在不允許遷移的情況下,我們在平坦環境中對原始的低膝步態進行了長時間的優化,從而確認了如果沒有遷移就不會發現這種更有效的直立步態(即,搜索陷入局部最優)。
上面一部分形象地展示在原文圖5中,讀者可查閱原文。
通過改變舊環境創建新環境,POET 實際上是構建多個重疊的課程。從目前的「踏腳石」中合理地解決環境的最低標準意味著課程正逐漸建立,新穎性激發了各種挑戰,而這些挑戰都發生在同一個階段。在一次運行中不斷產生此類解決方案的能力本身就很有趣,但是如果所獲得的技能不能直接從頭開始學習,那麼這種能力的重要性就凸顯出來了。更有趣的是,這些高級技能的對應課程本身並不容易被人類事先構想出來。換句話說,如果我們逐步引導學習者完成針對最終目標環境的一系列人為設計的難度升級任務,仍然無法達到 POET 掌握的技能,該怎麼辦?這個假設意味著 POET 需要找到解決方案和引導它們的課程。
Uber 研究人員通過收集由 POET 生成和解決的困難環境來驗證這一假設,然後設計簡單的增量課程,以便從頭開始重新實現相同端點。每個簡單的課程都反映了這樣一個事實:逐漸增加課程難度——無解!實際上,如圖 6 所示,對 POET 以這種方式發現的在更具挑戰性的環境中的行為進行的復現嘗試都沒有實現。
圖 6 中的每個玫瑰圖是一組實驗,其中紅色五邊形表示 POET 創建和解決的環境。每個五邊形的五個頂點表示粗糙度、間隙和障礙寬度的上下限。以紅色五邊形為目標,五個藍色五邊形表示五種獨立運行的直接路徑課程式控制制演算法(使用相同的 ES 優化演算法)能夠解決的最接近目標的環境。課程從簡單、平坦的環境開始,每當問題充分解決時(根據 POET 中的相同標準),環境會稍微改變,使其更接近目標環境(與 POST 相同的環境變化數量)。顯然,控制演算法不僅無法解決 POET 創建和解決的環境,而且可解決的環境範圍比起 POET 的範圍窄得多(這意味著 POET 智能體可以處理更廣泛的多樣性),這兩者都證明了 POET 優於直接建立課程。
圖 6:基於課程的學習(藍色)無法在 POET 發明的各種挑戰性環境中復盤 POET 的表現(紅色)。請注意,每個藍色五邊形都是基於直接路徑課程的控制的運行,始終未能達到紅色目標的水平。
結論和未來的工作
由於其發散和對「墊腳石」的充分利用,POET 實現了廣泛的技術應用,這可能是任何傳統方式都無法實現的。此外,POET 能夠自己創造挑戰,而不是依賴人類創造。許多挑戰和解決它們的技能集都是在一次運行中發現的,而不是依賴於不同運行的隨機初始化和特性來產生興趣多樣性。原則上,通過對環境空間進行更複雜的編碼,POET 可以長期持續甚至無限地創建新的挑戰及其解決方案。開放性之所以吸引人,不僅因其在提供困難問題解決方案和所需技能方面有實際價值,還因為它令我們吃驚的創造力。由於有這種驚喜存在,POET 的輸出通常很有趣,POET 也不依賴用於優化的學習演算法,因此它可以與任何 RL(或其他)方法結合。
最終,Uber 設想將 POET 從這一概念初步證明中的 2D 障礙課程擴展到廣泛的相關領域,以實現更多開放式發現。例如,雖然 parkour 已經在人類設計的障礙課程中進行 3D 探索,但 POET 可以同時為他們發明全新課程和解決方案。POET 同樣可以生產吸引人的新型軟體機器人,以應對只有軟體機器人才能解決的獨特挑戰。在更實際的層面上,它可以生成自動駕駛的模擬測試課程,既可以展示邊緣案例,也可以展示解決方案。甚至更奇特的應用,例如發明新的蛋白質或化學過程,以解決各種應用領域中的問題。任何問題空間都有可能產生不同的變化,POET 可以為它們開闢道路。
該研究的相關論文已發布,介紹了更多技術細節,源代碼稍後也會發布。
※Facebook開源NLP建模框架PyText,從論文到產品部署只需數天
※開源一年多的模型交換格式ONNX,已經一統框架江湖了?
TAG:機器之心 |