天天看點

強化學習的算法分類

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

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

1. 算法分類

強化學習的算法分類

現代強化學習算法分類

由于強化學習是一個更新速度非常快的領域,是以準确地全面地分類是相當困難的,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 的經典例子包含DQN和C51。

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)

  • ExIt 算法用這種算法訓練深層神經網絡來玩 Hex
  • AlphaZero 這種方法的另一個例子
4.3 免模型方法的資料增強
  • MBVE 用假資料增加真實經驗
  • World Models 全部用假資料來訓練智能體,是以被稱為:“在夢裡訓練”
4.4 将規劃嵌入政策
  • 更多例子,參見 I2A

繼續閱讀