1. 程式人生 > 實用技巧 >強化學習分類

強化學習分類

【強化學習】強化學習分類

在學習強化學習的過程中我們經常會遇到一些陌生的名詞分類,什麼model-free,offpolicy之類的,學習的時候不明覺厲可能就一眼帶過了,但是其實這些分類的名詞其實十分有趣,掌握他們十分有助於我們加深對相關強化學習演算法的瞭解。

1、Model-free 和 Model-based

舉個栗子:我們剛剛學習強化學習的時候都學習過gridworld這個機器人走迷宮的例子吧,就是有一個迷宮機器人從起點出發通過強化學習的方式選擇出到達終點的最優路徑。

model-based方式就是我們給機器人地圖全開,事先了解好整個遊戲環境根據過往的經驗選取最優策略,也就是說model-based他能通過想象來預判斷接下來將要發生的所有情況. 然後選擇這些想象情況中最好的那種. 並依據這種情況來採取下一步的策略

model-free方法就是不依賴模型,這種情況下就是直接將我們的機器人丟到迷宮裡面瞎溜達,然後機器人會根據現實環境的反饋採取下一步的動作。這種方法不對環境進行建模也能找到最優的策略。Model-free 的方法有很多, 像 Q learning, Sarsa, Policy Gradients 都是從環境中得到反饋然後從中學習。
在這裡插入圖片描述

2、Policy-based RL 和 Value-based RL

說道Policy與Value就不得不提到他們的兩大代表演算法,Policy-based有 Policy Grandient;Value-based有Q-Learning。根據這兩種演算法我們很清晰的就能看出他們之間的區別,Policy-based演算法是通過對策略抽樣訓練出一個概率分佈,並增強回報值高的動作被選中的概率。而Value-based是通過潛在獎勵計算出動作回報期望來作為選取動作的依據。

Policy基於策略的演算法在連續動作空間上比起Value-based更有優勢
還有一種nb的演算法Actor-Critic他結合了這兩類方法的優勢之處, actor 會基於策略的概率分佈做出動作,而 critic 會對做出的動作給出動作的價值, 這樣就在原有的 policy gradients 上加速了學習過程。
在這裡插入圖片描述

3、回合更新和單步更新

回合更新和單步更新, 假設強化學習就是在玩遊戲, 遊戲回合有開始和結束. 回合更新指的是遊戲開始後,我們要等到打完這一局我們才對這局遊戲的經歷進行總結學習新的策略。 而單步更新則是在遊戲進行中每一步都在更新,這樣就可以一邊遊戲一邊學習不用等到回合結束。
再來說說方法, Monte-carlo learning 和基礎版的 policy gradients 等 都是回合更新制, Qlearning, Sarsa, 升級版的 policy gradients 等都是單步更新制. 因為單步更新更有效率, 所以現在大多方法都是基於單步更新。 比如有的強化學習問題並不屬於回合問題。

在這裡插入圖片描述

4、線上學習和離線學習

線上學習是指我本人必須在場,且必須是本人邊玩邊學習;離線學習是指可以選擇自己玩也可以選擇看著別人玩。通過看著別人玩學習別人的行為準則,學習同樣是從過往經驗中學習,但是這些過往經驗沒必要是自己的經歷,任何人的經歷都可以用來學習,或者不必要邊玩邊學習,白天儲存下來玩耍的記憶,通過離線學習學習白天的記憶
最典型的線上學習就是Sarsa和Sarsa(λ);典型的離線學習演算法Q Learning和Deep Q Network
在這裡插入圖片描述