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