文章目錄
- Abstract
- 2.1 A k-armed Bandit Problem
- 2.2 Action-value Methods
- 2.3 The 10-armed Testbed
- 2.4 Incremental Implementation
- 2.5 Tracking a Nonstationary Problem
- 2.6 Optimistic Initial Values
- 2.7 Upper-Confidence-Bound Action Selection
- 2.8 Gradient Bandit Algorithms
- 2.9 Associative Search (Contextual Bandits)
- References
Abstract
強化學習使用訓練信息來評估所採取的動作,而非使用正確的動作來指導動作的選擇。評估性反饋完全依賴於所採取的動作,而指示性反饋獨立於所採取的動作。本章討論的是在單個狀態下學習如何採取動作,即非關聯性(nonassociative)。
2.1 A k-armed Bandit Problem
-
問題描述:
k-搖臂賭博機可以看做k個老虎機,每個老虎機的獎賞都是從某個固定的概率分佈中採樣得到的。每一時間步我們只能搖k個老虎機中的一個,即爲動作,所得獎賞爲該老虎機被選中後所得到的回報。在有限步內我們希望最大化期望累積獎勵。 -
問題表示:
k個動作中的每一個動作都各自有其期望或平均的獎賞,我們稱之爲值。任一動作的記爲,是被選擇後的期望獎賞:
如果你知道了每個動作的值, 那麼只要一直選擇值最高的動作即可。現假設不能確定動作的值, 雖然可能有其估計值。 我們將動作 在時步t的估計值記爲. 我們希望 儘可能接近。 -
問題難點:
該問題的難點即exploration和exploitation矛盾問題。每一時間步的時候都會有一個最大的,這個是greedy ,選擇這個(exploitation)滿足了我們最大化回報的目的,但是我們並不知道其他的會不會有更大的回報,選擇其他的(exploration)可能會造成短期的回報減少,但當找到回報更大的時,我們的長期回報就會增加。
2.2 Action-value Methods
估計動作值的方法, 以及使用估計值來做出動作選擇的決策的方法,兩者合稱爲動作值方法。
- 樣本平均方法
- -貪心方法
在做選擇時最簡單的方法就是選最大的(greedy action)
而若希望算法能夠有一定的探索的能力,則可以引入一個較小的概率,使得每一步中有概率會不選擇貪心動作,二是從所有動作中隨機進行選擇。
2.3 The 10-armed Testbed
假設10個動作的真實值都是從均值爲0方差爲1的正態分佈中採樣得到的(如下圖所示),且實際獎賞是從均值爲方差爲1的正態分佈中採樣得到的。
使用上述測試工具對貪心方法以及兩個-貪心方法(=0.01及=0.1)進行對比,結果如下圖所示。
可以看出貪心方法剛開始增長的最快,但在一個很低的水平就趨於平穩。=0.1的方法探索更多,能夠更早地發現最優動作,但其不會以超過91%的概率選擇這一動作。=0.01的方法增長緩慢,但最終效果回事最好的一個。因此我們實際上可以隨時間逐步減小。
-貪心方法的優勢視具體任務而定。如獎賞方差很大或存在噪聲的情況下,智能體需要做更多次探索以發現最優動作,因此-貪心方法更具優勢。另一方面,若獎賞方差爲0,那麼貪心方法試過一次後就知道所有動作的真實值,這種情況下貪心方法表現更好。
但即使是在確定性(deterministic)的情況下,探索也能很有優勢。例如,假設k-armed bandit是非固定性的(nonstationary),動作的真實值會隨着時間變化,這種情況下探索是必要的。因此,強化學習需要對探索與利用的平衡。
2.4 Incremental Implementation
如何使得樣本平均值可以更有效的計算出來(常數的內存大小,每步一次計算):
(表示在選擇了n-1次該動作後其獎賞的估計值)
變化爲:
得到範式:
其中[Target - OldEstimate]是估計中的誤差(error)。
一個簡單的賭博機算法:
(函數 假定爲以動作爲參數, 返回相應獎賞的函數)
2.5 Tracking a Nonstationary Problem
當獎賞的概率分佈會隨時間變化時,即非固定性問題,相對於較早的獎賞, 將更多的權重給予較近的獎賞是很有意義的。比較好的解決方法是將步長(α)設爲一個常數。
可證權重之和。從式子中我們可以看出由於,說明越早的reward的影響力在越小,這種方法也叫exponential recency-weighted average。
不是所有的 都確保能收斂。一個隨機逼近理論(stochastic approximation theory)中的著名結論, 爲我們提供了能以1的概率保證收斂的條件:
我們需要第一個條件來保證這些步長對“最終克服初始條件或隨機波動的影響”而言足夠大。第二個條件確保最終步長變得足夠小以確保收斂。
當是常數的時候不滿足後面的條件所以它是不收斂的。這樣的步長是不穩定狀態下所需要的。雖然滿足上述收斂條件的步長參數序列常常用於理論研究中, 但極少用於實際應用或實證研究中。
兩個非常重要的概念: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
之前討論的所有方法或多或少依賴於初始的動作值的估計值。這些方法因初始的估計值產生了偏差(bias)。對於樣本平均方法來說,當所有的動作都被選擇了一次後偏差就消失了;但對值恆定的方法來說,這一偏差會永遠存在, 但會隨時間逐步減小(見式2.6)。
初始動作值也可以以一種簡單的鼓勵探索的方式來使用。如在10-搖臂測試中,我們將初始估計值設爲+5,則無論開始選擇哪個動作,收到的獎賞都會低於初始估計值,所以所有的action都會被嘗試。這種方法被稱爲optimistic initial values,這個方法在穩定的情況下比較有效。
2.7 Upper-Confidence-Bound Action Selection
如果選擇的時候更偏向於有潛力成爲最優的non-greedy actions會更好,將它們的估值與最大值的差距以及它們估值的不確定性都考慮進來。
其中表示的自然對數( 2.71828),表示在時間之前動作被選擇的次數(2.2節中公式的分母),以及常數控制了探索的程度。如果,那麼被認爲是最優動作。
其中平方根項爲a value的不確定性或者說是方差。這整個項便是action a可能最大值的上限,c決定了可信度。每次某個action被選擇了,那麼其不確定性就會降低。相反,當t增加,但是不變其不確定性就會增大。對數的應用則是隨着時間的增加,其增長會變小,但是無限的。所有actions都會被選擇到,但是隨着時間的增加value小的action被選擇到的頻率就會更小。
2.8 Gradient Bandit Algorithms
在本節中,我們將考慮如何爲每一個動作學得各自實數型的偏好,我們將其記爲。偏好是相對的,對比之後纔有意義。各動作被選擇的概率由如下soft-max分佈決定:
(表示在時間步採取動作的可能性)
在每次選擇了action 之後的更新如下(梯度上升):
其中爲步長參數,且,爲時步及之前的所有獎賞的平均,可以如2.4節(如果問題是非固定性的話,那麼如2.5節)中所述的那樣進行增量式的計算。這一項是作爲比較獎賞的基準線的。如果獎賞高於基準線,那麼將來採取動作的概率增加,反之降低。而未被選擇的動作的概率朝相反方向移動。
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