此爲《強化學習》第二章。
多臂賭博機問題描述
問題描述略。理想狀態下,如果我們可以知道做出行爲 時得到的期望價值,那問題就結了,按期望選擇最大的就好了。它的表達式爲:
其中,選擇行爲 的理論期望價值 定義爲在第 步選擇行爲 (Action) 得到的獎勵 (Reward) 的期望。
但顯然,我們是不可能精確得到 的,所以我們用 作爲第 步選擇行爲 對價值進行估計,希望 可以逼近 。
採樣方法
第一種方法是基於採樣得到採樣平均 (Sample Average) 。採樣平均就是統計每次選擇行爲 得到獎勵的平均值,即
其中 表示指示函數。
如果採用貪心法,則採樣方法下的策略爲
完全的貪心只能保證選擇了當前最優解,並不能保證其他未被完全探索到的行爲不會產生更大的獎勵。考慮到對開發 (Exploit) 和探索 (Explore) 之間的平衡,也常使用 -貪心法。
10臂賭博機的例子
假如有一個獎勵分佈如下圖所示的多臂賭博機,
使用不同的 的貪心算法得到的結果不同,它也反應了探索的重要性。
增量式實現
在採樣方法一節中, 表示爲一組獎勵的求平均,非常直觀,但要求存下每一步的獎勵,對空間開銷較大。對 稍作移項,就可以得到它的迭代式更新方法。(以下表達式省略 ,均表示 下的價值估計和獎勵)
變化獎勵下的多臂賭博機
在上述的方法下,我們都假定了多臂賭博機的獎勵符合一個固定的分佈,與時間無關。如果與時間相關呢?我們可能更希望較近的採樣比以前的採樣具有更高的權重。我們對上一節的 進行微調
與之前的 不同,此時 爲一個 的常數。不難得到,
可以看出, 越小, 的權重越低。 除了可以設置爲常數外,也可以是和 相關的函數,比如上一節中的 。不過這樣就需要自己判斷不同時間獎勵的權重關係了。
初值設定
增量式地更新價值估計,有一個和採樣方法不同的地方,即 的出現,它使我們的估計是有偏的(雖然偏差會隨着時間增加而降低,趨向於0)。但這種偏差有時可以被我們利用,比如可以加入我們的先驗知識。再比如,過於樂觀(過大)的 能夠激勵探索,因爲每次行爲總是在降低行爲 的期望,從而鼓勵探索其他行爲。下圖在上述的10臂賭博機例子上實驗了樂觀估計和保守估計的不同。
上限置信邊界行爲選擇
上限置信邊界 (Upper-Confidence-Bound) 是個奇怪的名字。不過它的思路是清晰的。在 -貪心下, 是一個經驗性的常數,而我們常常會希望在學習開始初期多進行探索,而後期比較明確各行爲的獎勵時則多進行開發,一個簡單的常數 是不夠的。
UCB的策略是這樣的
當總採樣次數 增大,而行爲 被採樣的次數 不變,式子第二項就會逐漸增大,使探索總是能夠發生。 可以用來調節開發和探索的比例。
下圖表現了UCB和 -貪心的對比。
梯度賭博機算法
在之前的例子中,我們總是採取了貪心的算法(包括 -貪心)作爲策略。貪心算法突出了當前最優的一個行爲,而將其他行爲幾乎視爲等價。本節中,我們按照概率來選擇行爲。我們把策略記爲 ,表示在第 步選擇行爲 的概率。概率具體的值是它們偏好的softmax,即
其中, 表示賭博機的數量, 表示對行爲 的偏好 (Perference) , 表達式爲
其中, 表示 步時的平均獎勵,它將作爲衡量獎勵大小的參考 (Baseline) 。顯然,如果 ,那麼 將增大,而其他行爲的偏好將減小。而所有偏好的和將保持不變。下圖表現了baseline有無和探索/開發平衡性的不同效果。
上述的公式其實有點無厘頭,尤其是和標題中的“梯度”沒有任何關係。可以證明(過程詳見書本),
聯合搜索(上下文賭博機)
上述的賭博機都是一次性的賭博機——做出一個行爲後立刻得到回報,且下一次仍然面對同樣的賭博機。但實際問題很可能需要一組策略而非單個策略。這將在以後的章節中討論。
參考文獻
《Reinforcement Learning: An Introduction (second edition)》Richard S. Sutton and Andrew G. Barto
上一篇:無
下一篇:《強化學習Sutton》讀書筆記(二)——有限馬爾科夫決策過程(Finite Markov Decision Processes)