EXPLORATION BY RANDOM NETWORK DISTILLATION (RND)

RND將獎勵分成了intrinsic reward和extrinsic reward兩部分,其中extrinsic reward相當於是原始獎勵,而intrinsic reward的計算則是通過設計了兩個網絡,並計算它們輸出的MSE得到的。兩個網絡都使用隨機初始化,但其中的target network參數固定,MSE計算得到的loss僅用於更新predictor network。因爲在神經網絡的訓練過程中,如果某個樣本與訓練集的樣本相同或類似,那麼神經網絡會得到較小的訓練誤差,反之如果某個樣本與訓練集中樣本差異過大,則會導致較大的訓練誤差。誤差越大,intrinsic reward越大,反之則越小。RND以此來鼓勵agent探索沒有遇到過的狀態。


1. Introduction

現有算法在dense reward下能夠得到很好的效果,但當reward稀疏時往往性能不佳。在這些情況下,必須有針對性地探索環境。

RL的最新發展似乎表明,解決最具挑戰性的任務需要處理從並行運行的多個環境副本中獲得的大量樣本。 鑑於此,期望具有大量經驗的,能夠很好地擴展的探索方法。 然而,基於計數,僞計數,信息增益或預測增益的許多最近引入的探索方法難以擴展到大量並行環境。

本文介紹了一種探索獎勵,易於實現,適用於高維觀測,可與任何策略優化算法一起使用,並且計算效率高,因爲它只需要一個前饋神經網絡。我們的探索獎勵是基於這樣的觀察,即神經網絡在類似於訓練過的例子上的預測誤差明顯較低。這激發了使用根據agent的過去經驗而訓練的網絡的預測誤差來量化新經驗的新穎性。

正如許多作者所指出的那樣,使這種預測誤差最大化的代理往往會被那些預測問題的答案是輸入的隨機函數的轉換所吸引。我們提出另一種方法來解決這種不受歡迎的隨機性,方法是使用一個預測問題來定義探索獎勵,其中答案是其輸入的確定函數。即根據當前觀測值預測固定隨機初始化神經網絡的輸出。

我們發現,即使完全忽略外部獎勵,最大化RND探索獎勵的agent也能在Montezuma’s Revenge中找到一半以上的房間。爲了將探索獎勵與外部獎勵結合起來,我們引入了一種改進的近端策略優化(PPO)對兩個獎勵流使用兩個value heads。這允許對不同的回報使用不同的貼現率,並將episodic和non-episodic回報結合起來。有了這種額外的靈活性,我們最好的agent經常會在Montezuma’s Revenge中發現一級24個房間中的22個,偶爾(雖然不經常)通過一級。同樣的方法在Venture and Gravitar上得到了最先進的表現。

2. Method

2.1. EXPLORATION BONUSES

Exploration bonuses鼓勵agent探索,即使環境獎勵ete_t是稀疏的。具體的,使用rt=et+itr_t=e_t+i_t替代ete_t,其中iti_t是與時間t處的transition相關的探索獎勵。我們希望新狀態的iti_t要高於經常被訪問到的狀態。

基於計數的探索方法提供了此類獎勵的示例。當狀態空間有限時,可以定義iti_t爲狀態ss的計數nt(s)n_t(s)的遞減函數,例如it=1nt(s)i_t=\frac{1}{n_t(s)},或者it=1nt(s)i_t=\frac{1}{\sqrt{n_t(s)}}。在非表格形式的情況下,產生計數並非易事,因爲大多數狀態最多隻能訪問一次。在這種情況下一種可能的泛化是僞計數,它使用狀態密度估計值的變化作爲探索性獎勵。 這樣,即使對於過去從未訪問過的狀態,從密度模型得出的計數也可以爲正,前提是它們類似於先前訪問過的狀態。

一種替代方法是將探索獎勵定義爲與agent transitions相關問題的預測誤差。此類問題的一般示例包括正向動力學和逆向動力學。 如果可以獲得有關環境的特定信息,例如預測與agent交互的對象的物理屬性,也可以使用Non-generic prediction problems。 當agent收集到更多類似於當前的經驗時,這種預測誤差往往會減少。基於這個原因,即使是一些微不足道的預測問題,比如預測一個常數爲零的函數,也可以作爲探索的獎勵。

2.2. RANDOM NETWORK DISTILLATION

本文使用的也是一種基於prediction problem的方法。使用了兩個神經網絡:

  • 隨機初始化但參數固定的target network;
    f:ORkf:O\to\mathbb{R}^k,輸入爲觀測
  • 隨機初始化,但在agent交互數據上訓練的predictor network。
    f^:ORk\hat{f}:O\to\mathbb{R}^k,訓練predictor network的參數θf^\theta_{\hat{f}}以最小化MSE f^(x,θ)f(x)2||\hat{f}(x,\theta)-f(x)||^2

對於與predictor network訓練過的狀態不同的新穎狀態,預測誤差會更高,探索獎勵會更大。

2.2.1. SOURCES OF PREDICTION ERRORS

通常,預測誤差可歸因於許多因素:

  • 訓練數據量:
    當預測者很少看到類似的例子時預測誤差很高;
  • 隨機性:
    由於目標函數是隨機的(預測不確定性),因此預測誤差很高。隨機transitions是前向動力學預測中此類誤差的來源;
  • 模型規格不正確:
    由於缺少必要的信息,或者模型類太有限而無法滿足目標函數的複雜性,因此預測誤差很高;
  • 學習動力學:
    預測誤差很大,因爲優化過程未能在模型類中找到最能逼近目標函數的預測變量。

因素1是使人們能夠將預測誤差用作探索獎勵的原因。 實際上,預測誤差是由所有這些因素的組合引起的,並非所有這些因素都是理想的。

RND消除了因素2和3,因爲可以將目標網絡選擇爲確定性的並且位於預測器網絡的模型類之內。

2.2.2. RELATION TO UNCERTAINTY QUANTIFICATION

預測網絡和目標網絡的輸出的每個座標將對應於一個集合的一個成員(集合之間的參數共享),MSE將是集合的預測方差的估計(假設集合是無偏的)。換言之,蒸餾誤差可視爲預測常數零函數不確定性的量化。

2.3. COMBINING INTRINSIC AND EXTRINSIC RETURNS

在僅使用內在獎勵的初步實驗中,將問題視爲non-episodic問題會導致更好的探索。 在這種情況下,返回不會在“遊戲結束”時被截斷。 我們認爲,這是在模擬環境中進行探索的自然方法,因爲agent的內在回報應該與將來可能發現的所有新穎狀態相關,無論它們是否都發生在一個episode中或分佈在多個episode中 。

一個遊戲的真正成本是從一開始就必須玩整個遊戲所產生的機會成本,而不是單個episode。然而,使用non-episodic回報作爲外部回報可能會被一種策略所利用,這種策略會在接近遊戲開始時發現回報,通過讓遊戲結束而故意重新啓動遊戲,並在無休止的循環中重複這一點。

如何估計non-episodic流的內在獎勵iti_t和episodic流的外在獎勵ete_t的組合價值尚不明確。 我們的解決方案是觀察收益在回報中是線性的,因此可以分解爲外在獎勵和內在獎勵的總和R=RE+RIR = R_E + R_I。 因此,我們可以使用它們各自的返回值分別擬合兩個value heads VEV_EVIV_I,並將它們組合以給出值函數V=VE+VIV = V_E + V_I。 同樣的想法也可以用於結合不同折扣因子的獎勵流。

2.4. REWARD AND OBSERVATION NORMALIZATION

爲了使獎勵保持在一個一致的尺度上,我們將內在獎勵除以內在回報標準差的連續估計值,使其標準化。

觀察的歸一化在深度學習中通常很重要,但是在使用隨機神經網絡作爲目標時,觀察歸一化至關重要,因爲參數被凍結,因此無法適應不同數據集的尺度。 缺少歸一化可能導致嵌入的方差極低,並且攜帶的輸入信息很少。 爲了解決這個問題,我們使用觀察歸一化方案,該方案通常用於連續控制問題中,通過減去運行平均值,然後除以運行標準偏差,我們可以白化每個維度。 然後,我們將歸一化的觀測值裁剪爲-5到5之間。我們在開始優化之前,通過在環境中對隨機代理執行少量步驟來初始化歸一化參數。我們對預測器網絡和目標網絡都使用相同的觀察歸一化,但對策略網絡不使用。

RND僞代碼如下所示:
在這裏插入圖片描述

References:

[1] 強化學習之reward shaping有關論文簡述

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