《強化學習Sutton》讀書筆記(四)——蒙特卡洛方法(Monte Carlo Methods)

此爲《強化學習》第五章。

上一節中的動態規劃方法需要知道整個environment的信息,但有的時候,我們只有經驗 (Experience) (比如一組採樣),而對environment沒有任何其他知識;或者我們有一個可以交互的黑盒,通過黑盒可以進行仿真得到experience,但具體黑盒內的概率模型也是不知道的(或者非常難以計算的)。這種情況下,動態規劃方法不再適用,蒙特卡洛方法 (Monte Carlo Method, MC) 成爲了新的解決方案。

蒙特卡洛估計

假設我們已經得到了一批在策略 π 下的採樣,我們想以此估計每個狀態的值函數 v π ( s ) 。我們定義任一採樣中的任一時刻通過狀態 s 叫做對狀態 s 的一次訪問 (Visit) 。通常有兩種方法來估計 v π ( s ) 首次訪問方法 (First-Visit MC Method) 以每個採樣下第一次訪問狀態 s 時的回報的平均作爲對 v π ( s ) 的估計,每次訪問方法 (Every-Visit MC Method) 以每個採樣下每次訪問狀態 s 時的回報的平均作爲對 v π ( s ) 的估計。即

v π ( s ) f i r s t v i s i t = e x p G e x p , t | G e x p , t | ( S e x p , t = s , S e x p , k s , k < t ) v π ( s ) e v e r y v i s i t = e x p G e x p , t | G e x p , t | ( S e x p , t = s )

注意到 G t = R t + 1 + G t + 1 ,所以在遍歷時,需要從後向前遍歷求出回報 G t 。First-Visit方法和Every-Visit方法非常類似,但在理論性質上略有不同。本章主要討論First-Visit方法,以下給出First-Visit蒙特卡洛估計方法的僞代碼。

首次訪問方法僞代碼

蒙特卡洛方法聽起來非常簡單,但也已經可以用來解決一些問題了,比如21點 (Blackjack)

蒙特卡洛方法對行爲值函數的估計

如果我們已知狀態之間跳轉的概率模型,那麼上述的對狀態值函數的估計就足夠了,因爲我們可以通過貪心算法,得到確定性的策略(即 π ( s ) = a )。但如果我們不知道狀態之間的概率模型,那麼我們就無法確定狀態 s 能跳轉到其他哪些狀態。此時,對行爲值函數進行估計是一種可行的方法。

對行爲值函數的估計和狀態值函數非常類似,它也是統計每次在狀態 s 選擇行爲 a 得到回報的平均。類似地,它也可以分成首次訪問方法和每次訪問方法,表達式如下:

相關文章
相關標籤/搜索