Spotlight論文:憑藉幻想的目標進行視覺強化學習
選自bair.Berkeley
作者:Vitchyr Pong、 Ashvin Nai
機器之心編譯
參與:乾樹、王淑婷
為了讓智能體在測試時自動實現用戶指定的廣泛目標,它必須能夠學習廣泛適用的通用技能。此外,為了提供必要的通用性,這些技能必須處理原始的感測輸入,如圖像。在本文中,作者提出了一種演算法,通過結合無監督表徵學習和目標條件策略的強化學習來獲得這種通用技能。
我們想構建一個能夠在複雜的非結構化環境中完成任意目標的智能體,例如可以做家務的機器人。一種有前景的方法是使用深度強化學習,這是一種用於教授智能體最大化獎勵函數的強大框架。然而,典型的強化學習範例一般需要手動設計獎勵函數來訓練智能體解決獨立任務。
例如,你可以通過設計獎勵函數來訓練機器人擺放餐桌,而這個函數則基於每個盤子或器具與其目標位置之間的距離來設定。這種設置需要為每個任務設計獎勵函數,還需要諸如目標檢測器之類的額外系統,這些系統可能昂貴又易壞。此外,如果想要能夠執行大量瑣事的機器,我們必須在每個新任務上重複這個強化學習訓練步驟。
儘管設計獎勵函數和設置感測器(門角測量,目標檢測器等)在模擬中可能很容易做到,但在現實世界中它很快變得不切實際(右圖)。
我們訓練智能體在沒有額外儀器的情況下僅憑視覺來解決各種任務。第一行展示了目標圖像,底行展示了達到這些目標的策略。
在本文中,我們討論了可以同時學習多個不同的任務而無需額外人工監督的強化學習演算法。如果智能體要在沒有人為干預的情況下獲取技能,那它必須能夠為自己設定目標、與環境交互,並評估其是否實現了改善行為的目標,所有這些都要通過圖像等原始觀測數據來實現,而不能藉助目標探測器等手動設計的額外組件。
我們引入了一個設定抽象目標並自主學習以實現這些目標的系統;然後發現可以使用這些自主學習的技能來執行各種用戶指定的目標,例如推動物體,抓取物體以及開門,而無需任何額外的學習。最後,我們證明這種方法在現實世界中能夠應用在 Sawyer 機器人上。該機器人僅將圖像作為系統的輸入, 學會了設置並實現將物體推到特定位置的目標。
目標條件強化學習
我們該如何表示環境和目標的狀態?在多任務設置中,枚舉出機器人可能需要注意的所有物體可能不切實際:物體的數量和類型可能會發生變化,檢測它們需要專用的視覺處理器。
不過,我們可以直接在機器人的感測器上操作,用機器人拍攝的圖像來表示狀態,而用我們想要實現狀態的圖像來表示目標。用戶只需提供目標圖像來指定新任務。我們發現,這項工作可以擴展為指定目標的更複雜方式,例如通過語音或演示,或者通過優化以前博客中的目標。
任務:讓環境看起來像圖片中這樣。
強化學習的本質是訓練智能體最大化獎勵總和。對於目標條件強化學習來說,獲得獎勵的一種方法是減少當前狀態和目標狀態之間的距離,因此,要最大化獎勵,就得最小化當前狀態到目標狀態的距離。
首先,我們可以通過學習目標條件 Q 函數來訓練單一策略,以最大化獎勵並因此達到目標狀態。在給定當前狀態 s 和目標 g 的情況下,目標條件 Q 函數 Q(s,a,g)會告訴我們動作 a 有多正確。例如,一個 Q 函數告訴我們,「如果我拿著一個盤子(狀態 s)並且想把它放在桌子上(目標 g),那麼舉手(動作 a)有多正確?」一旦訓練好這個 Q 函數,你就可以通過執行以下優化函數來獲取目標條件策略:
通俗點說,「根據這個 Q 函數選擇最佳動作。」通過使用這個程序,我們獲得了一個最大化獎勵總和的策略,可以實現各種目標。
Q 學習受歡迎的一個原因是,它能以非策略方式完成,這意味著我們訓練 Q 函數所需的僅僅是當前狀態、動作、下一狀態、目標和獎勵(分別為 s,a,s′,g,r)的樣本。此數據可以通過任何策略收集,並且可以在多個任務中重複使用。因此,一個簡單的目標條件 Q 學習演算法如下所示:
該訓練過程的主要瓶頸是收集數據。如果我們可以人工生成更多數據,理論上來說,我們甚至可以在不與環境互動的情況下學習解決各種任務。但是,學習一個精確的環境模型很困難,所以我們通常需要依靠抽樣來獲得狀態—動作—下一狀態 (s,a,s′) 的數據。
然而,如果能夠訪問獎勵函數 r(s,g),我們就可以重新標記目標並重新計算獎勵,從而在給定單個 (s,a,s′) 元組的情況下人工合成更多數據。因此,我們可以像這樣修改此訓練過程:
目標重採樣的好處在於,我們可以同時學習如何一次實現多個目標,而無需從環境中獲取更多數據。總的來說,這種簡單的修改可以大大加快學習速度。上述方法有兩個主要假設:(1)你能夠訪問獎勵函數;(2)你知道目標採樣分布 p(g) 的狀況。
以前使用此目標重新標記策略的工作(Kaelbling 『93 , Andrychowicz 『17 , Pong 『18)基於真實狀態信息(例如,物體的笛卡爾位置)進行操作,很容易手動設計目標分布 p(g) 和獎勵函數。然而,當轉向基於視覺的任務(其中目標是圖像)時,這兩個假設都不成立。
首先,我們不清楚應該使用哪種獎勵函數,因為與目標圖像的像素距離在語義上可能沒有意義。其次,因為我們的目標是圖像,我們需要一個可以從中進行採樣的目標圖像分布 p(g)。手動設計目標圖像的分布是一項非常重要的任務,圖像生成仍然是一個活躍的研究領域。因此,我們希望智能體能夠自主設定自己的目標並學習如何實現這些目標。
憑藉幻想的目標進行視覺強化學習
我們可以通過學習圖像的表徵,並將這種表徵而非圖像本身用於強化學習,來減輕與目標圖像條件 Q 學習相關的挑戰。關鍵問題變成了:我們的表徵應滿足哪些屬性?為了計算語義上有意義的獎勵,我們需要一種能夠捕捉影響圖像變化的潛在因素的表徵。
此外,我們需要一種輕鬆生成新目標的方法。我們首先通過訓練生成隱變數模型來實現這些目標,在我們的例子中用的是變分自編碼器(VAE)。該生成模型將高維觀察數據 x(如圖像)轉換為低維隱變數 z,反之亦然。
對模型進行訓練,以便隱變數捕獲圖像中潛在的變化因素,類似於人類用於解釋環境和目標的抽象表徵。給定當前圖像 x 和目標圖像 x_g,我們將它們分別轉換為隱變數 z 和 z_g。
然後我們用這些隱變數來表示強化學習演算法的狀態和目標。在低維隱空間而不是直接在圖像上學習 Q 函數和策略,可以加快學習速度。
智能體將當前圖像(x)和目標圖像(xg)編碼到隱空間中,並使用該隱空間中的距離進行獎勵。
使用圖像和目標的隱變數表徵還解決了另一個問題:如何計算獎勵。我們利用隱空間中的距離,而不是像素誤差來作為訓練智能體達到目標的獎勵。在描述該方法的完整研究論文中,我們發現這樣做能夠最大化取得目標的概率並提供更有效的學習信號。
這種生成模型也很重要,因為它讓智能體在隱空間中可以輕鬆生成目標。特別是,我們的生成模型被設計為忽視採樣隱變數:我們之前只是從 VAE 中抽取隱變數。使用這種抽樣機制有兩個原因:
首先,它為智能體設定自己的目標提供了一種機制。智能體只是從我們的生成模型中對隱變數的值進行採樣,並嘗試達到該隱目標。其次,如上所述,該重採樣機制還用於重新標記目標。因為我們的生成模型經過訓練可以將真實圖像編碼到之前的圖像中,所以之前隱變數的樣本對應於有意義的隱目標。
即使不提供目標,我們的智能體仍然可以為探索和目標重新標記生成自己的目標。
總之,圖像的隱變數表示(1)捕獲場景的潛在因素,(2)提供有意義的優化距離,(3)提供一種有效的目標抽樣機制,使我們能夠有效地訓練一個直接對像素進行操作的目標條件強化學習智能體。我們將這整個方法稱為憑藉幻想目標進行強化學習(RIG)。
實驗
我們進行了實驗來測試 RIG 是否具有足夠的樣本效率,能夠在合理的時間內訓練現實世界的機器人策略。我們測試了機器人到達用戶指定位置、將物體推動到所需位置的能力,如目標圖像所示。
機器人只能接收 84x84 RGB 圖像,無法知道關節角度或物體位置。機器人首先通過在隱空間中設置自己的目標來學習。我們可以使用解碼器來可視化機器人想像的目標。在下面的 GIF 中,上面的圖片展示了解碼的「想像」目標,而下面的圖片展示了做出的實際策略。
機器人設定了自己的目標(上圖)以及實現目標(下圖)。
通過設定自己的目標,機器人可以自主地練習到達不同的位置而無需人為干預。唯一的人為干預發生在人們想要機器人執行特定任務的時候。這種時候,先給機器人輸入目標圖像。因為機器人已經通過練習達到了很多目標,我們發現它能夠在沒有額外訓練的情況下達到這個目標:
人類給出一個目標圖像(頂部),機器人實現它(底部)。
我們還使用 RIG 來訓練將物體推動到目標位置的策略:
左:Sawyer 機器人設置。右:人類給出一個目標圖像(頂部),機器人完成它(底部)。
直接從圖像訓練一個策略可以輕鬆地將任務從到達指定位置改為推送物體。我們只需添加一個物體、一個桌子,然後調整相機。最後,儘管直接從像素級開始工作,這些實驗並沒有花費很長時間。到達指定位置實際大約需要一個小時的機器人交互時間,而推動物體到目標位置需要大約 4.5 小時。
許多真實世界的機器人強化學習結果使用真實狀態信息,如物體的位置。但是,這通常需要額外的機器,比如購買和設置額外的感測器或訓練目標檢測系統。相比之下,我們的方法只需要 RGB 相機並直接在圖像上工作。
更多結果,包括對比實驗,請閱讀論文原文,地址如下:
https://arxiv.org/abs/1807.04742
未來展望
我們已經證明,直接在圖像上訓練現實世界機器人的策略是可行的,並且能以高效的方式完成各種任務。這個項目有許多令人興奮的後續研究。目標圖像可能無法表示所有任務,但是可以使用其它模式(例如語音和演示)來表示目標。
此外,儘管我們提供了一種機制來對自主探索的目標進行抽樣,但是否存在更科學的方式選擇這些目標來進行更好的探索?結合內在動機,我們的政策可以積極地選擇目標,以更快地了解它能不能達到目標。
未來的另一個方向是訓練我們的生成模型,使其了解動態。編碼有關環境動態的信息可以使隱空間更適合強化學習,從而加快學習速度。
最後,實際生活存在各種機器人任務,其狀態表徵難以用感測器捕獲,例如操縱可變形物體或處理具有可變數量物體的場景。放大 RIG 以解決這些任務將是令人興奮的下一步。
本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。
------------------------------------------------
※蘇州的開發者?之心為你準備了一場機器學習發展前沿分論壇
※神秘的「未來科技盛會」,首次對公眾開放
TAG:機器之心 |