《強化學習Sutton》讀書筆記(一)——多臂賭博機(Multi-armed Bandits)

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

多臂賭博機問題描述

問題描述略。理想狀態下,如果我們可以知道做出行爲a 時得到的期望價值,那問題就結了,按期望選擇最大的就好了。它的表達式爲:

q(a)E[Rt|At=a]

其中,選擇行爲a 的理論期望價值q(a) 定義爲在第t 步選擇行爲 (Action) a 得到的獎勵 (Reward) Rt 的期望。

但顯然,我們是不可能精確得到q(a) 的,所以我們用Qt(a) 作爲第t 步選擇行爲a 對價值進行估計,希望Qt(a) 可以逼近q(a)

採樣方法

第一種方法是基於採樣得到採樣平均 (Sample Average) 。採樣平均就是統計每次選擇行爲a 得到獎勵的平均值,即

Qt(a)i=1t1RiIAi=ai=1t1IAi=a

其中I 表示指示函數。

如果採用貪心法,則採樣方法下的策略爲

At=argmaxaQt(a)

完全的貪心只能保證選擇了當前最優解,並不能保證其他未被完全探索到的行爲不會產生更大的獎勵。考慮到對開發 (Exploit) 探索 (Explore) 之間的平衡,也常使用ϵ -貪心法。

10臂賭博機的例子

假如有一個獎勵分佈如下圖所示的多臂賭博機,

aaa

使用不同的ϵ 的貪心算法得到的結果不同,它也反應了探索的重要性。

bbb

增量式實現

在採樣方法一節中,Qt(a) 表示爲一組獎勵的求平均,非常直觀,但要求存下每一步的獎勵,對空間開銷較大。對Qt(a) 稍作移項,就可以得到它的迭代式更新方法。(以下表達式省略a ,均表示a 下的價值估計和獎勵)

Qn+1=1ni=1nRi=1n(Rn+(n1)Qn)=Qn+1n(RnQn)

變化獎勵下的多臂賭博機

在上述的方法下,我們都假定了多臂賭博機的獎勵符合一個固定的分佈,與時間無關。如果與時間相關呢?我們可能更希望較近的採樣比以前的採樣具有更高的權重。我們對上一節的Qn+1 進行微調

Qn+1=Qn+α(RnQn)

與之前的1/n 不同,此時α 爲一個[0,1) 的常數。不難得到,

Qn+1=(1α)nQ1+i=1nα(1α)niRi

可以看出,i 越小,Ri 的權重越低。α 除了可以設置爲常數外,也可以是和n 相關的函數,比如上一節中的1/n 。不過這樣就需要自己判斷不同時間獎勵的權重關係了。

初值設定

增量式地更新價值估計,有一個和採樣方法不同的地方,即Q1(a) 的出現,它使我們的估計是有偏的(雖然偏差會隨着時間增加而降低,趨向於0)。但這種偏差有時可以被我們利用,比如可以加入我們的先驗知識。再比如,過於樂觀(過大)的Q1(a) 能夠激勵探索,因爲每次行爲總是在降低行爲a 的期望,從而鼓勵探索其他行爲。下圖在上述的10臂賭博機例子上實驗了樂觀估計和保守估計的不同。

ccc

上限置信邊界行爲選擇

上限置信邊界 (Upper-Confidence-Bound) 是個奇怪的名字。不過它的思路是清晰的。在ϵ -貪心下,ϵ 是一個經驗性的常數,而我們常常會希望在學習開始初期多進行探索,而後期比較明確各行爲的獎勵時則多進行開發,一個簡單的常數ϵ 是不夠的。

UCB的策略是這樣的

At=argmaxa[Qt(a)+clntNt(a)]

當總採樣次數t 增大,而行爲a 被採樣的次數Nt(a) 不變,式子第二項就會逐漸增大,使探索總是能夠發生。c 可以用來調節開發和探索的比例。

下圖表現了UCB和ϵ -貪心的對比。

ddd

梯度賭博機算法

在之前的例子中,我們總是採取了貪心的算法(包括ϵ -貪心)作爲策略。貪心算法突出了當前最優的一個行爲,而將其他行爲幾乎視爲等價。本節中,我們按照概率來選擇行爲。我們把策略記爲πt(a) ,表示在第t 步選擇行爲a 的概率。概率具體的值是它們偏好的softmax,即

πt(a)Pr{At=a}eHt(a)b=1keHt(b)

其中,k 表示賭博機的數量,Ht(a) 表示對行爲a偏好 (Perference) Ht(a) 表達式爲

(a=At):Ht+1(a)=Ht(a)+α(RtR¯t)(1πt(a))(aAt):Ht+1(a)=Ht(a)α(RtR¯t)πt(a)

其中,R¯t 表示t 步時的平均獎勵,它將作爲衡量獎勵大小的參考 (Baseline) 。顯然,如果Rt>R¯t ,那麼Ht+1(At) 將增大,而其他行爲的偏好將減小。而所有偏好的和將保持不變。下圖表現了baseline有無和探索/開發平衡性的不同效果。

eee

上述的公式其實有點無厘頭,尤其是和標題中的“梯度”沒有任何關係。可以證明(過程詳見書本),

Ht+1(a)=Ht(a)+αE[Rt]Ht(a)

聯合搜索(上下文賭博機)

上述的賭博機都是一次性的賭博機——做出一個行爲後立刻得到回報,且下一次仍然面對同樣的賭博機。但實際問題很可能需要一組策略而非單個策略。這將在以後的章節中討論。

參考文獻

《Reinforcement Learning: An Introduction (second edition)》Richard S. Sutton and Andrew G. Barto

上一篇:無
下一篇:《強化學習Sutton》讀書筆記(二)——有限馬爾科夫決策過程(Finite Markov Decision Processes)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章