導出強化學習中的貝爾曼方程
我在“ In Reinforcement Learning. An Introduction ”中看到了以下等式,但並沒有完全遵循我在下面以藍色突出顯示的步驟。這一步究竟是如何得出的?
這個問題已經有很多答案,但大多數都涉及很少的文字來描述操作中發生的事情。我想我會用更多的詞來回答它。開始,
G噸≐噸∑到=噸+1C到−噸−1R到Gt≐T∑k=t+1γk−t−1Rk
在 Sutton 和 Barto 的方程 3.11 中定義,具有恆定的折扣因子0≤C≤1 0≤γ≤1 我們可以有噸=∞ T=∞ 或者C=1 γ=1 ,但不是兩者兼而有之。自從有了獎勵,R到 Rk , 是隨機變量,所以G噸 Gt 因為它只是隨機變量的線性組合。
v圓周率(s)≐和圓周率[G噸∣小號噸=s]=和圓周率[R噸+1+CG噸+1∣小號噸=s]=和圓周率[R噸+1|小號噸=s]+C和圓周率[G噸+1|小號噸=s]$$ \begin{align} v_\pi(s) & \doteq \mathbb{E}\pi\left[G_t \mid S_t = s\right] \ & = \mathbb{E}\pi\left[R_{t+1} + \gamma G_{t+1} \mid S_t = s\right] \ & = \mathbb{E}{\pi}\left[ R{t+1} | S_t = s \right] + \gamma \mathbb{E}{\pi}\left[ G{t+1} | S_t = s \right] \end{align} $$
最後一行來自期望值的線性。 R噸+1 Rt+1 是代理在時間步採取行動後獲得的獎勵噸 t . 為簡單起見,我假設它可以採用有限數量的值r∈R r∈R .
第一學期工作。換句話說,我需要計算期望值R噸+1 Rt+1 假設我們知道當前狀態是s s . 這個公式是
和圓周率[R噸+1|小號噸=s]=∑r∈Rrp(r|s).$$ \begin{align} \mathbb{E}{\pi}\left[ R{t+1} | S_t = s \right] = \sum_{r \in \mathcal{R}} r p(r|s). \end{align} $$
換句話說,獎勵出現的概率r r 以狀態為條件s s ; 不同的狀態可能有不同的獎勵。這p(r|s) p(r|s) 分佈是也包含變量的分佈的邊際分佈一個 a 和s′ s′ ,當時採取的行動噸 t 和當時的狀態噸+1 t+1 動作後,分別:
p(r|s)=∑s′∈小號∑一個∈一個p(s′,一個,r|s)=∑s′∈小號∑一個∈一個圓周率(一個|s)p(s′,r|一個,s).p(r|s)=∑s′∈S∑a∈Ap(s′,a,r|s)=∑s′∈S∑a∈Aπ(a|s)p(s′,r|a,s).
我用過的地方圓周率(一個|s)≐p(一個|s) π(a|s)≐p(a|s) ,遵循本書的約定。如果最後一個相等令人困惑,忘記總和,抑制s s (概率現在看起來像一個聯合概率),使用乘法定律,最後重新引入條件s s 在所有新條款中。現在很容易看出第一項是
和圓周率[R噸+1|小號噸=s]=∑r∈R∑s′∈小號∑一個∈一個r圓周率(一個|s)p(s′,r|一個,s),$$ \begin{align} \mathbb{E}{\pi}\left[ R{t+1} | S_t = s \right] = \sum_{r \in \mathcal{R}} \sum_{s' \in \mathcal{S}} \sum_{a \in \mathcal{A}} r \pi(a|s) p(s',r | a,s), \end{align} $$
按要求。到第二個學期,我假設G噸+1 Gt+1 是一個隨機變量,取有限數量的值G∈Γ g∈Γ . 就像第一個詞一樣:
和圓周率[G噸+1|小號噸=s]=∑G∈ΓGp(G|s).(∗)$$ \begin{align} \mathbb{E}{\pi}\left[ G{t+1} | S_t = s \right] = \sum_{g \in \Gamma} g p(g|s). \qquad\qquad\qquad\qquad (*) \end{align} $$
再一次,我通過寫作“取消邊緣化”概率分佈(再次乘法定律)
p(G|s)=∑r∈R∑s′∈小號∑一個∈一個p(s′,r,一個,G|s)=∑r∈R∑s′∈小號∑一個∈一個p(G|s′,r,一個,s)p(s′,r,一個|s)=∑r∈R∑s′∈小號∑一個∈一個p(G|s′,r,一個,s)p(s′,r|一個,s)圓周率(一個|s)=∑r∈R∑s′∈小號∑一個∈一個p(G|s′,r,一個,s)p(s′,r|一個,s)圓周率(一個|s)=∑r∈R∑s′∈小號∑一個∈一個p(G|s′)p(s′,r|一個,s)圓周率(一個|s)(∗∗)p(g|s)=∑r∈R∑s′∈S∑a∈Ap(s′,r,a,g|s)=∑r∈R∑s′∈S∑a∈Ap(g|s′,r,a,s)p(s′,r,a|s) =∑r∈R∑s′∈S∑a∈Ap(g|s′,r,a,s)p(s′,r|a,s)π(a|s) =∑r∈R∑s′∈S∑a∈Ap(g|s′,r,a,s)p(s′,r|a,s)π(a|s) =∑r∈R∑s′∈S∑a∈Ap(g|s′)p(s′,r|a,s)π(a|s)(∗∗)
最後一行來自馬爾可夫屬性。請記住G噸+1 Gt+1 是代理在狀態後收到的所有未來(折扣)獎勵的總和s′ s′ . 馬爾可夫特性是該過程對於先前的狀態、動作和獎勵是無記憶的。未來的行動(以及他們獲得的回報)僅取決於採取行動的狀態,所以p(G|s′,r,一個,s)=p(G|s′) p(g|s′,r,a,s)=p(g|s′) ,假設。好的,所以證明中的第二項現在是
C和圓周率[G噸+1|小號噸=s]=C∑G∈Γ∑r∈R∑s′∈小號∑一個∈一個Gp(G|s′)p(s′,r|一個,s)圓周率(一個|s)=C∑r∈R∑s′∈小號∑一個∈一個和圓周率[G噸+1|小號噸+1=s′]p(s′,r|一個,s)圓周率(一個|s)=C∑r∈R∑s′∈小號∑一個∈一個v圓周率(s′)p(s′,r|一個,s)圓周率(一個|s)$$ \begin{align} \gamma \mathbb{E}{\pi}\left[ G{t+1} | S_t = s \right] & = \gamma \sum_{g \in \Gamma} \sum_{r \in \mathcal{R}} \sum_{s' \in \mathcal{S}} \sum_{a \in \mathcal{A}} g p(g | s') p(s', r | a, s) \pi(a | s) \ & = \gamma \sum_{r \in \mathcal{R}} \sum_{s' \in \mathcal{S}} \sum_{a \in \mathcal{A}} \mathbb{E}{\pi}\left[ G{t+1} | S_{t+1} = s' \right] p(s', r | a, s) \pi(a | s) \ & = \gamma \sum_{r \in \mathcal{R}} \sum_{s' \in \mathcal{S}} \sum_{a \in \mathcal{A}} v_{\pi}(s') p(s', r | a, s) \pi(a | s) \end{align} $$
根據需要,再次。結合這兩個術語完成了證明
v圓周率(s)≐和圓周率[G噸∣小號噸=s]=∑一個∈一個圓周率(一個|s)∑r∈R∑s′∈小號p(s′,r|一個,s)[r+Cv圓周率(s′)].$$ \begin{align} v_\pi(s) & \doteq \mathbb{E}\pi\left[G_t \mid S_t = s\right] \ & = \sum{a \in \mathcal{A}} \pi(a | s) \sum_{r \in \mathcal{R}} \sum_{s' \in \mathcal{S}} p(s', r | a, s) \left[ r + \gamma v_{\pi}(s') \right]. \end{align} $$
更新
我想解決在推導第二項時可能看起來像是一種花招的問題。在標有(∗) (∗) , 我用一個術語p(G|s) p(g|s) 然後在等式中標記(∗∗) (∗∗) 我聲稱G g 不依賴於s s ,通過論證馬爾可夫性質。所以,你可能會說,如果是這樣的話,那麼p(G|s)=p(G) p(g|s)=p(g) . 但是這是錯誤的。我可以做p(G|s′,r,一個,s)→p(G|s′) p(g|s′,r,a,s)→p(g|s′) 因為該陳述左側的概率表明這是G g 以s′ s′ ,一個 a ,r r , 和s s . 因為我們要么知道,要么假設狀態s′ s′ ,由於馬爾可夫性質,其他條件都不重要。如果您不知道或假設該狀態s′ s′ ,那麼未來的獎勵(G g ) 將取決於您從哪個州開始,因為這將決定(基於政策)哪個州s′ s′ 你從計算開始G g .
如果這個論點不能說服你,試著計算一下p(G) p(g) 是:
p(G)=∑s′∈小號p(G,s′)=∑s′∈小號p(G|s′)p(s′)=∑s′∈小號p(G|s′)∑s,一個,rp(s′,一個,r,s)=∑s′∈小號p(G|s′)∑s,一個,rp(s′,r|一個,s)p(一個,s)=∑s∈小號p(s)∑s′∈小號p(G|s′)∑一個,rp(s′,r|一個,s)圓周率(一個|s)≐∑s∈小號p(s)p(G|s)=∑s∈小號p(G,s)=p(G).p(g)=∑s′∈Sp(g,s′)=∑s′∈Sp(g|s′)p(s′) =∑s′∈Sp(g|s′)∑s,a,rp(s′,a,r,s) =∑s′∈Sp(g|s′)∑s,a,rp(s′,r|a,s)p(a,s) =∑s∈Sp(s)∑s′∈Sp(g|s′)∑a,rp(s′,r|a,s)π(a|s) ≐∑s∈Sp(s)p(g|s)=∑s∈Sp(g,s)=p(g).
從最後一行可以看出,這不是真的p(G|s)=p(G) p(g|s)=p(g) . 的期望值G g 取決於您從哪個州開始(即s s ),如果您不知道或假設該狀態s′ s′ .