試想一下我們希望從伯克利大學(xué)騎車到金門大橋,雖然僅僅只有二十公里之遙,但如果卻面臨一個天大的問題:你從來沒有騎過自行車!而且雪上加霜的是,你剛剛來到灣區(qū)對于路況很陌生,手頭僅僅只有一張市區(qū)的地圖。那我們該如何騎車去看心心念念的金門大橋呢?這個看似十分復(fù)雜的任務(wù)卻是機器人利用強化學(xué)習(xí)需要解決的問題。
讓我們先來看看如何學(xué)會騎自行車。一種方法是先盡可能多的學(xué)習(xí)知識并一步步的規(guī)劃自己的行為來實現(xiàn)騎車這一目標:通過讀如何騎自行車的書、學(xué)習(xí)相關(guān)的物理知識、規(guī)劃騎車時每一塊肌肉的運動...這種一板一眼的方式在研究中還可行,但是要是用來學(xué)習(xí)自行車那永遠也到不了金門大橋了。學(xué)習(xí)自行車正確的姿勢是不斷地嘗試不斷地試錯和練習(xí)。像學(xué)習(xí)騎自行車這樣太復(fù)雜的問題是不能通過實現(xiàn)規(guī)劃實現(xiàn)的。
當你學(xué)會騎車之后,下一步便是如果從伯克利到金門大橋了。你可以繼續(xù)利用試錯的策略嘗試各種路徑看看終點是不是在金門大橋。但這種方式顯而易見的缺點是我們可能需要十分十分久的時間才能到達。那么對于這樣簡單的問題,基于已有的信息規(guī)劃便是一種十分有效的策略了,無需太多真實世界的經(jīng)驗和試錯便能完成。在強化學(xué)習(xí)中意味著更加高效采樣的學(xué)習(xí)過程。
對于一些技能來說試錯學(xué)習(xí)十分有效,而對于另一些規(guī)劃卻來得更好
上面的例子雖然簡單但卻反映了人類智慧的重要特征,對于某些任務(wù)我們選擇利用試錯的方式,而某些任務(wù)則基于規(guī)劃來實現(xiàn)。同樣在強化學(xué)習(xí)中不同的方法也適用于不同的任務(wù)。
然而在上面的例子中兩種方法卻不是完全獨立的,事實上如果用試錯的方法來概括自行車的學(xué)習(xí)過程就太過于簡單了。當我們利用試錯的方法來學(xué)習(xí)自行車時,我們也利用了一點點規(guī)劃的方法。可能在一開始的時候你的計劃是不要摔倒,而后變?yōu)榱瞬灰さ沟仳T兩米。最后當你的技術(shù)不斷提高后,你的目標會變成更為抽象的概念比如要騎到道路的盡頭哦,這時候需要更多關(guān)注的是如何規(guī)劃這一目標而不是騎車的細節(jié)了。可以看到這是一個逐漸從無模型轉(zhuǎn)換為基于模型策略的過程。如果能將這種策略移植到強化學(xué)習(xí)算法中,那么我們就能得到既能表現(xiàn)良好(最初階段的試錯方法)又具有高效采樣特性(在后期轉(zhuǎn)化為利用規(guī)劃實現(xiàn)更為抽象的目標)的優(yōu)秀算法了。
這篇文章中主要介紹了時域差分模型,這是一種能夠平滑銜接無模型和基于模型策略的強化學(xué)習(xí)算法。接下來首先要介紹基于模型的算法是如何工作的。
基于模型的強化學(xué)習(xí)算法
在強化學(xué)習(xí)中通過動力學(xué)模型,在行為at的作用下狀態(tài)將從st轉(zhuǎn)化到st+1,學(xué)習(xí)的目標是最大化獎勵函數(shù)r(st,a,st+1)的和。基于模型的強化學(xué)習(xí)算法假設(shè)事先給定了一個動力學(xué)模型,那么我們假設(shè)模型的學(xué)習(xí)目標是最大化一系列狀態(tài)的獎勵函數(shù):
這一目標函數(shù)意味著在保證目標可行的狀態(tài)下選取一系列狀態(tài)和行為并最大化獎勵。可行意味著每一個狀態(tài)轉(zhuǎn)移是有效的。例如下圖中只有st+1是可行的狀態(tài)。即便其他狀態(tài)有更高的獎勵函數(shù)但是不可行的轉(zhuǎn)移也是無效的。
在我們的騎行問題中,優(yōu)化問題需要規(guī)劃一條從伯克利到金門大橋的路線:
上圖中現(xiàn)實的概念很好但是卻不現(xiàn)實。基于模型的方法利用模型f(s,a)來預(yù)測下一步的狀態(tài)。在機器人中每一步十分的時間十分短暫,更實際的規(guī)劃將會是像下圖一樣更為密集的狀態(tài)轉(zhuǎn)移:
回想我們每天騎自行車的過程我們的規(guī)劃其實是十分抽象的過程,我們通常都會規(guī)劃長期的目標而不是每一步具體的位置。而且我們僅僅在最開始的時候進行一次抽象的規(guī)劃。就像剛剛討論的那樣,我們需要一個起點來進行試錯的學(xué)習(xí),并需要提供一種機制來逐漸增加計劃的抽象性。于是我們引入了時域差分模型。
時域差分模型
時域差分模型一般形式為Q(s,a,sg,τ),給定當前狀態(tài)、行為以及目標狀態(tài)后,預(yù)測τ時間步長時主體與目標相隔的距離。直觀上TDM回答了這樣的問題:“如果我騎車去市中心,30分鐘后我將會距離市中心多近呢?”對于機器人來說測量距離主要使用歐式距離來度量。
上圖中的灰線代表了TMD算法計算出距離目標的距離。那么在強化學(xué)習(xí)中,我們可以將TMD視為在有限馬爾科夫決策過程中的條件Q函數(shù)。TMD是Q函數(shù)的一種,我們可以利用無模型的方法來進行訓(xùn)練。一般地人們會使用深度置信策略梯度來訓(xùn)練TDM并對目標和時間進行回溯標記以提高算法的采樣效率。理論上Q學(xué)習(xí)算法都可以用于訓(xùn)練TDM,但研究人員發(fā)現(xiàn)目前的算法更為有效。更多細節(jié)請參看論文。
利用TDM進行規(guī)劃
當訓(xùn)練結(jié)束后我們可以利用下面的目標函數(shù)進行規(guī)劃:
這里與基于模型策略不同的地方在于每K步進行一次規(guī)劃,而不是每一步。等式右端的零保證了每一次狀態(tài)轉(zhuǎn)移軌跡的有效性:
規(guī)劃就從上面的細碎的步驟變成了下圖整體的,更為抽象和長期的策略:
當我們增加K時,就能獲得更為長期和抽象的規(guī)劃。在K步之間利用無模型的方法來選擇行為,使用無模型的策略來抽象達成這些目標的過程,最后在K足夠大的情況下實現(xiàn)了下圖的規(guī)劃情況,基于模型的方法用于選擇抽象目標而無模型的方法則用于達到這些目標:
需要注意的是這種方法只能在K步的地方進行優(yōu)化,而現(xiàn)實情況下卻只關(guān)心某些特殊的狀態(tài)(如最終狀態(tài))。
實驗
研究人員們利用TMD算法進行了兩個實驗,首先是利用模擬的機械臂將圓柱推到目標位置:
可以發(fā)現(xiàn)TMD算法比無模型的DDPG算法和基于模型的算法都下降的快,其快速學(xué)習(xí)能力來自于之前提到的基于模型的高效采樣。
另一個實驗是利用機器人進行定位的任務(wù),下圖是實驗的示意圖和學(xué)習(xí)曲線:
上圖現(xiàn)實基于模型的方法在訓(xùn)練到一定次數(shù)后就停滯了,而基于DDPG的無模型方法則下降緩慢,但最終效果強于基于模型的方法。而TMD方法則即快速有優(yōu)異,結(jié)合了上述兩者的優(yōu)點。
未來方向
時域差分模型為無模型和基于模型的方法提供了有效的數(shù)學(xué)描述和實現(xiàn)方法,但還有一系列工作需要完善。首先理論中假設(shè)環(huán)境和策略是確定的,而實際中卻存在一定的隨機性。這方面的研究將促進TMD對于真實環(huán)境的適應(yīng)性。此外TMD可以和可選擇的基于模型的規(guī)劃方法結(jié)合優(yōu)化。最后還希望未來將TMD用于真實機器人的定位、操作任務(wù),甚至騎車到金門大橋去。
-
機器人
+關(guān)注
關(guān)注
213文章
29583瀏覽量
212029 -
模型
+關(guān)注
關(guān)注
1文章
3501瀏覽量
50161 -
學(xué)習(xí)算法
+關(guān)注
關(guān)注
0文章
16瀏覽量
7529
原文標題:UC Berkeley提出新的時域差分模型策略:從無模型到基于模型的深度強化學(xué)習(xí)
文章出處:【微信號:thejiangmen,微信公眾號:將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
隨機塊模型學(xué)習(xí)算法
簡單隨機搜索:無模型強化學(xué)習(xí)的高效途徑

斯坦福提出基于目標的策略強化學(xué)習(xí)方法——SOORL

如何構(gòu)建強化學(xué)習(xí)模型來訓(xùn)練無人車算法
深度強化學(xué)習(xí)到底是什么?它的工作原理是怎么樣的
美國陸軍研發(fā)了一種高效的地面機器人學(xué)習(xí)模型
機器學(xué)習(xí)中的無模型強化學(xué)習(xí)算法及研究綜述

模型化深度強化學(xué)習(xí)應(yīng)用研究綜述

基于深度強化學(xué)習(xí)仿真集成的壓邊力控制模型
強化學(xué)習(xí)的基礎(chǔ)知識和6種基本算法解釋
7個流行的強化學(xué)習(xí)算法及代碼實現(xiàn)
強化學(xué)習(xí)的基礎(chǔ)知識和6種基本算法解釋

通過強化學(xué)習(xí)策略進行特征選擇

評論