Reinforcement Learning:An Introduction Chapter 2 Multi-armed Bandits

Abstract

強化學習使用訓練信息來評估所採取的動作,而非使用正確的動作來指導動作的選擇。評估性反饋完全依賴於所採取的動作,而指示性反饋獨立於所採取的動作。本章討論的是在單個狀態下學習如何採取動作,即非關聯性(nonassociative)。

2.1 A k-armed Bandit Problem

  • 問題描述:
    k-搖臂賭博機可以看做k個老虎機,每個老虎機的獎賞都是從某個固定的概率分佈中採樣得到的。每一時間步我們只能搖k個老虎機中的一個,即爲動作AtA_t,所得獎賞RtR_t爲該老虎機被選中後所得到的回報。在有限步內我們希望最大化期望累積獎勵。

  • 問題表示:
    k個動作中的每一個動作都各自有其期望或平均的獎賞,我們稱之爲值valuevalue。任一動作aavaluevalue記爲q(a)q_*(a),是aa被選擇後的期望獎賞:
    Loading...
    如果你知道了每個動作的值, 那麼只要一直選擇值最高valuevalue的動作即可。現假設不能確定動作的值, 雖然可能有其估計值。 我們將動作aa 在時步t的估計值記爲Qt(a)Q_t(a). 我們希望Qt(a)Q_t(a) 儘可能接近q(a)q_*(a)

  • 問題難點:
    該問題的難點即exploration和exploitation矛盾問題。每一時間步的時候都會有一個valuevalue最大的actionaction,這個actionaction是greedy actionaction,選擇這個actionaction(exploitation)滿足了我們最大化回報的目的,但是我們並不知道其他的actionaction會不會有更大的回報,選擇其他的actionaction(exploration)可能會造成短期的回報減少,但當找到回報更大的actionaction時,我們的長期回報就會增加。

2.2 Action-value Methods

估計動作值的方法, 以及使用估計值來做出動作選擇的決策的方法,兩者合稱爲動作值方法。

  • 樣本平均方法
    Loading...
  • ϵ\epsilon-貪心方法
    在做選擇時最簡單的方法就是選valuevalue最大的actionaction(greedy action)
    At=argmaxQt(a)A_t=argmax{Q_t(a)}
    而若希望算法能夠有一定的探索的能力,則可以引入一個較小的概率ϵ\epsilon,使得每一步中有ϵ\epsilon概率會不選擇貪心動作,二是從所有動作中隨機進行選擇。

2.3 The 10-armed Testbed

假設10個動作的真實值q(a)q_*(a)都是從均值爲0方差爲1的正態分佈中採樣得到的(如下圖所示),且實際獎賞是從均值爲q(a)q_*(a)方差爲1的正態分佈中採樣得到的。
Loading...

使用上述測試工具對貪心方法以及兩個ϵ\epsilon-貪心方法(ϵ\epsilon=0.01及ϵ\epsilon=0.1)進行對比,結果如下圖所示。
Loading...
可以看出貪心方法剛開始增長的最快,但在一個很低的水平就趨於平穩。ϵ\epsilon=0.1的方法探索更多,能夠更早地發現最優動作,但其不會以超過91%的概率選擇這一動作。ϵ\epsilon=0.01的方法增長緩慢,但最終效果回事最好的一個。因此我們實際上可以隨時間逐步減小ϵ\epsilon

ϵ\epsilon-貪心方法的優勢視具體任務而定。如獎賞方差很大或存在噪聲的情況下,智能體需要做更多次探索以發現最優動作,因此ϵ\epsilon-貪心方法更具優勢。另一方面,若獎賞方差爲0,那麼貪心方法試過一次後就知道所有動作的真實值,這種情況下貪心方法表現更好。

但即使是在確定性(deterministic)的情況下,探索也能很有優勢。例如,假設k-armed bandit是非固定性的(nonstationary),動作的真實值會隨着時間變化,這種情況下探索是必要的。因此,強化學習需要對探索與利用的平衡。

2.4 Incremental Implementation

如何使得樣本平均值可以更有效的計算出來(常數的內存大小,每步一次計算):
Loading...
QnQ_n表示在選擇了n-1次該動作後其獎賞的估計值)

變化爲:
Loading...

得到範式:
Loading...
其中[Target - OldEstimate]是估計中的誤差(error)。

一個簡單的賭博機算法:
Loading...
(函數bandit(a)bandit(a) 假定爲以動作爲參數, 返回相應獎賞的函數)

2.5 Tracking a Nonstationary Problem

當獎賞的概率分佈會隨時間變化時,即非固定性問題,相對於較早的獎賞, 將更多的權重給予較近的獎賞是很有意義的。比較好的解決方法是將步長(α)設爲一個常數。
Loading...
可證權重之和(1α)n+i=1nα(1α)ni=1(1-\alpha)^n+\sum^n_{i=1} \alpha(1-\alpha)^{n-i}=1。從式子中我們可以看出由於1α11−α≤1,說明越早的reward的影響力在越小,這種方法也叫exponential recency-weighted average。

不是所有的αn(a)\alpha_n(a) 都確保能收斂。一個隨機逼近理論(stochastic approximation theory)中的著名結論, 爲我們提供了能以1的概率保證收斂的條件:
Loading...
我們需要第一個條件來保證這些步長對“最終克服初始條件或隨機波動的影響”而言足夠大。第二個條件確保最終步長變得足夠小以確保收斂。

α\alpha是常數的時候不滿足後面的條件所以它是不收斂的。這樣的步長是不穩定狀態下所需要的。雖然滿足上述收斂條件的步長參數序列常常用於理論研究中, 但極少用於實際應用或實證研究中。

兩個非常重要的概念:non-deterministic和non-stationary
non-deterministic:action對應的value有一個分佈,而不是一個確定的值(這個分佈是不變化的);action的真值不變,但是是不確定的(理解不確定的最簡單方法就是認爲有一個分佈)
non-stationary:action對應value的分佈在不斷變化,(如果action只對應一個值,那麼這個值在不斷變化);action的真值在不斷變化(不管是分佈變化還是單個值變化)

實際問題多是non-stationary並且non-deterministic。即使environment是stationary and deterministic,exploration也是很必要的,因爲the learner faces a set of banditlike decision tasks each of which changes over time as learning proceeds and the agent’s policy changes。說白了就是,即使是完全確定的,也需要探索以便知道其它的action效果,否則怎麼確定哪個最優?

2.6 Optimistic Initial Values

之前討論的所有方法或多或少依賴於初始的動作值的估計值(Q1(a))(Q_1(a))。這些方法因初始的估計值產生了偏差(bias)。對於樣本平均方法來說,當所有的動作都被選擇了一次後偏差就消失了;但對α\alpha值恆定的方法來說,這一偏差會永遠存在, 但會隨時間逐步減小(見式2.6)。

初始動作值也可以以一種簡單的鼓勵探索的方式來使用。如在10-搖臂測試中,我們將初始估計值設爲+5,則無論開始選擇哪個動作,收到的獎賞都會低於初始估計值,所以所有的action都會被嘗試。這種方法被稱爲optimistic initial values,這個方法在穩定的情況下比較有效。
Loading...

2.7 Upper-Confidence-Bound Action Selection

如果選擇的時候更偏向於有潛力成爲最優的non-greedy actions會更好,將它們的估值與最大值的差距以及它們估值的不確定性都考慮進來。
Loading...
其中lnt\ln t表示tt的自然對數(ee \thickapprox 2.71828),Nt(a)N_t(a)表示在時間tt之前動作aa被選擇的次數(2.2節中公式的分母),以及常數c>0c>0控制了探索的程度。如果Nt(a)=0N_t(a)=0,那麼aa被認爲是最優動作。

其中平方根項爲a value的不確定性或者說是方差。這整個項便是action a可能最大值的上限,c決定了可信度。每次某個action被選擇了,那麼其不確定性就會降低。相反,當t增加,但是Nt(a)N_t(a)不變其不確定性就會增大。對數的應用則是隨着時間的增加,其增長會變小,但是無限的。所有actions都會被選擇到,但是隨着時間的增加value小的action被選擇到的頻率就會更小。

Loading...

2.8 Gradient Bandit Algorithms

在本節中,我們將考慮如何爲每一個動作aa學得各自實數型的偏好,我們將其記爲Ht(a)H_t(a)。偏好是相對的,對比之後纔有意義。各動作被選擇的概率由如下soft-max分佈決定:
Loading...
πt(a)\pi_t(a)表示在時間步tt採取動作aa的可能性)

在每次選擇了action AtA_t之後Ht(a)H_t(a)的更新如下(梯度上升):
Loading...
其中α>0\alpha > 0爲步長參數,且RtˉR\bar{R_t}\in R,爲時步tt及之前的所有獎賞的平均,可以如2.4節(如果問題是非固定性的話,那麼如2.5節)中所述的那樣進行增量式的計算。Rtˉ\bar{R_t}這一項是作爲比較獎賞的基準線的。如果獎賞高於基準線,那麼將來採取動作AtA_t的概率增加,反之降低。而未被選擇的動作的概率朝相反方向移動。

Loading...

2.9 Associative Search (Contextual Bandits)

本節主要討論結合不同的action到不同的場景中去的做法。

舉個例子, 假如有數個不同的k-搖臂賭博機任務, 並且在每一步隨機地遇到其中的某一個。因此在每一步賭博機任務都可能會變動。這看上去像一個簡單的、非固定性的k-搖臂賭博機任務,只是其中真實的動作值在每一步都會隨機發生變化。你可以嘗試使用本章前面部分所述的、處理非固定性任務的方法,但除非真實的動作值變動得很緩慢,否則這些方法無法表現得好。現在假設,當某一個賭博機任務被選中時,你被給予了關於賭博機身份(而非動作值) 的區分線索。比如你面對着一個現實中的老虎機,當其改變各個動作值時其外表的顏色也會發生變化。現在你可以學得一個策略,將由顏色標識的任務,同該任務下最佳的動作關聯起來——例如,如果爲紅色,選擇第1條搖臂;如果爲綠色,選擇第2條搖臂。在正確的策略下,這常常可以做得遠比在缺失賭博機的辨別信息的條件時好。

References

[1] 強化學習導論(Reinforcement Learning: An Introduction)讀書筆記(二):多臂賭博機(Multi-arm Bandits):https://blog.csdn.net/y954877035/article/details/54429630
[2] 《reinforcement learning:an introduction》第二章《Multi-arm Bandits》總結:https://blog.csdn.net/mmc2015/article/details/74936739
[3] https://github.com/KunBB/rl-cn

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