強化學習算法分類(Kinds of RL Algorithms)


現代RL中一種非詳盡但有用的算法分類法。

圖片源自:OpenAI Spinning Up (https://spinningup.openai.com/en/latest/spinningup/rl_intro2.html#citations-below)

 

強化學習算法:

參考文獻:Part 2: Kinds of RL Algorithms — Spinning Up documentation (openai.com)

強化學習模型實現RL-Adventure(DQN) - 窮酸秀才大艹包 - 博客園 (cnblogs.com)

基於策略梯度的強化學習論文調研 - 窮酸秀才大艹包 - 博客園 (cnblogs.com)

強化學習中的經驗回放(The Experience Replay in Reinforcement Learning) - 窮酸秀才大艹包 - 博客園 (cnblogs.com)

元強化學習簡介 - 窮酸秀才大艹包 - 博客園 (cnblogs.com)

 

Model-Free vs Model-Based RL

  RL算法中最重要的分支點之一是智能體是否能夠訪問(或學習)環境模型的問題。我們所說的環境模型是指預測狀態轉換和獎勵的函數。

  擁有一個模型的主要好處是,它允許智能體通過提前思考、看到一系列可能的選擇會發生什么,並明確地在其選項之間做出決定來進行規划。然后,智能體可以將預先規划的結果提取到一個學到的策略中。這種方法的一個特別著名的例子是AlphaZero。當這種方法起作用時,與沒有模型的方法相比,它可以大大提高樣本效率。

  主要的缺點是,智能體通常無法使用環境的真實模型。如果一個智能體想要在這種情況下使用一個模型,它必須完全從經驗中學習模型,這會帶來一些挑戰。最大的挑戰是,模型中的偏差可以被智能體利用,從而導致智能體在學習模型方面表現良好,但在真實環境中表現得次優(或超級糟糕)。模型學習從根本上說是很難的,所以即使是願意投入大量時間和計算的巨大努力也可能沒有回報。

  使用模型的算法稱為基於模型(model-based)的方法,不使用模型的算法稱為無模型(model-free)方法。雖然無模型方法放棄了使用模型在樣本效率方面的潛在收益,但它們往往更易於實現和調整。截至目前,與基於模型的方法相比,無模型方法更受歡迎,並且得到了更廣泛的開發和測試。

 

What to Learn

  RL算法的另一個關鍵分支點是學習什么的問題。通常的候選名單包括:

  • 策略,無論是隨機的還是確定性的,
  • 動作-價值函數(Q函數),
  • 價值函數,
  • 和/或環境模型。

 

What to Learn in Model-Free RL

  本文主要考慮無模型RL,使用無模型RL表示和訓練智能體有兩種主要方法:

Policy Optimization. 這個族中的方法將策略顯式表示為πθ(a|s)。它們通過在性能目標J(πθ)上的梯度上升直接優化參數θ,或通過最大化J(πθ)的局部近似間接優化參數θ。這種優化幾乎總是在策略上執行的,這意味着每次更新只使用根據策略的最新版本進行操作時收集的數據。策略優化通常還包括為同策價值函數Vπ(s)學習近似器VΦ(s),該函數用於確定如何更新策略。

  策略優化方法的幾個示例如下:

  • A2C/A3C,執行梯度上升以直接最大化性能,
  • PPO,其更新通過最大化替代目標函數間接實現性能最大化,該函數為J(πθ)因更新而改變的程度提供保守估計。

Q-Learning. 這個族中的方法學習最優動作-價值函數Q*(s, a)的近似器Qθ(s, a)。通常,他們使用基於貝爾曼方程的目標函數。這種優化幾乎總是根據策略執行的,這意味着每次更新都可以使用在訓練期間的任何時間點收集的數據,而不管獲取數據時智能體選擇如何探索環境。通過Q*和π*之間的連接獲得相應的策略:Q學習智能體采取的動作由下式給出:

  Q學習方法的例子包括:

  • DQN,一個開創深度RL領域的經典之作,
  • 以及C51,一個學習期望值為Q*的獎勵分布的變體。

Trade-offs Between Policy Optimization and Q-Learning. 策略優化方法的主要優勢在於它們是有原則的,也就是說,你可以直接為你想要的東西進行優化。這往往使它們穩定可靠。相比之下,Q學習方法只能通過訓練Qθ以滿足自洽方程,間接優化智能體性能。這種學習有很多失敗模式,所以它往往不太穩定。[1] 但是,Q學習方法的優點是,它們在工作時的樣本效率大大提高,因為與策略優化技術相比,它們可以更有效地重用數據。

Interpolating Between Policy Optimization and Q-Learning. 巧合的是,策略優化和Q學習並非不兼容(在某些情況下,事實證明,它們是等效的),而且存在一系列介於這兩個極端之間的算法。基於這一范圍的算法能夠仔細權衡雙方的優缺點。例子包括:

  • DDPG,一種同時學習確定性策略和Q函數的算法,通過使用它們來改進另一個,
  • TD3:雖然DDPG有時可以獲得很好的性能,但它在超參數和其他類型的調整方面往往很脆弱。DDPG的一種常見故障模式是,學習的Q函數開始大幅高估Q值,然后導致策略中斷,因為它利用了Q函數中的錯誤。雙延遲DDPG(TD3)是一種通過引入三個關鍵技巧來解決此問題的算法,使性能大大優於基准DDPG:
    • 技巧一:裁剪雙重Q學習(Clipped Double-Q Learning)。TD3學習兩個Q函數而不是一個(因此是"twin"),並使用兩個Q值中較小的一個來形成Bellman誤差損失函數中的目標。
    • 技巧二:"延遲"策略更新("Delayed" Policy Updates)。TD3更新策略(和目標網絡)的頻率低於Q函數。本文建議每兩次Q函數更新后進行一次策略更新。
    • 技巧三:目標策略平滑(Target Policy Smoothing)。TD3向目標動作添加了噪聲,使策略更難通過隨着動作的變化平滑Q來利用Q函數錯誤。
  • SAC,一種變體,它使用隨機策略、熵正則化和其他一些技巧來穩定學習,並在標准基准上獲得高於DDPG的分數。

 

[1] 有關Q學習方法失敗的方式和原因的更多信息,請參見 1)Tsitsiklis and van Roy的這篇經典論文,2)Szepesvari的評論(見第4.3.2節),以及3)Sutton and Barto的第11章,尤其是第11.3節(關於函數近似、自舉(bootstrapping)和異策數據的"致命三元組",共同導致價值學習算法的不穩定性)。

 

What to Learn in Model-Based RL

  與無模型RL不同,基於模型的RL有不少易於定義的方法集群:有許多正交的使用模型的方法。我們將舉幾個例子,但列表遠非詳盡無遺。在每種情況下,模型可以是給定的,也可以是學到的。

Background: Pure Planning. 最基本的方法從不明確表示策略,而是使用模型預測控制(MPC)等純規划技術來選擇動作。在MPC中,每次智能體觀察環境時,它都會計算一個相對於模型最優的規划,其中該規划描述了在當前之后的某個固定時間窗口中接管的所有動作。(規划算法可以通過使用學到的價值函數來考慮超出范圍的未來獎勵。) 智能體然后執行規划的第一個動作,並立即丟棄其余的動作。每次准備與環境交互時,它都會計算一個新規划,以避免使用規划范圍短於預期的規划中的動作。

  • MBMF工作在深度RL的一些標准基准測試任務上探索了具有學習環境模型的MPC。

Expert Iteration. 純規划的直接后續涉及使用和學習策略的顯式表征,πθ(a|s)。智能體在模型中使用規划算法(如蒙特卡洛樹搜索),通過從其當前策略中采樣為規划生成候選動作。規划算法產生的動作比單獨的策略會產生的更好,因此它是相對於策略的"專家"。隨后更新該策略以產生更像規划算法輸出的動作。

  • ExIt算法使用這種方法來訓練深度神經網絡玩Hex。
  • AlphaZero是這種方法的另一個例子。

Data Augmentation for Model-Free Methods. 使用無模型RL算法來訓練策略或Q函數,但要么 1) 在更新智能體時用虛構的經驗來增強真實體驗,要么 2) 只使用虛構的經驗來更新智能體。

  • 請參見MBVE,了解使用虛構體驗增強真實體驗的示例。
  • 有關使用純虛構經驗訓練智能體的示例,請參見World Models,他們稱之為"夢中訓練"。

Embedding Planning Loops into Policies. 另一種方法將規划過程作為子程序直接嵌入到策略中——這樣完整的規划就成為策略的輔助信息——同時使用任何標准的無模型算法訓練策略的輸出。關鍵概念是,在這個框架中,策略可以學會選擇如何以及何時使用這些規划。這使得模型偏差不再是一個問題,因為如果模型在某些狀態不利於規划,策略可以簡單地學會忽略它。

  • 有關具有這種想象力的智能體的示例,請參見I2A。


免責聲明!

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



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