策略梯度理解


策略梯度(Policy gradient)是所有基於策略搜索的強化學習算法的基礎,就像MDP是所有強化學習問題的基礎一樣。

后續提出的算法(如Actor-Critic、TRPO、PPO、DPG)都是針對策略梯度算法的缺陷提出改進,所以理解策略梯度的各種細節十分必要。

為什么要用基於策略的學習?

1)基於策略的學習可能會具有更好的收斂性,這是因為基於策略的學習雖然每次只改善一點點,但總是朝着好的方向在改善;

    但是上講提到有些價值函數在后期會一直圍繞最優價值函數持續小的震盪而不收斂。
2)在對於那些擁有高維度或連續狀態空間來說,使用基於價值函數的學習在得到價值函數后,制定策略時,需要比較各種行為對應的價值大小,

    這樣如果行為空間維度較高或者是連續的,則從中比較得出一個有最大價值函數的行為這個過程就比較難了,這時候使用基於策略的學習就高效的多。

3)能夠學到一些隨機策略,下文舉了一個很好的例子;但是基於價值函數的學習通常是學不到隨機策略的。
     有時候計算價值函數很困難。比如當小球從空中掉下來你需要通過左右移動去接住它時,計算小球在某一個位置(狀態)時采取什么樣的行動(action)是很困難的。

     但是基於策略函數就簡單了,只需要朝着小球落地的方向移動修改策略就好了。
---------------------

什么時候使用基於價值的學習?什么時候使用基於策略的學習?

具體問題具體分析,根據需要評估的問題的特點來決定使用哪一種學習方式。
隨機策略有時是最優策略。比如剪刀石頭布這個游戲,如果你是按照某一種策略來出拳的話,很容易讓別人抓住你的規律,然后你就會輸了。所以最好的策略就是隨機出拳,讓別人猜不到。所謂的確定性策略,是說只要給定一個狀態s,就會輸出一個具體的動作a,而且無論什么時候到達狀態s,輸出的動作a都是一樣的。而隨機策略是指,給定一個狀態s,輸出在這個狀態下可以執行的動作的概率分布。即使在相同狀態下,每次采取的動作也很可能是不一樣的。
基於價值函數的策略有時無法得到最優策略。

在這個圖中,agent需要盡量不遇到骷顱頭而去拿到錢包。agent所在的狀態就是圖中上方5個格子。對於這個環境的描述我們可以使用坐標來表示每個格子(狀態),我們也可以使用格子某個方向是否有牆來作為特征描述這些格子。如果使用后者的話,我們就會發現兩個灰色格子的狀態描述是一樣的,也就是視頻中說的重名(Aliased)。它們的狀態描述一樣,但是我們可以看到(上帝視角)當agent處於這兩個灰色格子時,應該采取的行動是不一樣的。也就是說,當agent在左邊的灰色格子時,它的策略應該是向東走,當它在右邊的灰色格子時,它應該向西走。這樣的話,就會出現在同一狀態下,需要采取策略不同的情況。而對於基於價值的學習方法,策略是固定的,所以就會出現下面這樣的策略:

或者灰色格子一直向東的策略。
所以出現這種狀態相同,需要采取的行動不同的這種情況時,隨機策略就會比確定性的策略好。

......

待補充。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM