強化學習系列(五):蒙特卡羅方法(Monte Carlo)
一、前言
在強化學習系列(四):動態規劃中,我們介紹了採用DP (動態規劃)方法求解environment model 已知的MDP(馬爾科夫決策過程),那麼當environment model資訊不全的時候,我們會採用什麼樣的方法求解呢?蒙特卡洛方法(Monte Carlo)、時間差分(Temporal Difference,TD)、n-step Bootstrapping 都可以用來求解無模型的強化學習問題,本章主要介紹蒙特卡洛方法(Monte Carlo)。
在解決實際問題中,我們通常不太容易獲得環境的準確模型,例如打牌的時候,不知道對手會出什麼牌,這樣各個state間的轉移概率就不太容易直接表示。相對而言,獲得取樣資料通常比較容易實現,比如打牌,可以打好多次牌,然後逐漸就可以估計對手的出牌風格。根據統計數學的思想,我們可以通過不斷取樣然後求平均的方式實現對環境模型的學習。這種近似方式我們稱為經驗方式。
Monte Carlo正是這樣一種用經驗來估計環境模型的方法,可以在環境模型未知的情況下,根據經驗(experience,從環境中獲取的一系列的state、action、reward取樣) 來進行學習。為了方便使用Monte Carlo,本章假設所需解決的強化學習問題都是episode的,即存在一個終止狀態(terminal state),使得每次對環境的取樣以有限步結束。
這裡將第四章中的GPI(general policy iteration) 思想用於Monte Carlo,將問題分為 prediction 和 control來進行討論。
二、Monte Carlo Prediction
2.1 Prediction 問題
預測問題:給定一個策略 ,求解 state-value function
回想一下,我們在第二章中提到的多臂老虎機問題,假設給定一個策略 ,對任意state,每次搖動拉桿都按照策略選擇action。需要估計state-value function 。老虎機每次搖動拉桿獲得的資料是,僅包含一個state 和 一個 action。要估計某一特定state s 的value function 可以根據統計多次取樣中出現state s的數目,然後求多次實驗獲得的reward的平均值來估計。求解過程如下:
Average Reward
To evaluate state s
when state s is visited in an episode
increment counter
increment total reward
Value is estimated by mean reward
By law of large numbers, as
而很多問題遠比老虎機問題複雜,因為每次取樣所獲得的取樣資料是一系列的state、action、reward,如 , 狀態和動作序列間存在聯絡,不能單獨將state s所獲得的reward 單獨剝離出來求平均值,因此Monte Carlo考慮了根據state s 出現後的return(reward 之和)來進行策略估計。但一組取樣中 state s 可能多次出現,那麼計算哪一次出現 state s到terminal state 的return呢?這裡衍生出兩種Monte Carlo:first-visit MC 和 every-visit MC。兩個方法的求解過程分別如下:
First-Visit MC policy evaluation (Average Return)
To evaluate state s
The first time-step that state s is visited in an episode,
increment counter
increment total return
(where )
Value is estimated by mean reward
By law of large numbers, as
Every-Visit MC policy evaluation (Average Return)
To evaluate state s
Every time-step that state s is visited in an episode,
increment counter
increment total return
(where )
Value is estimated by mean reward