流式深度學習終於奏效了!強化學習之父Richard Sutton力薦

机器之心發表於2024-11-29
自然智慧(Natural intelligence)過程就像一條連續的流,可以實時地感知、行動和學習。流式學習是 Q 學習和 TD 等經典強化學習 (RL) 演算法的運作方式,它透過使用最新樣本而不儲存樣本來模仿自然學習。這種方法也非常適合資源受限、通訊受限和隱私敏感的應用程式。

然而,在深度強化學習中,學習器(learners )幾乎總是使用批次更新和重放緩衝區,這種方式使得它們在計算上很昂貴,並且與流式學習不相容。

研究認為批次深度強化學習之所以普遍,是因為它的樣本效率高。流式深度強化學習存在樣本效率問題,經常出現不穩定和學習失敗的情況。這一現象稱為流式障礙。

就像下圖展示的,流式強化學習需要從即時單個樣本進行更新,而無需儲存過去的樣本,而批次強化學習則依賴於儲存在重放緩衝區中的過去樣本的批次更新。
圖片
為了解決流式障礙,本文來自阿爾伯塔大學等機構的研究者提出了 stream-x 演算法,這是第一類深度強化學習演算法,用於克服預測和控制流式障礙,並匹配批次強化學習的樣本效率。
圖片
  • 論文地址:https://openreview.net/pdf?id=yqQJGTDGXN
  • 專案地址:https://github.com/mohmdelsayed/streaming-drl
  • 論文標題:Deep Reinforcement Learning Without Experience Replay, Target Networks, or Batch Updates

論文作者還提供了 stream-x 演算法的最小實現(大約 150 行程式碼),感興趣的讀者可以參考原專案。
圖片
本文證明了 stream-x 演算法能夠克服流式障礙。

在電力消耗預測任務、MuJoCo Gym、DM Control Suite、MinAtar 和 Atari 2600 上的結果證明,該方法能夠作為現成的解決方案,克服流式障礙,提供以前無法透過流式方法實現的結果,甚至超越批次 RL 的效能。特別是,stream AC 演算法在一些複雜的環境中達到了已知的最佳效能。

如下所示,經典的流方法(例如 Classic Q )和批處理 RL 方法的流式版本(例如 PPO1)由於流式障礙而表現不佳。相比之下, stream-x 演算法(例如 stream Q )克服了流式障礙,並與批處理 RL 演算法競爭,證明了其穩定性和魯棒性。
圖片
這項研究得到了強化學習之父 Richard Sutton 的轉發和評論:

「最初的強化學習(RL)演算法受自然學習的啟發,是線上且增量式的 —— 也就是說,它們是以流的方式進行學習的,每當新的經驗增量發生時就學習,然後將其丟棄,永不再次處理。

流式演算法簡單而優雅,但在深度學習中,RL 的首次重大成功並非來自流式演算法。相反,像 DQN(深度 Q 網路)這樣的方法將經驗流切割成單獨的轉換(transitions),然後以任意批次進行儲存和取樣。隨後的一系列工作遵循、擴充套件並完善了這種批次方法,發展出非同步和離線強化學習,而流式方法卻停滯不前,無法在流行的深度學習領域中取得良好效果。

直到現在,阿爾伯塔大學的研究人員已經證明,在 Atari 和 Mujoco 任務上,流式強化學習(Streaming RL) 演算法可以與 DQN 一樣有效。

在我看來,他們似乎是第一批熟悉流式強化學習演算法的研究人員,認真地解決深度強化學習問題,而不受批次導向的軟體和批次導向的監督學習思維方式的過度影響。」
圖片
還有網友表示,流式演算法確實塑造了強化學習的格局。
圖片
方法介紹

本文透過引入流式深度強化學習方法 ——Stream TD (λ)、Stream Q (λ) 和 Stream AC (λ),這些統稱為 stream-x 演算法,並利用資格跡,來解決流式障礙問題。

該方法無需使用重放緩衝區、批次更新或目標網路,即可從最新的經驗中進行學習。與普遍認知相反,本文證明了流式深度強化學習可以是穩定的,並且在樣本效率上可與批次強化學習相當。

由於流式學習方法在使用樣本後必須將其丟棄,因此可能會導致樣本效率低下。為此,本文提出了兩種技術來提高流式學習方法的樣本效率:1)稀疏初始化,2)資格跡。

演算法 1 展示了本文提出的稀疏初始化技術 — SparseInit。此稀疏初始化方案可用於全連線層和卷積層。
圖片
演算法 3 展示瞭如何構建一個最佳化器,該最佳化器使用有效步長這一條件來控制更新大小。
圖片
下面為 stream-x 演算法虛擬碼。為了提高演算法可讀性,作者使用了以下顏色編碼:紫色表示層歸一化,藍色表示觀測規一化,橙色表示獎勵縮放,青色表示步長縮放,棕色表示稀疏初始化。
圖片
圖片
圖片
實驗結果

為了演示 Stream-x 演算法的有效性,該研究首先展示了在不同環境中經典方法失敗的流式障礙,而 Stream-x 演算法克服了這一障礙,並且與其他批處理方法效能相當。

克服流式障礙

流式深度強化學習方法經常會遇到不穩定和學習失敗的情況,稱為流式障礙。圖 2 顯示了三個不同的具有挑戰性的基準測試任務中的流障礙:MuJoCo、DM Control 和 Atari。
圖片
Stream-x 演算法的樣本效率

該研究透過比較不同演算法的學習曲線來研究 stream-x 方法的樣本效率。圖 3 顯示了不同深度 RL 方法在四個連續控制 MuJoCo 任務上的效能。
圖片
圖 4 展示了流 Q (0.8) 與其對應經典方法以及 DQN1 和 DQN 在 MinAtar 任務上的效能。
圖片
Stream-x 演算法在擴充套件執行中的穩定性

接下來,研究團隊探究了 Stream-x 演算法在長時間執行時的穩定性,以有效地揭示方法是否可以長時間執行而不出現任何問題。實驗結果如下圖 5 所示:
圖片
圖 6 顯示了不同智慧體在總共經歷 2 億幀的 Atari 遊戲上的效能:
圖片
感興趣的讀者可以閱讀論文原文,瞭解更多研究內容。

相關文章