Proximal Policy Optimization Algorithms


鄭重聲明:原文參見標題,如有侵權,請聯系作者,將會撤銷發布!

arXiv: Learning, (2017)

 

Abstract

  我們提出了一系列用於RL的策略梯度方法,該方法在通過環境交互進行數據采樣與使用隨機梯度上升優化“替代”目標函數之間交替進行。盡管標准策略梯度方法對每個數據樣本執行一個梯度更新,但我們提出了一種新穎的目標函數,該函數可實現多個批次的小批量更新。我們稱為鄰近策略優化(PPO)的新方法具有信任域策略優化(TRPO)的某些優點,但它們實現起來更簡單,更通用,並且具有更好的樣本復雜性(憑經驗)。我們的實驗在一系列基准任務上測試了PPO,包括模擬的機器人運動和Atari游戲玩法,我們證明PPO的性能優於其他在線策略梯度方法,並且總體上在樣本復雜性,簡單性和有效時間之間取得了良好的平衡。

 

1 Introduction

  近年來,已經提出了幾種不同的方法來利用神經網絡函數近似進行RL。主要的競爭者是深度Q學習[Mni+15],“幼稚”策略梯度方法[Mni+16]和信任域/自然策略梯度方法[Sch+15b]。但是,在開發可擴展(適用於大型模型和並行實現),數據高效且魯棒(即在無需超參數調整的情況下成功解決各種問題)的方法方面,仍有改進的余地。Q學習(帶有函數近似)在許多簡單的問題上失敗了1,並且了解甚少,幼稚策略梯度法的數據效率和魯棒性很差;信任域策略優化(TRPO)相對復雜,並且與包含噪聲(例如,隨機失活)或參數共享(在策略和價值函數之間,或與輔助任務)的結構不兼容。
  本文旨在通過引入一種僅使用一階優化即可達到TRPO的數據效率和可靠性能的算法來改進當前的事務狀態。我們提出了一種具有截斷的概率比的新穎目標,該目標形成了策略性能的悲觀估計(即下限)。為了優化策略,我們在從策略采樣數據和對采樣數據執行幾個優化epoch之間交替進行。
  我們的實驗比較了替代目標的各種不同版本的性能,發現具有截斷的概率比的版本性能最優。我們還將PPO與文獻中的幾種先前算法進行比較。在連續控制任務上,它的性能優於我們所比較的算法。在Atari上,它的性能(就樣本復雜性而言)比A2C好得多,並且與ACER類似,盡管它要簡單得多。

 

1雖然DQN在具有離散動作空間的Arcade學習環境[Bel+15]等游戲環境中運行良好,但尚未證明在OpenAI Gym [Bro+16]等連續控制基准中表現良好,Duan et al.對此進行了描述[Dua+16]。

 

2 Background: Policy Optimization

2.1 Policy Gradient Methods

  策略梯度方法通過計算策略梯度估計並將其插入隨機梯度上升算法中來工作。最常用的梯度估計具有以下形式:

其中,πθ是隨機策略,是時間步驟 t 的優勢函數估計。在此,期望表示在采樣和優化之間交替的算法中,有限批次樣本的經驗平均值。使用自動微分軟件的實現通過構造一個目標函數來工作,該目標函數的梯度是策略梯度估計;通過微分目標獲得估計

  盡管使用相同的軌跡對此損失LPG進行多步優化很有吸引力,但是這樣做並沒有充分的理由,而且從經驗上講,它通常會導致破壞性的大型策略更新(請參閱第6.1節;未顯示結果,但結果比“無截斷或懲罰”設置相似或更糟糕)。

 

2.2 Trust Region Methods

  在TRPO [Sch+15b]中,目標函數(“替代”目標)在策略更新大小受限的情況下被最大化。特別,

在此,θold是更新之前策略參數的向量。在對目標進行線性近似並對約束進行二次近似之后,可以使用共軛梯度算法有效地解決該問題。
  證明TRPO合理的理論實際上建議使用懲罰而不是約束,即解決無約束的優化問題:

(對於一些系數β) 這源於以下事實:某個替代目標(該替代目標計算狀態上的最大KL而不是均值)為策略π的性能下限(即悲觀界限)。TRPO使用硬約束而不是懲罰,因為很難選擇在不同問題上甚至在特征隨學習過程變化的單個問題中表現良好的單個β值。因此,為了實現模擬TRPO單調改進的一階算法的目標,實驗表明,僅僅選擇固定的懲罰因子β並利用SGD優化懲罰目標等式(5)是不夠的;需要額外的修改。

 

3 Clipped Surrogate Objective

  令rt(θ)表示概率比,因此r(θold) = 1。TRPO使“替代”目標最大化:

上標CPI指的是保守的策略迭代[KL02],其中提出了這一目標。若是沒有限制,LCPI的最大化將導致策略更新過大;因此,我們現在考慮如何修改目標,以懲罰將rt(θ)遠離1的策略更改。
  我們提出的主要目標如下:

其中ε是一個超參數,例如ε = 0.2。該目標的動機如下。最小值內的第一項是LCPI。第二項,,通過截斷概率比來修改替代目標,從而消除了將rt移到區間[1-ε, 1+ ε]之外的動機。最后,我們采用了已截斷和未截斷目標的最小值,因此最終目標是未截斷目標的下限(即悲觀界限)。使用此方案,我們僅在概率比提高目標時才忽略它的變化,而在它使目標惡化時才將其包括在內。請注意,LCLIP(θ) = LCPI(θ)是θold附近的一階(即r = 1),但是隨着θ遠離θold,它們會變得不同。圖1繪制了LCLIP中的一個項(即單個 t );注意,根據優勢是正或負,概率比 r 裁剪為1-ε或1+ε

   圖2提供了關於替代目標LCLIP的另一種直覺來源。它顯示了當我們沿着策略更新方向進行插值時,幾個目標是如何變化的,這是通過對連續控制問題進行鄰近策略優化(稍后將介紹的算法)獲得的。我們可以看到,LCLIP是LCPI的下限,並且會因策略更新過大而受到懲罰。

 

4 Adaptive KL Penalty Coefficient

  可以替代或附加到截斷替代目標的另一種方法是對KL散度使用懲罰,並調整懲罰因子,以便我們在每個策略更新都達到KL散度dtarg的一些目標價值。在我們的實驗中,我們發現KL懲罰的性能比截斷替代目標更差,但是,由於它是重要的基准,因此我們將其包括在此處。

  在此算法的最簡單實例中,我們在每個策略更新中執行以下步驟: 

  • 使用幾個小批量SGD的epoch,優化KL懲罰的目標:

  • 計算 

  更新后的β被用於下一次策略更新。通過此方案,我們偶爾會看到策略更新,其中KL散度與dtarg顯著不同,但是這些更新很少,並且β會迅速調整。上面的參數1.5和2是通過試探法選擇的,但是算法對其並不十分敏感。β的初始值是另一個超參數,但在實踐中並不重要,因為該算法會對其進行快速調整。

 

5 Algorithm

  可以通過對典型的策略梯度實現方案進行較小的更改來計算和微分前幾部分中的替代損失。對於使用自動微分的實現,只需簡單地構造損失LCLIP或LKLPEN而不是LPG,就可以實現此目標的隨機梯度上升的多個步驟。

  用於計算方差減少的優勢函數估計量的大多數技術都使用學到的狀態價值函數V(s);例如,廣義優勢估計[Sch+15a]或[Mni+16]中的有限視野估計。如果使用在策略和價值函數之間共享參數的神經網絡結構,我們必須使用將策略替代和價值函數誤差項組合在一起的損失函數。如過去的工作所提出的,可以通過增加熵獎勵以確保足夠的探索來進一步增強此目標[Wil92; Mni+16]。結合這些項,我們獲得以下目標,每次迭代中該目標(近似)為最大:

其中c1,c2是因子,S表示熵獎勵,是平方誤差損失

  一種策略梯度實現方式,在[Mni+16]中流行並且非常適合與循環神經網絡一起使用,對T個時間步驟運行策略(其中T遠小於回合長度),並將收集的樣本用於更新。這種方式需要一個視野不超過時間步驟T的優勢估計器。[Mni+16]使用的估計器為:

其中 t 在給定長度T的軌跡段內指定[0, T]中的時間索引。推廣此選擇,我們可以使用廣義優勢估計的截斷形式,當λ = 1時,可簡化為等式(10)。

  下面顯示了使用固定長度軌跡段的鄰近策略優化(PPO)算法。每次迭代,N個(並行)actor中的每一個都收集T個時間步驟的數據。然后,我們在這些NT個時間步驟的數據上構建替代損失,並使用小批量SGD(或通常是為了獲得更好的性能,Adam [KB14])對K個epoch進行優化。 

 

6 Experiments

6.1 Comparison of Surrogate Objectives

  首先,我們比較了不同超參數下的幾個不同的替代目標。在這里,我們將替代目標LCLIP與幾種自然變體和消融版本進行比較。

  對於KL懲罰,可以使用目標KL價值dtarg使用第4節中所述的固定懲罰因子β或自適應因子。請注意,我們還嘗試了在log空間中進行裁剪,但是發現性能並不好。
  因為我們正在為每個算法變體搜索超參數,所以我們選擇了計算上便宜的基准來測試算法。即,我們使用了在OpenAI Gym [Bro+16]中實現的7個仿真機器人任務2,這些任務使用MuJoCo [TET12]物理引擎。每個任務都要進行一百萬次訓練。除了我們搜索過的用於裁剪(ε)的超參數和KL懲罰(β, dtarg)外,表3還提供了其他超參數。
  為了表示該策略,我們使用了一個全連接的MLP,該MLP具有兩個64個單位的隱含層和tanh非線性,遵循[Sch+15b; Dua+16],輸出帶有可變標准差的高斯分布均值。我們不會在策略和價值函數之間共享參數(因此因子c1是無關的),並且我們不會使用熵獎勵。
  每種算法都在所有7個環境上運行,每個環境上都有3個隨機種子。我們通過計算最近100個回合的平均總獎勵,對算法的每次運行進行了評分。我們對每種環境的得分進行了調整和縮放,以使隨機策略的得分為0,最優結果設置為1,並在21次運行中取均值,以針對每種算法設置生成單個標量。
  結果顯示在表1中。請注意,對於設置沒有裁剪或懲罰的設置,該分數是負的,因為在一個環境(half cheetah)下它會導致非常負的分數,這比初始的隨機策略還差。

 

2HalfCheetah, Hopper, InvertedDoublePendulum, InvertedPendulum, Reacher, Swimmer, and Walker2d, all “-v1”

 

 

6.2 Comparison to Other Algorithms in the Continuous Domain

  接下來,我們將PPO(具有第3節中的“截斷”替代目標)與文獻中的其他幾種方法進行比較,這些方法被認為對於連續性問題是有效的。我們比較了以下算法的調整實現:信任域策略優化[Sch+15b],交叉熵方法(CEM)[SL06],具有自適應步長3的幼稚策略梯度,A2C [Mni+16],具有信任域的A2C [Wan+16]。A2C代表優勢actor-critic,並且是A3C的同步版本,我們發現它具有與異步版本相同或更好的性能。對於PPO,我們使用上一節中的超參數(ε = 0.2)。我們看到,在幾乎所有連續控制環境中,PPO的性能都優於以前的方法。

 

3在每一批數據后,使用與第4節中所示相似的規則,根據原始策略和更新策略的KL散度來調整Adam步長。可在https://github.com/berkeleydeeprlcourse/homework/tree/master/hw4獲得實現。

 

6.3 Showcase in the Continuous Domain: Humanoid Running and Steering

  為了展示PPO在高維連續控制問題上的性能,我們對一系列涉及3D humanoid的問題進行了訓練,在這種問題中,機器人必須運行,轉向並從地面上站起來,可能會受到立方體的撞擊。我們測試的三個任務是(1) RoboschoolHumanoid:僅向前運動;(2) RoboschoolHumanoidFlagrun:每200個時間步驟或達到目標時,目標位置就會隨機變化;(3) RoboschoolHumanoidFlagrunHarder,其中機器人被立方體撞擊,並需要從地面站起來。有關學到的策略的靜止幀,請參見圖5;有關這三個任務的學習曲線,請參見圖4。表4中提供了超參數。在並發工作中,Heess et al. [Hee+17]使用PPO的自適應KL變體(第4節)來學習3D機器人的運動策略。

 

6.4 Comparison to Other Algorithms on the Atari Domain

  我們還在Arcade學習環境[Bel+15]基准上運行了PPO,並將其與經過調整的A2C [Mni+16]和ACER [Wan+16]的實現進行了比較。對於這三種算法,我們使用與[Mni+16]中使用的策略網絡結構相同的策略。表5中提供了PPO的超參數。對於其他兩種算法,我們使用了經過優化的超參數,以使該基准上的性能最大化。
  附錄B中提供了所有49個游戲的結果和學習曲線表。我們考慮以下兩個得分指標:(1) 在整個訓練期間每個回合的平均獎勵(偏向快速學習),以及(2) 最近100個回合的訓練中每個回合的平均獎勵(偏向最終性能)。表2顯示了每種算法“獲勝”的游戲數量,我們通過對三個試驗的得分指標求平均來計算獲勝者。

 

7 Conclusion

  我們介紹了鄰近策略優化,這是一系列策略優化方法,它們使用多個隨機梯度上升epoch來執行每個策略更新。這些方法具有信任域方法的穩定性和可靠性,但實現起來要簡單得多,僅需幾行代碼即可更改為原始策略梯度實現,適用於更常規的設置(例如,當對策略和價值函數使用聯合結構時),並具有更好的整體性能。

 

A Hyperparameters

 

B Performance on More Atari Games

  在此,我們比較了49個Atari游戲中PPO與A2C的比較。 圖6顯示了三個隨機種子各自的學習曲線,而表6顯示了平均性能。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM