伯克利提出時序差分模型TDM:讓深度強化學習更像人類

譯者 | Liu Zhiyong
編輯 | Natalie
AI 前線導讀: 從經驗中學習的智能體一般基於強化學習。強化學習算法通常可分爲兩類:學習策略或價值函數的無模型,以及學習一種動態模型的基於模型。雖然無模型的深度強化學習算法可以學習大量的機器人技能,但它們會有很是高的樣本複雜度,一般須要數百萬個樣本才能得到良好的性能,並且一般只能一次學習一項任務。這些算法的高複雜性和不靈活性阻礙了它們在現實世界中被普遍用於學習移動技能。而基於模型的強化學習算法一般被認爲是更有效率的。

然而爲了實現好的效率樣本,這些傳統的基於模型的算法使用相對簡單的函數近似器,不能很好地歸納複雜任務,或機率性的動力學模型。這個難題究竟如何解決?讓咱們來看看加州大學伯克利分校的博士生 Vitchyr Pong 在伯克利人工智能研究院官博發佈的博文《TDM: From Model-Free to Model-Based Deep Reinforcement Learning》,或許你會有一種醍醐灌頂的感受。

更多優質內容請關注微信公衆號「AI 前線」,(ID:ai-front)

你決定騎自行車從加州大學伯克利分校的住處到金門大橋。這是一段 20 英里的美妙旅程,可是有個問題:你歷來沒有騎過自行車!更糟糕的是,你是灣區的新人,而你只有一張地圖,那要如何開始呢?git

讓咱們先搞清楚你們都是如何學會騎自行車的。github

有一種策略是進行大量的學習和規劃:閱讀如何騎自行車的書籍、研究物理學和解剖學。計劃出你爲了應對每一個擾動作出的全部肌肉運動。這種方法看起來高大上,可是對於任何學過騎自行車的人來講,都知道這種策略註定要失敗。學騎自行車的方法只有一種:試錯。有些任務,像騎自行車這樣的任務,真的太複雜了,以致於根本沒法在腦子裏預先計劃好。算法

AI 前線注:試錯(trial and error)是一種用來解決問題、獲取知識的常見方法。此種方法可視爲簡易解決問題的方法中的一種,與使用洞察力和理論推導的方法正好相反。在試錯的過程當中,選擇一個可能的解法應用在待解問題上,通過驗證後若是失敗,選擇另外一個可能的解法再接着嘗試下去。整個過程在其中一個嘗試解法產生出正確結果時結束。微信

一旦你學會了騎自行車,你將如何到達金門大橋呢?你能夠重複使用試錯策略。隨便轉幾圈,看看你是否在金門大橋上。但不幸的是,這種策略須要耗費很長的時間。對於這類問題,計劃是一個更快的策略,而且只需至關少的實際經驗及更少的試錯。用強化學習的術語來說,它更具備樣本效率(sample-efficient)。框架

左:一些可經過試錯學到的技能。右:其餘時候,提早計劃比較好。ide

雖然簡單,但這個思惟實驗突出了人類智能的一些重要方面。對於某些任務,咱們採用試錯法;而對於其餘任務咱們則使用規劃的方法。在強化學習中也出現了相似的現象。按照強化學習的說法,實證結果代表,一些任務更適合無模型(試錯)方法,而另外一些則更適合基於模型的(規劃)方法。函數

上面這個騎自行車的比喻,也強調這兩個系統並不是徹底獨立。特別是,說學騎自行車只是試錯法的過度簡單化。事實上,當你經過試錯法來學騎車的時候,你也會運用一些計劃。也許你最初的計劃是「不要跌倒」。隨着你的進步,你就會作出更加雄心勃勃的計劃,如「往前騎兩米而不會跌倒」。最終,你騎車技巧爐火純青,這時你能夠開始以很是抽象的方式進行規劃(如「騎車到這條路的盡頭。」),剩下全部的事就是規劃,而無須再擔憂騎車的細節了。咱們目擊了從無模型(試錯)策略逐步過渡到基於模型的(規劃)策略。若是咱們能夠開發出人工智能算法(特別是強化學習算法)來模擬這種行爲,它可能會產生一種這樣的算法:既能很好地執行(經過在早期使用試錯法),而且可以提升樣本效率。(稍後切換到規劃方法來實現更爲抽象的目標)。性能

本文介紹了時序差分模型(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 進行規劃

一旦咱們訓練 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/

相關文章
相關標籤/搜索