- 深度強化學習算法與實踐:基于PyTorch的實現
- 張校捷編著
- 1318字
- 2022-05-06 17:08:35
2.4 貝爾曼方程及其應用
本節將簡單介紹貝爾曼方程(Bellman Equation)及其應用。其實在前面幾節的內容中,從式(2.1)到式(2.7)已經陸續有了一系列類似的公式,這些公式的共同特點都是基于馬爾可夫決策過程,并且使用的都是一個迭代的方程來對對應的狀態價值函數或者動作-狀態價值函數進行計算。那么,是否可以把所有的公式納入一個統一的框架下來表述呢?答案當然是肯定的,事實上,所有的這些公式都可以看作貝爾曼方程在某種限定條件下的特例。
為了能夠推導貝爾曼方程,首先從回溯圖出發,觀察一下從初始狀態st開始到達新的狀態st+1的過程。圖2.6是對應的回溯圖,可以看到這個圖和圖2.1比較類似,只不過在圖中明確標示了狀態st、動作at、在動作之后獲取的獎勵rt、轉移到新的狀態st+1以及對應的概率p(rt,st+1|st,at)。與圖2.1中介紹的一樣,圖2.6把st和st+1對應的狀態價值函數的值V(st)和V(st+1)聯系在了一起。在這個前提下,就可以從價值函數最原始的定義推導得到貝爾曼方程。

圖2.6 貝爾曼方程對應的回溯圖
如式(2.12)所示,Vπ(st)的定義應該是在狀態為st的情況下,根據策略π,智能體獲取的回報Gt的期望。而當前步的回報和當前步獲取的獎勵rt,折扣系數γ和下一步的回報Gt+1相關,即Gt=rt+γGt+1,這個通過回報的定義公式可以很容易得到。把對應的期望展開可以發現,對應的期望和兩部分有關,第一部分是策略的部分,即π(at|st),對應的是智能體根據策略π做出動作a的概率;第二部分是獲取獎勵rt并轉移到新的狀態st+1的概率p(rt,st+1|st,at)。最后容易看出整個公式中Gt的部分是遞歸定義的,因為Vπ(st)是Gt的期望,同樣,Vπ(st+1)是Gt+1的期望。這樣就把Vπ(st)和Vπ(st+1)聯系了起來,也就是最后的貝爾曼方程。式(2.12)對應的是狀態價值函數相關的貝爾曼方程,還有一個動作-狀態價值函數相關的貝爾曼方程,如式(2.13)所示。同樣,式(2.13)顯示了智能體前后兩步決策的Qπ(st,at)和Qπ(st+1,at+1)之間的相互關系。

有了貝爾曼方程,就可以直接推導得到很多結論。比如常見的貪心算法,其實就是設置π(at|st),使得at的取值讓對應的價值函數最大,這樣就得到了前面提到的式(2.6)和式(2.7)的結論。當然,其實貝爾曼方程對任意的策略π(at|st)適用,包括在基于策略的強化學習中經常使用的方法,即用一個模型根據環境的狀態st做出決策,預測可能獲取最大回報的動作at。這個深度學習網絡被稱為策略網絡(Policy Network),其輸出的是不同決策的概率,我們只需要根據這個概率對動作智能體的決策進行采樣(采樣分布可以是多項分布,即Multinomial Distribution,對應的是離散的動作;也可以是高斯分布,即Gaussian Distribution,對應的是連續的動作),得出一個具體的動作at讓智能體去執行即可。因為在策略網絡中一般來說所有動作的概率都不為零,所以對應的策略被稱為軟策略(Soft Policy),對應所謂的“硬策略”,即某一動作的概率為1,其他動作的概率為0的貪心策略。
綜上所述,貝爾曼方程可以認為是強化學習的理論基礎,統一了所有的基于馬爾可夫決策過程的強化學習理論,并且把強化學習里面重要的一些概念,如狀態價值函數、動作-狀態價值函數和策略等通過一個公式聯系了起來。在后續使用的很多概念和公式可以認為是這個公式在一定假設下的簡化版本。理解貝爾曼方程有助于加深對于后續的深度強化學習算法的理解。
- Apache ZooKeeper Essentials
- Monkey Game Development:Beginner's Guide
- Linux C/C++服務器開發實踐
- INSTANT MinGW Starter
- Java Web基礎與實例教程
- Hands-On Microservices with Kotlin
- Android Native Development Kit Cookbook
- 網站構建技術
- Clojure Reactive Programming
- SQL Server與JSP動態網站開發
- HTML5秘籍(第2版)
- Anaconda數據科學實戰
- ASP.NET開發寶典
- Visual Basic語言程序設計上機指導與練習(第3版)
- Design Patterns and Best Practices in Java