增強學習(二)——策略迭代與值迭代

在上一篇文章中,我主要介紹了馬爾可夫決策過程(MDP)。在瞭解了增強學習的基本思想後,我們便可以繼續討論“最優策略”的求解方法:

我們之前已經說到了MDP可以表示成一個元組(X, A, Psa, R),我們對最優策略的求解方法自然也就與這個元組密切相關:如果該過程的四元組均爲已知,我們稱這樣的模型爲“模型已知”,對這種已知所有環境因素的學習稱爲“有模型學習”(model-basedlearning);與之對應的就是“無模型學習”,環境因素機器無法得知的,主要是指狀態轉移概率Pxa

本篇博客對“有模型學習”的兩種方法進行介紹,分別是策略迭代和值迭代。在此之前,我們需要明確增強學習的兩大步驟,策略評估與策略改進:


策略評估:

在上一篇博客中,我們已經對“狀態值函數”和“狀態動作值函數”進行了簡單介紹,但在之前的考慮中,我們是認爲策略已知,故在貝爾曼方程中沒有考慮策略π的取值與改進問題。我們在此以“狀態值函數”和“狀態動作值函數”的T步累積獎賞爲例重新進行完整的推導:

    (1)

關於下標,Rax->x’表示的是在x狀態下采取a動作,轉移到x’狀態後得到的回報,其他的類比即可。同理可以得到關於“狀態動作值函數”Q的公式:

    (2)

這樣的遞歸式纔是對於完整的MDP四元組的貝爾曼等式。也就是說,我們通過這兩個公式,就可以通過逐步遞歸的方式,在編程上實現對策略π的評估。僞代碼如下:



策略改進:

由於我們已經知道了怎樣對策略進行評估,那麼,我們可以產生一個很直接的求解最優策略的方法:從一個初始化的策略出發,先進行策略評估,然後改進策略,評估改進的策略,再進一步改進策略……不斷迭代更新,直達策略收斂,這種做法被稱爲“策略迭代”,僞代碼如下:


其中,Q的計算是根據公式(2)來進行的。

此外,我們不難理解,當Qπ(x,π’(x))>=Vπ(x)時,我們可以認爲在x的狀態下,π’策略相比原來的策略更好。再結合上一篇博文中的最優貝爾曼方程,我們可以將策略的改進視爲值函數的改善,以此得出“值迭代”方法,僞代碼如下:



但是,這兩種方法的缺點顯而易見:必須知道狀態轉移概率才能進行最優策略的計算。這在我們真實的使用場景中幾乎不可能實現,所以,我們將在下一篇中介紹適用性更強的“無模型學習”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章