RECURRENT EXPERIENCE REPLAY IN DISTRIBUTED REINFORCEMENT LEARNING (R2D2)

R2D2採用了分佈式框架和LSTM,作爲model-free方法在Atari上實現了SOTA的效果。文章的主要貢獻在於兩個點:一是討論了一下加入RNN之後對於強化學習的MDP時間序列訓練方法的問題;另一個是自身的分佈式較大規模訓練框架。


1. Introduction

RL最早的成功是利用replay buffer來提高數據效率並堆疊固定數量的連續幀來克服Atari 2600遊戲中的部分可觀性。但是,隨着向越來越困難,部分可觀的領域的發展,對更高級的基於內存的表示的需求增加,需要更多的原則性解決方案,如遞歸神經網絡(RNNs)。 在RL中使用LSTM的方法已被廣泛採用,以克服部分可觀性。

在本文中,我們研究了具有經驗重播的RNN訓練。 我們有三個主要貢獻。

  • 首先,我們表明經驗重播對參數滯後的影響,從而導致表示的漂移和循環狀態陳舊。 這在分佈式訓練環境中可能會加劇,並最終導致訓練穩定性和性能下降。
  • 其次,我們通過經驗重放對RNN訓練的幾種方法的效果進行了實證研究,從而減輕了上述影響。
  • 第三,我們介紹了一種agent,該agent整合了這些發現,在Atari-57上取得了重大進展,並與DMLab-30上的技術水平相匹配。

據我們所知,我們的方法,R2D2,是第一個使用單一網絡架構和固定超參數集實現這一點的算法。

2. BACKGROUND

2.1. REINFORCEMENT LEARNING

定義部分可觀馬爾科夫決策過程的元組(S,A,R,T,Ω,O)(S,A,R,T,\Omega,O)

  • SS是狀態集合;
  • AA是行爲集合;
  • R:S×AR:S\times A是獎勵函數;
  • T:S×AT:S\times A是狀態轉換函數;
  • Ω\Omega是agent可能接收到的觀測的集合;
  • OO是觀察函數,將狀態(未觀察到)映射到觀察值上的概率分佈。

在這裏插入圖片描述

2.3. THE RECURRENT REPLAY DISTRIBUTED DQN AGENT

本文提出了算法R2D2,並用它來研究遞歸狀態、經驗重放和分佈式訓練之間的相互作用。R2D2與Ape-X最爲相似,它建立在優先級分佈式重放和n-step double Q-learning(n=5)的基礎上,由大量actors(通常爲256)產生經驗,並由單個學習者從成批重放的經驗中學習。與Ape-X一樣,我們使用dueling network architecture,但在卷積堆棧之後提供一個LSTM層。

與常規的transition tuples (s,a,r,s)(s,a,r,s')不同,我們在重播中存儲固定長度(m = 80)的(s,a,r)(s,a,r)序列,相鄰序列彼此重疊40個時間步長,並且永遠不會越過episode邊界。 訓練時,我們在相同狀態序列上同時展開online and target networks,以生成價值估算和目標。

在這裏插入圖片描述
R2D2中的優先回放與其他方法不同,我們在序列上混合使用了絕對n步TD誤差的δi\delta_i的最大值和平均值:p=ηmaxiδi+(1η)δˉp=\eta\max_i\delta_i+(1-\eta)\bar{\delta}。我們設置η\eta和優先級指數爲0.9。這種更具侵略性的方案是由於我們的觀察結果而得出的,即對長序列進行平均往往會洗掉大的錯誤,從而壓縮優先級的範圍並限制了優先級選擇有用經驗的能力。

3. TRAINING RECURRENT RL AGENTS WITH EXPERIENCE REPLAY

爲了在部分可觀的環境中獲得良好的性能,RL代理需要狀態表示,該狀態表示除了對其當前的觀察之外,還對其狀態動作軌跡的信息進行編碼。 實現此目的的最常見方法是使用RNN(通常爲LSTM)作爲代理狀態編碼的一部分。 爲了從重放中訓練RNN並使其學習有意義的長期依賴關係,需要將整個狀態動作軌跡存儲在重放中並用於訓練網絡。 Hausknecht&Stone(2015)從重放的經驗中比較了兩種訓練LSTM的策略:
在這裏插入圖片描述

  • 零開始狀態策略的吸引力在於其簡單性,它允許相對較短的序列進行獨立的去相關採樣,這對於神經網絡的魯棒優化非常重要。另一方面,它迫使RNN學習從非典型初始遞歸狀態(“初始遞歸狀態不匹配”)中恢復有意義的預測,這可能會限制RNN完全依賴其遞歸狀態並學習利用長期時間相關性的能力。
  • 第二種策略避免了尋找合適初始狀態的問題,但由於序列長度的變化和潛在的環境依賴性,會產生許多實際的、計算的和算法的問題,與隨機抽樣的經驗元組訓練相比,由於軌跡中狀態的高度相關性,網絡更新的方差更高。

Hausknecht&Stone(2015)觀察到,在一組Atari遊戲中,上述兩種策略效果差異很小,因此選擇了更簡單的零啓動狀態策略。

  • 一種可能的解釋是,在某些情況下,如果允許一定數量的“burn-in”步驟,RNN趨向於收斂到一個更“typical”的狀態,因此在足夠長的序列上從一個壞的初始遞歸狀態恢復。
  • 我們還假設,雖然零啓動狀態策略在大多數完全可觀察的Atari域中可能足夠,但它阻止了遞歸網絡在更爲關鍵的記憶域(例如在DMLab上)學習實際的長期依賴性。

爲了解決這些問題,我們提出並評估了從隨機採樣的重放序列中訓練遞歸神經網絡的兩種策略,它們可以單獨使用或組合使用:

  • Stored state:
    在回放中存儲遞歸狀態,並在訓練時使用它初始化網絡。這在一定程度上彌補了零啓動狀態策略的不足,但是它可能會受到“representational drift”的影響,導致“recurrent state staleness”,因爲由足夠舊的網絡生成的存儲遞歸狀態可能與由較新版本生成的典型狀態大不相同。
  • Burn-in:
    通過僅將重播序列的一部分用於網絡展開併產生啓動狀態,從而允許網絡有一個“burn-in period”,而僅在序列的其餘部分上更新網絡。 我們假設這允許網絡從不良的啓動狀態(零,或已存儲但過時的狀態)中部分恢復,並在需要產生準確的輸出之前發現自己處於更好的初始狀態。

在這裏插入圖片描述
在我們的所有實驗中,我們將使用第2.3節中提出的代理架構,回放序列長度爲m=80,可選的burn-in前綴爲l=40或20步。我們的目的是評估representational drift和recurrent state staleness對網絡訓練的負面影響,以及不同的訓練策略如何減輕它們。爲此,我們將比較使用這些策略之一展開時網絡在採樣重播序列上產生的Q值和在每個步驟使用真實存儲的重複狀態時產生的Q值(參見圖1a,顯示了隱藏狀態的不同來源)。

定義ot,...,ot+mo_t,...,o_{t+m}爲回放的觀測序列,ht,...,ht+mh_t,...,h_{t+m}爲存儲的遞歸狀態,ht+1=h(ot,ht;θ)h_{t+1}=h(o_t,h_t;\theta)爲遞歸狀態,q(ht;θ)q(h_t;\theta)爲RNN輸出的Q值向量。隱藏狀態寫爲h^t\hat{h}_t,在訓練期間使用並根據上述策略之一進行初始化(h^t=0 or h^t=ht\hat{h}_t=0\ or\ \hat{h}_t=h_t)。h^t+i=h(ot+i1,h^t+i1;θ^)\hat{h}_{t+i}=h(o_{t+i-1},\hat{h}_{t+i-1};\hat{\theta})ot,...,ot+l+m1o_t,...,o_{t+l+m-1}和參數爲θ^\hat{\theta}的網絡得到。由此,可以看出ΔQ\Delta Q計算的是使用兩種hidden-state的更新方式帶來的所計算Q值的差值。 θ\thetaθ^\hat{\theta}的差別在於前者是用於產生動作,後者用於訓練,不使用q(ht;θ)q(h_t;\theta)q(ht^;θ^)q(\hat{h_t};\hat{\theta})來做差比較是因爲二者本來就不同,而都使用θ^\hat{\theta}就能表明二者僅因爲訓練方式不同的差異。

在這裏插入圖片描述
在圖1b中,可以看出,零開始狀態啓發式方法會導致遞歸狀態陳舊性對網絡輸出的嚴重影響。 在RNN有時間從非典型初始狀態恢復後,與第一個序列狀態相比,對於最後一個序列狀態,此影響大大降低,但是對於零狀態,這裏的陳舊性的影響仍然比存儲狀態策略嚴重得多。純零狀態啓發式的另一個潛在缺點是,它防止代理強烈依賴其遞歸狀態並利用長期的時間依賴性。

burn-in策略本身可以部分緩解重播序列初始部分的陳舊性問題,而對後期序列狀態的Q值差異沒有顯著影響。從經驗上講,這轉化爲顯著的性能改進,如圖1c所示。這本身是值得注意的,因爲純零狀態與burn-in策略之間的唯一區別在於,後者在網絡未接收更新的狀態前綴上展開網絡。我們觀察到這不是由於展開長度本身不同引起的(即,在長度爲l + m的序列上沒有burn-in的零狀態策略總體上表現較差)。我們假設burn-in的好處在於,它防止了零狀態初始化後最初幾個時間步中初始輸出的高度不準確所導致的RNN參數的“破壞性更新”。

另一方面,從Q值差異的角度來看,存儲狀態策略在緩解狀態陳舊性方面總體上更加有效,這也導致了經驗性能的更清晰和更一致的改進。最後,這兩種方法的結合一致地在最後的序列狀態上產生最小的差異和最健壯的性能增益。

References:

[1] ICLR2019:R2D2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章