探索與執行:通過元強化學習分解實現無獎勵自適應
- 2020 年 9 月 16 日
- AI
字幕組雙語原文:探索與執行:通過元強化學習分解實現無獎勵自適應
英語原文:Explore then Execute: Adapting without Rewards via Factorized Meta-Reinforcement Learning
翻譯:雷鋒字幕組(小哲)
比家務活更有成就感的活動。
沒有人喜歡家務 一 我們可以製造機器人來幫我們做這些家務嗎?例如做飯。 訓練執行各種任務的智慧體的一個通常範式就是針對每個特定的任務利用強化學習的方法訓練一個單獨的智慧體,可是在人們的家中利用強化學習的方式從頭開始訓練一個智慧體將會完全失敗,因為這(訓練過程)將會導致許多的災難(例如廚房火災),而且採用強化學習的方式從頭開始訓練一個智慧體需要來自每個人大量的監督,從而對機器人成功做出一頓飯給出獎勵,並且這也會花費大量的時間(從頭學習每一個簡單的任務都需要強化學習智慧體數百萬次嘗試)。
相反, 理想的做法是,如果一個機器人首先在機器人廚師工廠中首次訓練完成之後,我們就可以訓練它使其能夠快速適應各種各樣的家庭廚房。直觀地說, 這應該是可能的, 因為不同的任務和環境都擁有大量相似結構(例如, 在一個廚房裡做比薩餅類似於在另一個廚房裡做漢堡包), 這可以使學習每一項任務變得更容易和更有效率。
幸運的是,在對許多相似的任務進行了第一次訓練之後,元強化學習尋找的確切目標是通過對新任務很少的交互來訓練智慧體使其適應新任務,那麼, 為什麼今天沒有機器人在我們的廚房做飯呢? 為了回答這個問題, 我們將把注意力轉向元探索的問題: 如何最好的利用這些很少的交互來探索新的任務. 例如, 為了適應一個新的廚房, 一個機器人廚師理想的情況下應該花很少的互動來探索新廚房來尋找配料(烹飪原料), 這允許它能夠作出一頓飯(解決這個任務). 在這篇博文中, 我們將討論並解決關於的元探索的兩個關鍵挑戰, 這兩個挑戰讓人類留在廚房(意思就是機器人不能正常工作)。
-
第一, 我們將展示現有的元強化學習方法存在雞和蛋耦合的難題: 如果機器人已經知道如何做飯的話, 那麼學習探索發現烹飪原料只能幫助機器人準備這頓飯, 但是機器人只有知道了原料在哪裡,它才能學會做飯.為了避免學習探索與學習執行(解決任務)的循環依賴問題, 我們提出一個目標來讓智慧體獨立的學習這兩個過程。
-
第二, 我們也會發現, 標準的元強化學習的問題設置希望機器人能夠通過試錯作出正確的飯菜,甚至沒有告訴機器人做什麼飯, 這不必要的使元探索的問題變複雜,為了避免這個問題, 我們提出一個基於指令的元強化學習方法, 在這種方法中,機器人將會收到特定做什麼飯的指令。
標準元強化學習
標準元強化學習設置
在開始之前, 我們回顧一下標準元強化學習的問題討論, 在元強化學習中,一個智慧體(例如一個機器人廚師)需要在不同的環境(不同的廚房)和不同的任務(不同的飯菜)中進行訓練, 然後需要在新的環境和新的任務中進行元測試, 在面對一個新環境和一個新任務時,在真正開始執行任務之前, 智慧體需要花費一段時間探索,來收集必要的資訊(例如, 定位配料的位置),, 然後在執行任務的過程中,智慧體需要完成這個任務(例如作出一頓飯)。
在更正式的語言中,標準meta-RL考慮了一系列問題,其中每個問題確定了一個獎勵函數\mathcal{R}\muRμ(例如,烹調一個比薩餅)和轉換交互的場景(例如,廚房), 使用Duan等人2016年的術語,我們將一個試驗定義為同一問題中的幾個片段, 第一個階段是探索片段, 在這個片段中智慧體收集資訊並且不需要獲得最大回報. 所有接下來的片段時執行階段, 在這個階段中,智慧體需要完成這個任務,其目標是在元測試試驗的執行階段,即在元訓練期間的許多試驗中進行第一次訓練之後,最大限度地獲得回報。
解耦元強化學習中的無獎勵探索與執行(DREAM)
雞和蛋的耦合問題。元探索問題的通常的方案(Wang et al., 2016, Duan et al., 2016)就是優化一個循環的策略, 這個策略基於執行事件的獎勵進行端到端的探索與訓練. 我們希望能在重複策略的隱藏狀態下,捕捉到探索事件中所學的資訊,然後這些資訊將對執行事件有用. 可是這會導致一個雞和蛋的耦合問題,這就是學習很好的探索行為需要已經學到很好的執行行為,反之也是這樣這就阻礙了這種方法的學習。
例如, 如果一個機器人廚師不能發現廚房中配料的位置(糟糕的探索), 然後它可能就不能學習如何做飯(糟糕的執行). 另一方面, 如果一個機器人不知道如何做的飯(糟糕的執行), 那麼無論探索過程如何做,都不能夠成功的做出一頓飯.這就使得探索過程充滿了挑戰. 由於機器人剛開始訓練時既不能探索也不能做飯, 將會陷入一個局部極小值,並且很難學習。
耦合難題。 哪一個先開始:雞(好的探索)還是蛋(好的執行)
利用DREAM避免這個耦合難題. 為了放置雞和蛋耦合的難題, 我們提出了一個方法打破在學習探索與學習執行行為二者的這種循環依賴, 這種方法稱為DREAM。直覺上,通過嘗試恢復執行指令所需的資訊,可以學習到良好的探索。因此,從高層次上講,DREAM包括兩個主要步驟:1)同時學習獨立於探索的執行策略,並了解執行所需的資訊;2)學習一個探索策略來恢復該資訊。
為了回答雞和蛋的問題, DREAM製作了它自己的蛋並且然後雞出來了
具體來說, 第一步, 我們基於問題標識符\mu,訓練一個執行策略 \pi^\text{exec}πexec, 在做飯的例子中, 可能要麼直接確定廚房的屬性(例如牆的顏色或者配料的位置),要麼直接給廚房提供唯一的獨特的標識符(例如one-hot編碼) 。 這種問題標識符(直接或者不直接 ) 編碼了所有必要的資訊去解決廚房中的這種問題, 允許執行策略獨立於探索過程進行學習,這種方法避免了耦合問題。 同時,我們在第一步中的目標是只識別執行指令所需的資訊,而問題標識符也可能編碼無關的資訊,例如牆顏色。為了移除這些冗餘的資訊,我們應用一個資訊瓶頸的策略來獲得瓶頸操作後的表示ZZ,我們使用zz來訓練一個探索的策略\pi^\text{exp}πexp。
在第二步中,一旦我們獲得了一個瓶頸表示zz(理想情況下只包含執行指令所需的資訊),我們就可以訓練一個探索策略\pi^\text{exp}πexp來恢復探索事件中的資訊。為此,我們推出探索策略以獲得一個片段\tauτ,然後根據該片段對zz中包含的資訊進行編碼的程度來獎勵該策略。粗略地說,這個獎勵是瓶頸表徵zz和片段\tauτ之間的相互資訊I(z;\tau)I(z;τ)。
DREAM元測試
在元訓練期間,通過簡單地為每個問題分配一個唯一的one-hot編碼,問題標識符\muμ很容易提供,但在元測試期間通常不可用或沒有幫助(例如,如果\muμ是一個全新的one-hot編碼)。這似乎很令人擔憂,因為在元訓練期間,zz上的執行策略條件需要知道\muμ。但是,由於探索策略經過訓練,可以生成包含與zz相同資訊的探索軌跡\tauτ,因此我們可以在元測試時通過推出探索策略直接將\tauτ替換為zz。詳情請看我們的論文!
基於指令的元強化學習(IMRL)
改進標準meta-RL設置。第二個元探索挑戰涉及元強化學習設置本身。雖然以上標準的meta-RL設置是一個有用的公式,但我們觀察到兩個方面可以使得元強化學習變得更加有現實意義。首先,標準的設置需要智慧體依據獲得的獎勵自己推斷任務(例如,做什麼飯),這是沒有必要並且非常不高效的. 相反, 在現實情況下,使用者將會告訴之恩功能題他們需要什麼。
開放和誠實的溝通對你的機器人也很重要。
雖然標準的元強化學習的設置利用了不同問題(環境和任務對)之間的共享結構,但它不能捕獲同一環境中不同任務之間的共享結構。確切的來說, 在一次實驗中的所有片段都是固定的,為了執行一個新任務(例如,做一頓新飯),智慧體需要另一個探索片段,即使底層環境(如廚房)保持不變。取而代之的是,一個智慧體在一個探索片段之後,能夠執行許多任務。例如,在探索廚房找到任何配料後,一個理想的機器人廚師將能夠烹調任何涉及這些配料的飯菜,而在標準元強化學習環境中訓練的智慧體只能做一頓飯。
按照標準元強化學習設置訓練的機器人廚師晚餐安排
這兩個方面可以掩蓋元探索問題,即如何最佳地使用探索片段,因為前者需要不必要的探索來推斷任務,而後者只需要智慧體探索來發現與單個任務相關的資訊。 雖然直覺上,智慧體應該花費探索片段來收集有用的資訊,以供以後的執行事件使用,但在許多情況下,當處理簡單的任務時最優探索會崩潰。例如,智慧體只能發現任務是通過成功地烹調比薩餅並獲得積極的獎勵來烹調比薩餅,但在未來的執行片段中卻一次又一次地做同樣的事情。這會讓探索情節幾乎毫無用處。
基於指令的元強化學習。 為了使元強化學習具有更好的現實意義, 我們提出一種新的稱為基於指令的元強化學習, 這種方法將解決了上邊的兩個方面的問題, (i)給智慧體提供一個指令(例如, 製作比薩或者one-hot編碼),這個指令在執行階段指定了特定的任務。(ii)在執行階段通過提供不同的指令更換任務。 例如,在工廠的不同廚房進行元訓練後,機器人廚師可以在一個單獨的安裝階段(探索片段)後,在新的家庭廚房中烹飪人類指定的許多不同的飯菜。
基於指令的meta-RL:改變每一個執行事件的任務通過指令傳遞給智慧體。在試驗中,環境仍然保持不變。
無獎勵自適應。在標準的元強化學習設置中,為了推斷任務智慧體需要在探索期間進行獎勵觀察。然而,通過接收在IMRL中指定任務的指令,個好處是代理不再需要觀察獎勵來適應新的任務和環境。具體地說,IMRL支援無獎勵適應,在元訓練期間,智慧體在執行階段使用獎勵觀察來學習解決任務,但在探索階段不觀察獎勵。在元測試期間,代理從不觀察任何獎勵。這使我們能夠對真實世界的部署情況進行建模,由於在這種真實世界情況下,收集獎勵監督非常昂貴。例如,機器人廚師最好能夠適應家庭廚房,而不需要任何人的監督。
IMRL通用嗎?重要的是, 把指定設置為空就退化為標準的元強化學習設置. IMRL通用嗎?重要的是, 把指定設置為空就退化為標準的元強化學習設置。 換句話說, 標準的元強化學習就是IMRL的一種特殊情況, 在這種情況下,使用者的希望是固定的,並且使用者不給出任何指令。 因此IMRL的演算法也可以直接應用到標準的元強化學習中, 反之亦然。
結果
稀疏獎勵三維視覺導航。在我們論文中的一個實驗中,我們在一個是稀疏獎勵三維視覺導航問題組中評估DREAM,這個問題在2020年由Kamienny等人提出,我們在這個問題中引入視覺訊號和更多的物體來世的這個問題變得更難。我們使用IMRL無獎勵適應的設置。在執行片段中,智慧體收到一個指向目標的指令,一個球,一個塊障礙塊者一個鑰匙,智慧體從障礙的另一側開始執行過程,並且必須繞著障礙物走一圈,閱讀標誌(用黃色突出顯示),在問題的兩個版本中,標識要麼指定到對象的藍色或紅色版本。智慧體接收80×60 RGB影像作為觀察,可以向左或向右或向前移動。執行正確的對象會得到+1的獎勵,而去錯誤的對象會得到-1的獎勵。
如下圖所示, DREAM在這項任務中學會了近乎最佳的探索和執行行為。在左邊,DREAM在探索的一段時間裡繞著障礙物走著,看上面寫著藍色的標牌。在右邊,在一個執行片段中,DREAM收到了一個走到鑰匙的指令。因為在探索的階段 DREAM已經讀到寫著藍色的標誌,所以它走向藍色鍵。
DREAM學習到的行為
探索
執行(走到鑰匙)
對比。廣義上來說, 以前的元增強學習方法分為兩個組:(i)端到端的方法, 這種方法基於執行階段的獎勵優化探索與執行過程。 (ii)解耦的犯法,這種方法利用單獨的目標單獨優化探索與執行過程,我們對比DREAM方法和這兩類中目前最優的方法, 在端到端訓練的類別中,我們對比
-
RL^2212, 經典的端到端方法,它根據過去的狀態和獎勵觀察的整個序列來學習一個周期性的策略。
-
VariBAD3, 該方法在遞歸策略的隱狀態中增加了輔助損失函數,以預測當前問題的收益和動態。這可以看作是學習信念狀態4,它是對過去所有觀察的充分總結。
-
IMPORT5,這種方法額外的利用問題的屬性來幫助學習執行行為。
除此之外, 在解耦類別中,我們對比:
PEARL-UB,這是PEARL6的上界. 我們利用問題的真實後驗分布,分析性地計算出由特定於問題的最優策略所獲得的預期回報。
定量結果。 下邊我們列印出所有方法的收益。 對比實現了幾乎最優結果的DREAM, 我們發現端到端訓練的方法從來沒有讀取到標誌, 並且為了防止收到負的獎勵, 結果就是錯過了所有的物體。 即使他們被允許在探索情節中觀察獎勵(虛線),這種情況也會發生。因此,它們沒有得到回報,這表明了耦合問題。
另一方面, 儘管解耦類別的方法避免了耦合問題, 單是有互目標沒有得到最優的探索策略。 例如儘管可以獲得特定問題的真實後驗概率分布, 湯普森取樣方法(PEARLUB)沒有實現最優的獎勵,要了解這一點,回想一下Thompson抽樣是通過從後驗分布中抽樣一個問題並遵循該問題的執行策略來探索的。由於最優執行策略直接指向正確的對象,並且從不讀取符號,因此Thompson抽樣在探索過程中從不讀取符號。 相比之下,DREAM的一個很好的特性是,只要有足夠的數據和足夠的策略類,它就可以從理論上學習最優的探索和執行。
在探索過程中有(虛線)和沒有(實線)獎勵的訓練曲線。只有夢才能讀懂標誌,解決任務。而且它在探索過程中不需要獎勵就可以做到!
額外的結果,在我們的論文中,我們也在額外的簡愛哦學問題中評估了DREAM,設計這些問題來回答下列問題:
-
DREAM可以高效的探索發現這些僅僅在執行過程中需要的資訊嗎?
-
DREAM對於新的指令與環境能夠很好的泛化嗎?
-
除了基於指令的元強化學習之外,DREAM也可以在標準的元強化學習中獲得提升的結果嗎?
大體上來說,對於以上問題,答案是肯定的,你可以從我們的論文中獲得更加細節性的結果。
總結
總結,在這篇博文中, 我們解決了元探索的難題:在一個新環境中為了執行一個任務如何更好的收集資訊。 為了做這個工作, 我們測試並且解決兩個主要的關鍵挑戰。
-
首先, 我們看到了現有的元強化學習方法如何通過端到端優化探索和執行來最大限度地獲得回報,但卻成為了雞和蛋問題的犧牲品。如果智慧體還沒有學會探索,那麼它就無法收集學習解決任務(例如做飯)所需的關鍵資訊(例如,配料的位置)。另一方面,如果智慧體還沒有學會解決任務,那麼就沒有學習探索的訊號,因為無論如何,它都無法解決任務。我們通過提出一個解耦的目標(DREAM)來避免這個問題循環,即學習獨立地探索和學習解決任務。
-
第二,我們看到了標準的元強化學習設置如何捕捉適應新環境和新任務的概念,但要求智慧體不必要地去探索來推斷任務(例如,做什麼飯),並且不利用相同環境中不同任務之間的共享結構(例如,在同一個廚房烹飪不同的飯菜)。我們通過提出基於指令的meta-RL(IMRL)來解決這個問題,IMRL為智慧體提供了一條指定任務的指令,並要求智慧體探索和收集對許多任務有用的資訊。
DREAM 和 IMRL 很好地結合在一起: IMRL 原則上實現了無獎勵的適應,而 DREAM 在實踐中實現了這一點。由於 雞蛋相生 耦合問題,我們測試的其他最先進的方法無法實現無獎勵的適應。
接下來是什麼? 未來還有很多工作要做 一 下面是一些研究探索的方向:
-
更複雜的指令與問題ID表述. 這項工作檢查了一個情況,在這種情況下,指令與問題ID都被表達為唯一的one-hot編碼,作為概念證明。當然,在現實世界中,指令和問題ID可能更好地用自然語言或影像(例如,要烹飪的飯菜的圖片)來表示。
-
把DREAM應用到元強化學習的設置中, DREAM通常適用於任何元強化學習設置,其中一些資訊被傳遞給智慧體,其餘的資訊必須通過探索來發現。在這項工作中,我們研究了兩個這樣的例子:在IMRL中,指令傳達任務;在標準的元強化學習設置中,一切都必須通過探索來發現,但是還有其他設置也值得研究。例如,我們可能希望向智慧體傳遞有關環境的資訊,例如某些配料的位置,或者左邊的煤氣頭壞了,所以機器人廚師應該使用右邊的。
-
無縫集成探索和執行。在最常見的meta-RL設置中,允許智慧體首先通過探索(探索階段)收集資訊,然後再解決任務(執行階段)。這也是我們研究的環境,它可以是相當現實的。例如,一個機器人廚師可能需要一個安裝階段,在開始做飯之前,它首先探索家庭廚房。另一方面,一些作品,如Zintgraf et al.,2019,要求智慧體從一開始就開始解決任務:沒有探索情節,所有情節都是執行情節。夢在這種情況下已經可以運作了,只需在第一個執行情節中忽略獎勵和探索,並在隨後的執行情節中用更好的表現來彌補第一個執行情節。這項工作令人驚訝地好,但最好能更優雅地將探索和執行結合起來。