2.4?Incremental Implementation
背景:目前的行動價值方法都將行動價值估計為觀察到的獎勵的樣本平均值。現(xiàn)在轉(zhuǎn)向如何以計算上有效率的方式計算這些平均值的問題涯竟,特別是使用恒定內(nèi)存和恒定每時間步計算空厌。
為了簡化符號嘲更,我們將注意力集中在一個動作上赋朦。以表示此第i次選擇的行動獎勵李破,使用表示其在被選擇n-1次后的(平均)估計價值壹将,可以將其寫成:
優(yōu)點:保留所有獎勵的記錄,然后在需要估計值時執(zhí)行此計算屯曹。
缺點:隨著時間的推移惊畏,內(nèi)存和計算需求會隨著回報的增加而增加密任。每一個額外的獎勵都需要額外的內(nèi)存來存儲,并需要額外的計算來計算分子中的總和缰盏。
正如您可能懷疑的那樣淹遵,這并不是真正必要的透揣。設(shè)計用于更新平均值的增量公式是很容易的辐真,因為處理每一個新獎勵所需的計算量較小且恒定。給定和耐床,n種獎勵平均值新公式為:?
這個實現(xiàn)只需要Qn和n的內(nèi)存,每個新獎勵只需要少量的計算(上式2.3)愚战。下一頁的框中顯示了使用增量計算樣本平均值和ε-貪婪操作選擇的完整bandit算法的偽代碼。假定函數(shù)bandit(a)采取行動并返回相應(yīng)的獎勵寂玲。
一般形式是:
(2.4)
表達式在估計中是一個誤差(error),通過向“目標(biāo)”邁出一步想许,它就會減少雖然目標(biāo)可能有噪聲,但假定目標(biāo)指示理想的移動方向断序。例如,在上述情況下违诗,目標(biāo)是第n個獎勵漱凝。
請注意诸迟,在上述增量方法中使用的步長參數(shù)(步長)會隨著時間步長的變化而變化茸炒。在處理動作a的第n個獎勵時,該方法使用步長參數(shù),本書中阵苇,我們用α表示步長參數(shù)壁公,或者更一般地用,當(dāng)=1/n時绅项,我們有時使用非正式的速記α=1/n紊册,使n對動作的依賴性隱式存在湿硝,正如我們在本節(jié)中所做的那樣关斜。
2.5?Tracking a Nonstationary Problem
背景:迄今為止討論的平均方法適用于平穩(wěn)的bandit問題痢畜,即報酬概率不隨時間變化的bandit問題。遇到的強化學(xué)習(xí)問題丁稀,實際上是非平穩(wěn)的线衫。在這種情況下,對最近的獎勵給予更多的重視比對很久以前的獎勵給予更多的權(quán)重是有道理的惑折。
常用的方法之一:恒定步長參數(shù)授账,即常數(shù)。
例如敛助,增量更新規(guī)則(2.3)用于更新過去n-1代的平均Qn獎勵修改為:
屋确,(2.5)
其中纳击,步長大小參數(shù)α∈(0,1],常數(shù)攻臀。因此焕数,是過去獎勵與現(xiàn)在初始估計的加權(quán)平均:
隨著干預(yù)獎勵數(shù)量的增加百匆,給予Ri的權(quán)重也隨之降低。事實上呜投,權(quán)重根據(jù)1-α的指數(shù)呈指數(shù)衰減。
另一種存璃,使步長參數(shù)隨著時間變化仑荐,由大數(shù)定律保證收斂到真正的作用值纵东。當(dāng)然,并非所有的序列選擇都能保證收斂,隨機逼近理論中的一個著名結(jié)果給出了確保概率1收斂所需的條件:
注意淌友,對于樣本平均情況,兩個收斂條件都滿足瑰抵,但不適用于恒定步長參數(shù)的情況器联。在后一種情況下婿崭,不滿足第二個條件习贫,這表明估計永遠不會完全收斂,但隨著最近收到的獎勵而繼續(xù)變化苫昌。正如我們前面提到的,在非平穩(wěn)環(huán)境中祟身,這實際上是可取的,而有效的非平穩(wěn)問題是強化學(xué)習(xí)中最常見的問題氯葬。此外婉陷,滿足條件(2.7)的步長參數(shù)序列通常收斂非常緩慢,或者需要大量調(diào)整以獲得滿意的收斂速度秽澳。雖然滿足這些收斂條件的步長參數(shù)序列通常用于理論工作,但它們很少用于應(yīng)用和實證研究楼吃。
練習(xí)2.4?如果步長參數(shù)不是常數(shù),那么估計值是之前收到的獎勵的加權(quán)平均值孩锡,其權(quán)重不同于(2.6)中給出的權(quán)重亥贸。就步長參數(shù)的順序而言,與(2.6)類似炕置,一般情況下每個先前獎勵的權(quán)重是多少?
練習(xí)2.5?設(shè)計并進行一個實驗垦沉,以證明樣本平均法對于非平穩(wěn)問題的困難仍劈。使用10臂試驗臺的修改版本,其中所有q?(a)從相等開始贩疙,然后進行獨立的隨機游動(例如况既,在每一步上將平均值為零组民、標(biāo)準(zhǔn)偏差為0.01的正態(tài)分布增量添加到所有q?(a))。做出圖2.2所示的圖表莫其,用于使用遞增計算的樣本平均值的行動值方法耸三,以及使用恒定步長參數(shù)α=0.1的另一個行動值方法乱陡。使用ε=0.1和更長的運行時間仪壮,例如10000步。