當前位置:
首頁 > 新聞 > 用於分層強化學習的隨機神經網路

用於分層強化學習的隨機神經網路

用於分層強化學習的隨機神經網路

論文鏈接:https://openreview.net/pdf?id=B1oK8aoxe


1. 引言

近期,深度強化學習取得了許多令人印象深刻的結果,但這些深度強化學習演算法一般都是採用單純探索策略,如 ε-貪婪演算法或統一的高斯探索雜訊,這些方法在獎勵稀疏的任務中表現不佳。要想解決這些問題,可採用兩種策略:

1. 設計動作的層次結構,這需要專業知識以及細緻的手動工程。

2. 使用與領域無關的內在獎勵來指導探索,然而,對於如何將一個任務的知識進行轉化以解決其他任務尚不清楚,這可能會導致過高的樣本複雜性。

本文作者提出了一個可以在預訓練環境中學習一系列技能的通用框架,該框架可以通過在這些技能上訓練高級策略再應用於下游項目。作者利用隨機神經網路(SNN)與代理獎勵(proxy reward)相結合來學習這些技能,這樣的設計不需要太多與下游項目相關的知識。為了鼓勵 SNN 策略的行為多樣性,研究者在預訓練階段提出了一種基於互信息(MI)的信息理論正則器。


2. 問題描述

本論文作者通過一組時域有限的離散時間折扣馬爾可夫決策過程(MDPs)M 指定了一組下游任務。目標是在整個過程中實現期望折扣回報的最大化。

為了解決這些問題,首先這些下游項目要滿足一些結構性假設,這是確保泛化性能的最低要求。正如智能體空間的思想,狀態空間可以分為兩部分:智能體狀態和休息狀態,這兩個狀態間的相互作用是很弱的。在 M 中,智能體狀態對 M 中的 MDP 都是一樣的,所有的 MDP 都要共享相同的動作空間。

建立了一系列滿足結構假設的任務後,目標是要最小化解決這些任務所需的全部樣本的複雜性。之前的技術是利用解決前期任務收集到經驗來幫助解決後面的任務,但這並不適用於獎勵稀疏的任務。因而研究者提出了一個在預訓練環境中學習有用技能的通用框架。


3.方法論

作者用 5 步過程描述了該方法。該方法利用了預訓練任務的優勢,而且是用最少的專業知識來構建,同時可以學得很多有用的技能來解決稀疏獎勵的極具挑戰的任務。

3.1 建立預訓練環境

為了建立智能體學習可用於下游任務的有用技能的預訓練環境,作者允許智能體在最小設置下自由地與環境進行交互。例如,對移動機器人來說,預訓練環境會是一個寬敞的環境,機器人可以先在這個環境中學到必要的移動能力。

與在預訓練環境中指定特定技能的目標不同,研究者使用鼓勵局部最優解的代理收益作為唯一的獎勵信號,來指導技能學習。再以移動機器人為例,在不限制移動方向的情況下,代理獎勵可與機器人的移動速度成正比。

3.2 用於技能學習的隨機神經網路

一旦建立了預訓練環境,有一種直接方法是學習一系列訓練不同策略的技能,每種策略在不同的隨機初始化下都有單峰動作分布,但這樣會有很高的樣本複雜性。為了解決這個問題,作者提出使用在計算圖中有隨機單位的隨機神經網路(SNN)。因為 SNN 有豐富的表徵能力,還可以逼近任何錶現良好的概率分布,本文作者用 SNN 訓練了不同的策略。

本文實現了一個簡單的 SNN 類,結合具備統一權重類別分布的隱變數和從環境到神經網路的觀測結果,形成聯合嵌入。然後將聯合嵌入饋送給具備計算分布參數的確定性單位(deterministic unit)的前饋神經網路。

直接將觀測值和隱變數級聯形成最簡單的聯合嵌入(圖 1(a)),但這樣形成的聯合嵌入表達能力有限。之前的研究顯示整合形式越豐富表達能力就越好,在這些研究的啟發下,本論文作者提出了一個簡單的雙線性積分作為觀測結果和隱變數的外積。正如實驗所示,由於該級聯對應根據隱碼 h 改變第一個隱藏層的偏置項,積分對應改變第一個隱藏層的權重。因此,訓練單一的 SNN 就能得到靈活的不同策略權重共享方案。

用於分層強化學習的隨機神經網路

圖 1:FNN 中隱向量集成的不同架構

3.3 資訊理論正則化

因為我們無法確定不同政策是否可以學得不同的技能,為了鼓勵 SNN 策略行為的多樣性以及避免 SNN 陷入單一模式,作者在預訓練階段提出一個基於 MI(互信息)的資訊理論正則器。

具體來講,對於移動機器人而言,作者添加了額外的獎勵,該獎勵與隱變數和機器人當前狀態的互信息成比例。作者在此僅測量了當前狀態下相關子集的 MI。從數學上講,Z 代表可以表示隱變數的隨機變數,X 表示智能體當前狀態的隨機變數。額外獎勵可表示為:

用於分層強化學習的隨機神經網路

由於固定分布,H(Z) 是常量,所以 MI 最大值等於條件熵 H(Z|X)最小值。這也就意味著,給出機器人所在的地方,就可以得知機器人當前狀態的行為。

3.4 學習高級策略

用於分層強化學習的隨機神經網路

在從預訓練任務中學到一系列技能後,我們可以通過訓練高級策略使用這些技能解決獎勵稀疏的下游任務。

對於一個給定的任務 M,將高級策略(管理器神經網路,如圖 2 所示)接收到的完整狀態作為輸入,輸出參數化的類別分布,從該分布中,我們從 K 個可能的選擇中採樣出離散行為。一般而言,高級策略運行得比低級策略(SNN)慢,只能每 T 個時間步切換一下其分類輸出。T,也就是所謂的切換時間,是取決於下游任務的超參數。

在這篇論文中,SNN 的權重在訓練階段是凍結的。

3.5 策略優化

為了優化策略,作者在預訓練階段和高級策略訓練階段使用的是置信域策略優化(TRPO)演算法。這是由於 TRPO 出色的實驗性能以及它無需對超參數進行過多調整。


4. 實驗細節

4.1 實驗任務

作者在之前的一篇論文 [5] 中對兩個分級任務實現了分層 SNN 框架:移動+走迷宮和移動+收集食物。本文部署了 Swimmer 機器人完成這些任務。大家可以在附錄 C-D 中看到更複雜的機器人(蛇和螞蟻)的結果。

為了說明下游任務的多樣性,論文作者構建了四個不同的迷宮。如圖 3(a)-3(b) 所示,迷宮 0 是與基準 [5] 中描述的相同任務,迷宮 1 是迷宮 0 的反射。迷宮 2 和迷宮 3 是圖 3(c) 所示環境的不同實例,在這個例子中,目標分別被放置在東北角和西南角。圖 3(d) 描述了收集食物的任務,在這個任務中,機器人若收集到綠色球則得 1 分,收集到紅色球得 -1 分,在每一個 episode 開始的時候隨機放置這些球。連續控制問題的基準 [3] 還表明,採用樸素探索策略的演算法不能解決走迷宮和收集食物的任務,更為先進的內在激勵探索 [6] 可以改善機器人的表現。附錄 B 說明了使用 SNN 的更好的結果。

用於分層強化學習的隨機神經網路

圖 3:稀疏獎勵任務圖示

4.2 超參數

在所有的實驗中,所有策略都用步長為 0.01、折扣為 0.99 的 TRPO 進行訓練,所有的神經網路都有相同的架構——有 32 個隱藏單元的 2 層。對預訓練任務而言,batch size 和最大路徑長度分別為 50000 和 500,這與基準中的超參數是一樣的。對下游任務而言,如表 1 所示:

用於分層強化學習的隨機神經網路

表 1:下游任務演算法的超參數


5. 結果

為了解不同 SNN 架構的相關性以及它們是如何影響已經完成的探索的,技能學習過程中的每一步都需要進行評估。在稀疏環境中得到結果的解釋如下所示:(實現結果的視頻:https://goo.gl/5wp4VP)。

5.1 預訓練中的技能學習

作者在此使用「訪問圖」(visitation plot)顯示機器人在 500 個時間步的 100 個 rollout 中的質心位置 (x, y),以檢驗學得技能的多樣性。圖4(a) 表示 6 個不同前饋策略的 6 個訪問圖,每一個都在預訓練環境中從頭訓練。因為 Swimmer 機器人有前向和後向運動的偏好,因此訪問會集中於初始化方向而沒有額外的激勵,由於每個獨立訓練策略都有通用的代理獎勵,從而保證了潛在有用的技能。圖 4(b) 為 6 個策略的每一個都疊加了 50 個rollout,為方便圖像解釋和對比,作者使用不同顏色來表示。

圖 4(c)-4(d) 描述了有或沒有雙線性積分時,不同選擇下 SNN 獲取的訪問圖。根據圖 4(c) 可知,隱變數和觀測結果之間的簡單關聯幾乎不會對隱變數產生明顯的影響。有雙線性積分的預訓練 SNN 會獲得更多的前向和後向的移動。

用於分層強化學習的隨機神經網路

圖 4:通過不同方法和架構學習的一系列技能

用於分層強化學習的隨機神經網路

圖 5:不同的隨機初始化架構的訪問圖(一個 rollout 有 1M 步)。所有軸範圍都在 [-30,30],我們在 [-2,2] 的範圍內添加了一個高斯雜訊的縮放。

5.2 技能的分層使用

為了說明分層架構是如何影響隨機探索覆蓋區域的,作者比較了一百萬步的單個 rollout 的訪問圖。圖 5(a) 描述了用標準高斯雜訊執行的探測,結果並不好。如圖 5(b)-5(d) 所示,在探索中使用預訓練策略的分層模型結果有了顯著提升。另一方面,多策略的分層更注重上下的探索運動,然而由於基礎策略的附加行為,用 SNN 獲得的探索產生了更寬的空間覆蓋。

5.3 走迷宮和收集食物

因為標準的強化學習演算法不能解決稀疏獎勵的任務,所以有了一個更好的基準線:給下游任務添加預訓練任務中機器人產生的、用於比較的、相同的質心代理獎勵。如圖 6(a)-6(c) 所示,由於時間範圍較長以及相關信用分配的問題,基準線在所有迷宮中的表現都不好。分層架構在每一個新的 MDP 中都可以更快地進行學習,因為它們可以通過將時間步整合到有用的基元從而收縮時間範圍。有一個問題要強調一下,SNN 是用 MI 獎勵預訓練得到的,這意味著在一些走迷宮任務中,無需更多調整和側向運動,如圖 6(c) 所示。但在圖 6(d) 的食物收集任務中,部署了用 MI 獎勵預訓練得到的 SNN 的演算法返回的平均值更高,學習曲線的方差更低。

用於分層強化學習的隨機神經網路

圖 6:分層架構在稀疏的下游 MDPs 中進行更快的學習。

此外,作者還就收集環境將本文的方法與之前研究的方法進行了比較。公平起見,所有的結果設置都與 [5] 一樣。如圖 7 所示,SNN 分層方法要比最先進的內在激勵方法(如 VIME)更好。

用於分層強化學習的隨機神經網路

圖 7:在基準設置下食物收集環境的結果


6. 討論和未來研究

作者提出了一種可以通過隨機神經網路表徵學習多種技能、使用代理獎勵學習大量技能的無監督過程,以及一種可用於未來任務的、允許重複使用學得的有用技能的分層結構的新方法。帶有雙線性積分和互信息獎勵的 SNN 框架可以很大程度上提升學習技能的表現力和多樣性。此外,分層結構可以促進智能體在新環境中進行探索。

正如文章結尾所說的那樣,在這篇文章里仍存在一些局限性,但我們可以通過未來研究改進方法。首先,對不穩定的機器人轉換技能時,現在的方法還不夠穩定,這可以通過學習轉換策略或在預訓練任務中整合這些轉換進行改善。其次,凍結了低級策略的權重,在訓練高等策略過程中的轉換時間就是固定的。可以像之前的研究一樣,用離散隱向量對隨機計算圖使用直通估計(straight-through estimator),引入端到端訓練改善第一個問題。可以通過管理器學習終止策略解決第二個問題,與 Option-critic 架構類似。最後,當前研究只使用了標準前饋架構,這樣就無法使用任何之前技能活躍時收集到的感官信息。未來研究的一個方向是要在管理器層引入循環神經網路架構。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

圖神經網路概述第三彈:來自IEEE Fellow的GNN綜述
全景分割這一年,端到端之路

TAG:機器之心 |