玩遊戲勝過人類:全新增強學習算法,或助AI向真正智能學習體進化
圖片來源@視覺中國
文丨學術頭條
近年來,人工智能(AI)在強化學習算法的加持下,取得了令人矚目的成就。比如在圍棋、星際爭霸 II 和 Dota 2 等諸多策略、競技類遊戲中,AI 都有着世界冠軍級的表現,以及在機器人跑步、跳躍和抓握等技能的自主學習方面,也起到了顯著的推動作用。
如今,AI 可能要變得更 “聰明” 了。
作為機器學習的一大關鍵領域,強化學習側重如何基於環境而行動,其靈感來源於心理學中的行為主義理論,即有機體如何在環境給予的獎勵或懲罰的刺激下,逐步形成對刺激的預期,產生能獲得最大利益的習慣性行為。
但是,這種算法思路有着明顯的短板:許多成功案例都要通過精心設計、信息量大的獎勵機制才能實現,當遇到很少給予反饋的複雜環境時,強化學習算法就很容易碰壁。因此,過往的 AI 難以解決探索困難(hard-exploration)的問題,這類問題通常伴隨着獎勵稀疏(sparse)且會有欺騙性(deceptive)的獎勵存在。
今天,一項發表在《自然》(Nature)雜誌的研究提出了一類全新的增強學習算法,該算法在雅達利(Atari 2600)經典遊戲中的得分超過了人類頂級玩家和以往的 AI 系統,在《蒙特祖馬的復仇》(Montezuma’s Revenge)和《陷阱》(Pitfall!)等一系列探索類遊戲中達到了目前最先進的水平。
論文的主要作者來分別來自 OpenAI 和 Uber AI Labs,他們將這類算法統稱為 Go-Explore,該類算法改善了對複雜環境的探索方式,或是 AI 向真正智能學習體進化邁出的重要一步。事實上,Uber AI Labs 早在 2018 年就對外展示了 Go-Explore 算法在探索遊戲中的表現。
圖|Go-Explore 在探索遊戲中的表現(來源:YouTube)
AI 探索能力受阻的癥結論文的第一作者和通訊作者阿德里安・埃科菲特(Adrien Ecoffet)目前是 OpenAI 的研究科學家,其興趣是強化學習(特別是探索和質量多樣性激發的方法)和人工智能安全(特別是道德一致性),近年來的側重一直在研究多代理環境中的緊急複雜性,在進入 OpenAI 之前,他還曾在 Uber AI 實驗室就職。
想要讓強化學習算法更進一步,就需要對症下藥。埃科菲特和同事們分析認為,有兩個主要問題阻礙了以前算法的探索能力。
第一是 “分離”(detachment),算法過早地停止返回狀態空間的某些區域,儘管有證據表明這些區域仍是有希望的。當有多個區域需要探索時,分離尤其可能發生,因為智能體可能會部分探索一個區域,切換到第二個區域,並且忘記如何訪問第一個區域。
第二個是 “脱軌”(derailment),算法的探索機制阻止智能體返回到以前訪問過的狀態,直接阻止探索或迫使將探索機制最小化,從而不會發生有效的探索。
怎麼理解這些概念呢?這還得從 Go-Explore 算法推出之前説起。簡單來講,為了解決探索類遊戲中獎勵稀疏的問題,算法科學家們通常採用內在獎勵(intrinsic motivation,IM)的方法,即獎勵被人為均勻地分佈在整個環境中,以鼓勵智能體探索新區域和新狀態。
圖|“分離” 狀態的圖解(來源:arXiv)
如上圖所示,綠色區域表示內在獎勵,白色區域表示沒有內在獎勵的區域,紫色區域表示算法當前正在探索的區域。
舉個例子,當智能體處在兩個迷宮入口之間,它先從左邊的迷宮開始隨機搜索,由於 IM 算法要求智能體隨機嘗試新行為以找到更多的內在獎勵的機制,在搜索完左邊迷宮的 50% 時,智能體可能會在任意時刻開始對右邊的迷宮進行搜索。
但是,深度學習自身有着 “災難性遺忘”(Catastrophic Forgetting)的問題,這指的是利用神經網絡學習一個新任務的時候,需要更新網絡中的參數,但是上一個任務提取出來的知識也是儲存在這些參數上的,於是每當學習新的任務時,智能體就會把學習舊任務得到的知識給遺忘掉,而不能像人類那樣在學習中可以利用先前學習過的經驗和知識,快速地進行相似技能的學習。
所以,在完成右邊的搜索後,智能體並不記得在左邊迷宮中探索的事情,更糟糕的情況是,左邊迷宮前期的一部分區域已經被探索過了,因而幾乎沒有可獲得的內在獎勵去刺激智能體深入探索。研究人員將這種狀況總結為:算法從提供內在動機的狀態範圍分離開了。當智能體認為已經訪問過這些區域了,深入探索行為可能就會停滯,因而錯過那些仍未探索到的大片區域。
天真地遵循獎勵機制可能會導致智能體進入死衚衕。因此,探索問題的癥結就在於明確避免 “分離” 和 “脱軌” 情況的發生,讓智能體通過顯式 “記住” 有希望的狀態和區域,並在探索新領域前能返回到這些狀態。
Go-Explore 的算法邏輯為了避免分離,Go-Explore 建立了一個智能體在環境中訪問過的不同狀態的 “檔案”,從而確保狀態不會被遺忘。如下圖,從一個只包含初始狀態的存檔開始,它不斷迭代構建這個存檔。
圖|Go-Explore 方法概覽(來源:Nature)
首先,它可能從存檔中選擇要返回的狀態(a),返回到所選狀態(b),然後從該狀態探索(c),將返回和探索過程中遇到的每個狀態映射到低維單元表示(d),用遇到的所有新狀態更新存檔(e)。
整個過程讓人想起經典的規劃算法,在深度強化學習研究中,這些算法的潛力相對未被重視。然而,對於強化學習領域所關注的問題(如上述在 Atari 遊戲中的探索困難問題),這些問題是高維的,具有稀疏的獎勵和 / 或隨機性,沒有已知的規劃方法是有效的,且由於需要探索的狀態空間太大,無法進行徹底搜索,而隨機轉換使得不可能知道節點是否已經完全擴展。
Go-Explore 可以看作是將規劃算法的原理移植到這些具有挑戰性的問題上。
以往的強化學習算法並沒有將返回和探索分開,而是在整個過程中混合探索,通常是在一小部分時間內添加隨機動作,或者從隨機 “策略” 中採樣 —— 這是一個決定在每個狀態下采取哪種動作的函數,通常是一個神經網絡。
通過在探索之前先返回,Go-Explore 通過在返回時最小化探索來避免脱軌發生,之後它可以純粹專注於更深入的探索未知區域。
Go-Explore 還提供了一個獨特的機會來實現模擬器在強化學習任務中的可用性和廣泛性,模擬機是 “可恢復的環境”,因為以前的狀態可以保存並立即返回,從而完全消除了脱軌。
在利用可恢復環境的這一特性時,Go-Explore 在其 “探索階段” 通過不斷恢復(從其檔案中的一個狀態採取探索行動)以徹底探索環境的各個區域,它最終返回它找到的得分最高的軌跡(動作序列)。
這樣的軌跡對隨機性或意外的結果並不可靠。例如,機器人可能會滑倒並錯過一個關鍵的轉彎,使整個軌跡失效。為了解決這個問題,Go-Explore 還通過 “從演示中學習”(learning from demonstrations,LFD)的方式來訓練一個健壯的策略,其中探索階段的軌跡取代了通常的人類專家演示,在一個具有足夠隨機性的環境變體中確保健壯性。
成效如何?Atari benchmark 套件是強化學習算法的一個重要基準,是 Go-Explore 的一個合適的測試平台,因為它包含了一系列不同級別的獎勵稀疏性和欺騙性的遊戲。
在測試中,Go-Explore 的平均表現都是 “超級英雄”,在 11 個遊戲比賽測試中都超過了之前算法的最高水平。在 Montezuma’s Revenge 中,Go-Explore 的戰績是此前最先進分數的四倍;在 Pitfall! 中,Go-Explore 的探索能力超過了人類的平均表現,而以前的諸多算法根本無法得分,實驗結果展現出了實質性的突破,這是強化學習多年來研究的焦點。
圖|Go-Explore 在遊戲 Montezuma’s Revenge 中的表現(來源:YouTube)
圖|Go-Explore 在遊戲 Pitfall! 中的表現(來源:YouTube)
值得關注的是,不同的算法需要使用不同的計算能力。Go-Explore 處理的幀數(300 億)與其他分佈式強化學習算法,比如 Ape-X(220 億)和 NGU(350 億)很相似,儘管舊的算法處理的幀數通常較少,但其中許多算法顯示出收斂的跡象(這意味着預計不會有進一步的進展),而且對於其中的許多算法來説,尚不清楚它們是否能夠在合理的時間內處理數十億幀。
圖|Go-Explore 在 Atari 平台遊戲中的強力表現(來源:Nature)
此外,Go-Explore 的能力不僅限於困難的探索問題,它也為 OpenAI gym 提供的所有 55 款 Atari 遊戲找到了具有超人得分的軌跡,這是前所未有的壯舉,在這些遊戲中,85.5% 的遊戲軌跡得分高於此前最先進的強化學習算法。
研究人員表示,在實際應用中,通常可以根據領域知識定義有用的特徵,Go-Explore 可以利用這些易於提供的領域知識,通過構造只包含與探索相關的功能單元來顯著提高性能,Go-Explore 生成的策略,在 Montezuma’s Revenge 中平均得分超過 170 萬,超過了現有技術的 150 倍。
不僅在探索類遊戲中的表現突出,Go-Explore 還能用於機器人。
機器人技術是強化學習一個很有前途的應用,通常很容易定義機器人任務的高層次目標(比如,將杯子放在櫥櫃中),但定義一個足夠密集的獎勵函數要困難得多(比如,獎賞所有低級別的運動指令,以便形成向杯子移動、抓住杯子等操作)。
而 Go-Explore 允許放棄這樣一個密集的獎勵函數,只考慮高級任務的稀疏獎勵函數。
圖|Go-Explore 可以解決一個具有挑戰性的、稀疏獎勵的模擬機器人任務(來源:Nature)
研究人員通過一個機械臂模擬實驗,演示了 Go-Explore 可以解決一個實際的艱難探索任務:機器人手臂必須拿起一個物體並將其放在四個架子中的一個架子內,其中兩個架子在閂鎖的門後,只有當物品被放入指定的目標貨架時,才會給予獎勵。
用於連續控制的最先進的強化學習算法近端策略優化(PPO)在這種環境中訓練了 10 億幀後,不會遇到任何獎勵,顯示了這個任務的艱難探索性質,而 Go-Explore 在探索階段就能快速而可靠地發現將物體放入四個架子的軌跡,通過對 Go-Explore 發現的軌跡進行穩健性分析,發現可以在 99% 的情況下產生穩健的策略。
更多可能性基於策略的 Go-Explore 還包括促進探索和穩定學習的其他創新,其中最重要的例如自模仿學習、動態熵增加、軟軌跡和動態事件限制,在論文方法部分進行了詳細討論。
研究人員表示,這項工作提出的 Go-Explore 算法家族的有效性表明,它將在許多領域取得進展,包括機器人技術、語言理解和藥物設計等,論文中提到的實例只代表了 Go-Explore 可能實現的一小部分能力,為未來的算法研究打開許多令人興奮的可能性。
據論文描述,未來工作的一個關鍵方向是改進學習單元表徵,比如通過基於壓縮的方法、對比預測編碼或輔助任務,這將使 Go-Explore 能夠推廣到更復雜的領域。
此外,Go-Explore 探索階段的規劃性質也突出了將其他強大的規劃算法(如 MCTS、RRT 等)移植到高維狀態空間的潛力,這些新的思路結合提供了豐富的可能性,以提高算法的通用性、性能、魯棒性和效率。
這項工作中提出的見解讓人們發現,記憶以前發現的狀態,回到它們,然後從中探索的簡單邏輯對於人工智能算法不可或缺,這可能是智能體進階的一個基本特徵。這些見解,無論是在 Go-Explore 內部還是外部,對於人類創建更強 AI 系統的能力都有新的啓示作用。
參考資料:
https://www.nature.com/articles/s41586-020-03157-9
https://www.youtube.com/watch?v=u6_Ng2oFzEY&feature
https://towardsdatascience.com/a-short-introduction-to-go-explore-c61c2ef201f0
https://eng.uber.com/go-explore/
https://arxiv.org/abs/1901.10995
https://adrien.ecoffet.com/