目前的深度強化學習需要人為地為每一個任務設計獎勵函數,當涉及復雜系統時需要很多的人力成本和復雜的工作。如果需要完成更大范圍內的更多工作,就需要對每一個新任務進行重復的訓練。為了提高學習的效率,伯克利的研究者們提出了一種可以同時對多個不同任務進行學習的算法,無需人工干預。
這一算法可以自動從圖像中抽取目標并學習如何達到目標,并實現推物體、抓握和開門等一系列特殊的任務。機器人可以學會自己表示目標、學習如何達到目標,而一切的輸入僅僅是來自相機的RGB圖像。
· 目標條件下的強化學習
如何描述真實世界的狀態和期望的目標是我們需要考慮的首要問題,但對于機器人來說枚舉出所有需要注意的物體是不現實的,現實世界中的物體及其數量變化多端、如果要檢測他們就需要額外的視覺檢測工作。
那么該如何解決這一問題呢?研究人員提出了一種直接利用傳感器信息來操作的方法,利用機器人相機的輸出來表達世界的狀態,同時利用期望狀態的圖像作為目標輸入到機器人中。對于新的任務,只需要為模型提供新的目標圖像即可。這種方法同時能拓展到多種復雜的任務,例如可以通過語言和描述來表達狀態/目標。(或者可以利用先前提出的方法來優化目標:傳送門>>UC Berkeley提出新的時域差分模型策略:從無模型到基于模型的深度強化學習)
強化學習是一種訓練主體最大化獎勵的學習機制,對于目標條件下的強化學習來說可以將獎勵函數設為當前狀態與目標狀態之間距離的反比函數,那么最大化獎勵就對應著最小化與目標函數的距離。
我們可以通過一個基于目標條件下的Q函數來訓練策略實現最大化獎勵。基于目標條件的Q函數Q(s,a,g)描述的是在當前狀態和目標下,當前的行為將產生對主體怎樣的結果(獎勵)?也就是說在給定狀態s、目標g的前提下,我們可以通過優化行為a來實現獎勵最大化:
π(s,g) = maxaQ(s,a,g)
基于Q函數來選擇最優的行為,可以得到最大化獎勵和的策略(在這個例子中便是達到各種不同的目標)。
Q學習得以廣泛應用的原因在于它可以不基于策略而僅僅只依賴與s,a,g。那么意味著訓練任意策略所收集的數據都可以用來在多個任務上進行訓練。基于目標條件的Q學習算法如簡圖所示:
但上述方法的主要局限在于數據收集。如果能人工生成數據,理論上就可以學習解決不同的任務而無需與真實世界進行交互。但遺憾的是在真實世界中學習精確的模型十分困難,所以通常依賴于采樣來獲取狀態s--行為a--下一個狀態s'的訓練數據。
但我們換個角度來看,如果可以表達出獎勵函數r(s,g), 有一種可以生成目標并計算獎勵的機制,我們就可以可回溯的重新標記目標,重新計算獎勵。這樣的話就可以利用(s,a,s') 數據生成大量的人工數據,這一個過程如下圖所示:
最美妙的事情在于可以同時生成多個目標和獎勵函數,這就意味著可以學習達到多個目標而無需采集額外的數據,這一簡單的改進極大的加速了學習過程。
上面的方法主要基于兩個假設:1).知道獎勵函數的表達并可以進行操作;2).可以得到目標的采樣分布p(g).基于前人的工作,可以方便的設計出目標分布p(g)和獎勵函數。
但對于基于視覺的任務來說會出現兩個問題:1).由于基于像素的距離可能沒有實際意義,模型不知道該使用哪一個獎勵函數;2).由于任務的目標是圖像的形式,需要知道目標圖像的分布p(g),但人工設計目標圖像的分布是一個很復雜的任務。那么研究人員們期望最好的情況就是,主體可以自動地想象出它的目標,并學習出如何達到這一目標。
·基于假想目標的強化學習
為了解決這一問題,研究人員通過學習出圖像的表示并利用這些表示來實現條件Q學習,而不是直接利用圖像本身來進行強化學習。那么這時候關鍵的問題就被轉換為:這一從圖像中學習的表達應該滿足什么樣的特點?為了計算出語義的獎勵,需要一種可以捕捉圖像中變量潛在因素的表達,同時這種表達需要很便捷地生成新的目標。
試驗中研究人員通過變分自編碼器(VAE)來從圖像中獲取滿足這些條件地表示。這種生成模型可以將高維空間中圖像轉換到低維度地隱空間中去(或者進行相反地變換)。得到的模型可以將圖像轉換到隱空間中并抽取其中的變量特征,這與人類在真實世界中描述目標的抽象過程很類似。在給定當前圖像x和目標圖像xg后,模型可將他們轉換為隱空間中對應的隱變量z和zg,此時就可以利用隱變量來為強化學習算法描述系統狀態和期望目標了。在低維的隱空間中學習Q函數和策略比直接使用圖像進行訓練要快很多。
將當前圖像和目標圖像編碼到隱空間中,并利用其中的距離來計算獎勵。
這同時解決了如何計算強化學習中計算獎勵的問題。相較于利用像素誤差,可以使用隱空間中與目標的距離來訓練主體。在最大化抵達目標概率的同時這一方法可以給出更有效的學習信號。
這一模型的重要性在于主體可以容易的在隱空間中生成目標。(這一生成模型使得隱空間中的采樣是可以回溯的:僅僅從VAE的先驗中采樣)其原因在于:為主體提供了可以設置自身目標的機制,主體從生成模型的隱變量中采樣并嘗試抵達隱空間中的目標;同時為重采樣機制也可用于前述的重標記過程。由于訓練的生成模型可以將真實圖像編碼為先驗,從先驗的隱變量采樣也對應著有意義的隱目標。
主體可以通過模型生成自己的目標,用于探索和目標重標記。
綜上所述,對于輸入圖像的隱空間表示1).捕捉了場景中的隱含因素;2).為優化提供了有效的距離度量;3).提供了有效的目標采樣機制,使得這一方法可以直接利用像素輸入來實現基于假想的強化學習算法( Reinforcement Learning with imagined Goals ,RIG)
· 實驗
下面研究人員將通過實驗來證明這一方法是能簡單高效地在合理的時間內在真實世界中訓練出機器人策略。實驗分為兩個任務,分別是基于目標圖像直到機械臂運動到人為指定地位置和將目標推到期望的位置。實驗中僅僅通過84*84的RGB圖像來訓練,而沒有關節角度和位置信息。
機器人首先學習到如何在隱含空間內學習出自己的目標,這一階段可以利用解碼器來可視化機器人為自己假想出來的目標。下圖上半部分顯示了機器人“想象”出的目標位置,而下面圖則是實際運行狀況。
通過設置自身的目標,機器人就可以在沒有人類的干預下自動的訓練嘗試以抵達目標。需要執行特定的任務時,才需要人為的給定目標圖像。由于機器人以及多次練習過如何抵達目標,在下面的圖中我們可以看到它已經不需要額外的訓練便可以抵達新的目標。
下圖是第二個任務,利用RIG來訓練機械臂將物體推到指定位置。其中左邊是實驗裝置、右上是目標圖像、右下是機器人推動的過程。
通過圖像訓練策略使得機器人推物體的任務變得容易多了。只需要在上一個任務的基礎上加上一張桌子、一個物體、稍微調整相機就可以開始訓練了。雖然模型的輸入是圖像,但這一算法只需要一個小時的時間就可以訓練完成抵達特定位置的任務、4.5小時就可以實現將物體推到特定位置的任務(需要與環境交互),同時達到了比較好的精度。
很多實際使用的強化學習算法需要目標位置的基準狀態,然而這卻需要引入額外的傳感器或訓練目標檢測算法來實現 。與之相比,這里提出的算法僅僅依賴于RGB相機,并可以直接輸入圖像完成訓練過程。
· 未來研究方向
通過前文描述的方法,可以利用直接輸入的圖片訓練出真實世界的機器人策略,簡單高效地實現不同的任務。基于這一結果,可以開啟很多令人激動地研究領域。這一研究不僅限于利用圖像作為強化學習的目標,同時還可以廣泛應用于語言和描述等不同的目標表達中。同時,可以探索如何利用更本質的方式來選擇目標以實現更好的自動學習。如果使用內在動機的概念與上文提出的策略結合,可以引導策略進行更快的學習。
另一個可能方向是訓練模型能夠處理動力學的情況。對環境動力學進行編碼可以使得隱含空間更加適合強化學習,加速學習的過程。最后,有很多機器人任務的狀態很難被傳感器所捕捉,但利用基于假想目標的學習就可以處理諸如形變物體的抓取、目標數量變化這樣復雜的問題。
-
機器人
+關注
關注
211文章
28418瀏覽量
207095 -
算法
+關注
關注
23文章
4612瀏覽量
92891 -
強化學習
+關注
關注
4文章
266瀏覽量
11254
原文標題:伯克利研究人員提出基于目標圖像的視覺強化學習算法,讓機器人可以同時學習多個任務
文章出處:【微信號:thejiangmen,微信公眾號:將門創投】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論