State Abstraction in RL
State Abstraction in RL
來自專欄強化學習1 人贊了文章
本文基於[1] Abstraction Selection in Model-Based Reinforcement Learning.
簡介
在機器學習中,由於特徵空間的維度往往很大,很難進行分類或回歸學習。這時候,考慮到特徵的一些冗餘性和稀疏性,人們往往先對特徵進行降維(如主要成分分析PCA),然後在低維空間進行學習,(在樣本量不是特別大的時候),往往會取得好的效果。
在強化學習中,類似的想法就是狀態抽象(State Abstraction)。馬爾科夫決策過程 是一個很好的序列決策框架,但是在現實問題中,由於狀態空間 往往很大(如32x32x3的彩色圖,其狀態空間大小為 );即使是深度增強學習這樣強大的演算法也往往需要很大的樣本(往往>10k,甚至100k)才能在簡單問題上學到不錯的策略,見[2]Human Level Control Through Deep Reinforcement Learning。
如果我們將一些狀態進行「歸類」,那麼可以想到,如果 都對應新的狀態表示 , 那麼 的樣本都可視為 的樣本,這樣採樣效率與樣本數量便大大增加了。同時,由於狀態空間的減小,無論是基於Tabular的方法,還是基於Approximation的方法,其學習效率也將大大提高。
作為一個例子,考慮兩種極端的情況。首先,假設原始空間 經過映射 後,新的狀態空間為 。第一個極端的例子(coarse abstraction),如果 僅包含一個狀態,也就是說, 把所有原始狀態映射為了一個狀態,那麼可想而知,狀態空間是縮小了,但在新的狀態空間 下學習到策略 很難在原始空間下進行應用。另一個極端的例子(finer abstraction),如果 ,也就是經過抽象後,原始空間的大小不變,(在沒有額外吸引人的性質下),學習問題的複雜度不能減小,抽象的意義也就不存在了。
問題表述
馬爾科夫決策過程用 進行表示,用 分別表示策略 的值函數,價值函數,和最優值函數,最優價值函數。
抽象映射用 進行表示。模型 給定的情況更容易處理,但在這裡考慮模型 是從固定的數據集 進行極大似然後學習到的。所以抽象空間的馬爾科夫決策過程表示為 進行表示。
根據上面的介紹,我們想要選擇一個比較好的抽象映射 ,使得在抽象空間學習到的最優策略 能夠在原始模型 中很好的適用。所以,目標函數為:
在進行優化求解之前,根據我們對上面兩個極端的例子的思考,直覺告訴我們:如果樣本數 很大,我們偏向於一個finer abstraction(with low approximation error);如果樣本數 較小,我們偏向於一個coarse abstraction(with low estimation error)。
理論分析
首先,根據上述符號約定,進行抽象空間下 和 的定義(省略了下標 )。
(簡單理解, 代表了 對抽象狀態 的貢獻比例)
下一步可以定義模型的預測誤差項(approximate homomorphism);分為transition error和reward error。
如果 , 那麼 就是對 的一個完美的homomorphism,並且 也是 的一個最優策略。實際情況下, 都不會等於0,所以纔有了上面定義的目標函數。下面給出誤差函數的上限。
Theorem 1(Loss bound for a single abstraction). , 以至少 的概率有:
可以看出誤差項由 和 兩項組成。與 有關但數據集 無關; 與 無關,但與 有關。對於準確的抽象( 比較小), 會比較小,;對於比較簡潔(compact)的抽象( 比較小), 會比較小。
因此,在數據較小的時候,演算法應該偏向coarse abstraction(為了減小estimation error) ;隨著數據集的增大,演算法應該會偏向finer abstraction(為了減小approximation error)。
附錄
關於Theorem 1的證明,參照下一篇文章:State Abstraction in RL(Proof)。