比較老的文章了,但是很經典~

原文傳送門

Dearden, Richard, Nir Friedman, and Stuart Russell。 “Bayesian Q-learning。” Aaai/iaai。 1998。

特色

強化學習裡面一個核心就是做

探索

,即由於我們嘗試的次數不夠多,因此並不太清楚究竟什麼樣的動作好。

從貝葉斯的觀點來看,即我們對於環境有一個先驗的建模,透過我們嘗試得到的資料,我們可以逐步修正我們對於環境的建模,得到對於該模型的後驗估計。當資料較少的時候,我們對於模型估計的不確定性大;當資料較多的時候,我們對於模型的估計逐漸趨近於真實模型。而強化學習裡面的探索就是需要在對於模型估計不太準的時候,儘量透過選擇相應的動作,使得我們能夠獲得資料,從而對於模型(或者模型的某些感興趣的部分,比如能夠帶來更高收益的部分)估計地更加準確。

對於 model-based 的演算法來講,我們可以維護一個模型的後驗分佈;對於 model-free 的演算法來講,我們可以維護一個價值函式的後驗分佈。注意這裡的價值函式的分佈和 distributional RL 的分佈講的不是一回事,這裡刻畫的時候 epidemic uncertainty,而 distributional RL 講的是 aleatoric uncertainty。

這篇文章主要用高斯分佈和 normal-gamma 分佈建模了 return 的分佈和其後驗估計,並匯出了相應的更新公式、探索方式。

內容

一、如何建模價值函式的後驗分佈?

大體上:規定 return 的分佈(return 的分佈是高斯分佈) -> 規定 return 分佈的分佈 (return 分佈的引數的先驗/後驗服從 normal-gamma 分佈)。

先不考慮價值函式和策略需要相互迴圈,這裡假設已經有

\pi^*

了,然後需要估計價值函式的後驗分佈。這裡首先認為 return 服從正態分佈

\mathcal{N}(\mu_{s,a}, \tau_{s,a})

,其中

\tau

是方差的倒數。

【強化學習 154】Bayesian Q-learning

同時假設先驗是相互獨立的,也不去管取樣的相關關聯性,這樣得到的後驗也是相互獨立的。

【強化學習 154】Bayesian Q-learning

【強化學習 154】Bayesian Q-learning

接下來,對於規定 return 分佈的引數的先驗分佈

【強化學習 154】Bayesian Q-learning

使用這個先驗分佈的好處是,其後驗分佈也能相應地表示成 normal-gamma 分佈:

【強化學習 154】Bayesian Q-learning

二、有了後驗分佈之後如何取樣以促進探索?

這裡考慮了幾種方法:

Greedy

即在每個狀態下就選擇

\mathbb{E}[\mu_{s,a}]

最大的動作;

Q-value sampling

在每個狀態下按照“每個動作可能成為最優動作的機率”選擇動作,這個機率是從後驗分佈裡面計算得來的;

【強化學習 154】Bayesian Q-learning

實際操作可以按照後驗分佈(normal-gamma 分佈)取樣得到

\mu_{s,a_1}, \mu_{s,a_2}, \cdots

,然後選擇一個最大的來執行。

Myopic-VPI

VPI 是 value of perfect information 的簡稱。在每個狀態下選擇如下表達式數值最大的行動

【強化學習 154】Bayesian Q-learning

VPI 的匯出過程如下:

首先這裡有一個假設,即如果選擇了某一個動作 a,那麼我就能知道這個動作相關的真實均值

\mu^*_{s,a}

。(在真實情況中,選擇了某個動作之後,也只能得到一個樣本,而不是其真實均值,不過這個假設不成立造成的影響可以在上式 VPI 前加一個較小的係數來緩解。)

VPI 的含義是,如果選擇了某個動作,期望能得到有多少新的資訊量。有效的資訊量(大於零)的有兩種:如果我選擇了一個目前看起來最優的動作,但是被證明其實不是最優,那資訊量就是這個動作的均值和次優動作均值的差;如果我選擇了一個目前看起來不是最優,但是後來被證明它比現在最優的還好,那麼資訊量就是該動作的均值和之前被認為最優動作的均值的差。公式寫出來如下:

【強化學習 154】Bayesian Q-learning

【強化學習 154】Bayesian Q-learning

注意到,由於這些都是用該引數刻畫的分佈,因此能寫出來 closed-form 的表示形式(雖然看起來有點複雜)。

三、如何透過新的取樣資料來更新後驗分佈?

Moment updating

按照前面的建模方式,最直接的取樣方式就是從每個 (s,a) 出發,取樣得到一個 return R。但是這效率顯然很低。真實情況是,每次取樣得到 (s,a,r,t),其中 t 表示 next state。然後基於後一個狀態的價值函式估計來更新前一個狀態的價值函式後驗分佈。

更新的方法就是還用前面 Theorem 3。1 的公式,只不過相應的 M1,M2 替換成

【強化學習 154】Bayesian Q-learning

【強化學習 154】Bayesian Q-learning

注意到

\lambda

表示的是對均值的置信度(整數,越大置信度越高);每次遇到這樣一個樣本的時候,關於

\mu_{s,a}

的置信度都會 +1;這就意味著,我們覺得我們得到了一個真實樣本;但其實並不是這樣的,我們只是把

r+\gamma \mathbb{E}[R_t]

當做了真實樣本,但是

R_t

其實還有波動,這部分我們沒有考慮進來。最後產生的結果是,我們會對於

\mu_{s,a}

的估計產生了過高的置信度,這使得總體的演算法可能提前收斂的次優點。

Mixture updating

為了避免上述問題,我們準確寫出 (s,a) 上的後驗分佈

【強化學習 154】Bayesian Q-learning

但是不幸的是,這個後驗分佈不一定再是 normal-gamma 分佈,因此,我們需要把這個分佈(按照最小化 KL 的方式)投影成一個 normal-gamma 分佈。假設

q=p^{mix}

,那麼投影之後的分佈引數如下

【強化學習 154】Bayesian Q-learning

四、演算法收斂性

這裡想說明樣本無窮多的時候後驗估計的均值能收斂到 Q 值,方差能收斂到 0。不過這是對於 policy evaluation(即不考慮更新策略) 和 moment updating 而言的。

【強化學習 154】Bayesian Q-learning

【強化學習 154】Bayesian Q-learning

五、實驗

實驗做了三個 tabular case 的實驗

【強化學習 154】Bayesian Q-learning