RL的分類

RL算法的分類

RL算法分類

1. 分類標準一

從“是否能對環境建模”出發,RL可以被劃分爲 Model-FreeModel-Based.
二者之間的區別就是 agent能不能爲環境建模,也就是去學習一個函數可以預測狀態轉移和收益。
如果我們爲環境建模,那麼agent就可以提前預測各種選擇下的情況,並從這些預測過程中學到更多經驗,再應用到實際行爲中。最著名的就是AlphaZero的例子,在 sample efficiency 上優勢顯著。在這個例子中雖然我們可以知道對手所有可能的環境,但並不知道對手真正會走到哪個位置。因此,可以把對手的策略想象成環境的狀態轉移概率。

樣本使用率
每一次策略發生變化,是否要丟棄前面產生的樣本。如果是agent和環境交互,耗時很長,所以每次丟棄大量樣本是不划算。

Model-Based很明顯的缺點就是建模很困難。就是variance和bias之間的關係,而且學習成本也非常大。

Model-Free就不用關注那麼多了,實現起來更容易,被應用的更廣泛。

2. 分類標準二

從“學習目標”出發,RL可以被劃分爲學習policy,學習狀態值函數,學習值函數,學習環境。

2.1 基於model-free的分類標準二

Policy Optimization

即RL的目標是學到一種最優策略,記爲 πθ(as)\pi_{\theta}(a|s). 學習方式有兩種,一種是直接通過梯度求得最優參數(對 J(πθ)J(\pi_{\theta}) 求導),另一種是求得 J(πθ)J(\pi_{\theta}) 的局部最大值。??
這兩種優化方法都要使用On-Policy的方法進行,就是隻利用最新policy下的行爲作爲樣本。

具體的優化算法包括A2C / A3C,, PPO

Q-Learning

即RL的目標是學到一種最優值函數,記爲 Qθ(s,a)Q_{\theta}(s, a).之前說過,值函數可以通過遞歸的形式表示。假設值函數已經穩定,任意一個狀態的價值可以由其他狀態的價值得到,即可以用貝爾曼公式表示。這類函數的優化方式是基於off-policy的,即每次更新時使用的樣本不受時間約束。Q-Learning在下一時刻選擇了使價值算法最大的行動。

a(s)=argmaxaQθ(s,a) a(s)=\arg \max _{a} Q_{\theta}(s, a)

具體的Q-learning算法包括:DQN、C51

On-policy 和 Off-policy

所謂的同策略(on-policy)和異策略(off-policy)是指:

  • 同策略:是指產生數據的策略與評估和改善的策略是同一個策略。​比如使用貪婪策略採樣,
  • 異策略:是指產生數據的策略與評估和改善的策略不是同一個策略。

註釋

  1. 產生數據的策略評估是指採樣的方法;
  2. 評估策略是指如何計算動作值函數;
  3. 改善策略是指得到一個更好的策略 π(as)\pi(a|s)

這兩種策略評估方式有各自對應的策略算法。前者對值函數的更新是完全依據交互序列進行的,我們在計算時認爲價值可以直接使用採樣的序列估計得到。後者在更新值函數時並不完全遵循交互序列,而是選擇來自其他策略的交互序列的子部分替換了原本的交互序列。Q-learning的思想更復雜,它結合了子部分的最優價值,更像是結合了價值迭代的更新算法,希望每一次都使用前面迭代積累的最優結果進行更新。

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