簡體   English   中英

馬爾可夫強化學習的擬合值迭代算法

[英]Fitted value iteration algorithm of Markov Reinforcement Learning

在吳安德的擬合值迭代算法中,我給出了以下詳細步驟,它將嘗試在步驟3中找到一個狀態s(i)的最佳操作。當主體處於s(i)時,我們執行可能的操作。行動a(1),我們過渡到s(i)'。

我的問題是我們如何才能再次還原為s(i)並執行第二種可能的動作a(2)? 假設我們使用這種算法來控制直升機,我認為我們不能輕易地將狀態還原。

算法

1. Randomly sample m states s(1), s(2), . . . s(m) ∈ S.
2. Initialize θ := 0.
3. Repeat {
    For i = 1, . . . , m {
        For each action a ∈ A {
            Sample s′ 1, . . . , s′ k ∼ Ps(i)a (using a model of the MDP).
            Set q(a) = k1 Pk j=1 R(s(i)) + γV (s′ j)
            // Hence, q(a) is an estimate of R(s(i))+γEs′∼P
            s(i)a[V (s′)].
        }
        Set y(i) = maxa q(a).
        // Hence, y(i) is an estimate of R(s(i))+γ maxa Es′∼P
        s(i)a[V (s′)].
   }
   // In the original value iteration algorithm (over discrete states)
   // we updated the value function according to V (s(i)) := y(i).
   // In this algorithm, we want V (s(i)) ≈ y(i), which we’ll achieve
   // using supervised learning (linear regression).
   Set θ := arg minθ 1 2 Pm i=1 θT φ(s(i)) − y(i)2
}

請注意,在4.2.2節中描述的您所引用的算法是“父”節4.2的一部分。 值函數逼近 第一部分是4.2.1使用模型或仿真

在第一部分中,我們可以閱讀:

要開發一個值函數近似算法,我們將假定我們有一個MDP 模型模擬器 非正式地,模擬器是一個黑盒子,其將任何(連續值)狀態s_t和動作a_t作為輸入,並輸出根據狀態轉換概率P_{s_t, a_t}采樣的下一狀態s_{t+1} P_{s_t, a_t}

因此,該算法假設您可以使用模型/模擬器來模擬您將所有可能的操作應用於同一狀態。 如您所知,如果您擁有像直升機這樣的真實環境(即,既沒有模型也沒有模擬器),則無法對同一狀態應用多個動作,因為在應用動作后狀態會發生變化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM