強化學習中,確定性策略和隨機策略的區別,以及各自經典的演算法是什麼?

強化學習(reinforcement learning)中,確定性(deterministic)策略和隨機(probalistic)策略的區別,以及各自經典的演算法是什麼?


在強化學習中,確定性策略和隨機策略是modle free策略搜索的兩類主要方法。這兩者的區別也比較明顯,有各自的優缺點,下面我簡單說一下。

兩者的區別

確定性策略,在相同的狀態下,其輸出的動作是確定的;而對於隨機策略,對於相同的狀態,其輸出的狀態並不唯一,而是滿足一定的概率分布,從而導致即使是處在相同的狀態,也可能輸出不同的動作。

另外,就兩者的優缺點來說,確定性策略的優點是能夠利用確定性梯度優化策略,所以不需要太多的採樣數據,計算效率也很快。缺點是由於每次面對同一狀態其輸出的動作是唯一的,無法討論一些其它動作的效果,不具有自學習的能力;

而隨機策略的優點是能夠探索好的經驗,然後集成到一個策略中。而且隨機策略比較成熟,現有的輪子比較多。而缺點是需要採樣的數據量較大,學習比較慢;

兩者對應的經典演算法

確定性策略的經典演算法

? DPG

? DDPG

隨機性策略的經典演算法

? TRPO

? PGQ

? MC Control

? SARSA

? Q learning

本文作者:京東金融-消費者金融部-風險管理部潘曉


@京東白條 的分類錯了。

我用David Silver的講稿中的例子來解釋一下:

對於上圖的遊戲,一個agent在迷宮中移動,能看到附近格子的信息,所以agent分辨不出上圖灰色的格子的區別(因為左右都是白色的格子)。

如果採用deterministic policy的策略,是對每個s都有一個確定性的a,即 pi(s) = a ,那麼最後學習的結果可能如下:

很明顯,這個策略並不是一個最優的策略,或者說並不是一個好的策略,因為如果agent的初始位置在第一個白色格子,或者第二個白色格子的話,那麼會出現死循環,如果每一步有cost的話,那麼cost的累積會很大。

但是stochastic policy可以緩解這個問題,stochastic policy是對每個s下每個a有一定的概率,即 pi(s, a_{i}) = p_{i} ,所有的概率和為一。採用隨機策略最終可能學出的下圖:

在灰色格子有一定概率向左走,有一定概率向右走,很明顯,這個策略優於上面的策略,agent在任何一個位置最終都會達到目標.

所以核心的區別其實很簡單,最終的策略是學出 pi(s) = a 還是 pi(s, a_{i}) = p_{i}

具體的演算法,白條明顯就是錯了。常規基於Value function的策略是確定性的,或者近確定性的。

所以

Q-learing等明明是確定性的,卻被划到了隨機性策略,我表示也是很無奈啊。

隨機性策略經典演算法:

vanilla Policy Gradient

nature Policy Gradient

REINFORCE

Action-Value Actor-Critic

Natural Actor-Critic

等等

確定性經典演算法:

Q-learning(one step, two step.....)

SARSA(one step, two step.....)

TD( lambda

SARSA( lambda )

等等


推薦閱讀:

TAG:演算法 | 機器學習 | 強化學習ReinforcementLearning |