貝爾曼方程怎麼解 強化學習系列(下) 貝爾曼方程

2021-10-12 14:39:53 字數 2332 閱讀 1256

在本文中,我們將學習貝爾曼方程和價值函式。

回報和返還(return)

正如前面所討論的,強化學習agent如何最大化累積未來的回報。用於描述累積未來回報的詞是返還,通常用r表示。我們還使用乙個下標t來表示某個時間步長的返還。在數學符號中,它是這樣的:

如果我們讓這個級數趨於無窮,那麼我們最終會得到無限的返還,這對於問題的定義並沒有太大意義。因此,只有在我們期望返還的級數終止時,這個方程才有意義。我們將這種總是終止的任務稱為「插曲式」(episodic)。紙牌遊戲是解釋「插曲式」問題的好例子。「插曲」開始於對每個人發牌,並且不可避免地會隨著遊戲規則的不同而結束。然後,下一「插曲」又開始了另一回合的遊戲。

相比使用未來的累積回報作為返還,更常見的是使用未來的累積折現回報(cumulative discounted reward):

其中0策略

乙個策略,寫成π(s, a),描述了一種行動方式。它是乙個函式,能夠採取乙個狀態和乙個行動,並返回在那個狀態下採取這個行動的概率。因此,對於乙個給定的狀態,即

必須是真實的。在下面的例子中,當我們「飢餓」的時候,我們可以在兩種行為之間做出選擇,要麼「吃」,要麼「不吃」。

我們的策略應該描述如何在每個狀態中採取行動,所以乙個等概率的隨機策略看起來就像

,在這裡

(eat)是行為「吃」,而

(don』t eat)是「不吃」。這意味著,如果你處於「飢餓」狀態,選擇「吃」和「不吃」的概率是相等的。

我們在強化學習中的目標是學習一種最優策略,定義為

。最優策略告訴我們如何採取行動來最大化每個狀態的返還。因為這是乙個很簡單的例子,所以很容易看出,在這種情況下,最優策略是在「飢餓」時總是「吃」,那麼就是

。在這個例項中,對於許多馬爾可夫決策來說,最優策略是確定的。每個狀態都有乙個最優的行動。有時這被寫成

,它是從狀態到這些狀態中的最優行動的對映。

價值函式

為了學習最優策略,我們利用了價值函式。在強化學習中有兩種型別的價值函式:狀態值函式(state value function),用v(s)表示,和行動值函式,用q(s,a)表示。

狀態值函式在遵循策略時描述乙個狀態的值。當從狀態的行為以我們的策略π開始時,這就是預期的返還。

需要注意的是,即使在相同的環境中,價值函式也會根據策略發生變化。這是因為狀態的價值取決於你的行動,因為你在那個特定的狀態下的行動會影響你期望看到的回報。同時還要注意期望的重要性。期望(expectation)就像乙個平均值;它就是你期望看到的返還。我們使用期望的原因是當你到達乙個狀態後會發生一些隨機事件。你可能有乙個隨機的策略,這意味著我們需要把我們採取的所有不同行動的結果結合起來。此外,轉換函式(transition function)可以是隨機的,也就是說,我們可能不會以100%的概率結束任何狀態。請記住上面的例子:當你選擇乙個行動時,環境將返回下乙個狀態。即使給出乙個行動,也可能會有多個狀態返還。當我們看貝爾曼方程時,會看到更多這樣的情況。期望將所有這些隨機因素考慮在內。

我們將使用的另乙個價值函式是行動值函式。行動值函式告訴我們當跟隨某個策略時,在某些狀態下執行某個行動的值。給出狀態和在π下的行動,這是期望的返還:

對狀態值函式的注釋同樣適用於行動值函式。根據該策略,期望將考慮未來行動的隨機性,以及來自環境的返還狀態的隨機性。

貝爾曼方程

理查德·貝爾曼推導出了以下公式,讓我們可以開始解決這些馬爾可夫決策問題。貝爾曼方程在強化學習中無處不在,對於理解強化演算法的工作原理是非常必要的。但在我們了解貝爾曼方程之前,我們需要乙個更有用的符號,定義為

和,如下所示:

是過渡概率。如果我們從狀態s開始,然後採取行動a,我們就會得到狀態

和概率是另一種寫為期望(或平均)回報的方式,我們從狀態s開始,採取行動a,然後移動到狀態

最後,有了這些條件,我們就可以推導出貝爾曼方程了。我們將考慮貝爾曼方程的狀態值函式。根據返還的定義,我們可以重寫方程(1),如下所示:

如果我們從求和中得到第乙個回報,我們可以這樣重寫它:

這裡的期望描述的是,如果我們繼續遵循策略π的狀態s,我們期望返還的是什麼。通過對所有可能的行動和所有可能的返還狀態的求和,可以明確地編寫為期望。下面的兩個方程可以幫助我們完成下乙個步驟。

通過在這兩個部分之間分配期望,我們就可以把我們的方程轉化成:

注意,方程(1)與這個方程的末尾形式相同。我們可以替換它,得到:

貝爾曼方程的重要性在於,它們讓我們表達了其它狀態的價值。這意味著,如果我們知道

的值,我們可以很容易地計算出

的值。這為計算每個狀態值的迭代方法開啟了大門,因為如果我們知道下乙個狀態的值,我們就可以知道當前狀態的值。最重要的事情是我們需要記住一些編號方程。最後,在貝爾曼方程中,我們可以開始研究如何計算最優策略,並編碼我們的第乙個強化學習agent。

在我們推導出貝爾曼方程的過程中,我們得到了這一系列的方程,從方程(2)開始:

強化學習 馬爾克夫決策過程和貝爾曼方程

a finite set of actions 動作空間 a search,recharge,wait a finite set of states 電池狀態 s high low a finite set of rewards 獎勵 r one step dynamics of the envir...

貝爾曼方程(Bellman Equation)

貝爾曼方程 bellman equation 也被稱作動態規劃方程 dynamic programming equation 由理查 貝爾曼 richard bellman 發現,由於其中運用了變分法思想,又被稱之為現代變分法。貝爾曼方程 bellman equation 也被稱作動態規劃方程 dy...

貝爾曼方程 Bellman Equation

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!貝爾曼方程 bellman equation 也被稱作動態規劃方程 dynamic programming equation 由理查 貝爾曼 richard bellman 發現,由於其中運用了變分法思想,又被稱之為現代變分法。貝爾曼方程 bell...