強化學習之無模型方法一:蒙特卡洛

無模型方法(model-free)

無模型方法是學習方法的一種,MDPs中如果P,R未知,則用無模型方法。該方法需要智能體與環境進行交互(交互的方式多樣),一般採用樣本備份,需要結合充分的探索。
由於未知環境模型,則無法預知自己的後繼狀態和獎勵值,通過與環境進行交互然後觀察環境返回的值。本質上從概率分佈 P s s a R s a 中進行採樣。對於隨機變量 S 和R的採樣,需要實現完整的軌跡還需要確定A,採樣足夠充分時,可以使用樣本分佈良好刻畫總體分佈

無模型學習 vs 動態規劃

無模型學習 動態規劃
未知環境模型 已知環境模型
需要與環境進行交互,有交互成本 不需要直接交互,直接利用環境模型推導
樣本備份 全寬備份
異步備份 同步和異步
需要充分探索 無探索
兩個策略(行爲策略和目標策略) 一個策略

行爲策略 vs 目標策略

行爲策略是智能體與環境交互的策略,目標策略是我們要學習的策略。

在策略(on-policy)學習 離策略(off-policy)學習
行爲策略和目標策略是一個策略 行爲策略和目標策略不是同一個策略
直接使用樣本統計屬性去估計總體 一般行爲策略 μ 選用隨機性策略,目標策略 π 選用確定性策略,需要結合重要性採樣才能使用樣本估計總體
更簡單,收斂性更好 方差更大,收斂性更差
數據利用性更差(只有智能體當前交互的樣本能夠被利用) 數據利用性更好(可以使用其他智能體交互的樣本)
限定了學習過程中的策略是隨機性策略 行爲策略需要比目標策略更具備探索性。在每個狀態下,目標策略的可行動作是行爲策略可行動作的子集: π ( a | s ) > 0 ==> μ ( a | s ) > 0

重要性採樣

重要性採樣是一種估計概率分佈期望的技術,使用了來自其他概率分佈的樣本,主要用於無法直接採樣原分佈的情況,估計期望值是,需要加權概率分佈的比值(稱爲重要性採樣率)

例:估計全班身高,總體男女比例1:2,由於某些限制,只能按男女比例2:1去採樣,如果不考慮採樣的分佈形式,直接平均得到的值就有問題,因此需要加權,加權比例是1:4去加權

E X P   [ f ( X ) ] = P ( X ) f ( X ) = Q ( X ) P ( X ) Q ( X ) f ( X ) = E X Q   [ P ( X ) Q ( X ) f ( X ) ]

考慮t時刻之後的動作狀態軌跡 ρ t = A t , S t + 1 , A t + 1 , . . . , S T ,可以得到該軌跡出現的概率爲:

P ( ρ t ) = k = t T 1 π ( A t | S k ) P ( S k + 1 | S k , A k )

相應的重要性採樣率爲
η t T = k = t T 1 π ( A t | S k ) P ( S k + 1 | S k , A k ) k = t T 1 μ ( A t | S k ) P ( S k + 1 | S k , A k ) == k = t T 1 π ( A t | S k ) μ ( A t | S k )

如上可知即便未知環境模型,也能得到重要性採樣率

蒙特卡洛方法(Monte-Carlo,MC)

MC方法可以被用於任意設計隨機變量的估計,這裏MC方法指利用統計平均估計期望值的方法。強化學習中存在很多估計期望值的計算 v π , v ,使用MC方法只需要利用經驗數據,不需要P,R。MC方法從完整的片段中學習,該方法僅用於片段性任務(必須有終止條件)

下圖分別爲蒙特卡羅方法採樣和動態規劃採樣的示意圖

  • 蒙特卡洛方法指採取一條完整的鏈路,未考慮全局,只通過一條鏈路的平均回報來估計值函數,方差較大
  • 動態規劃方法使用所有後繼狀態進行全寬備份

    這裏寫圖片描述

    這裏寫圖片描述

蒙特卡洛策略評價

MC利用了值函數的定義

v π ( s ) = E π [ G t | S t = s ]

MC策略評價使用回報值得經驗平均來估計實際期望值,而不用貝爾曼期望方程

  • 首次拜訪(First-visit)MC策略評價
    爲了評價狀態s,使用給定的策略 π 採樣大量的軌跡,在每一條軌跡中,對於狀態s 首次出現的時間t,增加狀態數量N(s) N(s)+1,增加總回報值 G s u m ( s ) G s u m ( s ) + G t ,計算平均值得到值函數的估計 V ( s ) = G s u m ( s ) N ( s ) 。由於每條軌跡都是獨立同分布的,根據大數定律,隨着 N ( s ) , V ( s ) v π ( s ) ,在MC方法下,V(s)是 v π ( s ) 是無偏估計

  • 每次拜訪(Every-visit)MC策略評價
    如上方法,統計在一條軌跡中,對於狀態s 每次出現的時間t的狀態和回報進行統計,統計均值估計總體。收斂性的證明不如首次拜訪MC策略評價直觀,更容易拓展函數逼近和資格跡

  • 對Q函數的MC方法
    一般沒有模型的時候,一般我們選擇估計Q函數,因爲我們可以通過Q函數直接得到貪婪的策略,最優的Q函數可以得到最優的策略(<s,a>)。MC方法和V函數類似,但是Q函數的拜訪從狀態s變成了在狀態s下做動作a,一種重要區別是在給定策略的情況下,大量的<s,a> 都沒有被遍歷到,尤其是策略確定時,每個s只對應一個a,一種避免困境的方法是假設探索開始,即隨機選擇初始狀態和初始動作

  • 離策略MC策略評價
    在採樣軌跡使用策略 μ ,計算值函數是 π ,使用重要性採樣率去加權回報值

    G t π μ = k = t T 1 π ( A k | S k ) μ ( A k | S k ) G t

    將所有在策略的MC算法中的 G t 替換成 G t π μ ,使用重要性採樣會顯著增加方差,可能得到無限大
    V a r [ X ] = E [ X 2 ] X 2

MC的特點小結

  • 偏差爲0,是無偏估計
  • 方差較大,需要大量數據去消除
  • 收斂性較好
  • 容易理解和使用
  • 沒有利用馬爾可夫性,有時可以用在非馬爾可夫環境

增量式蒙特卡洛算法

之前的蒙特卡洛算法需要採樣大量軌跡之後再統一計算平均值,能否在每一條軌跡之後都得到值函數的估計值,以節省內存呢?
平均值以增量形式進行計算:

μ k = 1 k j = 1 k x j       = 1 k ( x k + j = 1 k 1 x j )           = 1 k ( x k + ( k 1 ) μ k 1 )           = μ k 1 + 1 k ( x k μ k 1 )

增量式MC更新,採樣軌跡 S 1 , A 1 , S 2 , A 2 , . . . , S T ,對於每一個狀態 S t 統計回報值 G t

N ( S t ) N ( S t ) + 1

G t G t

N ( S t ) N ( S t ) + 1

相關文章
相關標籤/搜索