強化學習的算法分類


強化學習——強化學習的算法分類

上一篇文章回顧了強化學習的核心概念,這里繼續通過Open AI 的Spinning Up 項目總結強化學習(RL)的算法,通過分類和對比的方法系統介紹強化學習的算法。

1. 算法分類

 

 
現代強化學習算法分類


---圖片來自Open AI Spinning up 項目---

 

由於強化學習是一個更新速度非常快的領域,所以准確地全面地分類是相當困難的,Spinning up 項目組給出的這個分類雖然並不全面,但是對初學者來說是非常有用了。

可以看出強化學習可以分為Model-Free(無模型的) 和 Model-based(有模型的) 兩大類。Model-Free 又分成基於Policy Optimization(策略優化)和Q-learning。Model-based 又分為模型學習(Learn the Model)和給定模型(Given the Model)兩大類。

部分算法的全名和論文鏈接見文末附錄

2. Model-Free vs Model-Based

在之前的文章也闡述過兩者的區別,當時主要是以引入Model-based的算法的角度簡略地比較了兩者的優劣。Spinning up 項目組也對兩者的區別和優劣做了系統的比較。

  • 兩個算法的區別主要是Agent是否知道或要計算出環境的模型 。
  • 擁有模型的好處是:Agent可以根據模型看到會發生什么,並提前規划(Planning)行動路徑。
  • 擁有模型的壞處是,真實模型和學習到帶模型是有誤差的,這種誤差會導致Agent雖然在模型中表現很好,但是在真實環境中可能打不到預期結果。
  • Model-Free的算法往往更易於實現和調整,截止到目前(2018年9月),Model-Free的算法更受歡迎。

3. 要學習什么(學習對象)

RL學習的內容無非是如下幾個方面

  • 策略,不管是隨機的還是確定性的
  • 行動價值函數(Q (s,a))
  • 值函數(V(s))
  • 環境模型
3.1. Model-Free 學習對象

Spinning Up 項目組就是根據學習的對象分成Policy Optimization(對象是策略),和Q-Learning(對象是Q(s,a))的。

(1) Policy Optimization
基於策略的強化學習就是參數化策略本身,獲得策略函數πθ(a|s), 我們訓練策略函數的目標是什么呢?是獲得最大獎勵。優化策略函數就是優化目標函數可以定義為J(πθ).

Policy Optimization 通常是on-policy的,也就是每次更新策略采用最新策略產生的數據。

Policy Optimization的經典例子包含A2C / A3C,和PPO

(2) Q-Learning

  • Q-Learning 就是通過學習參數化Q函數Qθ(s,a)從而得* 到最優Q*(s,a)的。
  • 典型地方法是優化基於Bellman方程的目標函數。
  • Q-Learning 通常是Off-Policy的,這就意味着訓練的數據可以是訓練期間任意時刻的數據。

Q-Learning 的經典例子包含DQNC51

3.2. Policy Optimization和Q-Learning 的權衡與融合

Policy Optimization直接了當地優化你想要的對象(策略),因此Policy Optimization穩定性和可信度都較好,而Q-learning是采用訓練Qθ的方式間接優化策略,會遇到不穩定的情況。但是Q-learning的優點是利用數據的效率較高(Off-policy的原因?)

Policy Optimization和Q-Learning並非水火不相容,有些算法就融合和平衡了兩者的優缺點:

  • DDPG, 同時學出一個確定性策略和Q函數,並用他們互相優化。
  • SAC 是一種變體,它使用隨機策略、熵正則化和一些其它技巧來穩定學習,同時在 benchmarks 上獲得比 DDPG 更高的分數。

4. Model-Based RL學習對象

Model-Based RL不像Model-Free RL那樣容易分類,很多方法都有交叉。Spinning up 項目組給出了幾個例子,但他們也聲稱這些例子是無法全部覆蓋Model-Based強化學習的,這些例子中模型要么是已知給定的,要么是通過學習得到的。

4.1 純動態規划(Pure Planning)

Pure Planning 是一個基礎的算法,其策略並不顯示的表達出來,而是使用規划技術來選擇行動。比如 模型預測控制 (model-predictive control, MPC)。

在MPC中:
第一步:Agent首先觀察環境,並通過模型預測出所有可以行動的路徑(路徑包含多連續個行動)。
第二步:Agent執行規划的第一個行動,然后立即舍去規划剩余部分。
第三步:重復第一、二步。

例如,MBMF 在一些深度強化學習的標准基准任務上,基於學習到的環境模型進行模型預測控制

4.2 Expert Iteration(專家迭代)

這個算法是Pure Planing 的升級版,它將策略顯示地表達出來,並通過學習得到這個最優策略π*θ(a|s)

Agent用規划算法(類似於MT樹搜索)在模型中通過采樣生成候選行動。通過采樣生成的行動比單純通過策略本身生成的行動要好,所以它是"專家"。通過"專家"指導,迭代更新並優化策略。

  • ExIt 算法用這種算法訓練深層神經網絡來玩 Hex
  • AlphaZero 這種方法的另一個例子
4.3 免模型方法的數據增強

這個方法是將模型采樣中生成的數據用來訓練Model-Free的策略或者Q函數。訓練的數據可以單純是模型采樣生成的,也可以是真實經歷的數據與模型采樣數據的結合。

  • MBVE 用假數據增加真實經驗
  • World Models 全部用假數據來訓練智能體,所以被稱為:“在夢里訓練”
4.4 將規划嵌入策略

該算法是將規划(Planning)嵌入策略中作為策略的一個子程序,這樣在用任意Model-Free訓練的過程中,如何和何時規划也被學習到了。這個算法的優點就是當模型與現實環境存在較大的偏差,策略也可以選擇忽略規划。

  • 更多例子,參見 I2A

附錄:部分算法全名及論文鏈接
A2C / A3C (Asynchronous Advantage Actor-Critic): Mnih et al, 2016
PPO (Proximal Policy Optimization): Schulman et al, 2017
TRPO (Trust Region Policy Optimization): Schulman et al, 2015
DDPG (Deep Deterministic Policy Gradient): Lillicrap et al, 2015
TD3 (Twin Delayed DDPG): Fujimoto et al, 2018
SAC (Soft Actor-Critic): Haarnoja et al, 2018
DQN (Deep Q-Networks): Mnih et al, 2013
C51 (Categorical 51-Atom DQN): Bellemare et al, 2017
QR-DQN (Quantile Regression DQN): Dabney et al, 2017
HER (Hindsight Experience Replay): Andrychowicz et al, 2017
World Models: Ha and Schmidhuber, 2018
I2A (Imagination-Augmented Agents): Weber et al, 2017
MBMF (Model-Based RL with Model-Free Fine-Tuning): Nagabandi et al, 2017
MBVE (Model-Based Value Expansion): Feinberg et al, 2018
AlphaZero: Silver et al, 2017


免責聲明!

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



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