一、Play it again: reactivation of waking experience and memory(Trends in Neurosciences 2010)
來自嚙齒動物的越來越多的證據表明,稱為尖波/波紋(SWR)的網絡事件在海馬體依賴性記憶鞏固中起着關鍵作用。
海馬體依賴性記憶形成可能在兩個主要階段發生。首先,海馬體在清醒時快速地編碼記憶。然后,在“離線時段”內,海馬體會“重新激活”記憶軌跡,從而促進轉移到皮層網絡中的長期儲存狀態,或促進海馬體內外不同大腦區域的軌跡之間的關聯。
隨着動物的探索,不同組的細胞在環境中的特定位置一起發放。保留這些發放模式的時空組織可以為清醒經驗的記憶軌跡提供基礎。CA3區域是這種軌跡的一個潛在存儲庫,該區域具有強烈的循環連接性和高度可修改的突觸。
SWR發放模式不僅反映了環境,而且反映了行為,這進一步表明來自以下事實:在以后的睡眠中,訪問頻率較高的地方會更強烈地重新激活。結果表明,在隨后的睡眠過程中,編碼特定位置的細胞的發放同步性隨着在先前探索期間在該位置花費的時間而增加。因此,重新激活的模式偏向訪問量最大的地方。
總之,這些發現表明,與探索有關的發放模式在睡眠期間會重新激活。因此,到目前為止,尚未直接顯示,重新激活的模式表示鞏固過程中的記憶軌跡。即便如此,我們知道,重新激活的模式代表了以前的清醒經驗,首先需要將其存儲在海馬體中。
因此,依賴於NMDAR的突觸可塑性可以作為后續重新激活的記憶軌跡的存儲基礎。
最近的一份報告表明,在隨后的睡眠中,細胞的聯合發放趨勢(共同發放)取決於它們在探索過程中一起發放的次數。
將新的清醒經驗的不穩定表示整合到先前存在的表示中,可能需要其他過程來防止其因干擾現有的表示而退化。
Tulving及其同事提出了“新穎性編碼假設”,即長期存儲信息的可能性隨信息的新穎性而直接變化。以這種方式,在新的經驗之后增強的重新激活可以優先促進代表那些事件的記憶軌跡的鞏固。與此假設相符,重新激活在新穎的探索之后比熟悉的環境更強。
這些數據表明SWR的雙重作用,既有利於主動探索過程中的初始軌跡采集,又有助於促進存儲軌跡的回放。實際上,最近的數據表明,海馬體可以在編碼和回放模式之間快速切換。
在記憶形成的兩階段模型中,一個假設是在睡眠期間會發生軌跡重新激活,以減少正在進行的軌跡形成所造成的干擾。但是,最近的發現表明,SWR在短暫的探索停頓期間也發生了重新激活。
但是,這種軌跡運行的“回放”順序是相反的,因此,最近訪問過的位置會被首先回放。
因此,在清醒活動期間,海馬體可以在編碼和回放模式之間快速切換。在探索過程中,反向回放可能有助於協調近期的脈沖活動,並可能促進表示環境中顯著特征(例如獎勵)的細胞之間的關聯。
有幾條證據表明,整個大腦的重新激活是協調的。這種協調且全腦范圍的激活,與分布在不同大腦區域的記憶軌跡回放一致,且每個區域都貢獻了軌跡的一部分,反映了其在清醒過程中的作用。
Box 2. Outstanding questions
- 盡管研究表明重新激活的模式與動物的先驗行為有關,並且SWR的發放可以促進空間學習,但尚無研究表明重新激活本身是反映獲得的記憶軌跡還是在鞏固過程中起作用。因此,必須問:
- 具體來說,在復雜的記憶任務中,重新激活是否反映了已學到的內容?
- 例如,在一項必須學習許多項目的任務中,與學得不好的項目相比,被召回項目的表示是否被更強烈或更頻繁地重新激活?
- 通常,重新激活可以預測對所獲取信息的未來召回嗎?
- 尚無有關重新激活如何促進鞏固的數據;重新激活是否可能導致海馬體信息的轉移,和/或加強不同大腦區域的助記項之間的關聯?
- 重新激活是否在鞏固所有類型的海馬體依賴性記憶或僅某些類型的記憶中發揮作用?
- 另一個未解決的問題與重新激活背后的機制有關。雖然可能需要突觸可塑性來存儲重新激活的模式,但尚不清楚哪種網絡事件會導致可塑性變化以及在細胞和突觸水平上會發生什么變化。
- 最后,還不清楚控制特定模式重新激活的因素。海馬體外輸入是否控制重新激活哪些模式?
二、Playing Atari with Deep Reinforcement Learning(CoRR 2013)
為了減輕相關數據和非平穩分布的問題,我們使用一種經驗回放機制,該機制隨機采樣先前的轉換,從而使訓練分布在許多過去的行為上變得平滑。
與TD-Gammon和類似的在線方法相比,我們使用一種稱為經驗回放的技術,在該技術中,我們將智能體在每個時間步驟的經驗存儲在數據中,將許多回合匯聚到一個回放內存中,數據集D = e1, ... , eN,其中et = (st, at, rt, st+1)。在算法的內部循環中,我們將Q學習更新或小批量更新應用於從存儲的樣本池中隨機采樣的經驗樣本e ~ D。
與標准的在線Q學習相比,該方法具有多個優勢。首先,經驗的每個步驟都可能在許多權重更新中使用,這可以提高數據效率。其次,由於樣本之間的相關性強,因此直接從連續樣本中學習是無效的。將樣本隨機化會破壞這些相關性,因此會減少更新的方差。第三,當學習策略時,當前參數確定訓練參數的下一個數據樣本。例如,如果最大化動作是向左移動,則訓練樣本將由左側樣本控制;如果最大化動作然后切換到右側,則訓練分布也將切換。很容易看出不必要的反饋回路是如何產生的,參數可能會陷入一個很差的局部最小值,甚至會發生災難性的發散。通過使用經驗回放,行為分布可以在其許多先前狀態中進行平均,從而平滑學習過程並避免參數出現波動或發散。請注意,在通過經驗回放進行學習時,有必要學習異策(因為我們當前的參數與用於生成樣本的參數不同),這激發了選擇Q學習的動機。
實際上,我們的算法僅將最近的N個經驗元組存儲在回放內存中,並在執行更新時從D中隨機均勻采樣。該方法在某些方面受到限制,因為內存緩存不區分重要的轉換,並且由於有限的內存大小N而始終用最近的轉換覆蓋。類似地,均勻采樣對回放內存中的所有轉換都具有同等的重要性。一種更復雜的采樣策略可能會強調我們可以從中學習最多的轉換,類似於優先掃描。
在這些實驗中,我們使用小批量(大小為32)的RMSProp算法。訓練過程中的行為策略是ε-貪婪,在前一百萬幀中從1到0.1線性退火,此后固定為0.1。我們總共訓練了1000萬幀,並使用了一百萬個最新幀的回放內存。
三、Human-level control through deep reinforcement learning(Nature 2015)
首先,我們使用一種受生物學啟發的機制(被稱為經驗回放)對數據進行隨機化,從而消除了觀察序列中的相關性,並平滑了數據分布的變化(有關詳細信息,請參見下文)。
為了執行經驗回放,我們在每個時間步驟 t 將智能體的經驗et = (st, at, rt, st+1)存儲在數據集Dt = {e1, ... , et}中。在學習過程中,我們對經驗的樣本(或小批量)(s, a, r, s') ~ U(D)應用Q學習更新,這些樣本是從存儲樣本池中隨機采樣的。
值得注意的是,RL與深度網絡結構的成功集成在很大程度上取決於我們結合使用回放算法,其中涉及存儲和表示最近經驗的轉換。越來越多的證據表明,海馬體可能支持哺乳動物大腦中這種過程的物理實現,在離線時期(例如,清醒的休息)期間最近經驗的軌跡的時間壓縮重新激活提供了一種推定的機制,通過該機制可以有效地發揮價值函數,通過與基底神經節的交互來更新。未來,探索將經驗回放的內容偏向顯著事件的潛在用途非常重要,這種現象是根據經驗觀察到的海馬體回放的特征,並且與RL中"優先掃描"的概念有關。綜上所述,我們的工作說明了將最新的機器學習技術與受生物啟發的機制相結合所產生的力量,這些力量可以創造出能夠學習掌握各種挑戰性任務的智能體。
在這些實驗中,我們使用小批量(大小為32)的RMSProp算法。訓練期間的行為策略是ε-貪婪,ε在最初的一百萬幀中從1.0線性退火到0.1,然后在之后固定為0.1。我們總共訓練了5000萬幀(即總共大約38天的游戲經驗),並使用最近一百萬幀的回放內存框架。
首先,我們使用一種被稱為"經驗回放"的技術,在該技術中,我們將智能體在每個時間步驟的經驗et = (st, at, rt, st+1)存儲在數據集Dt = {e1, ... , et}中,多個回合匯聚(當到達終止狀態時,回合的結束發生)到回放內存。在算法的內循環中,我們將Q學習更新或小批量更新應用於經驗樣本(s, a, r, s') ~ U(D),這些樣本是從存儲樣本池中隨機采樣的。與標准的在線Q學習相比,此方法具有多個優勢。首先,經驗的每個步驟都可能用於許多權重更新,這可以提高數據效率。其次,由於樣本之間的相關性強,因此直接從連續樣本中學習是無效的。 將樣本隨機化會破壞這些相關性,因此會減少更新的方差。第三,當學習策略時,當前參數確定訓練參數的下一個數據樣本。 例如,如果最大化動作是向左移動,則訓練樣本將由左側樣本控制; 如果最大化動作然后切換到右側,則訓練分布也將切換。很容易看出可能會出現有害的反饋循環,並且參數可能陷入極小的局部最小值中,甚至發生災難性的變化。通過經驗回放,行為分布可以在其以前的許多狀態中進行平均,從而可以平滑學習過程並避免參數出現振盪或發散。請注意,在通過經驗回放進行學習時,有必要進行異策學習(因為我們當前的參數與用於生成樣本的參數不同),這激發了選擇Q學習的動機。
實際上,我們的算法僅將最近的N個經驗元組存儲在回放內存中,並在執行更新時從D中隨機采樣。這種方法在某些方面受到限制,因為內存緩存不能區分重要的轉換,並且由於有限的內存大小N而總是用最近的轉換覆蓋。類似地,均勻采樣對回放內存中的所有轉換都同樣重要。可能會強調我們可以從中學到最多的轉換,類似於優先掃描。
四、Prioritized Experience Replay(ICLR 2016)
1 Introduction
經驗回放(Lin, 1992)解決了這兩個問題:將經驗存儲在回放內存中,可以通過混合越來越多的用於更新的最近經驗來打破時間相關性,而罕見的經驗將不僅僅用於一次更新。深度Q網絡(DQN)算法(Mnih et al., 2013; 2015)證明了這一點,該算法通過使用經驗回放來穩定以深度神經網絡為代表的價值函數的訓練。具體來說,DQN使用了一個大的滑動窗口回放內存,從中隨機采樣均勻地對其進行采樣,然后平均重訪每個轉換八次。通常,經驗回放可以減少學習所需的經驗,而可以用更多的計算和內存來代替,這些資源通常比RL智能體與其環境的交互要便宜。
在本文中,我們研究了優先回放哪些轉換會比均勻回放所有轉換更加有效。關鍵思想是,RL智能體可以通過某些轉換更有效地學習。轉換可能或多或少令人驚訝,冗余或與任務相關。某些轉換對智能體可能不是立即有用的,但當智能體能力增強時可能會變得有用(Schmidhuber, 1991)。經驗回放將在線學習智能體從完全按照經歷順序處理轉換中解放出來。優先回放進一步將智能體從以相同頻率考慮轉換中解放出來。
尤其是,我們提出更頻繁地回放具有較高期望學習進度的轉換,以其TD誤差的大小來衡量。這種優先次序可能會導致多樣性的喪失,而我們通過隨機優先次序來緩解多樣性,並引入偏差,這可以通過重要性采樣進行糾正。
2 Background
大量的神經科學研究已經找到了在嚙齒動物海馬體中經驗回放的證據,這表明在清醒的休息或睡眠過程中都會回放先前經驗序列。與獎勵相關的序列似乎更頻繁地回放(Atherton et al., 2015;Ólafsdóttir et al., 2015;Foster&Wilson, 2006)。高TD誤差的經驗似乎也經常被回放(Singer&Frank, 2009;McNamara et al., 2014)。
眾所周知,通過按適當的順序對更新進行優先級排序,可以使諸如價值迭代之類的計划算法更加有效。優先掃描(Moore&Atkeson, 1993;Andre et al., 1998)選擇下一個要更新的狀態,如果執行了該更新,則根據價值的變化進行優先選擇。TD誤差提供了一種衡量這些優先級的方法(van Seijen&Sutton, 2013)。我們的方法使用了類似的優先級排序方法,但是用於無模型的RL,而不是基於模型的計划。此外,當從樣本中學習函數近似時,我們使用魯棒性更高的隨機優先級。
TD誤差也已被用作確定資源集中於何處的優先機制,例如在選擇要探索的地方時(White et al., 2014)或選擇待選特征時(Geramifard et al., 2011;Sun et al., 2011)。
在監督學習中,有許多技術可以在已知類標識時處理不平衡數據集,包括重采樣,欠采樣和過采樣技術,可能與集成方法結合使用(有關綜述,請參見Galar et al., 2012)。最近的一篇論文介紹了在具有經驗回放的深度RL的背景下進行重采樣的方式(Narasimhan et al., 2015);該方法將經驗分成兩個部分,一個用於正獎勵,一個用於負獎勵,然后從每個中選擇一個固定的划分進行回放。這僅適用於(不同於我們的)擁有"正/負"經驗的自然概念的領域。此外,Hinton (2007)引入了一種基於誤差的非均勻采樣形式,並進行了重要性采樣校正,從而使MNIST數字分類的速度提高了3倍。
3.2 Prioritized with TD-error
優先回放的中心部分是用來衡量每個轉換的重要性的標准。一個理想的標准是RL智能體可以從其當前狀態的轉換(期望學習進度)中學習的量。雖然無法直接獲得此度量,但合理的替代是轉換的TD誤差δ,它表明轉換有多"令人驚訝"或出乎意料:具體而言,該價值與其下一步自舉估計的差距有多大(Andre et al., 1998)。這特別適用於增量在線RL算法(例如SARSA或Q學習),這些算法已經計算出TD誤差並按δ的比例更新參數。在某些情況下,TD誤差也可能是錯誤的估計(例如,當獎勵帶噪時)。有關替代方法的討論,請參見附錄A。
為了證明利用TD誤差進行優先回放的潛在有效性,我們將Blind Cliffwalk中的統一oracle基准與"貪婪TD誤差優先級"算法進行了比較。該算法將最后遇到的TD誤差以及每個轉換存儲在回放內存中。具有最大絕對TD誤差的轉換從內存中回放。Q學習更新應用於此轉換,該更新與TD誤差成比例地更新權重。新的轉換不會出現已知的TD誤差,因此我們將其設置為最高優先級,以確保看到所有經驗至少一次。該算法大大減少了解決Blind Cliffwalk任務所需的工作量。
3.3 Stochastic Prioritization
但是,貪婪TD誤差優先級有幾個問題。首先,為避免對整個回放內存進行昂貴的掃描,僅針對回放的轉換更新TD誤差。作為結果,第一次訪問時TD誤差較低的轉換可能不會長時間回放(這意味着從不使用滑動窗口回放內存永遠不會回放)。此外,它對帶噪脈沖敏感(例如,當獎勵是隨機時),這種噪聲會因自舉而加劇,在這種情況下,近似誤差似乎是另一種噪聲源。最后,貪婪優先級集中在經驗的一小部分:誤差緩慢縮小,尤其是在使用函數近似時,這意味着最初的高誤差轉換頻繁回放。缺乏多樣性使系統易於過擬合。
為了克服這些問題,我們引入了一種隨機采樣方法,該方法在純貪婪優先級和均勻隨機采樣之間進行插值。我們確保采樣的概率在轉換的優先級中是單調的,同時即使對於最低優先級的轉換,也要保證非零概率。具體來說,我們將采樣轉換 i 的概率定義為:
其中pi > 0是轉換 i 的優先級。指數α確定使用多少優先級,其中α = 0對應於均勻情況。
我們考慮的第一個變體是直接且按比例的優先級排序,其中pi = |δi| + ε,其中ε是一個小的正常數,這可以防止一旦其誤差為零,就不會重新考慮轉換的邊緣情況。第二種變體是基於次序的間接優先級排序,其中,其中rank(i)是當根據|δi|對回放內存進行排序時轉換 i 的次序。在這種情況下,P變為具有指數α的冪分布。兩種分布在|δ|中都是單調的,但是后者可能更魯棒,因為它對異常值不敏感。隨機優先級的這兩種變體都會導致在Cliffwalk任務上的速度大幅超過統一基准。
3.4 Annealing the Bias
具有隨機更新的期望價值估計依賴於那些與期望相同分布的更新。優先回放會引入偏差,因為它會以不受控制的方式更改此分布,因此這會更改估計將收斂到的解決方案(即使策略和狀態分布是固定的)。我們可以使用重要性采樣(IS)權重來糾正這種偏差:
如果β = 1,這可以完全補償非均勻概率P(i)。這些權重可以通過使用wiδi而不是δi折入Q學習更新中(因此這是加權IS,而不是普通IS,請參見例如Mahmood et al., 2014)。出於穩定性的原因,我們始終將權重歸一化為1/maxi wi,以便它們僅向下縮放更新。
在典型的RL場景中,更新的無偏差性質在訓練結束時接近收斂是最重要的,因為由於策略,狀態分布和自舉目標的改變,該過程還是非常不穩定的。我們假設在這種情況下可以忽略小的偏差。因此,我們通過對僅在學習結束時達到1的指數β定義時間表來利用隨時間進行重要性采樣校正量退火的靈活性。實際上,我們對β從初始值β0到1進行線性退火。請注意,此超參數的選擇與優先級指數α的選擇相互作用;同時增加兩者將優先考慮更積極地采樣,同時對其進行更強地校正。
當非線性函數近似(例如深度神經網絡)與優先回放結合使用時,重要性采樣還有另一個好處:這里的大步長可能是非常破壞性的,因為梯度的一階近似僅在局部可靠,並且必須通過較小的全局步長來防止。取而代之的是,在我們的方法中,確定優先級可確保多次看到高誤差轉換,而IS校正可減小梯度幅度(從而減小參數空間中的有效步長),並允許算法遵循高度非線性優化圖的曲率,因為泰勒展開式不斷被重新近似。
我們基於最新的雙重DQN算法,將優先回放算法結合到了全尺度的RL智能體中。我們的主要修改是用我們的隨機優先級和重要性采樣方法(請參閱算法1)代替雙重DQN使用的均勻隨機采樣。
4 Atari Experiments
對於本文而言,這些基准中最相關的部分是回放機制:所有經歷的轉換都存儲在滑動窗口內存中,該內存保留了最后106個轉換。該算法處理從內存中均勻采樣的小批量(大小為32)的轉換。每次進入內存的4個新轉換都會進行一次小批量更新,因此所有經驗平均要回放8次。出於穩定性原因,獎勵和TD誤差被限制在[-1, 1]中。
與基准相比,僅需進行一次超參數調整:鑒於優先回放更頻繁地選擇高誤差轉換,典型的梯度幅度越大,因此與(雙重)DQN相比,我們將步長η減小了4倍。對於優先級引入的超參數α和β0,我們進行了粗略網格搜索(對8個游戲的子集進行了評估),發現基於次序的變體的最優點是α = 0.7,β0 = 0.5;對於比例變體,α = 0.6,β0 = 0.4。這些選擇是在積極性與魯棒性之間的權衡,但是通過減少α和/或增加β,很容易恢復為接近基准的行為。
優先回放可以提高幾乎所有游戲的性能,總體而言,學習速度是之前的兩倍。
5 Discussion
在基於次序的優先級和比例優先級之間的正面對比中,我們期望基於次序的變體更加魯棒,因為它不受異常值和誤差幅度的影響。此外,其heavy-tail特性還保證了樣本的多樣性,並且在整個訓練過程中,來自具有不同誤差划分的分層采樣將使總的小批量梯度保持穩定的大小。另一方面,次序使算法對相對誤差量視而不見,當要利用的誤差分布中存在結構時,例如在稀疏獎勵方案中,這可能導致性能下降。也許令人驚訝的是,兩種變體在實踐中的性能相似。我們懷疑這是由於DQN算法大量使用了限幅(獎勵和TD錯誤),從而消除了異常值。監視TD誤差隨時間變化的分布,發現隨着學習的進行,TD誤差的分布已接近heavy-tailed分布,而各游戲之間的差異仍然很大;這從經驗上驗證了等式1的形式。
在進行此分析時,我們偶然發現了另一種現象(回想起來很明顯),即某些訪問的轉換在從滑動窗口內存中退出之前從未回放過,而更多的轉換是在它們遇到的很久之后才第一次回放。此外,均勻采樣隱式偏向於由策略生成的過時轉換,該策略從那以后通常已經看到數十萬次更新。帶有針對未見過的轉換提供獎勵的優先回放可以直接糾正這些問題中的第一個,並且由於最近的轉換往往會產生更大的誤差,因此也傾向於幫助解決第二個問題——這是因為舊的轉換將有更多的機會來糾正它們 ,並且新數據往往難以通過價值函數進行預測。
我們假設深度神經網絡以另一種有趣的方式與優先回放交互。當我們區分學習給定表示(即頂層)的價值和學習改進的表示(即底層)的價值時,表示良好的轉換將迅速減少其誤差,然后減少回放,將學習重點放在表示較差的其他轉換上,從而將更多資源用於區分混疊狀態——如果觀察和網絡容量允許的話。
6 Extensions
Off-policy Replay: 異策RL的兩種標准方法是拒絕采樣和使用重要性采樣率ρ來糾正同策轉換的可能性。我們的方法包含這兩種方法的類似物,即回放率P和IS校正w。因此,如果在回放內存中有轉換,則將其應用於異策RL很自然。特別是,在比例變體中,我們用w = ρ,α = 0,β = 1恢復加權IS,並以p = min(1; ρ),α = 1,β = 0拒絕采樣。我們的實驗表明,中間變體(可能帶有退火或次序)在實踐中可能更有用——尤其是當IS比率引入高方差時,即當感興趣的策略與某些狀態的行為策略有很大不同時。當然,異策修正是對基於期望學習進度的優先級的補充,並且可以通過定義p = ρ · |δ|或基於ρ和δ兩者的其他合理權衡,將相同框架用於混合優先級。
Feedback for Exploration: 優先回放的一個有趣的副作用是,最終將被回放的轉換總數Mi千差萬別,這大致表明了它對智能體的有用性。該潛在有價值的信號可以反饋給生成轉換的探索策略。例如,我們可以在每個回合開始時從參數化分布中采樣探索超參數(例如隨機動作的概率ε,玻爾茲曼溫度或要混合的內在獎勵的數量),以通過Mi監控經驗的有用性,並更新分布以產生更多有用的經驗。或者,在像Gorila智能體(Nair et al., 2015)這樣的並行系統中,它可以指導同時存在但異構的"執行者"集合之間的資源分配,每個執行者都有不同的探索超參數。
Prioritized Memories: 幫助確定要回放的轉換的考慮因素也可能與確定存儲哪些內存以及何時擦除它們有關(例如,何時不再可能回放它們)。顯式控制要保留或擦除的內存可以幫助減少所需的總內存大小,因為它可以減少冗余(頻繁訪問的轉換誤差低,因此很多轉換將被丟棄),同時自動調整已學到的知識(刪除許多"簡單"轉換)並將內存的內容偏向誤差很高的地方。這是不平凡的方面,因為DQN的內存需求當前由回放內存的大小控制,而不再由神經網絡的大小控制。與降低回放率相比,擦除是一個更最終的決定,因此,可能需要更加強調多樣性,例如,通過跟蹤每個過程的年齡並使用它來調整優先級,從而保留足夠的舊經驗以防止循環(與多智能體文獻中的"名人堂"思想有關,Rosin&Belew, 1997)。優先級機制也足夠靈活,可以整合來自其他來源的經驗,例如來自計划者或人類專家軌跡的經驗(Guo et al., 2014),因為知道來源可用於調整每個轉換的優先級,例如以某種方式在內存中保留足夠比例的外部經驗。
A Prioritization Variants
絕對TD誤差只是期望學習進度的理想優先級度量的一種可能替代。盡管它捕獲了潛在改進的規模,卻忽略了獎勵或轉換中固有的隨機性,以及部分可觀察性或FA容量可能造成的限制;換句話說,當存在無法學習的轉換時,這是有問題的。在這種情況下,其導數(可能可以用轉換的當前|δ|與上次回放時的|δ|之差來近似)可能會更有用。但是,此度量不太立即可用,並且受同時回放的內容的影響,這增加了其方差。在初步的實驗中,我們發現它的性能並沒有優於|δ|,但這可能更多地說明了我們研究的(近似確定的)環境的類別,而不是衡量指標本身。
正交變體將考慮回放轉換引起的權重變化的范數——如果基礎優化器采用自適應步長可減少高噪聲方向上的梯度,則此方法會很有效(Schaul et al., 2013;Kingma& Ba, 2014),因此將區分可學習和不可學習轉換的負擔放在優化器上。
通過將正TD誤差與負TD誤差區別對待,可以調整優先級。例如,我們可以援引Anna Karenina原理(Diamond, 1994),該原理被解釋為意味着,在許多情況下,轉換可能不如期望的好,但只有其中一種可能更好,以引入不對稱並優先考慮正TD誤差(與同等程度的負誤差相比),因為前者更有可能提供豐富的信息。在大鼠研究中也觀察到這種回放率的不對稱性(Singer&Frank, 2009)。同樣,我們對此類變體的初步實驗尚無定論。
神經科學的證據表明,基於回合回報而不是期望學習進度的優先級排序也可能有用(Atherton et al., 2015;Ólafsdóttir et al., 2015;Foster&Wilson, 2006)。對於這種情況,我們可以提高整個回合(而不是轉換)的回放率,或者通過觀察到的return-to-go(甚至是其價值估計)來提高單個轉換。
對於保留足夠的多樣性(防止過擬合,過早收斂或表示不當)的問題,我們選擇引入隨機性有其他解決方案,例如,可以通過觀察空間中的新穎性措施來調整優先級。沒有什么能阻止一種混合方法,其中(每個小批量處理的)一部分元素是根據一種優先級度量進行采樣的,而其余元素則是根據另一種優先度量進行采樣的,從而引入了額外的多樣性。一個正交的想法是通過引入顯式的陳舊性獎勵來增加一段時間未回放的轉換的優先級,以確保不時重新審視每個轉換,並且以與上次出現的TD誤差相同的速度增加的機會變得陳舊。在這種獎勵隨時間線性增長的簡單情況下,可以通過在任何更新中從新優先級中減去與全局步驟數成比例的量來實現這一目標,而無需任何額外成本。
在RL帶有價值函數自舉的特殊情況下,可以使用以下直覺來利用回放內存的順序結構:導致大量學習(關於其傳出狀態)的轉換有可能更改導致該狀態的所有轉換的自舉目標,因此有更多的知識要學習。當然,我們至少知道其中之一,即歷史的前導轉換,因此提高優先級使其有可能很快被重新審視。與資格跡類似,這可以使信息從未來的結果反向緩慢移動到導致結果的動作和狀態的價值估計。實際上,我們將當前轉換的|δ|添加到先前轉換的優先級中,但前提是先前轉換不是終止轉換。這個想法與在嚙齒動物(Foster&Wilson, 2006)中觀察到的"反向回放"有關,並且與優先掃描的最新擴展有關(van Seijen&Sutton, 2013)。
五、Language Understanding for Text-based Games using Deep Reinforcement Learning(EMNLP 2015)
從經驗內存D創建這些小批量的最簡單方法是均勻隨機采樣。但是,某些經驗比其他經驗更有價值,可供智能體學習。例如,提供正獎勵的罕見轉換可以更經常地用於更快地學習最優Q值。在我們的實驗中,我們認為此類正獎勵轉換具有更高的優先級,並在D中對其進行跟蹤。我們使用優先采樣(由Moore and Atkeson (1993)啟發)從較高優先級的池中采樣比例為ρ的轉換,其余轉換的采樣比例為1-ρ。
對於優先采樣,我們對兩個世界使用ρ = 0.25。
六、Distributed Prioritized Experience Repaly(ICLR 2018)
1 Introduction
在本文中,我們描述了一種通過生成更多數據並以優先方式從中選擇來擴展深度RL的方法(Schaul et al., 2016)。神經網絡分布式訓練的標准方法着重於並行化梯度的計算,以更快速地優化參數(Dean et al., 2012)。相反,我們分配了經驗數據的生成和選擇,發現僅此一項就可以改進結果。這是對分布式梯度計算的補充,可以將這兩種方法結合起來,但是在這項工作中,我們僅專注於數據生成。
我們根據經驗調查了框架的可伸縮性,分析了優先級如何在增加數據生成工作者的數量時影響性能。我們的實驗包括對諸如回放容量,經驗的新近性以及對不同工作者使用不同數據生成策略等因素的分析。最后,我們討論了可能適用於我們分布式框架之外的深度RL智能體的含義。
2 Background
Prioritized Experience Replay 經驗回放(Lin, 1992)長期用於RL以提高數據效率。當使用隨機梯度下降算法訓練神經網絡函數近似時,如在神經擬合Q迭代(Riedmiller, 2005)和深度Q學習(Mnih et al., 2015)中,此方法特別有用。經驗回放還可以通過允許智能體從策略的早期版本生成的數據中學習來幫助防止過擬合。優先經驗回放(Schaul et al., 2016)擴展了經典的優先掃描概念(Moore&Atkeson, 1993),以與深度神經網絡函數近似一起使用。該方法與上一節中討論的重要性采樣技術密切相關,但是使用了更普遍的一類有偏的采樣過程,這些過程將學習重點放在最"令人驚訝"的經驗上。有偏采樣在RL中特別有用,因為獎勵信號可能稀疏並且數據分布取決於智能體的策略。作為結果,在許多智能體中使用了優先經驗回放。在一項消融研究中,研究了幾種算法成分的相對重要性(Hessel et al., 2017),發現優先級是影響智能體性能的最重要成分。
3 Our Contribution: Distributed Prioritized Experience Replay
在本文中,我們將優先經驗回放擴展到分布式環境,並表明這是深度RL的高度可擴展方法。我們介紹了實現此可伸縮性的一些關鍵修改,並將我們的方法稱為Ape-X。
七、Revisiting Fundamentals of Experience Replay (ICML 2020)
參考鏈接:https://www.cnblogs.com/lucifer1997/p/13525276.html
經驗回放對於深度RL中的異策算法至關重要,但是在我們的理解上仍然存在很大差距。因此,我們對Q學習方法中的經驗回放進行了系統且廣泛的分析,重點是兩個基本屬性:回放容量和學習更新與所收集經驗的比率(回放率)。我們的加性和消融研究顛覆了有關經驗回放的傳統觀點——更大的容量被發現可以顯著提高某些算法的性能,而不會影響其他算法。與直覺相反,我們表明,理論上沒有根據且未經校正的n步回報是唯一有益的,而其他技術則對於通過更大的內存進行篩選提供了有限的好處。另外,通過直接控制回放率,我們可以結合文獻中的先前觀察結果,並通過經驗來衡量其在三種深度RL算法中的重要性。最后,我們通過測試關於這些性能優勢的性質的一組假設來得出結論。
八、Prioritized Sequence Experience Replay(Arxiv 2020)
1. Introduction
在游戲環境中,獲得經驗的成本相當低廉,但是對現實世界中控制任務的試驗通常涉及我們不希望浪費的時間和資源。另外,由於系統的磨損,試驗次數可能會受到限制,從而使數據效率變得至關重要(Gal, 2016)。在這些情況下,無法進行仿真或獲取樣本需要大量的時間或成本,因此有必要更有效地利用獲取的數據來更好地進行推廣。
作為深度RL算法的重要組成部分,經驗回放已被證明可以提供不相關的數據來訓練神經網絡並顯著提高數據效率(Lin, 1992;Wang et al., 2016a;Zhang&Sutton, 2017)。一般而言,經驗回放可以減少學習所需的經驗量,但會消耗更多的計算和內存(Schaul et al., 2016)。
有多種采樣策略可以從經驗回放內存中采樣轉換。經驗回放內存的最初主要目的是對傳遞到神經網絡的輸入進行去相關,因此最初的采樣策略是均勻采樣。優先經驗回放(PER)(Schaul et al., 2016)證明了智能體可以從某些轉換中學習到比其他轉換更有效的學習。通過在每個訓練步驟中更頻繁地對回放內存中的重要轉換進行采樣,PER使經驗回放比均勻采樣更加有效。
在本文中,我們提出了對PER的擴展,我們將其稱為優先序列經驗回放(PSER),它不僅為重要的轉換分配了高采樣優先級,而且還增加了產生重要轉換的前導轉換的優先級。
2.2. Experience Replay
經驗回放在為深度RL算法的在線神經網絡訓練提供不相關數據方面發揮了重要作用(Mnih et al., 2015;Lillicrap et al., 2015),還研究了經驗回放如何影響深度RL算法的性能(de Bruin et al., 2015;Zhang&Sutton, 2017)。
在DQN的經驗回放中,將觀察序列存儲在回放內存中,並進行均勻采樣以訓練神經網絡,以便刪除數據中的相關性。但是,這種均勻采樣策略忽略了每個轉換的重要性,並且顯示出學習效率低下(Schaul et al., 2016)。
眾所周知,通過按適當的順序對更新進行優先級排序,可以使基於模型的計划算法(例如價值迭代)更加高效。基於此思想,優先掃描被提出(Moore&Atkeson, 1993;Andre et al., 1998)來更新具有最大Bellman誤差的狀態,從而可以加快基於狀態且緊湊的(使用函數近似)模型與價值函數的表示形式。類似於優先掃描,優先經驗回放(PER)(Schaul et al., 2016)基於無模型的深度RL算法中的TD誤差(Sutton&Barto, 1998),為經驗回放內存中的每個轉換分配優先級,與來自經驗回放內存的均勻采樣相比,這被證明可以極大地提高學習效率。還有其他一些提出的方法試圖提高深度RL算法的樣本效率。Lee et al. (2018)提出了一種采樣技術,可以從整個回合反向更新轉換。Karimpanal&Bouffanais (2018)提出了一種選擇合適的轉換序列以加速學習的方法。
Zhong et al. (2017)在最近的另一項研究中,作者調查了反向傳播獎勵刺激對先前轉換的使用。在我們的工作中,我們遵循Schaul et al. (2016)提出的方法。通過使用當前TD誤差作為優先級信號提供一種更通用的方法,並介紹了我們認為對最大化性能至關重要的技術。
本文提出的方法是PER的擴展。在為回放內存中的轉換分配優先級的同時,我們還以有效的方式將此優先級信息傳播到了先前的轉換,而Atari 2600基准測試的實驗結果表明,我們的算法在PER采樣上得到了顯著改進。
3.2. Prioritized sequence decay
在本小節中,我們正式定義了優先序列的概念,並在回放內存中隨時間反向遞減優先級。
我們將優先級指數(使用衰減系數ρ)衰減到該回合的回放內存中存儲的先前轉換,並應用max運算符以努力保留分配給該衰減后的轉換的任何先前優先級:
我們將此衰減策略稱為MAX變體。衰減優先級的另一種可能方法是簡單地將衰減后的優先級pn · ρi與先前分配給該轉換的優先級pn-i相加。我們將其稱為ADD變體。請注意,在ADD變體中,當反向衰減優先級時,我們將優先級保持為小於最大優先級,以避免出現溢出問題。
圖4說明了這種情況,其中計算了轉換T7處的優先級衰減,然后在轉換T13處發生了另一個優先級衰減。如果未應用max運算符,回放內存中轉換T7的優先級p7將設置為ρ · p8,其中p8是轉換T8的優先級。
在這里,我們注意到隨着優先級的衰減,我們期望經過一定數量的更新后,衰減后的優先級pn-k可以忽略不計,因此浪費了計算量。因此,我們定義了一個大小為W的窗口,在該窗口上我們將允許優先級pn進行衰減,此后我們將停止。當衰減后的優先級可以忽略不計時,我們任意選擇一個pn的1%作為截止閾值。然后,我們根據超參數ρ的值計算窗口大小W,如下所示:
通過以上針對PSER的公式,我們確定了一個在衰減過程中稱為"優先級崩潰"的問題。假設對於給定的環境,PSER已經對"令人驚訝的"轉換(我們稱為Ti)反向衰減優先級。假設當前所有Q值均為0,並且我們在回放內存Ti-2中采樣了一個產生Ti的轉換。從等式3和等式4,轉換Ti-2的優先級將降至ε。作為結果,最近衰減的優先級序列幾乎沒有影響,因為幾乎可以保證在下一次采樣時將其消除。當這發生在多個狀態時,我們稱之為"優先級崩潰",並且消除了PSER的潛在好處,使其幾乎等同於傳統的PER。
為了防止這種災難性的"優先級崩潰",我們設計了一個參數,該參數迫使優先級緩慢降低。在回放內存中更新采樣轉換的優先級時,我們希望保留其先前優先級的一部分,以防止其降低得太快:
其中 i 在這里指的是回放內存中采樣轉換的索引。沒有此衰減參數,我們通過實驗發現PSER與PER相比沒有明顯的好處,這證實了我們的直覺。
我們的信念是,衰減參數η為Bellman更新過程提供了時間,以通過該序列傳播有關TD誤差的信息,並為神經網絡提供了更容易地學習適當的Q值近似的時間。
5.3. Ablation Study
為了弄清分配給轉換的初始優先級如何與優先采樣相互作用,我們進行了額外的實驗以評估性能。
我們在消融研究中考慮了兩種初始優先級分配方法。首先,在Mnih et al. (2015);Van Hasselt et al. (2016);Hessel et al. (2018)中,轉換會以已經見過的最大優先級添加到回放內存中。第二,在Horgan et al. (2018)中,轉換的優先級是根據在線模型的當前TD誤差計算得出的。我們分別將這兩個變體稱為MaxPrio和CurrentTD。
6. Discussion
我們已經證明,PSER通過Blind Cliffwalk環境和Atari 2600基准可大幅提高性能。
在執行此分析時,我們測試了PSER的不同配置,並發現了我們沒有想到的現象。最重要的是第3.2節中描述的優先級崩潰問題。通過引入參數η以保留轉換的先前優先級的一部分,我們可以防止PSER創建的更改后的優先級快速恢復為PER分配的優先級。我們認為深度RL固有兩個過程:所有RL和馬爾可夫決策過程固有的Bellman更新過程,以及神經網絡梯度下降更新過程。這兩個過程都很慢,並且需要許多樣本才能收斂。我們假設在回放內存中保持先前轉換的優先級升高會導致該序列的Bellman更新,並包含有價值的信息。雖然這可以加快Bellman更新過程的速度,但它還可以為神經網絡提供更好的目標,從而提高總體收斂速度。
在Atari 2600基准上進行實驗時,我們需要選擇固定的超參數集,以便在PSER和PER之間進行合理的比較。但是,Atari 2600基准中的游戲在獲得獎勵的方式以及動作和獎勵之間的延遲時間方面有所不同。即使我們使用固定的衰減窗口相對於PER有了實質性的改進,但允許衰減窗口隨每個游戲而變化可能會帶來更好的性能。一種方法是根據TD誤差的大小引入自適應衰減窗口。我們將自適應衰減窗口的研究留給以后的工作。
將新的轉換添加到回放內存時,是否應該使用MaxPrio或CurrentTD初始優先級分配仍不清楚。對於Blind Cliff Walk實驗,我們發現與CurrentTD相比,MaxPrio方法將收斂延遲到了真實的Q值。但是,在Atari上,我們發現MaxPrio方法更有效。直觀地講,將具有當前TD誤差的轉換添加到回放內存中是有道理的,可以鼓勵智能體程序盡快對這些高優先級轉換進行采樣。對於大多數新轉換,以最大優先級進行添加將導致人為地具有較高的優先級。我們假設這可能與優先級崩潰問題有關,在優先級崩潰問題中,這些人為的高優先級在學習過程中暫時允許更好的信息流。
我們選擇在DQN之上實現PSER,主要是為了在實驗中可以對PER和PSER進行公平的比較,但是將PSER與其他算法結合起來是未來工作的有趣方向。例如,PSER也可以與其他異策算法一起使用,例如雙重Q學習和Rainbow。
九、Recurrent Experience Replay in Distributed Reinforcement Learning(ICLR 2019)
blog:https://blog.csdn.net/qq_29176963/article/details/106907958
基於RL智能體分布式訓練的最新成功經驗,本文從分布式優先經驗回放中研究基於RNN的RL智能體的訓練。我們研究了參數滯后對表征漂移和循環狀態陳舊性的影響,並憑經驗得出了一種改進的訓練策略。使用單個網絡結構和一組固定的超參數,生成的智能體程序Recurrent Replay Distributed DQN將Atari-57上的最先進水平提高了四倍,並可以媲美DMLab-30上的最先進水平。它是第一個在57款Atari游戲中有52款性能指標超過人類水平的智能體。
十、Hindsight Experience Replay(NIPS 2017)
arxiv:https://arxiv.org/abs/1707.01495v1
blog:https://zhuanlan.zhihu.com/p/34309324;https://www.jianshu.com/p/4c7b52d4d578;https://zhuanlan.zhihu.com/p/98659017
十一、Replay in biological and artificial neural networks(DeepMind Blog)
Blog:Replay in biological and artificial neural networks - 窮酸秀才大艹包 - 博客園 (cnblogs.com)