- 深度強化學習算法與實踐:基于PyTorch的實現
- 張校捷編著
- 1244字
- 2022-05-06 17:08:34
2.3.2 價值迭代
根據前文所述,所謂策略迭代,應該是一系列交替的策略評估(P)和策略優化過程(I),即…。最后收斂的結果即為最優的策略π?和對應的最優狀態價值函數V?。由于每個策略迭代的步驟包含兩個子步驟,特別是在策略評估的步驟中需要遍歷所有的狀態,并且讓對應的狀態價值函數迭代收斂,整個策略迭代的算法需要耗費大量的時間。在實際中,策略評估這一部分往往并不需要多次迭代,直到所有的狀態價值函數的值收斂。在這種情況下,迭代的公式如式(2.11)所示。

其中,Vk(s)是第k步迭代時的狀態價值函數。從式(2.11)中可以觀察到,這里略去了根據某一固定的策略反復進行迭代來獲取準確的狀態價值函數的過程,直接從上一步的狀態價值函數中獲得下一步迭代的狀態價值函數,對應的策略也是前面介紹的貪心策略,直接選取可能獲得最大獎勵的動作作為下一步的動作。可以證明,使用式(2.11)的情況下,最后狀態價值函數也可以收斂,而且最終收斂的狀態價值函數和貪心策略與前面的策略迭代算法收斂得到的最優狀態價值函數和最優策略一致。
在價值迭代的計算過程中,因為只進行一次策略評估和策略優化,所以相對于策略迭代大大縮減了時間的開銷,但是價值迭代算法本身也有一定的缺點。由于在價值迭代過程中策略評估只進行了一次,當前的價值函數和策略往往是不匹配的,這就會造成算法相對于策略迭代算法往往需要更多的策略優化步驟來收斂。不過因為每一步的計算策略都有提高,而且最后狀態價值函數的不動點和策略迭代算法得到的不動點是一個不動點,價值迭代算法最終還是能夠收斂的。這里的策略迭代算法和價值迭代算法可以看作兩個極端,一個策略評估的目標是狀態價值函數收斂,從而達到每一步迭代中狀態價值函數和策略相互適配的結果;另一個則是每次只對狀態價值函數做一個粗略的估計,讓策略和狀態價值函數在迭代中逐漸相互適配,最后算法收斂。
總的來說,就是策略評估(可以是單步迭代,對應價值迭代算法,也可以趨向于無窮,對應策略迭代算法)和策略優化之間的相互迭代。策略評估和策略優化代表兩個方向,策略評估的方向是為了讓狀態價值函數盡可能適配當前的策略,但是對應的策略可能會因為狀態價值函數的改變而變得不再是最優的策略;而策略優化的方向是為了讓策略盡可能變得最優,這同樣會反過來影響對應的狀態價值函數,讓狀態價值函數的估計變得不準確。當然,最終的收斂結果是狀態價值函數和策略相互適配,都達到最優的狀態。事實上,所有的強化學習算法都可以放入這個框架中,一般來說,強化學習算法在迭代過程中都會對價值函數和策略進行迭代。在基于價值(Value-based)的算法中,隱含的策略一般是貪心策略或者?-貪心策略,用一個模型來擬合狀態價值函數或者動作-狀態價值函數;而在基于策略(Policy-based)的算法中,一般會有兩個模型,一個模型擬合狀態價值函數或者動作-狀態價值函數,另外一個模型可以作為當前的策略,預測給定狀態下的動作。無論是哪種算法,都有對于狀態價值函數的不斷優化,同時在狀態價值函數改變之后,對應的策略也會不斷改變,最后到達平衡,從而算法收斂。
- SQL Server 從入門到項目實踐(超值版)
- 大話PLC(輕松動漫版)
- Access 數據庫應用教程
- OpenCV for Secret Agents
- Microsoft Dynamics AX 2012 R3 Financial Management
- 細說Python編程:從入門到科學計算
- C++語言程序設計
- IDA Pro權威指南(第2版)
- SignalR:Real-time Application Development(Second Edition)
- Kotlin進階實戰
- Java Hibernate Cookbook
- 關系數據庫與SQL Server 2012(第3版)
- Qt 5.12實戰
- 虛擬現實:引領未來的人機交互革命
- Puppet Cookbook(Third Edition)