然而為了實現好的效率樣本,這些傳統的基於模型的演算法使用相對簡單的函式近似器,不能很好地概括複雜任務,或概率性的動力學模型。這個難題究竟如何解決?讓我們來看看加州大學伯克利分校的博士生 Vitchyr Pong 在伯克利人工智慧研究院官博釋出的博文《TDM: From Model-Free to Model-Based Deep Reinforcement Learning》,或許你會有一種醍醐灌頂的感覺。
更多優質內容請關注微信公眾號“AI 前線”,(ID:ai-front)
你決定騎自行車從加州大學伯克利分校的住處到金門大橋。這是一段 20 英里的美妙旅程,但是有個問題:你從來沒有騎過自行車!更糟糕的是,你是灣區的新人,而你只有一張地圖,那要如何開始呢?
讓我們先搞清楚大家都是如何學會騎自行車的。
有一種策略是進行大量的學習和規劃:閱讀如何騎自行車的書籍、研究物理學和解剖學。計劃出你為了應對每個擾動做出的所有肌肉運動。這種方法看起來高大上,但是對於任何學過騎自行車的人來說,都知道這種策略註定要失敗。學騎自行車的方法只有一種:試錯。有些任務,像騎自行車這樣的任務,真的太複雜了,以至於根本無法在腦子裡預先計劃好。
AI 前線注:試錯(trial and error)是一種用來解決問題、獲取知識的常見方法。此種方法可視為簡易解決問題的方法中的一種,與使用洞察力和理論推導的方法正好相反。在試錯的過程中,選擇一個可能的解法應用在待解問題上,經過驗證後如果失敗,選擇另一個可能的解法再接著嘗試下去。整個過程在其中一個嘗試解法產生出正確結果時結束。
一旦你學會了騎自行車,你將如何到達金門大橋呢?你可以重複使用試錯策略。隨便轉幾圈,看看你是否在金門大橋上。但不幸的是,這種策略需要耗費很長的時間。對於這類問題,計劃是一個更快的策略,並且只需相當少的實際經驗及更少的試錯。用強化學習的術語來講,它更具有樣本效率(sample-efficient)。
左:一些可通過試錯學到的技能。右:其他時候,提前計劃比較好。
雖然簡單,但這個思維實驗突出了人類智慧的一些重要方面。對於某些任務,我們採用試錯法;而對於其他任務我們則使用規劃的方法。在強化學習中也出現了類似的現象。按照強化學習的說法,實證結果表明,一些任務更適合無模型(試錯)方法,而另一些則更適合基於模型的(規劃)方法。
上面這個騎自行車的比喻,也強調這兩個系統並非完全獨立。特別是,說學騎自行車只是試錯法的過分簡單化。事實上,當你通過試錯法來學騎車的時候,你也會運用一些計劃。也許你最初的計劃是“不要跌倒”。隨著你的進步,你就會做出更加雄心勃勃的計劃,如“往前騎兩米而不會跌倒”。最終,你騎車技巧爐火純青,這時你可以開始以非常抽象的方式進行規劃(如“騎車到這條路的盡頭。”),剩下所有的事就是規劃,而無須再擔心騎車的細節了。我們目睹了從無模型(試錯)策略逐步過渡到基於模型的(規劃)策略。如果我們可以開發出人工智慧演算法(特別是強化學習演算法)來模擬這種行為,它可能會產生一種這樣的演算法:既能很好地執行(通過在早期使用試錯法),並且能夠提高樣本效率。(稍後切換到規劃方法來實現更為抽象的目標)。
本文介紹了時序差分模型(temporal difference model,TDM),這是強化學習演算法的一種,它可以捕獲無模型和基於模型的強化學習之間的平滑過渡。在講述 TDM 之前,我們首先闡述典型的基於模型的強化學習演算法是如何工作的。
AI 前線注:時序差分學習(Temporal-Difference Learning)結合了動態規劃和蒙特卡洛方法,是強化學習的核心思想。蒙特卡洛的方法是模擬(或者經歷)一段序列,在序列結束後,根據序列上各個狀態的價值,來估計狀態價值。時序差分學習是模擬(或者經歷)一段序列,每行動一步(或者幾步),根據新狀態的價值,然後估計執行前的狀態價值。可以認為蒙特卡洛的方法是最大步數的時序差分學習。
在強化學習中,我們有一些狀態空間和動作空間。如果在時刻我們處於狀態採取行動,我們根據動態模型 過渡到一個新的狀態。我們的目標是最大化訪問狀態的獎勵總和。基於模型的強化學習演算法假定給出(或學習)動態模型。給定這個動態模型,有多種基於模型的演算法。對於本文而言,我們考慮執行以下優化的方法來選擇一系列操作和狀態以最大化獎勵:
優化方法建議選擇一系列狀態和行動,即可最大化獎勵,同時確保軌跡是可行的。
在這裡,可行的意思是每一種狀態下的狀態轉換都是有效的。例如,如下圖所示,如果你從狀態 開始並採取行動,則只有最上面的 才能實現一個可行的轉換。
如果你能挑戰物理學的話,那麼去金門大橋的旅行計劃就會容易得多。但是,基於模型的優化問題中的約束確保只有像第一行這樣的軌跡才能被輸出。底部的兩條軌跡可能有很高的回報,但它們並不可行。
在我們的自行車問題中,優化可能會制定從伯克利(圖右上)到金門大橋(圖左中)的騎行計劃,看起來如下圖所示:
一個計劃(狀態和行動)的示例輸出了優化問題。
雖然從理論概念來看還不錯,但是這個計劃不太現實。基於模型的方法使用一個模型來預測下一個時間步的狀態,在機器人技術中,時間步通常相當於十分之一秒或百分之一秒。因此,對最終計劃可能會有一個更現實的描述,如下圖所示:
一個更現實的計劃。
如果我們想想在日常生活中的計劃,就會意識到我們的計劃在時序上更為抽象。我們不會去預測自行車在接下來的十分之一秒將處於什麼位置,而是制定了更為長遠的計劃,比如“我將走到這條路的盡頭”。此外,一旦我們學會了如何騎車,我們就只能做出這些時序抽象規劃。如前所述,我們需要一些方法:(1)使用試錯法來是學習,(2)提供一種機制來逐步提高我們用於計劃的抽象級別。為此,我們引入了時序差分模型。
一個時序差分模型 (TDM),我們將它寫成,它是一個函式,給定一個狀態,動作,和目標狀態,預測智慧體在時間步 內達到目標的程度。直觀地說,TDM 回答了這樣的問題:“如果我在 30 分鐘內騎車到舊金山,我將會有多接近?”對於機器人技術來說,一種測量貼近度的自然方法是使用歐氏距離(Euclidean distance)。
AI 前線注:歐氏距離,亦稱為歐幾里得距離,在資料上,是歐幾里得空間中兩點間“普通”(即直線)距離。使用這個距離,歐氏空間成為度量空間。相關聯的範數稱為歐幾里得範數。較早的文獻稱之為畢達哥拉斯度量。
TDM 預測在一段固定的時間之後,你距離目標(金門大橋)有多近。騎車 30 分鐘後,也許你只能到達上圖中灰色騎行人的位置。在這種情況下,灰色線段表示 TDM 應該預測的距離。
對於那些熟悉強化學習的人來說,事實證明 TDM 可以被看作是有限視域 MDP 中的目標條件 Q 函式。因為 TDM 只是另一個 Q 函式,因此我們可以使用無模型(試錯)演算法對其進行訓練。我們使用深度確定性策略梯度(deep deterministic policy gradient,DDPG)來訓練 TDM,並對目標和時間層進行追溯,以提高學習演算法的樣本效率。理論上來講,任何 Q 學習演算法都可以用來訓練 TDM,但我們發現這個是有效的,歡迎讀者查閱相關論文了解更多的細節。
AI 前線注:深度確定性策略梯度(Deep Deterministic Policy Gradient, DDPG)演算法是 Lillicrap 等人利用 DQN 擴充套件 Q 學習演算法的思路對確定性策略梯度(Deterministic Policy Gradient, DPG)方法進行改造,提出的一種基於行動者 - 評論家(Actor-Critic,AC)框架的演算法,該演算法可用於解決連續動作空間上的 DRL 問題。
參見論文《Continuous control with deep reinforcement learning》
https://arxiv.org/abs/1509.02971
一旦我們訓練 TDM,我們如何使用它來進行規劃?事實證明,我們可以通過以下優化方法來規劃:
這種直覺與基於模型的公式類似。選擇一連串的行動和狀態來最大化回報是可行的。一個關鍵的區別是我們只計劃每 個時間步,而不是每個時間步。 的約束強制了軌跡的可行性。形象化地說, 而不是明確規劃 步驟和類似的動作:
我們可以直接計劃 時間步,如下圖所示:
隨著 的增加,我們在時序上得到了越來越抽象的計劃。在 個時間步驟之間,我們使用無模型的方法來採取行動,從而使無模型的策略“抽象”了實現目標的細節。對於自行車問題和 的足夠大的值,優化可能會制定如下計劃:
基於模型的計劃者可以用來選擇時序抽象的目標。可以使用無模型演算法實現這些目標。
有一點需要注意的是,這個公式只能在每 步驟中優化獎勵。然而,許多工只關心一些狀態,比如最終狀態 (例如“到達金門大橋”),因此它仍然捕捉到各種有趣的任務。
我們並非第一個研究基於模型和無模型強化之間的聯絡的人。Parr'08[¹] 和 Boyan'99[²],關聯性尤其強,儘管它們主要集中在列表和線性函式的逼近器上。在 Sutton'11[³] 和 Schaul'15[⁴] 中,在機器人導航和 Atari 遊戲中也探索了訓練目標條件 Q 函式的想法。最後,我們所使用的重新標記方案受到 Andrychowicz 17[⁵] 的啟發。
我們在五個模擬連續控制任務和一個真實世界中的機器人任務上測試了 TDM。其中一項模擬任務是訓練機器人手臂將圓桶推到目標位置。下圖顯示了最終推動 TDM 策略的關聯學習曲線的一個示例:
TDM 策略用於完成任務的演示動圖無法上傳,可訪問:http://bair.berkeley.edu/static/blog/tdm/pusher-video-small.gif 。
學習曲線。藍線為 TDM(越低越好)。
上圖所示的學習曲線展示了最終目標的距離與樣本的數量直接的關係(越低越好)。我們的模擬以 20Hz 控制機器人,這表示 1000 步對應於現實世界的 50 秒。這種環境的動態相對容易學習,這意味著基於模型的方法應該很出色。正如預期那樣,基於模型的方法(紫色曲線)快速學習——大約 3000 步,或 25 分鐘——且表現良好。TDM 方法(藍色曲線)也可以快速學習——大約 2000 步或 17 分鐘。無模型的 DDPG(無 TDM)基線最終解決了這個任務,但需要更多的訓練樣本。TDM 方法能夠如此快速學習的一個原因就是它的有效性是基於模型的偽裝方法。
當我們轉向運動任務時,無模型方法看起來好多了,而運動任務的動態性更強。其中一項運動任務涉及訓練四足機器人移動到某個位置。由此產生的 TDM 策略將在下圖顯示,以及相應的學習曲線:
運動任務的 TDM 策略。
學習曲線。藍線為 TDM(越低越好)。
就像我們使用試錯法而不是計劃掌握騎自行車一樣,我們期望無模型的方法在這些運動任務上比基於模型的方法執行得更好。這正是我們在上圖的學習曲線上看到的: 基於模型的方法在效能上保持平穩。無模型的 DDPG 方法學習更慢,但最終優於基於模型的方法。TDM 能夠快速學習並獲得最佳的最終效能。在這篇論文中還有更多的實驗,包括訓練一個真實世界 7 自由度的 Sawyer 來達到自己的位置。我們鼓勵讀者去看看!
時序差分模型為從無模型到基於模型的控制插值提供了一種形式化和實用的演算法。但是未來還有很多工作要做。首先,推到假定環境和策略是確定性的。實際上,大多數環境是隨機的。即使它們是確定性的,在實踐中使用隨機策略也有令人信服的理由(參見此博文《Learning Diverse Skills via Maximum Entropy Deep Reinforcement Learning》[⁶])。將 TDM 擴充到此設定,有助於將 TDM 移至更真實的環境。另一個想法是,將 TDM 與基於模型的規劃優化演算法結合在一起,本文中,我們使用了這些演算法。最後,我們希望將 TDM 應用到更具挑戰性的任務中,比如機器人的運動、操縱,當然還有騎車到金門大橋。
本論文已經被 ICLR 2018 接收。欲瞭解更多關於 TDM 的資訊,請檢視以下連結:
ArXiv Preprint https://arxiv.org/abs/1802.09081
開原始碼 https://github.com/vitchyr/rlkit
我們稱之為時序差分模型,因為我們用時序差分學習訓練 並使用 作為模型。
參考資料:
[1] https://users.cs.duke.edu/~parr/icml08.pdf
[2] https://pdfs.semanticscholar.org/61d4/897dbf7ced83a0eb830a8de0dd64abb58ebd.pdf
[3] http://www.incompleteideas.net/papers/horde-aamas-11.pdf
[4] http://proceedings.mlr.press/v37/schaul15.pdf
[5] https://arxiv.org/abs/1707.01495
[6] http://bair.berkeley.edu/blog/2017/10/06/soft-q-learning/
原文連結:
TDM: From Model-Free to Model-Based Deep Reinforcement Learning
http://bair.berkeley.edu/blog/2018/04/26/tdm/