強化學習筆記04——動態規劃

動態規劃(DP)是指,當給出一個具體的環境模型已知的馬爾科夫決定過程(MDP),可以用於計算其最佳策略的算法集合。經典DP算法在強化學習中的實用性有限,因爲他們假定了一個具體的模型,並且還受限於它們的計算cost很高,但它在理論上仍然很重要。

策略迭代

通用策略迭代是:
1. 先從一個策略π0 開始,
2. 策略評估(Policy Evaluation) - 得到策略π0 的價值vπ0
3. 策略改善(Policy Improvement) - 根據價值vπ0 ,優化策略π0
4. 迭代上面的步驟2和3,直到找到最優價值v ,因此可以得到最優策略π (終止條件:得到了穩定的策略π 和策略價值vπ )。
這個被稱爲通用策略迭代(Generalized Policy Iteration)。
數學表示如下:

π0Evπ0Iπ1Evπ1Iπ2EIπEv

因此,我們需要關心兩個問題:如何計算策略的價值,以及如何根據策略價值獲得一個優化的策略。即策略評估和策略優化。
總體框架如下圖:
這裏寫圖片描述

下面分別講解策略評估(Policy Evaluation)和策略改善(Policy Improvement)。

策略評估

策略評估是通過狀態值函數來實現的,值函數定義爲(S+S ):

vπ(s)Eπ[k=0γkRt+k+1|St=s]=aπ(a|s)s,rp(s,r|s,a)[r+γvπ(s)], sSsS+

此時,s狀態的值函數是由其他所有狀態在策略π 下的值函數確定,這是無法計算的。所以DP通過當前的策略π 計算下一時刻的狀態值函數。在多次迭代後(k ),vkvπ
vk+1(s)=Eπ[Rt+1+γvk(St+1) | St=s]=aπ(a|s)s,rp(s,r|s,a)[r+γvk(s)], sS,sS+

這裏寫圖片描述

策略優化

可以證明,最大化動作狀態值函數的同時也會最大化狀態值函數(P83)。所以策略優化通過最大化動作狀態值函數實現。
這裏寫圖片描述
由此可以得到前面策略迭代的流程框圖。

價值迭代

價值迭代方法是對上面所描述的方法的一種簡化:
在策略評估過程中,對於每個狀態s,只找最優(價值是最大的)行動a。這樣可以減少空間的使用。步驟如下:
1. 初始化 - 所有狀態的價值(比如:都設爲0)。
2. 初始化 - 一個等概率隨機策略π0 (the equiprobable random policy)
3. 策略評估
對於每個狀態s,只找最優(價值是最大的)行動a。即:

vk+1(s)maxa E[Rt+1+γvk(St+1) | St=s,At=a]=maxa s,rp(s,r|s,a)[r+γvk(s)]

價值迭代不需要優化過程,最後輸出的策略直接選取最大的值函數即可:
這裏寫圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章