在學習強化學習的過程中我們經常會遇到一些陌生的名詞分類,什麼model-free,offpolicy之類的,學習的時候不明覺厲可能就一眼帶過了,但是其實這些分類的名詞其實十分有趣,掌握他們十分有助於我們加深對相關強化學習演算法的了解。
舉個栗子:我們剛剛學習強化學習的時候都學習過gridworld這個機械人走迷宮的例子吧,就是有乙個迷宮機械人從起點出發通過強化學習的方式選擇出到達終點的最優路徑。
model-based方式就是我們給機械人地圖全開,事先了解好整個遊戲環境根據過往的經驗選取最優策略,也就是說model-based他能通過想象來預判斷接下來將要發生的所有情況. 然後選擇這些想象情況中最好的那種. 並依據這種情況來採取下一步的策略
model-free方法就是不依賴模型,這種情況下就是直接將我們的機械人丟到迷宮裡面瞎溜達,然後機械人會根據現實環境的反饋採取下一步的動作。這種方法不對環境進行建模也能找到最優的策略。model-free 的方法有很多, 像 q learning, sarsa, policy gradients 都是從環境中得到反饋然後從中學習。
說道policy與value就不得不提到他們的兩大代表演算法,policy-based有 policy grandient;value-based有q-learning。根據這兩種演算法我們很清晰的就能看出他們之間的區別,policy-based演算法是通過對策略抽樣訓練出乙個概率分布,並增強回報值高的動作被選中的概率。而value-based是通過潛在獎勵計算出動作回報期望來作為選取動作的依據。
policy基於策略的演算法在連續動作空間上比起value-based更有優勢
還有一種nb的演算法actor-critic他結合了這兩類方法的優勢之處, actor 會基於策略的概率分布做出動作,而 critic 會對做出的動作給出動作的價值, 這樣就在原有的 policy gradients 上加速了學習過程。
回合更新和單步更新, 假設強化學習就是在玩遊戲, 遊戲回合有開始和結束. 回合更新指的是遊戲開始後,我們要等到打完這一局我們才對這局遊戲的經歷進行總結學習新的策略。 而單步更新則是在遊戲進行中每一步都在更新,這樣就可以一邊遊戲一邊學習不用等到回合結束。
再來說說方法, monte-carlo learning 和基礎版的 policy gradients 等 都是回合更新制, qlearning, sarsa, 公升級版的 policy gradients 等都是單步更新制. 因為單步更新更有效率, 所以現在大多方法都是基於單步更新。 比如有的強化學習問題並不屬於回合問題。
model based 強化學習分類
model based rl這個方向的工作可以根據environment model的用法分為三類 1.作為新的資料來源 environment model 和 agent 互動產生資料,作為額外的訓練資料來源來補充演算法的訓練。2.增加決策的context資訊 在進行q值或者v值預估時,envir...
強化學習方法分類
model based 先理解真實世界是怎樣的,並建立乙個模型來模擬現實世界的反饋,通過想象來預判新下來將要發生的所有情況,然後選擇這些想象情況中最好的那種,並依據這種情況來採取下一步的策略。model free 不依賴環境,不嘗試去理解環境,agent會根據現實環境的反饋採取下一步的動作,一步一步...
強化學習演算法分類總結
知識總結 a2c,a3c,ppo1,ppo2 策略函式的優化 a s q learing 動作值函式的優化 q s,a ddpg,sac 結合策略函式和動作值函式 a s q s,a mpc 模型 控制 純動態規劃 mbmf 在一些深度強化學習的標準基準任務上,基於學習到的環境進行模型 控制 exi...