1. 程式人生 > >【RL系列】馬爾可夫決策過程——狀態價值評價與動作價值評價的統一

【RL系列】馬爾可夫決策過程——狀態價值評價與動作價值評價的統一

ice .html .net bsp cor python-r and text 系列

請先閱讀上兩篇文章:

【RL系列】馬爾可夫決策過程中狀態價值函數的一般形式

【RL系列】馬爾可夫決策過程與動態編程

狀態價值函數,顧名思義,就是用於狀態價值評價(SVE)的。典型的問題有“格子世界(GridWorld)”遊戲(什麽是格子世界?可以參考:Dynamic programming in Python),高爾夫遊戲,這類問題的本質還是求解最優路徑,共性是在學習過程中每一步都會由一個動作產生一個特定的狀態,而到達該狀態所獲得的獎勵是固定的,與如何到達,也就是之前的動作是無關的,並且這類問題都有一個或多個固定的目標。相比較而言,雖然Multi-Armed Bandit(MAB)問題也可以用狀態價值評價的方法進行policy的求解,不過這個問題本質上還是對動作價值的評價。因為在MAB問題中,一個動作只能產生固定的狀態,且一個狀態只能由一個固定的動作產生,這種一對一的關系決定了其對動作的評價可以直接轉化為狀態評價。一個典型的SVE問題在轉變為動作價值評價(AVE)問題時(前提是這種轉變可行),往往獎勵機制會發生變化,從對狀態獎勵轉變為對當前狀態的某一動作獎勵,因為MAB問題的動作狀態等價,所以這種變化並不明顯,本篇也就不再將MAB問題作為討論的例子了。本篇將著重分析一個典型的SVE問題和一個典型的AVE問題,從而引出SVE與AVE在馬爾可夫決策過程下的統一形式。這裏需要強調一點的是,bellman方程實質上是由AVE的思想引出,與之前我在文章 【RL系列】馬爾可夫決策過程與動態編程

中所給出的狀態價值評價的推導邏輯還是有些許不同的,所以bellman方程並不適合統一這兩種評價體系。如果想要詳細了解bellman方程,我認為看書(Reinforcement Learning: An Introduction)和閱讀這篇文章 強化學習——值函數和bellman方程 都是不錯的選擇。

GridWorld

簡單介紹一下“格子世界”遊戲。這是一個非常簡單的尋找最優路勁的問題,給定一個有N*N個網格的地圖,在這些網格中有一個或幾個目的地,找出地圖上任意一個網格到達最近目的地的最短路徑。舉個例子,如下4x4地圖,圖中的X即為目的地,A為agent,GridWorld研究的問題就是找到A到達X的最短路徑:

技術分享圖片

【RL系列】馬爾可夫決策過程——狀態價值評價與動作價值評價的統一