循環神經網路不需要訓練?復現「世界模型」的新發現

循環神經網路不需要訓練?復現「世界模型」的新發現

來自專欄機器之心67 人贊了文章

選自GitHub,作者:Corentin Tallec、Léonard Blier、Diviyan Kalainathan,機器之心編譯。

由谷歌大腦研究科學家 David Ha 與瑞士 AI 實驗室 IDSIA 負責人 Jürgen Schmidhuber(他也是 LSTM 的發明者)共同提出的「世界模型」可以讓人工智慧在「夢境」中對外部環境的未來狀態進行預測,大幅提高完成任務的效率。這篇論文在今年 3 月份出現時引起了人們的熱烈討論。本文深入探討了這篇基於模型的強化學習的研究,該論文在頗具挑戰的 CarRacing-v0 環境中的表現令人驚喜。

除此之外,研究人員還大膽提出了一個問題:循環網路的訓練真的有必要嗎?

除簡介之外,作者還提供了該論文的 PyTorch 實現及額外的實驗,以探討訓練過程在循環網路中的重要程度。

  • PyTorch 實現:github.com/ctallec/worl

「世界模型」總結

論文《World Models》介紹了一種基於模型的強化學習方法,主要圍繞模型的三個部分來介紹:

  1. 變分自編碼器(VAE, Kingma et al., 2014),這是一種可以學習編碼器和解碼器的生成模型。編碼器的任務是將輸入圖像壓縮為一種緊密的潛在表徵。解碼器的任務是從潛在表徵中還原原始圖像。
  2. 混合密度循環網路(MDN-RNN, Graves, 2013),訓練用於在給出之前的潛在編碼和動作的情況下預測下一幀的潛在編碼。混合密度網路輸出高斯混合,用於預測下一次觀測的分布密度。
  3. 簡單線性控制器(C)。它將當前幀的潛在編碼和給定之前編碼和動作的 MDN-RNN 的隱藏狀態作為輸入,並輸出動作,經過訓練後,它能夠利用一種通用的黑箱優化演算法——協方差矩陣自適應進化策略(CMA-ES,Hansen,2006)來將累積獎勵最大化。

論文中解釋這一結構的圖解如下:

在給定環境下,模型按以下步驟進行訓練:

  1. 對從恰當的隨機策略中生成的 rollout 進行隨機採樣。
  2. 在從 rollout 中得到的圖像上訓練 VAE。
  3. 在使用 VAE 編碼器編碼的 rollout 上訓練 MDN-RNN。為了減少計算量,我們在 rollout 的固定大小子序列上訓練 MDN-RNN。
  4. 使用 CMA-ES 在與環境交互的同時訓練控制器。在每個時間步上,控制器將編碼的當前幀和 MDN-RNN 的循環狀態作為輸入,MDN-RNN 包含關於所有先前幀和動作的信息。

或者,如果 MDN-RNN 在建模環境方面足夠優秀,則控制器可以直接在夢境中的模擬 rollout 上進行訓練。

在 CarRacing 環境中的復現性

在 CarRacing-v0 環境中,結果相對容易復現。我們驚喜地發現,相對於深度強化學習演算法通常的復現性標準,該模型在第一次嘗試中取得了良好的結果。我們自己的實現達到的最高分是 860 分,低於該論文報道的 906 分,但比第二優基準的 780 分要好得多。我們認為,結果的差距與我們降低了的計算能力有關,導致 CMA-ES 的超參數不如世界模型那篇論文中的那麼合適。下圖展示了我們訓練的最好模型的行為。

額外的實驗

我們想測試 MDRNN 對結果的影響。事實上,我們在訓練過程中發現,該模型能夠快速學習動態的簡單部分,但大部分沒有考慮到長期效應和多模態性。

在原始論文中,作者將其結果與沒有 MDRNN 的模型進行比較,並獲得以下分數:

我們做了一個額外的實驗,在不訓練 MDRNN 的情況下測試完整的「世界模型」架構,並保持其隨機初始權重。結果如下:

我們展示了我們訓練出的最優模型(使用未經訓練的 MDRNN)的行為:

MDRNN 的訓練似乎並沒有提升性能。我們對這一現象的解釋是:即使循環模型並不能預測環境的下一個狀態,但它的循環狀態依然包含一些關於環境動態的關鍵信息。如果沒有循環模型,則單個幀中就不包含車速等一階信息,如此一來,隱藏代碼中也不會包含這些信息。因此,在沒有 MDRNN 的情況下學習到的策略就無法利用這些信息。很明顯,即使是一個隨機的 MDRNN 也包含一些有用的時間信息,這對於學習一個解決該問題的優秀策略來說已經足夠。

結論

我們在 CarRacing 環境中復現了論文「世界模型」提出的方法,並進行了一些新的實驗。總的來說,我們得出了兩大結論:

  • 「世界模型」的結果很容易復現。這很可能意味著解決該問題的方法不僅表現良好,而且非常穩定。這一點對於評價深度強化學習方法來說至關重要。
  • 在 CarRacing-v0 環境中,似乎循環網路只能作為循環庫來使用,能夠為訪問高階信息提供路徑,如速度和加速度。這一觀察需要一些論點的支持,以下是對此的一些評論:
  • 在「世界模型」的論文中,作者在 VizDoom 模擬環境中進行訓練時報告了不錯的結果。如果沒有經過訓練的循環前向模型,我們無法期待可以獲得這樣的結果。
  • 而在 CarRacing-v0 上,未經訓練的 MDRNN 已經可以達到接近最佳的結果。是因為這個任務太過簡單以至於無需好的循環前向模型嗎?
  • 學習一個高維的環境,訓練一個好模型很難。在長時間的範圍內(如預測兩種未來:一個是左轉,一個是右轉),獲取連貫的多模態行為顯然是困難的。在視覺上,除了隱高斯混合模型(latent gaussian mixture),我們的模型看起來並沒有克服這個困難。正確地處理多模態行為對於利用「世界模型」的可用性至關重要嗎?

原文鏈接:ctallec.github.io/world


推薦閱讀:

BP神經網路:最快速的理解(一)
htfhxx吳恩達深度學習與神經網路學習第三周(3)
Deep Learning Beyond CS
SVD奇異值分解的數學描述
Hinton神經網路課第二講筆記:感知機

TAG:深度學習DeepLearning | 神經網路 | 機器學習 |