2023人工智能機器算法強化學(xué)習(xí)_第1頁
2023人工智能機器算法強化學(xué)習(xí)_第2頁
2023人工智能機器算法強化學(xué)習(xí)_第3頁
2023人工智能機器算法強化學(xué)習(xí)_第4頁
2023人工智能機器算法強化學(xué)習(xí)_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

人工智能機器算法強化學(xué)習(xí)目錄TOC\o"1-2"\h\u99101.1從獎勵中學(xué)習(xí) 3121651.2被動強化學(xué)習(xí) 6196841.2.1直接效用估計 766761.2.2自適應(yīng)動態(tài)規(guī)劃 873061.2.3時序差分學(xué)習(xí) 1023721.3主動強化學(xué)習(xí) 1541461.3.1探索 15224651.3.2安全探索 18248271.3.3時序差分Q學(xué)習(xí) 2117371.4強化學(xué)習(xí)中的泛化 25279941.4.1近似直接效用估計 2572711.4.2近似時序差分學(xué)習(xí) 27263551.4.3深度強化學(xué)習(xí) 29164881.4.4獎勵函數(shù)設(shè)計 3020921.4.5分層強化學(xué)習(xí) 31302421.5策略搜索 35223791.6學(xué)徒學(xué)習(xí)與逆強化學(xué)習(xí) 393231.7強化學(xué)習(xí)的應(yīng)用 44279261.7.1在電子游戲中的應(yīng)用 44138861.7.2在機器人控制中的應(yīng)用 456867小結(jié) 48在本文中,我們將看到智能體如何根據(jù)獎勵與懲罰的經(jīng)驗學(xué)習(xí),以使未來的獎勵最大化。在監(jiān)督學(xué)習(xí)中,智能體通過被動地觀測“老師”提供的輸入/輸出樣例對進行學(xué)習(xí)。在本文中,我們將看到智能體如何在沒有“老師”的情況下,通過考慮自己的最終成功或失敗,主動地從自己的經(jīng)驗中學(xué)習(xí)。從獎勵中學(xué)習(xí)考慮學(xué)習(xí)下國際象棋的問題。首先我們將考慮使用第19~21不總是完美的,但也是較好。因此,我們得到了一個很有前途的訓(xùn)練集?,F(xiàn)在的問題在于,與所有可能的國際象棋局面構(gòu)成的空間(約1040個)相比,樣本相當少(約108個)。在新的對局中,人們很快就會遇能會失效——不僅是因為它不知道自己下棋的目標是什么(把對手將死),業(yè)數(shù)據(jù)庫,而它們根本不存在。[1]取而代之的另一種選擇是使用強化學(xué)習(xí)(reinforcement learning,RL),在這種學(xué)習(xí)中,智能體將與世界進行互動并定期收到反映其表現(xiàn)的獎勵(reward,或者用心理學(xué)的術(shù)語來說,即強化)。例如,在國際象棋中,獲勝的獎勵為1,失敗的獎勵為0,平局的獎勵為1/2。我們已經(jīng)在第17章馬爾可夫決策過程(MDP)的例子中介紹過獎勵的概念事實上,強化學(xué)習(xí)的目標也是相同的:最大化期望獎勵總和。強化學(xué)習(xí)不同于“僅僅解決MDP”,因為智能體沒有將MDP作為待解決的問題,智能體本身處于MDP中。它可能不知道轉(zhuǎn)移模型或獎勵函數(shù),它必須取行動以了解更多信息。想象一下,你正在玩一個你不了解規(guī)則的新游戲,那么在你采取了若干個行動后,裁判會告訴你“你輸了”。這個簡單的例子就是強化學(xué)習(xí)的一個縮影。從人工智能系統(tǒng)設(shè)計者的角度看來,向智能體提供獎勵信號通常比提供有標簽的行動樣本要容易得多。首先,獎勵函數(shù)通常非常簡潔且易于指定(正如我們在國際象棋中看到的):它只需幾行代碼就可以告訴國際象棋智能體這局比賽它贏了還是輸了,或者告訴賽車智能體它贏得或輸?shù)袅吮荣惢蛘咚罎⒘?。其次,我們不必是相關(guān)領(lǐng)域的專家,即不需要能在任何情況下提供正確的動作,但如果我們試圖應(yīng)用監(jiān)督學(xué)習(xí)的方法,那么這些將是必要的。勵——我們稱之為稀疏(sparse)獎勵,因為在絕大多數(shù)狀態(tài)下,智能中,我們可以獎勵在賽道上朝著正確方向前進的智能體。在學(xué)習(xí)爬行易。只要我們可以為智能體提供正確的獎勵信號,強化學(xué)習(xí)就提供了一種非常通用的構(gòu)建人工智能系統(tǒng)的方法。對模擬環(huán)境來說尤其如此,因為在這種情況下我們不乏獲得經(jīng)驗的機會。在強化學(xué)習(xí)系統(tǒng)中引入深度學(xué)習(xí)作為工具也使新的應(yīng)用成為可能,其中包括從原始視覺輸入學(xué)習(xí)玩Atari電子游戲(Mnihetal.,2013)、控制機器人(Levineetal.,2016)以及玩紙牌游戲(BrownandSandholm,2017)。實際上,人們已經(jīng)設(shè)計了數(shù)百種不同的強化學(xué)習(xí)算法,其中有很多算法可以將第19~21章中的各種學(xué)習(xí)方法作為工具引入。在本文中,我們將介紹強化學(xué)習(xí)方法的基本思想,并通過一些例子讓讀者對各種方法有所了解。我們將這些方法按如下方式進行分類。(1)基于模型的強化學(xué)習(xí)(model-basedreinforcementlearning):在這些方法中,智能體使用環(huán)境的轉(zhuǎn)移模型來幫助解釋獎勵信號并決定如何行動。模型最初可能是未知的,在這種情況下,智能體通過觀測其行為的影響來學(xué)習(xí)模型,或者它也可能是已知的,例如,國際象棋程序可能知道國際象棋的規(guī)則,即便它不知道如何選擇好的走法。在部分可觀測的環(huán)境中,轉(zhuǎn)移模型對于狀態(tài)估計也是很有用的(見第14章)。基于模型的強化學(xué)習(xí)系統(tǒng)通常會學(xué)習(xí)一個效用函數(shù)U(s),(如第17章所述)它定義為狀態(tài)s之后的獎勵總和。[2]V(s)。(2)無模型強化學(xué)習(xí)(model-freereinforcementlearning):在這種方式中,智能體不知道環(huán)境的轉(zhuǎn)移模型,并且也不會學(xué)習(xí)它。相反,它直接學(xué)習(xí)如何采取行為方式。其中主要有以下兩種形式。動作效用函數(shù)學(xué)習(xí)(action-utilitylearning):我們在第17章介紹了動作效用函數(shù)。動作效用學(xué)習(xí)的最常見形式是Q學(xué)習(xí)(Q-learning),即智能體學(xué)習(xí)Q函數(shù)(Q-function,或稱質(zhì)量函數(shù))Q(s, a),這個函數(shù)代表從狀態(tài)s出發(fā),采取動作a的獎勵的總和。給定一個Q函數(shù),智能體可以通過尋找具有最高Q值的動作來決定在狀態(tài)s下采取的行動。策略搜索(policysearch):智能體將學(xué)習(xí)一個策略,即從狀態(tài)到動作的直接映射。用第2章的術(shù)語來說,這是一個反射型智能體。被動強化學(xué)習(xí)測,其中智能體已經(jīng)有了能決定其動作的固定策略。智能體將嘗試學(xué)習(xí)效用函數(shù)——從狀態(tài)s出發(fā),采用策略所得到的期望總折扣獎勵。我們稱之為被動學(xué)習(xí)智能體(passivelearningagent)。被動學(xué)習(xí)任務(wù)類似于策略評估任務(wù),它是17.2.2節(jié)中所描述的策略迭代算法的一部分。不同之處在于被動學(xué)習(xí)智能體并不知道轉(zhuǎn)移模型,即在狀態(tài)s下采取動作a后到達狀態(tài)s'道獎勵函數(shù),即每次轉(zhuǎn)移后的獎勵。我們將使用第17章中介紹的4×3世界作為一個例子。圖22-1給出了該環(huán)境下的最優(yōu)策略和相應(yīng)的效用。智能體在環(huán)境中根據(jù)其策略執(zhí)行一組試驗(trial)。在每次試驗中,智能體從狀態(tài)(1,1)出發(fā),經(jīng)歷一系列狀態(tài)轉(zhuǎn)移,直到達到終止狀態(tài),即(4, 2)或(4, 3)之一。它既能感知當前的狀態(tài),也能感知到達到該狀態(tài)的轉(zhuǎn)移所獲得的獎勵。典型的試驗可能類似如下過程。狀態(tài)s有關(guān)的期望效用。其中效用函數(shù)定義為遵循策略所能獲得的(折扣)獎勵的期望總和。如17.1節(jié)的式(17-2)所示,我們可以將其表述為(22-1)其中 為在狀態(tài)St下采取動作 到達St+1所獲得的獎勵。需要注意的是,St是一個隨機變量,它表示從初始狀態(tài) 出發(fā)采取策略,在時刻t到達的狀態(tài)。我們還將在所有等式中引入一個折扣因子,但對于這個4×3世界,我們將采用,這意味著沒有折扣。圖22-1 (a)R(s,a,s')=?0.04的隨機環(huán)境中非終止狀態(tài)間轉(zhuǎn)移的最優(yōu)策略。其中狀態(tài)(3,1)有兩種策略,因為在該狀態(tài)中Left和Up都是最優(yōu)的。我們之前已經(jīng)在圖17-2b中觀測到了這一點(b)給定策略后,4×3世界中各個狀態(tài)的效用函數(shù)直接效用估計直接效用估計(directutilityestimation)的思想是,一個狀態(tài)的效用定義為從該狀態(tài)出發(fā)的期望總獎勵——我們稱其為期望預(yù)期獎勵(reward-to-go),并且每次試驗將為每個訪問過的狀態(tài)提供一個它的數(shù)值樣本。例如,在上面給出的3次試驗中,第一次試驗為狀態(tài)(1, 1)供了總獎勵為0.76的樣本,為(1, 2)提供了總獎勵為0.80和0.88的兩個本,為狀態(tài)(1, 3)提供了0.84和0.92兩個樣本,以此類推。因此,在每序列的末尾,算法將計算每個狀態(tài)的預(yù)期獎勵,并相應(yīng)地,采用平均的方法來更新每個狀態(tài)的效用估計值。若試驗的次數(shù)沒有限制,樣本平均值將收斂到式(22-1)中的真實期望值。這意味著我們已經(jīng)將強化學(xué)習(xí)簡化為一個標準的監(jiān)督學(xué)習(xí)問題,其中每個樣例都是一對(狀態(tài),預(yù)期獎勵)。我們有很多強大的監(jiān)督學(xué)習(xí)算法,所以這種方法表面上看起來比較有前景,但它忽略了一個重要的約束:狀態(tài)的效用取決于后繼狀態(tài)的獎勵和期望效用。更具體地說,效用值應(yīng)當滿足固定策略的貝爾曼方程[另見式(17-14)]:(22-2)如,在上面給出的3次試驗中的第二次試驗,智能體到達了先前未訪問過的狀態(tài)(3, 2),接著下一個轉(zhuǎn)移讓它到達(3, 3),從第一次試驗中,們知道(3, 3)具有很高的效用。那么貝爾曼方程立即表明(3, 2)也可能具有很高的效用,因為它將到達(3,3),但直接效用估計在試驗結(jié)束之無法學(xué)習(xí)到任何東西。更寬泛地說,我們可以將直接效用估計視為在比實際需要的更大的假設(shè)空間中搜索U,因為它包含了許多不滿足貝爾曼方程的函數(shù)。出于這個原因,該方法對應(yīng)的算法通常收斂得非常緩慢。自適應(yīng)動態(tài)規(guī)劃利用自適應(yīng)動態(tài)規(guī)劃(adaptivedynamicprogramming,ADP)的智能體學(xué)習(xí)狀態(tài)之間的轉(zhuǎn)移模型并使用動態(tài)規(guī)劃解決相應(yīng)的馬爾可夫決策過程,從而利用了狀態(tài)效用之間的約束。對于被動學(xué)習(xí)智能體,這意味著可以將學(xué)習(xí)到的轉(zhuǎn)移模型和觀測到的獎勵代式(22-2)來求解各個狀態(tài)的效用。正如我們在第17章對策略迭代的討論中所述,當策略固定時,這些貝爾曼方程是線性的方程組,因此我們可以使用任意的線性代數(shù)軟件包來求解?;蛘呶覀兛梢圆捎眯拚呗缘╩odifiedpolicyiteration)的方法(見17.2節(jié)),利用簡化的價值迭代過程在每次學(xué)習(xí)模型發(fā)生更改后更新效用估計值。由于每次觀測給模型帶來的改變通常非常小,因此價值迭代過程可以使用先前的效用估計作為初始值,并且這樣的做法通常會使迭代過程收斂得很快。學(xué)習(xí)轉(zhuǎn)移模型很容易,因為環(huán)境是完全可觀測的。這意味著我們需要解決一個監(jiān)督學(xué)習(xí)任務(wù),其中每個訓(xùn)練樣例的輸入是一個狀態(tài)-動作對(s,a),輸出為后續(xù)狀態(tài)s'。轉(zhuǎn)移模將以表格形式表示,它可以通過累積計數(shù)直接估計得到。該計數(shù)記錄了在狀態(tài)s下采取動作a后達到狀態(tài)s′的頻率。例如,在22.2節(jié)的第三次試驗中,智能體在(3,3)狀態(tài)執(zhí)行了4次Right動作,且相應(yīng)的結(jié)果為兩次到達(3, 2)以及兩次達(4, 因?qū)⒕还烙嫗?/2。圖22-2給出了被動自適應(yīng)動態(tài)規(guī)劃智能體的完整程序,它在4×3世界上的表現(xiàn)如圖22-3所示。就其對價值估計速度的改進而言,自適應(yīng)動態(tài)規(guī)劃智能體僅受到它學(xué)習(xí)轉(zhuǎn)移模型的能力的限制。從這個意義上說,它提供了一個能衡量任何其他強化學(xué)習(xí)算法的標準。然而,對于大的狀態(tài)空間,它是難以實現(xiàn)的。例如,在西洋雙陸棋中,它將需要求解包含1020個未知數(shù)的大約1020個方程。圖22-2 基于自適應(yīng)動態(tài)規(guī)劃的被動強化學(xué)習(xí)智能體。智能體將選定一個值,然后逐步計算函數(shù)將求解固定策略的貝爾曼方程,正如17.2節(jié)中所述圖22-3在給定圖22-1所示的最優(yōu)策略情況下,關(guān)于4×3世界問題的被動自適應(yīng)動態(tài)規(guī)劃的學(xué)習(xí)曲線。(a)態(tài)(2,1)和(3,2),它們分別在第14次和第23次試驗才被“發(fā)現(xiàn)”連接到位于(4,3)處的+1退出狀態(tài)。(b)U(1,1)估計的均方根誤差(見附錄A),所示的結(jié)果為50組,每組執(zhí)行100次試驗的平均值時序差分學(xué)習(xí)在22.2.2節(jié)中,我們將貝爾曼方程應(yīng)用于學(xué)習(xí)問題來求解潛在的MDP是使用觀測到的轉(zhuǎn)移來更改觀測狀態(tài)的效用,從而迫使它們滿足約束方程。例如,考慮22.2節(jié)的第二次試驗中從狀態(tài)(1,3)到狀態(tài)(2,3)假設(shè)在第一次試驗與估計后,效用的估計值為和?,F(xiàn)在我們假設(shè)從狀態(tài)(1,3)到狀態(tài)(2,3)的這種轉(zhuǎn)移會一直發(fā)生,這時效用將滿足如下方程:所以將為0.92。因此目前的估計值0.88是偏低的,它應(yīng)該被提升。更一般地,如果一個轉(zhuǎn)移為在狀態(tài)s下采取動作,并到達了我們則將如下更新規(guī)則應(yīng)用于:(22-3)這里,為學(xué)習(xí)率參數(shù)。由于此更新規(guī)則使用了相繼狀態(tài)(以及相繼時間)之間效用的差分,因此通常被稱為時序差分(temporal-方程。與第19章中介紹的權(quán)重更新規(guī)則類似,如19.6節(jié)實際上是關(guān)于誤差的信息,更新旨在減少該誤差。所有時序差分方法都通過調(diào)整理想均衡的效用估計來實現(xiàn)學(xué)習(xí)目的,當效用估計正確時,理想均衡是局部成立的。在被動學(xué)習(xí)的情況下,該均衡解由式(22-2)給出。更新式(22-3)實際上確實能使智能體達到由式(22-2)給出的均衡,但其中還有一些細微的差別。首先,注意更新僅涉及觀測到的后繼狀態(tài)s',而實際上均衡條件涉及所有可能的下一個狀態(tài)。人們可能會認為,當發(fā)生非常罕見的轉(zhuǎn)移時,會導(dǎo)致即使該值本身也在持續(xù)波動,的平均值在極限意義下仍將收斂到確的值。此外,如果我們將參數(shù)設(shè)置為一個如圖22-4所示的隨著訪問狀態(tài)的次數(shù)的增加而減小的函數(shù),那么本身將收斂到正確的值。[3]圖22-5給出了在4×3世界問題中的被動時序差分智能體的表現(xiàn)。它的學(xué)習(xí)單且對于每次觀測所需的計算量也少得多。注意,TD不需要通過轉(zhuǎn)移模型來進行所需的更新狀態(tài)之間的連接關(guān)系。我們在19.6節(jié)中給出了該方法需要滿足的條件,在圖22-5中,我們采用,它滿足所需條件。圖22-4 一種使用時序差分方法學(xué)習(xí)效用估計的被動強化學(xué)習(xí)智能體。我們選擇適當?shù)牟介L數(shù)以確保收斂自適應(yīng)動態(tài)規(guī)劃與TD的方法是緊密聯(lián)系的,兩者都試圖對效用估計進行局部調(diào)整,以使每個狀態(tài)與其后繼狀態(tài)能“達成一致”。其中一個不同之處在于,TD方法調(diào)整狀態(tài)的效用來達到與其觀測到的后繼狀態(tài)一致[式(22-3)],而自適應(yīng)動態(tài)規(guī)劃調(diào)整狀態(tài)的效用來達到與所有可能發(fā)生的后繼狀態(tài)一致,這些狀態(tài)將按概率進行加權(quán)求和[式(22-2)]。當TD的調(diào)整在大量轉(zhuǎn)移上取平均時,這種差異就會消失,因為每個后繼狀態(tài)在轉(zhuǎn)移的集合中發(fā)生的頻率與其發(fā)生的概率大致成正比。一個更重要的區(qū)別在于,TD對每個觀測到的轉(zhuǎn)移都只進行單次調(diào)整,而自適應(yīng)動態(tài)規(guī)劃進行盡可能多的調(diào)整,以保持效用估計U和轉(zhuǎn)移模型P之間的一致性。盡管觀測到的轉(zhuǎn)移僅對P產(chǎn)生局部的改變,但它可能會影響到整個U。因此,TD可以看作對自適應(yīng)動態(tài)規(guī)劃的粗略但有效的近似。圖22-5 4×3世界問題中,TD的學(xué)習(xí)曲線。(a)選定的狀態(tài)子集的效用估計與試驗次數(shù)的關(guān)系。此為單組執(zhí)行500次試驗的結(jié)果??梢耘c圖22-3a中的每組執(zhí)行100次試驗的結(jié)果進行比較(b)U(1,1)估計的均方根誤差,所示結(jié)果為50組、每組執(zhí)行100次試驗的平均值從TD的角度看來,ADP所做的每一次調(diào)整都可以看作當前轉(zhuǎn)移模型進行一次模擬產(chǎn)生的偽經(jīng)驗(pseudoexperience)的結(jié)果。因此我們可以將TD方法進行推廣,使用轉(zhuǎn)移模型來生成多個偽經(jīng)驗——給定當前模型下,TD智能體認為可能發(fā)生的轉(zhuǎn)移。對于每個觀測到的轉(zhuǎn)移,TD智能體將生成大量的虛構(gòu)的轉(zhuǎn)移。這樣一來,由此產(chǎn)生的效用估計將越來越接近ADP的效用估計值——當然,這種接近將以增加計算時間為代價。同樣,我們可以通過直接近似價值迭代或策略迭代算法的方式來生成更高效的自適應(yīng)動態(tài)規(guī)劃。盡管我們知道價值迭代算法是有效的,但如果我們的狀態(tài)個數(shù)多達10100在每次迭代中,對狀態(tài)價值的必要調(diào)整中有一大部分是非常微小的調(diào)整,因此一種可行的能夠快速給出合理結(jié)果的方法是限制每次觀測到轉(zhuǎn)移后進行調(diào)整的次數(shù)。我們還可以利用啟發(fā)式的方法對可能的調(diào)整進行排序,以便對最重要的狀態(tài)進行調(diào)整。一種稱為優(yōu)先掃描(prioritizedsweeping)啟發(fā)式方法傾向于對那些高概率后繼狀態(tài)剛剛在自身的效用估計中經(jīng)歷了一次大調(diào)整的狀態(tài)進行調(diào)整。在運用了此類啟發(fā)式方法后,就訓(xùn)練序列的數(shù)量而言,近似ADP算法的學(xué)習(xí)速度大致和完整ADP一樣快,但就總體的計算量而言,其效率可以提高幾個數(shù)量級(見習(xí)題22.PRSW)。這使得它們能夠處理那些對完整ADP來說過大的狀態(tài)空間。近似ADP算法還有另外一個優(yōu)點:在學(xué)習(xí)一個新環(huán)境的早期階段,轉(zhuǎn)移模型P往往會和正確模型差距較大,因此計算一個精確的效用函數(shù)來匹配它幾乎沒有意義。近似算法將使用可行的最小的調(diào)整規(guī)模,且該調(diào)整的規(guī)模將隨著轉(zhuǎn)移模型的逐漸精確而減小。這避免了在學(xué)習(xí)早期階段可能發(fā)生的由于模型變化劇烈而導(dǎo)致的冗長的價值迭代過程。主動強化學(xué)習(xí)被動學(xué)習(xí)智能體有一個固定的策略來決定其行為,而主動學(xué)習(xí)智能體(activelearningagent)可以自主決定采取什么動作。我們將從自適應(yīng)動態(tài)規(guī)劃(ADP)智能體開始入手,并考慮如何對它進行修改以利用這種新的自由度。首先,智能體需要學(xué)習(xí)一個完整的轉(zhuǎn)移模型,其中包含所有動作可能導(dǎo)致的結(jié)果及概率,而不僅僅是固定策略下的模型。PASSIVE-ADP-AGENT所使用的學(xué)習(xí)機制正好可以解決這個問題。接下來,我們需要考慮這樣一個事實:智能體有一系列動作可供選擇。它需要學(xué)習(xí)的效用是由最優(yōu)策略所定義的效用,它們將滿足貝爾曼方程(在這里再次給出):(22-4)可以使用在第17章中介紹的價值迭代或策略迭代算法求解這些方程,以得到效用函數(shù)U。最后的問題是,智能體在每一步中該做什么。在獲得對所學(xué)到的模型最優(yōu)的效用函數(shù)U后,智能體可以通過一步前瞻尋找并采取最大化期望效用的最優(yōu)動作;或者,如果智能體使用的是策略迭代,那么我們現(xiàn)在已經(jīng)得到了最優(yōu)策略,因此它可以簡單地執(zhí)行最優(yōu)策略建議的動作。但這樣操作就正確嗎?探索圖22-6給出了ADP智能體的一系列試驗的結(jié)果,在試驗的每一步中,智能體都采用所學(xué)到的模型的最優(yōu)策略建議的動作。智能體沒有學(xué)習(xí)到正確的效用或正確的最優(yōu)策略!取而代之的是,在第三次試驗中,它發(fā)現(xiàn)了一個策略,該策略通過(2,1)、(3,1)、(3,2)與(3,3),沿著較差的路徑到達了+1獎勵(見圖22-6b)。接著,在一些變化較小的試驗后,從第8次試驗開始,智能體將堅持這一策略,并且再也不學(xué)習(xí)其他狀態(tài)的效用,也就無法發(fā)現(xiàn)通過(1,2)、(1,3)和(2,3)將該智能體稱作貪心智能體(greedyagent),因為它每一步都貪婪地執(zhí)行當前認為的最優(yōu)動作。貪心方法有時是有效的,使得對應(yīng)的智能體會收斂到最優(yōu)策略,但在很多情況下,它的效果并不理想。圖22-6 貪心ADP智能體的表現(xiàn),它采取所學(xué)習(xí)到的模型下的最優(yōu)策略所推薦的動作。(a)所有9個非終止方格中取平均值的均方根(RMS)誤差,以及(1,1)中的策略損失。我們可以看到,該策略很快地,在僅僅8次試驗之后,就收斂到一個損失為0.235的次優(yōu)策略。(b)貪心智能體在這個特定的試驗序列中收斂到的次優(yōu)策略。注意,(1,2)狀態(tài)中采取Down動作為什么選擇最優(yōu)動作會導(dǎo)致次優(yōu)的結(jié)果呢?答案是,學(xué)習(xí)到的模型與真實的環(huán)境不一樣;因此,學(xué)習(xí)到的模型的最優(yōu)結(jié)果可能在真實環(huán)境中是次優(yōu)的。遺憾的是,智能體并不清楚真實環(huán)境是什么樣子,因此它將無法計算真實環(huán)境下的最優(yōu)動作。那么,它應(yīng)該采取什么動作呢?貪心智能體忽視了這樣一個事實:動作不僅提供獎勵,還以結(jié)果狀態(tài)中感知的形式提供信息?;仡?7.3節(jié)中的老虎機問題,智能體必須在利用當前最佳動作以最大化其短期獎勵和探索過去未知的狀態(tài)以獲得可能導(dǎo)致策略改變(以及在未來獲得更大獎勵)的信息之間進行權(quán)衡。在真實世界中,一個人時常需要進行抉擇:繼續(xù)在舒適圈度日,還是為了更好的生活去涉獵未知的世界。雖然我們很難找到最優(yōu)探索方案以精確地解決老虎機問題,但我們?nèi)匀挥锌赡芴岢鲆粋€方案,使得智能體最終能將發(fā)現(xiàn)一個最優(yōu)策略,盡管該方案可能需要花費比最優(yōu)方案更長的探索時間。任何一個能找到這種最優(yōu)策略的方案對于下一步行動的選取都不應(yīng)該是貪心的,而應(yīng)該是所謂“無限探索極限下的貪心”(greedy in the limit of exploration,GLIE)。GLIE方案必須在每個狀態(tài)下對每個動作嘗試任意多次,以避免錯過最優(yōu)動作。使用這種方案的ADP智能體最終將學(xué)習(xí)到正確的轉(zhuǎn)移模型,在此基礎(chǔ)上,它可以在不考慮探索的情況下行動?;贕LIE的方案有若干種,最簡單的一種是讓智能體在時刻t以1/t的概率隨機選擇一個動作,否則就遵循貪心策略。雖然這個方法最終會收斂到最優(yōu)策略,但收斂過程可能會很慢。一個更好的方法是對智能體不經(jīng)常嘗試的動作賦予較高的權(quán)重,同時傾向于避免采取智能體認為效用較低的動作(正如在5.4節(jié)中我們使用蒙特卡羅樹搜索所做的那樣)。這一過程可以通過改變約束方程,即式(22-4),為探索還相對不充分的狀態(tài)-動作對賦予更高的效用估計來實現(xiàn)。這相當于對可能的環(huán)境賦予一個樂觀的先驗,這也會使得智能體最初的行為就像各個位置都散布著很高的獎勵一樣。我們用U+(s)來表示對狀態(tài)s的目標效用(即期望的預(yù)期獎勵)的樂觀估計,并用N(s,a)表示動作a在狀態(tài)s中被嘗試的次數(shù)?,F(xiàn)在我們將對ADP學(xué)習(xí)智能體使用價值迭代,于是我們需要改寫17.2節(jié)中的更新式(17-10)以引入樂觀估計:(22-5)這里的f表示探索函數(shù)(explorationfunction)。函數(shù)f(un)決定了貪心(傾向于選擇效用函數(shù)u較高的動作)如何與好奇心(傾向于選擇不經(jīng)常嘗試且計數(shù)n較小的動作)進行權(quán)衡。該函數(shù)應(yīng)關(guān)于u遞增,關(guān)于n遞減。顯然,存在許多滿足這些條件的函數(shù)。一個特別簡單的例子如下:其中R+是任何狀態(tài)下對可獲得的最佳可能獎勵的樂觀估計,Ne是一個固定的參數(shù)。這樣的函數(shù)將迫使智能體對每個狀態(tài)-動作對至少嘗試Ne次。式(22-5)右側(cè)采用了U+而不是U,這一點非常重要。隨著探索的進行,接近初始狀態(tài)的狀態(tài)和動作可能會被嘗試非常多次。如果我們使用U,即更悲觀的效用估計,那么智能體很快就會變得不愿意探索更遠的區(qū)域。使用U+意味著探索的好處是從未探索區(qū)域的邊緣傳遞回來的,于是前往未探索區(qū)域的動作將有更高的權(quán)重,而不僅是那些本身不為人所熟悉的動作有更高的權(quán)重。圖22-7b清楚地展現(xiàn)了這種探索策略的效果:策略損失將快速收斂到0,這與貪心法的結(jié)果不同。只經(jīng)過18次試驗,智能體就找到了一個非常接近最優(yōu)的策略。注意,效用估計中的RMS誤差并沒有很快收斂,這是因為智能體很快就停止了對狀態(tài)空間中沒有獎勵的部分的探索,并且在此之后只是“偶然”地訪問它們。然而對智能體來說,如果可以忽視一些不需要并且可避免的狀態(tài)的精確效用,這將是非常有幫助的。例如當你正從懸崖上摔下來的時候,去學(xué)習(xí)哪個是最好的廣播電臺對你來說是沒有多大意義的。圖22-7 采用R+=2及Ne=5的探索性ADP智能體的表現(xiàn)。(a)某個選定狀態(tài)的效用估計隨間的變化圖。(b)效用估計以及相應(yīng)的策略損失的RMS誤差安全探索到目前為止,我們都假設(shè)智能體可以像我們所希望的那樣自由地進行探索——任何負面的獎勵只會改善它對世界的建模。也就是說,如果我們輸了一盤棋,我們不會受到任何傷害(也許除了我們的自信心),無論我們學(xué)到什么,都會使我們在下一盤棋中成為更好的棋手。同樣,在自動駕駛汽車的模擬環(huán)境中,我們可以探索汽車性能的極限,任何事故都會給我們提供更多的信息。如果車撞壞了,我們只需按一下復(fù)位按鈕即可。遺憾的是,真實世界沒有那么寬容。如果你是一只小太陽魚,你存活到成年的概率大約是0.00000001。在4.5節(jié)中所定義的在線搜索智能體環(huán)境下,許多動作是不可逆的:不存在后續(xù)的動作序列可以將狀態(tài)恢復(fù)到不可逆動作發(fā)生之前的狀態(tài)。在最壞的情況下,智能體將進入到一個吸收態(tài)(absorbingstate),此時任何動作都不會改變當前的狀態(tài),智能體也不會得到任何獎勵。在許多實際情況中,我們無法承擔我們的智能體采取不可逆的動作或進入吸收態(tài)的后果。例如,一個正在學(xué)習(xí)駕駛真正的汽車的智能體應(yīng)該避免采取可能導(dǎo)致以下任何情況的動作:有大量負面獎勵的狀態(tài),如嚴重車禍;無法脫離的狀態(tài),如將汽車開進深溝中;高速度降低。我們?nèi)钥赡茏罱K陷入一種糟糕的狀態(tài),這要么是因為我們的模型未知,使得我們主動選擇朝著一個結(jié)果糟糕的方向進行探索,要么是因為我們的模型不正確,以至于我們不知道一個給定的動作可能會帶來災(zāi)難性的結(jié)果。圖22-2中的算法使用最大似然估計(見第20章)學(xué)習(xí)轉(zhuǎn)移模型,再僅根據(jù)估計的模型進行策略選擇,就好像這個模型真是正確的模型一樣。這不一定是個好主意!例如,一個不知道紅綠燈是如何工作的出租車智能體可能會在一次或兩次闖紅燈卻沒有受到懲罰后制定一項荒唐的策略——無視所有的紅燈。一個更好的方法是選擇一個對所有有機會成為真實模型的模型都相當有效的策略,即使該策略對于最大似然模型是次優(yōu)的。我們將介紹3種帶有這種思想的數(shù)學(xué)方法。第一種方法為貝葉斯強化學(xué)習(xí)(Bayesianreinforcementlearning),它對關(guān)于正確模型的假設(shè)h賦予一個先驗概率P(h),而后驗概率將在給定觀測數(shù)據(jù)的情況下,通過貝葉斯法則得到。如果智能體在某一時刻決定停止學(xué)習(xí),那么最優(yōu)策略即為給出最高期望效用的策略。我們設(shè)為期望效用,它通過在模型h中執(zhí)行策略得到,并在所有可能的初始狀態(tài)上取平均,那么有在某些特殊情況下,我們甚至可以計算出此策略!然而,如果智能體將在未來繼續(xù)學(xué)習(xí),那么找到一個最優(yōu)策略就變得相當困難,因為智能體必須考慮到未來的觀測對其所學(xué)習(xí)到的轉(zhuǎn)移模型的影響。這個問題變成了一個將狀態(tài)看作模型上的分布的探索POMDP(explorationPOMDP)的問題。原則上,這種探索POMDP問題可以在智能體進入世界之前被表述并解決(習(xí)題22.EPOM要求讀者在掃雷游戲中進行分析,以找到最佳的第一步)。問題的解是一個完整的策略,它在給定任何可能的感知序列的情況下,將告訴智能體下一步要做什么。求解探索POMDP問題通常是非常棘手的,但這一概念為理解22.3節(jié)中所描述的探索問題提供了分析基礎(chǔ)。注意,再好的貝葉斯方法也并不能保護智能體使其免于過早死亡。沒有什么辦法能阻止智能體采取會導(dǎo)致吸收態(tài)的探索性動作,除非先驗知識給出了關(guān)于危險的一些感知提示。例如,人們過去認為人類嬰兒天生恐高,他們不會爬下懸崖,但事實證明并非如此(Adolphetal.,2014)。第二種方法來自健壯控制理論(robustcontroltheory),它考慮一組可能模型H而不賦予它們概率,在此基礎(chǔ)上,最優(yōu)健壯策略定義為能在H中最壞的情況下給出最佳結(jié)果的策略:常情況下,集合H為似超過某個閾值的模型的集合,因此健壯方法和貝葉斯方法是相聯(lián)系的。健壯控制方法可以看作智能體和對手之間的博弈,其中對于任何動作,對手都將選擇最壞的可能結(jié)果,我們得到的策略即是博弈的極小化極大(minimax)解。我們的邏輯wumpus智能體(見7.7節(jié))也是一個這樣的健壯控制智能體:它考慮所有邏輯上可能的模型,并且不探索任何可能包含一個無底洞或wumpus的位置,因此它將在所有可能的假設(shè)中找到最壞情況下效用最大的動作。第三種方法是最壞情況假設(shè),這一想法的問題在于,它會導(dǎo)致行為過于保守。如果一輛自動駕駛的汽車認為其他所有的司機都可能與它相撞,那它別無選擇,只能停在車庫里?,F(xiàn)實生活中充滿了這樣的風險-回報權(quán)衡。使用強化學(xué)習(xí)的一個原因是為了避免對人類教師的需求(如在監(jiān)督學(xué)習(xí)中),但事實證明,人類知識可以幫助維護系統(tǒng)的安全。一種方法是記錄一位有經(jīng)驗的教師的一系列動作,使系統(tǒng)從一開始就合理地行動并從中學(xué)習(xí)與改進。另一種方法是人為地約束系統(tǒng)的行為,并讓強化學(xué)習(xí)系統(tǒng)之外的程序執(zhí)行這些約束。例如,在訓(xùn)練一架自動駕駛的直升機時,我們可以提供一個額外策略,該策略在直升機進入某個狀態(tài)(從這個狀態(tài)開始,任何進一步的不安全動作都將導(dǎo)致不可復(fù)原的結(jié)果)時接管其控制權(quán)——在這種狀態(tài)下,安全控制員不能保證飛機能避免進入吸收態(tài)。在所有其他狀態(tài)中,學(xué)習(xí)智能體都可以隨心所欲地行動。時序差分Q學(xué)習(xí)現(xiàn)在假設(shè)我們已有一個主動ADP智能體,我們將考慮如何構(gòu)造一個主動時序差分學(xué)習(xí)智能體。與之前的情境相比,這里最顯著的區(qū)別在于智能體必須學(xué)習(xí)轉(zhuǎn)移模型,以便它可以通過一步前瞻來選擇基于U(s)的動作。TD智能體的模型獲取問題與ADP智能體的模型獲取問題是相同的,并且TD更新規(guī)則也相同。此外,可以證明,當訓(xùn)練序列的數(shù)目趨于無窮時,TD算法將收斂到與ADP算法相同的值。Q學(xué)習(xí)方法將通過學(xué)習(xí)動作效用函數(shù)Q(s, a)而不是學(xué)習(xí)效用數(shù)U(s)來避免對模型本身的需求。Q(s, a)表示智能體在狀態(tài)s下采取作a并在其后采取最優(yōu)行動的期望總折扣獎勵。如果智能體已經(jīng)知道Q函數(shù),那么它可以通過簡單地選擇argmaxaQ(s,a)來實現(xiàn)最優(yōu)行動,不需要基于轉(zhuǎn)移模型進行前瞻探索。我們還可以推導(dǎo)出對于Q值的無模型TD更新規(guī)則。我們從關(guān)于Q(s,a)的貝爾曼方程出發(fā),在這里重新給出式(17-8):(22-6)基于此,我們可以效仿式(22-3)中效用函數(shù)的TD更新規(guī)則,給出Q學(xué)習(xí)的TD更新規(guī)則:(22-7)每當智能體在狀態(tài)s下執(zhí)行動作a并導(dǎo)致狀態(tài)s'時,就會計算此更新。在式(22-3)中,這一項表更新試圖最小化的誤差。這個等式的重要的性質(zhì)在于它所不包含的內(nèi)容:是動作選擇中,時序差分Q學(xué)習(xí)智能體都不需要轉(zhuǎn)移模。它們不需要利用或者學(xué)習(xí)該模型。另外,Q學(xué)習(xí)智能體無法了解未來的長的動作序列才能到達有獎勵的部分。圖22-8給出了探索性時序差分Q學(xué)習(xí)智能體的完整設(shè)計。注意,它使用的探索函數(shù)f與探索性ADP智能體所使用的函數(shù)f完全相同,因此我們需要保留所采取動作的統(tǒng)計信息(關(guān)于N的表格)。如果我們使用一個更簡單的探索策略,例如我們在一些步驟中隨機地進行操作,且步驟數(shù)量隨著時間的推移而減少,那么我們就可以省去這些統(tǒng)計信息。圖22-8 一個探索Q學(xué)習(xí)智能體。它是一個主動的學(xué)習(xí)器,學(xué)習(xí)每個情境下每個動作的Q(s,a)值。它采用了與探索ADP智能體所用相同的探索函數(shù)f,但是避免了對轉(zhuǎn)移模型的學(xué)習(xí)SARSA,即狀態(tài)(state)、動作(action)、獎勵(reward)、狀態(tài)(state)、動作(action),是一種與Q學(xué)習(xí)緊密關(guān)聯(lián)的方法。它的更新規(guī)則也與Q學(xué)習(xí)的更新規(guī)則[式(22-7)]非常相似,區(qū)別在于SARSA使用實際采取的動作a'的Q值進行更新:(22-8)該更新規(guī)則應(yīng)用于每個五元組之后,SARSA也因這個元組得名。它與Q學(xué)習(xí)的區(qū)別非常細微:Q學(xué)習(xí)使用的是狀態(tài)s′的最佳動作的Q值,而SARSA將等待某個動作被實際執(zhí)行并使用該動作的Q值。如果智能體是貪心的,并且總是采取具有最佳Q值的動作,那么這兩種算法是相同的。然而,當智能體進行探索時,兩個算法將有所不同:如果探索產(chǎn)生負面獎勵,SARSA會懲罰這個動作,而Q學(xué)習(xí)不會。Q學(xué)習(xí)是一種離策略(off-policy)學(xué)習(xí)算法,因為它所學(xué)習(xí)的Q值回答了問題“假設(shè)我停止使用我正在使用的任何策略,并依照(根據(jù)估計)選擇最佳動作的策略開始行動,那么這個動作在該狀態(tài)下的價值是多少?”SARSA是一個同策略(on-policy)的算法,它通過學(xué)習(xí)Q值回答了問題“假設(shè)我堅持自己的策略,那么這個動作在該狀態(tài)下的價值是多少?”Q學(xué)習(xí)比SARSA更靈活,因為Q學(xué)習(xí)智能體可以學(xué)習(xí)在各種探索策略的控制下如何表現(xiàn)良好。另外,如果整個策略部分地由其他智能體或程序控制,那么SARSA就是適用的,在這種情況下,我們最好學(xué)習(xí)實際發(fā)生的動作的Q函數(shù),而不是學(xué)習(xí)智能體選擇估計的最佳動作情況下將發(fā)生的動作的Q函數(shù)。Q學(xué)習(xí)和SARSA都能學(xué)到4×3世界中的最優(yōu)策略,但它們的學(xué)習(xí)速度比ADP智能體慢得多。這是因為局部更新不會通過模型來保證所有Q值之間的一致性。強化學(xué)習(xí)中的泛化到目前為止,我們都假設(shè)效用函數(shù)和Q函數(shù)可以用表格的形式表示,其中每個狀態(tài)有一個輸出值。這種方法適用于狀態(tài)多達106的狀態(tài)實世界的應(yīng)用簡單,但它的狀態(tài)已經(jīng)多達約1020個。我們不可能為了學(xué)習(xí)如何玩游戲而簡單地訪問每一個狀態(tài)。我們在第5章中介紹了評價函數(shù)的概念,它是對我們想了解的潛在巨大狀態(tài)空間的一個緊度量。在本文中,我們將把評價函數(shù)作為一個近似效用函數(shù),我們將用術(shù)語函數(shù)近似來表示構(gòu)造一個關(guān)于真實效用函數(shù)或Q函數(shù)的緊的近似的過程。例如,我們可以使用特征的加權(quán)線性組合來近似效用函數(shù):如此一來,強化學(xué)習(xí)算法將不需要學(xué)習(xí)表中的1020個狀態(tài)值,只需學(xué)習(xí)20個參數(shù)值 ,這些值可以令很好地近似真實的效用函數(shù)。有時,這種效用函數(shù)近似方法會與前瞻搜索相結(jié)合,以做出更確的決策。添加前瞻搜索意味著有效的行為可以從一個簡單得多的效函數(shù)近似器生成,而這個函數(shù)本身又可以從少得多的經(jīng)驗中學(xué)習(xí)得到函數(shù)近似的方法使得在非常大的狀態(tài)空間中表示效用函數(shù)(或Q函數(shù))變得可行,但它更重要的意義在于允許了歸納性的泛化:智能體可以從它訪問過的狀態(tài)泛化到它還沒有訪問過的狀態(tài)。特索羅(Tesauro,1992)利用這一方法構(gòu)建了一個西洋雙陸棋游戲程序,盡管它只探索了西洋雙陸棋完整狀態(tài)空間的萬億分之一。近似直接效用估計直接效用估計的方法(22.2節(jié))在狀態(tài)空間中生成軌跡,并對每個狀態(tài)獲取從該狀態(tài)出發(fā)直到終止的獎勵總和。狀態(tài)和獲得的獎勵之和構(gòu)成了監(jiān)督學(xué)習(xí)算法的訓(xùn)練樣例。例如,假設(shè)我們用一個簡單的線性函數(shù)來表示4×3世界的效用函數(shù),其中方格的特征是它們的x和y坐標。在這種情況下,我們有(22-9)因此,如果 ,那么。給定一組試驗,我們得到一組關(guān)于值的樣本,并且我們可以使用標線性回歸(第19章)在最小化平方誤差的意義下找到最佳擬合。在強化學(xué)習(xí)中使用在線學(xué)習(xí)算法可以使每次試驗后的參數(shù)更新更有意義?,F(xiàn)在,假設(shè)我們運行一次試驗,從(1, 1)出發(fā)獲得的總獎勵0.4。這表明,目前的估計值0.8太大,必須降低。那么我們?nèi)绾瓮ㄟ^調(diào)整參數(shù)實現(xiàn)這一點?與神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)一樣,我們將給定一個誤差函數(shù),并計算它關(guān)于參數(shù)的梯度。若設(shè)uj(s)為在第j次試驗中從狀態(tài)s出發(fā)觀測到的總獎勵,那么誤差就定義為預(yù)測總獎勵和實際總獎勵的平方差的一半,即。每個參數(shù)關(guān)于誤差的變化率為,為了使參數(shù)朝著誤差減小的方向移動,我們進行如下更新:(22-10)對于在線最小二乘法,這被稱為Widrow-Hoff法則(Widrow–Hoffrule)或delta法則(delta rule)。對于式(22-9)中的線性函數(shù)近似,我們將得到3個簡單的更新規(guī)則:我們可以將這些規(guī)則應(yīng)用到實際樣例中,其中 為0.8,uj(1,1)為0.4。參數(shù)、和都將減小 ,從而降低樣例(1, 的誤差。注意,改變參數(shù)以響應(yīng)觀測到的兩個狀態(tài)之間的轉(zhuǎn)移也會改變其他狀態(tài)的值!這就是我們所說函數(shù)近似允許強化學(xué)習(xí)系統(tǒng)從經(jīng)驗中進行泛的意思。如果智能體使用函數(shù)近似的方法,只要假設(shè)空間不太大,并且包含一些與真實效用函數(shù)比較吻合的函數(shù),智能體將學(xué)習(xí)得更快。習(xí)題22.APLM要求讀者分別評估使用函數(shù)近似與不使用函數(shù)近似的直接效用估計的表現(xiàn)。在4×3世界中,函數(shù)近似方法帶來的改進是明顯的,但并不格外引人注目,因為這是一個非常小的簡單狀態(tài)空間。在一個大小為10×10、狀態(tài)(10,10)的獎勵為+1的世界里,函數(shù)近似的改進會更明顯。10×10世界非常適合采用線性效用函數(shù),因為真正的效用函數(shù)是光滑的且?guī)缀跏蔷€性的:它基本上是一個對角線的斜坡,其下端位于(1,1),上端位于(10, 10),另外,如果我們把+1獎勵設(shè)在(5, 5)位置,那真正的效用則更像是一個金字塔,此時式(22-9)中所用的函數(shù)近似的效果將極差。盡管如此,我們還有一線希望!記住,線性函數(shù)近似的關(guān)鍵在于數(shù)關(guān)于特征是線性的。因此我們?nèi)匀豢梢赃x擇關(guān)于狀態(tài)的任意非線性數(shù)作為特征。我們可以引入一個特征,例如f3(x, y) =來度量狀態(tài)到目標的距離。在使用了這一新特征后,線性函數(shù)近似器表現(xiàn)良好。近似時序差分學(xué)習(xí)我們同樣可以將這些想法應(yīng)用于時序差分學(xué)習(xí)器。我們要做的就是調(diào)整參數(shù)以減少相繼狀態(tài)之間的時序差分。時序差分公式和Q學(xué)習(xí)公式[式(22-3)和式(22-7)]的更新規(guī)則的新版本如下:(22-11)上式為效用函數(shù)的版本,下式為關(guān)于Q值的版本:(22-12)對于被動TD學(xué)習(xí),當函數(shù)近似器關(guān)于特征呈線性時,可以證明更新法則將收斂到最接近真實函數(shù)的近似。[4]在主動學(xué)習(xí)以及諸如神經(jīng)網(wǎng)絡(luò)等非線性為止,利用通用函數(shù)近似進行強化學(xué)習(xí)的研究仍發(fā)展得不十分充分。效用函數(shù)之間距離的定義要更加技術(shù)化,詳見論文(TsitsiklisandVanRoy,1997)。除參數(shù)可能發(fā)散到無窮大之外,還有一個更糟糕的稱為災(zāi)難性遺忘(catastrophicforgetting)的問題。假設(shè)你正在訓(xùn)練一輛自動駕駛汽車,使得它能在(模擬)道路上安全行駛且不發(fā)生碰撞。你為駛過道路的邊緣分配了一個較高的負面獎勵,并使用了道路位置的二次特征,使得汽車可以知道在道路中間行駛的效用高于靠近邊緣行駛的效用。在一切順利進行的情況下,這輛車將學(xué)會在路中間完美地行駛。幾分鐘后,你可能開始感到無聊,準備停止模擬并給出出色的結(jié)果。突然,車輛猛然轉(zhuǎn)向,沖出了公路。為什么會發(fā)生這樣的事?這是因為汽車學(xué)得太好了:因為它的學(xué)習(xí)目標是遠離邊緣,這可能會讓它明白道路的整個中心區(qū)域是一個安全的地方,但它忘記了靠近邊緣的區(qū)域是危險的。因此,價值函數(shù)的中心區(qū)域?qū)⑹瞧教沟模翁卣鞯臋?quán)重為零;在此基礎(chǔ)上,線性特征的任何非零權(quán)重都會導(dǎo)致汽車滑出道路的一側(cè)或另一側(cè)。一個解決這個問題的方法叫作經(jīng)驗回放(experiencereplay),它可以確保汽車定期重溫之前訓(xùn)練時發(fā)生的撞車行為。該學(xué)習(xí)算法將保留整個學(xué)習(xí)過程中出現(xiàn)的軌跡,并對這些軌跡進行回放,以確保它不再訪問的那部分狀態(tài)空間上的價值函數(shù)仍然是準確的。有很大的幫助。注意,學(xué)習(xí)一個可觀測環(huán)境的模型是一個監(jiān)督學(xué)習(xí)問題,因為下一個觀測給出了上一個觀測的結(jié)果狀態(tài)。第19~21擬以改進它對U或Q的近似表示,而不需要緩慢且可能十分昂貴的真實世界中的經(jīng)驗。對于部分可觀測的環(huán)境,相應(yīng)的學(xué)習(xí)問題要困難得多,因為下一個感知到的狀態(tài)不再是狀態(tài)預(yù)測問題的標簽。如果我們知道隱藏變量是什么,以及它們與可觀測變量之間的因果關(guān)系,那么我們就可以確定動態(tài)貝葉斯網(wǎng)絡(luò)的結(jié)構(gòu),并利用EM算法來學(xué)習(xí)參數(shù),就像第20章中所描述的一樣。學(xué)習(xí)動態(tài)貝葉斯網(wǎng)絡(luò)的內(nèi)部結(jié)構(gòu)和創(chuàng)建新的狀態(tài)變量仍然是一個困難的問題。深度循環(huán)神經(jīng)網(wǎng)絡(luò)(21.6節(jié))已經(jīng)在某些情況下成功地構(gòu)造了隱藏結(jié)構(gòu)。深度強化學(xué)習(xí)些效用函數(shù)或Q函數(shù)來說,可能不存在近似效果較好的線性函數(shù);其果仔細思考,這兩點實際上可以歸結(jié)為同一個原因:把U或Q表示為特征的線性組合總是可能的,尤其是當我們有形如或的特征時,但是除非我們能提供這樣的特征(以有效的可計算形式),否則線性函數(shù)近似器可能是不夠的。基于這些原因,研究人員從強化學(xué)習(xí)研究的早期開始就探索了更復(fù)雜的非線性函數(shù)近似器。目前,深度神經(jīng)網(wǎng)絡(luò)(第21章)在這方面非常火熱,并且已經(jīng)被證實,即使在輸入是完全沒有經(jīng)過人為設(shè)計的特征提取的原始圖像的情況下,深度神經(jīng)網(wǎng)絡(luò)也是有效的。如果訓(xùn)練過程一切順利,深度神經(jīng)網(wǎng)絡(luò)本身實際上已經(jīng)找到了有效的特征。并且如果網(wǎng)絡(luò)的最后一層是線性的,我們就可以看到網(wǎng)絡(luò)是用何種特征來建立自己的線性函數(shù)近似器。使用深度網(wǎng)絡(luò)作為函數(shù)近似器的強化學(xué)習(xí)系統(tǒng)稱為深度強化學(xué)習(xí)系統(tǒng)。正如式(22-9)所示,深度網(wǎng)絡(luò)是一個由參數(shù)化的函數(shù),只是它的函數(shù)要復(fù)雜得多,其參數(shù)由所有網(wǎng)絡(luò)層中的所有權(quán)重組成。盡管如此,式(22-11)和式(22-12)所需的梯度與監(jiān)督學(xué)習(xí)所需的梯度相同,并且它們同樣可以通過21.4節(jié)中所述的反向傳播過程來計算。正如我們在22.7節(jié)中所述,深度強化學(xué)習(xí)已經(jīng)取得了非常顯著的成果,其中包括在各種各樣的電子游戲中進行學(xué)習(xí)并成為游戲?qū)<?,在圍棋比賽中擊敗人類世界冠軍,以及?xùn)練機器人并令其執(zhí)行復(fù)雜任務(wù)。盡管深度強化學(xué)習(xí)取得了令人印象深刻的成果,它仍然面臨著巨大的阻礙:它通常很難有良好的表現(xiàn),并且如果訓(xùn)練數(shù)據(jù)與真實環(huán)境稍有不同,訓(xùn)練系統(tǒng)的行為可能會變得非常不可預(yù)測。與深度學(xué)習(xí)的其他應(yīng)用相比,深度強化學(xué)習(xí)很少應(yīng)用于商業(yè)環(huán)境,然而,這仍是一個非?;钴S的研究領(lǐng)域。獎勵函數(shù)設(shè)計正如我們在本文的引言中所指出的,真實世界中環(huán)境的獎勵可能非常稀疏:為了得到任何非0的獎勵,我們需要執(zhí)行很多的基元動作。例如,一個足球機器人在它丟球之前可能會向它的各個關(guān)節(jié)發(fā)送數(shù)十萬條運動控制指令,而現(xiàn)在它必須找出哪一步做錯了。我們用術(shù)語信用分配(creditassignment)命名該問題。除了進行數(shù)萬億場的足球比賽,使得負面獎勵最終能反饋到應(yīng)該對丟球負責的動作之外,還有更好的解決辦法嗎?一種常見的方法稱為獎勵函數(shù)設(shè)計(reward shaping),它最初于動物訓(xùn)練。該方法將為智能體提供額外的獎勵,我們稱之為偽獎勵(pseudoreward),用于獎勵智能體“取得進步”。例如,我們在機器人接觸球或?qū)⑶蛲七M球門時對其提供偽獎勵。這樣的獎勵可以極大地加快學(xué)習(xí)速度,而且提供起來也很簡單,但該方法存在一種風險,即智能體會將學(xué)習(xí)的目標定為最大化偽獎勵,而不是真正的獎勵,例如,智能體可能會認為站在球旁邊進行“振動”就可以與球多次接觸。在第17函數(shù)的方法。對于任意勢函數(shù)和任意獎勵函數(shù)R,我們可以構(gòu)造一個新的獎勵函數(shù)R′,它有如下形式:其中我們可以通過構(gòu)造勢函數(shù),以反映我們所希望的部分狀態(tài),例如反映某個子目標的實現(xiàn)或者目前狀態(tài)到我們希望的終止狀態(tài)的距離。例如,足球機器人的勢函數(shù)可以為機器人所在的球隊擁有球權(quán)的個獎勵。這都能使得整體的學(xué)習(xí)更快,同時不會妨礙機器人學(xué)習(xí),例如,它仍會學(xué)習(xí)在局勢有危險時回防到守門員附近。分層強化學(xué)習(xí)另一種處理過長動作序列的方法是把它們分成幾個小片段,然后再把它們分成更小的片段,并以此類推,直到動作序列足夠短,進而使學(xué)習(xí)變得容易。這種方法被稱為分層強化學(xué)習(xí)(hierarchicalreinforcementlearning,HRL),它與第11章中所描述的HTN規(guī)劃方法有很多共同點。例如,在足球比賽中,進球可以分解為獲得控球權(quán)、傳球給隊友、從隊友處接球、帶球向球門移動和射門,每一個過程都可以進一步細分為更低層級的運動行為。顯然,我們有多種方式獲得球權(quán)和射門,有多個隊友可選為傳球?qū)ο?,等等,所以每一個相對高層級的動作可能有許多不同的低層級實現(xiàn)。為了更具體說明這一想法,我們將考慮一個簡化的足球游戲keepaway,其中一個隊伍的3名球員試圖通過帶球和傳球以盡可能地延長控球時間,而另一隊的兩名球員則試圖通過攔截傳球或搶斷控球球員來獲得控球權(quán)。[5]游戲使用RoboCup2D模擬器來實現(xiàn),該模擬器提供了具有100毫秒時間步的詳細連續(xù)狀態(tài)運動模型,是一個很好的強化學(xué)習(xí)系統(tǒng)測試平臺。傳聞keepaway的靈感來源于巴塞羅那俱樂部的真實戰(zhàn)術(shù),但這可能沒有任何依據(jù)。分層強化學(xué)習(xí)智能體從一個局部程序(partialprogram)出發(fā),該程序刻畫了智能體行為的某種分層結(jié)構(gòu)。智能體程序的局部編程語言通過為必須通過學(xué)習(xí)得到的未指定的選擇添加主程序的方式擴展了原始的編程語言。(在這里,我們采用編程語言的偽代碼。)其中局部程序可以是任意復(fù)雜的,我們只要求它能終止。不難看出,一般的RL是HRL的一個特例。在此,我們只提供了一個簡單的局部程序,該程序允許智能體不斷地從A(s)(即當前狀態(tài)s下可以執(zhí)行動作的集合)中選擇任意動作:whiletruedochoose(A(s))其中choose操作允許智能體選擇指定集合中的任意元素。通過學(xué)習(xí)如何做出每個選擇,我們可以完善局部智能體程序并使其成為一個完整的程序,這就是學(xué)習(xí)過程。例如,學(xué)習(xí)過程可能將Q函數(shù)與每個選擇相關(guān)聯(lián),在學(xué)習(xí)到Q函數(shù)之后,程序就可以在每次需要做出選擇時選擇Q值最高的選項來產(chǎn)生動作。keepaway的智能體程序會更有趣一些。我們先考慮“持球者”團隊中單個球員的局部程序。在頂級聯(lián)賽中,球員對動作的選擇主要取決于球員是否持球:eot)of)noo,,)eoo,,)這些選擇中的每一個都會調(diào)用一個子程序,而子程序本身可能又會做出進一步的選擇,直到選擇到一個可以直接執(zhí)行的基元操作。例如,高層級動作傳球(PASS)首先可以選擇一個隊友作為傳球目標,也可以選擇不采取任何動作,并在適當情況(例如如果沒有人可以傳球)下將程序控制權(quán)返回到更高層級:oooo,)在此之后,傳球程序(PASS-TO)必須選擇傳球的速度和方向。雖然對于人類,即使一個人在足球方面沒有任何專業(yè)知識,他也能比較輕易地向?qū)W習(xí)智能體提供較高層級的建議,但如果要制定決定踢球速度和方向的準則,使得能最大化保持控球權(quán)的概率,這對沒有專業(yè)知識的人來說是很困難的。類似地,如何選擇正確的隊友進行傳球或應(yīng)該移動到哪里以使自己能夠接到球,這也是困難的。局部程序為復(fù)雜行為提供了一般性的整體框架和結(jié)構(gòu)化組織,而學(xué)習(xí)過程將解決所有細節(jié)問題。HRL的理論基礎(chǔ)建立在聯(lián)合狀態(tài)空間(jointstatespace)的概念之上,該狀態(tài)空間的每個狀態(tài)(s, m)由一個物理狀態(tài)s和一個機器狀態(tài)m成。機器狀態(tài)由智能體程序的當前內(nèi)部狀態(tài)決定:當前調(diào)用的堆棧上每個子程序的程序計數(shù)器、參數(shù)值以及所有局部和全局變量的值。舉例來說,如果智能體程序選擇傳球給隊友A,并且正在計算傳球的速度,那么是傳球()的參數(shù)這一事實是當前機器狀態(tài)的一部分。一個選擇狀態(tài)(choice 是指m的程序計數(shù)器正處于智能體程序中的一個選擇點的狀態(tài)。在兩個選擇狀態(tài)之間,可能會發(fā)生任意數(shù)量的轉(zhuǎn)移和物理動作,但它們都是預(yù)先注定的,我們可以這么理解:根據(jù)定義,智能體處于兩個選擇狀態(tài)之間時不做任何選擇。從本質(zhì)上講,分層強化學(xué)習(xí)智能體求解的是一個馬爾可夫決策問題,它包含以下元素。狀態(tài)為聯(lián)合狀態(tài)空間的選擇狀態(tài)。c。函數(shù)是在選擇狀態(tài)和之間發(fā)生的物理轉(zhuǎn)移的期獎勵總和。模型將通過一種顯式的方法定義:如果c采用了一物理動作a,那么將來自物理模型;如果c采用了一個計算轉(zhuǎn)移,例如調(diào)用了一個子程序,那么轉(zhuǎn)移將根據(jù)編程語言規(guī)則確定性地改變計算狀態(tài)m。[6],則動作持續(xù)時間將會影響對動作期間獲得的獎勵的折扣,這意味著必須加以額外的折扣。此外,轉(zhuǎn)移模型應(yīng)當包含關(guān)于持續(xù)時間的分布。通過求解該決策問題,智能體可以找到與原局部程序一致的最優(yōu)策略。分層強化學(xué)習(xí)是學(xué)習(xí)復(fù)雜行為的一種有效方法。在keepaway游戲中,一個基于上述局部程序的HRL與標準的策略對抗時能夠永遠保有控球權(quán)——約為10層次選擇的Q函數(shù)可以通過一個有自己的獎勵函數(shù)的單獨的訓(xùn)練過程進行初始化,然后再集成到整個系統(tǒng)中,這樣它們就可以在整個智能體面臨各種情境時較好地發(fā)揮作用。在22.4.4節(jié)中,我們看到設(shè)計獎勵函數(shù)有助于學(xué)習(xí)復(fù)雜的行為。在HRL中,聯(lián)合狀態(tài)空間中的學(xué)習(xí)為獎勵函數(shù)設(shè)計提供了有利條件。例如,為了幫助學(xué)習(xí)程序中用于準確傳球的函數(shù),我們可以根據(jù)傳案。行為的分層結(jié)構(gòu)也引導(dǎo)了一種對總體效用函數(shù)的自然的加性分解(additive decomposition)。不要忘了,效用是獎勵隨時間的總和,我們考慮一個序列,它有10個時間步,各時間步的獎勵為[r1,r2,…,r10]假設(shè)在前5個時間步中,智能體正在執(zhí)行,而在剩下的5個時間步中,智能體正在執(zhí)行操作。那么初始狀態(tài)的效用就是-的總獎勵和的總獎勵之和。前者只取決于球是否成功傳到A手中并讓A有足夠的時間和空間保有控球權(quán),后者只取決于智能體是否到達好的位置去接球。換句話說,整體的效用可以分解成若干項,每一項只依賴于幾個變量。反過來說,這也意味著這樣的分層學(xué)習(xí)比學(xué)習(xí)依賴于所有變量的單一效用函數(shù)要快得多。這在某種程度上類似于貝葉斯網(wǎng)絡(luò)簡潔性中的表示定理(第13章)。策略搜索最后一個我們要討論的用于強化學(xué)習(xí)問題的方法為策略搜索(policy search)單的一種,其核心思想是,只要策略的表現(xiàn)有所改進,就繼續(xù)調(diào)整策略,直到停止。讓我們從策略本身出發(fā)進行介紹。記住,策略是一個將狀態(tài)映射到動作的函數(shù),我們主要感興趣的是的參數(shù)化表示,它的參數(shù)比狀態(tài)空間中的狀態(tài)少得多(正如22.4節(jié)所述)。例如,我們可以用一組參數(shù)化的Q函數(shù)來表示,每個函數(shù)對應(yīng)一個動作,然后選取預(yù)測值最高的動作:(22-13)每個Q函數(shù)可以是如式(22-9)經(jīng)網(wǎng)絡(luò)等非線性函數(shù)。策略搜索將調(diào)整參數(shù)以改進策略。注意,如果策略由Q函數(shù)表示,那么策略搜索的過程就是學(xué)習(xí)Q函數(shù)的過程。但這個過程不同于Q學(xué)習(xí)!在利用函數(shù)近似進行Q在策略搜索中,算法將找到一個讓模有良好表現(xiàn)的值。這兩種方法得出的參數(shù)在數(shù)值上可能有很大差異。(例如,由定義的近似Q函數(shù)對應(yīng)的表現(xiàn)是最優(yōu)一個可以說明這種差異性的例子是的計算,例如,我們考慮使用近似效用函數(shù)進行深度為10的前瞻搜索一個表現(xiàn)較好的值所表示的近似效用函數(shù)可能與真正的效用函數(shù)相差很遠。式(22-13)中給出的策略表示存在一個問題,即如果動作是離散的,策略將是關(guān)于參數(shù)的不連續(xù)函數(shù)。也就是說,存在某些值,使得難??紤]到這個原因,策略搜索方法通常采用一種隨機策略(stochastic表示,它指定了在s狀態(tài)下選擇動作a的概率。一種較常用的表示是softmax函數(shù):(22-14)參數(shù)用于調(diào)節(jié)softmax的柔和程度:對于比Q值之間的間隔大的作用近似于取最大值操作,而對于接近于0值,近似于在備選動作中的均勻隨機選擇。對所有有限,softmax都是關(guān)于的可微函數(shù),因此策略價值(它連續(xù)地依賴于動作選擇概率)也是關(guān)于的可微函數(shù)?,F(xiàn)在讓我們著眼于可以改進策略的方法。我們從最簡單的情況開始:確定性策略和確定性環(huán)境。令為策略價值(policy value),執(zhí)行時的期望的預(yù)期獎勵。如果我們可以推導(dǎo)出的閉式表達式,那么我們就得到了一個第4章所描述的標準優(yōu)化問題。在可微的前提下,我們可以根據(jù)策略梯度(policy 進行優(yōu)化。相對地,如果我們不能得到的閉式表達式,我們可以簡單地通過執(zhí)行并觀測累積的獎勵來計算它。我們可以通過爬山算法獲得經(jīng)驗梯度,即評價每個參數(shù)的小增量所帶來的策略價值變化。在一般的條件下,這個過程將收斂到策略空間的局部最優(yōu)解。當環(huán)境(或策略)是非確定性的時,問題將更加困難。假定我們使用爬山算法,它要求比較和對于較小的的差異。此時存的問題是,每次試驗的總獎勵可能存在很大差異,因此從少量試驗中估計出的策略價值將是相當不可靠的,而試圖比較兩個這樣的估計將更加不可靠。一種簡單的解決辦法是進行大量試驗,同時計算樣本方差并用它來判斷是否已經(jīng)進行了足夠多的試驗,從而獲得改進的可靠方向。遺憾的是,這個方法對許多實際問題是不可行的,在這些問題中,試驗可能是昂貴的、耗時的,甚至可能是危險的。對于非確定性策略,我們可以直接從處的試驗結(jié)果得到的梯度的無偏估計。為了簡單起見,我們將對一個回合式環(huán)境的簡單情形推導(dǎo)該估計,回合式環(huán)境中每個動作a將獲得獎勵,而后環(huán)境將重新從s0出發(fā)。在這種情況下,策略價值就是獎勵的期望值,我們有現(xiàn)在我們將使用一個簡單的技巧,使得這個求和可以用由定義的概率分布生成的樣本來近似。假設(shè)我們總共做了N次試驗,其中第j次試驗采取的動作為aj。那么我們有因此,策略價值的真實梯度可以通過每個試驗中有關(guān)動作選擇概率的梯度項的總和來近似。在時序數(shù)據(jù)的情形中,該式可以進一步推廣為對于所訪問的每個狀態(tài)s,aj為第j次試驗中采取的動作,uj(s)為第j次試驗中從狀態(tài)出發(fā)獲得的總獎勵。由此產(chǎn)生的算法被稱為,它由羅恩·威廉姆斯(RonWilliams)提出(Williams,1992)。它通常比在每個值上進行大量試驗的爬山算法要有效得多。然而,它仍然比我們的需求慢得多??紤]以下任務(wù):給定兩個關(guān)于21點紙牌游戲的策略,我們需要確定哪一個策略最好。這些策略可能會有諸如?0.21%和+0.06%的凈回報,所以找出哪個更好對我們來說非常重要。一種方法是讓每個策略與一個標準的“莊家”進行一定次數(shù)的博弈,然后衡量它們各自贏得的金額。正如我們所看到的,其中的問題在于,每一個策略可能獲得的獎金會根據(jù)抽到的牌的好壞而劇烈波動。我們可能需要數(shù)以百萬計次抽牌才能可靠地判斷哪種策略更好。在爬山算法中使用隨機抽樣的方法比較兩個相鄰策略時,也會出現(xiàn)同樣的問題。21點紙牌游戲的一個更好的求解方法是預(yù)先生成一定數(shù)量的牌型,并對每個程序展示同一組牌型。通過這種方式,我們可以消除由于抽到的牌的差異而產(chǎn)生的衡量誤差。此時我們只需幾千手牌型就可以判斷兩個21點紙牌游戲的策略中哪一個更好。這種思想被稱為相關(guān)采樣(correlatedsampling),它可以應(yīng)用于一般的策略搜索,只要我們有一個隨機數(shù)序列可重復(fù)的環(huán)境模擬器。策略搜索算法PEGASUS(NgandJordan,2000)實現(xiàn)了相關(guān)采樣,這是首批實現(xiàn)完全穩(wěn)定的直升機自主飛行的算法之一(見圖22-9b)。可以證明,確保每個策略價值都能得到較好地估計所需的隨機序列的數(shù)目僅取決于策略空間的復(fù)雜性,而與底層領(lǐng)域的復(fù)雜性完全無關(guān)。學(xué)徒學(xué)習(xí)與逆強化學(xué)習(xí)一些領(lǐng)域過于復(fù)雜,以至于很難在其中定義強化學(xué)習(xí)所需的獎勵函數(shù)。例如,我們到底想讓自動駕駛汽車做什么?當然,我們希望它到達目的地花費的時間不要太長,但它也不應(yīng)開得太快,以免帶來不必要的危險或超速罰單;它應(yīng)該節(jié)省燃料或能源;它應(yīng)該避免碰撞或由突然變速給乘客帶來的劇烈晃動,但它仍可以在緊急情況下猛踩剎車,等等。為這些因素分配權(quán)重比較困難。更糟糕的是,我們幾乎必然會忘記一些重要的因素,例如它有義務(wù)為其他司機著想。忽略一個因素通常會導(dǎo)致學(xué)習(xí)系統(tǒng)為被忽略的因素分配一個極端值,在這種情況下,汽車可能會為了使剩余的因素最大化而進行極不負責任的駕駛。該問題的一種解決方法是在模擬中進行大量的測試并關(guān)注有問題的行為,再嘗試通過修改獎勵函數(shù)以消除這些行為。另一種解決方法是尋找有關(guān)適合的獎勵函數(shù)的其他信息來源。這種信息來源之一是獎勵函數(shù)已經(jīng)完成優(yōu)化(或幾乎完成優(yōu)化)的智能體的行為,在這個例子中來源可以是專業(yè)的人類駕駛員。學(xué)徒學(xué)習(xí)(apprenticeship learning)研究這樣的問題:在提供了些對專家的行為觀測的基礎(chǔ)上,我們?nèi)绾巫寣W(xué)習(xí)表現(xiàn)得較好。我們將給出專業(yè)駕駛的算法例子,并告訴學(xué)習(xí)者“像這樣去做”。我們有(至少)兩種方法來解決學(xué)徒學(xué)習(xí)問題。第一種方法我們已經(jīng)在本文開頭簡要討論過:假設(shè)環(huán)境是可觀測的,我們對觀測到的狀態(tài)-動作對應(yīng)用監(jiān)督學(xué)習(xí)方法以學(xué)習(xí)策略。這也被稱作模仿學(xué)習(xí)(imitationlearning),它在機器人技術(shù)方面取得了若干成果(見26.8節(jié)),但它也面臨著學(xué)習(xí)較為脆弱這類問題:訓(xùn)練集中的微小誤差將隨著時間累積增長,并最終導(dǎo)致學(xué)習(xí)失敗。并且模仿學(xué)習(xí)最多只能復(fù)現(xiàn)教師的表現(xiàn),而不能超越教師的表現(xiàn)。當人類通過模仿進行學(xué)習(xí)時,我們有時會用貶義詞“aping”(模仿得像笨拙的猿一樣)來形容他們的做法。[在猿類之中,它們很有可能會使用“humaning”(模仿得像笨拙的人一樣)這個詞,這也許更具貶義。]這意味著,模仿學(xué)習(xí)者不明白為什么它應(yīng)該執(zhí)行指定的動作。學(xué)徒學(xué)習(xí)的第二種方法旨在理解原因:觀察專家的行為(和結(jié)果狀態(tài)),并試圖找出專家所最大化的獎勵函數(shù)。然后我們就可以得到一個關(guān)于這個獎勵函數(shù)的最優(yōu)策略。人們期望這種方法能從相對較少的專家行為樣本中得到較為健壯的策略,畢竟強化學(xué)習(xí)領(lǐng)域本身是基于獎勵函數(shù)(而不是策略或價值函數(shù))是對任務(wù)最簡潔、最健壯和可遷移的定義這樣一種想法的。此外,如果學(xué)習(xí)者恰當?shù)乜紤]了專家可能存在的次優(yōu)問題,那么通過優(yōu)化真實獎勵函數(shù)的某個較為精確的近似函數(shù),學(xué)習(xí)者可能會比專家表現(xiàn)得更好。我們稱該方法為逆強化學(xué)習(xí)(inversereinforcement learning,IRL):通過觀察策略來學(xué)習(xí)獎勵,而不是通觀察獎勵來學(xué)習(xí)策略。那么在給定專家的行為后,我們?nèi)绾握业綄<宜鶅?yōu)化的獎勵函數(shù)?我們暫且先假設(shè)專家的行為是理性的。在這種情況下,我們似乎應(yīng)該尋找一個獎勵函數(shù)R*,使得專家策略下的期望總折扣獎勵高于(或至少等于)任何其他可能策略下的期望總折扣獎勵。即為,這是因為在沒有任何獎勵的情況下,任何策略都是理性的。[7]這種方法的另一個問題是,專家是理性的這一假設(shè)是不現(xiàn)實的。這一假設(shè)意味著,例如,一個機器人觀察發(fā)現(xiàn),李世石在與O身就想輸?shù)舯荣?。根?jù)式(17-9),獎勵函數(shù) 具有與完全相的最優(yōu)策略,因此我們只能在相差任意一個設(shè)計函數(shù)的意義下恢復(fù)出獎勵函數(shù)。這個問并十分嚴重,因為使用R'進行學(xué)習(xí)的機器人的行為會與使用“正確的”R進行訓(xùn)練的機器人表現(xiàn)得一樣。貝葉斯方法在避免能夠解釋任何觀測到的行為這一問題上是有一定幫助的。(有關(guān)貝葉斯方法的內(nèi)容見20.1節(jié)。)假設(shè)我們現(xiàn)在觀測到數(shù)據(jù)為d,并假設(shè)真實的獎勵函數(shù)R對應(yīng)的假設(shè)為hR據(jù)貝葉斯法則,我們有設(shè)想一下,如果前面所述的P(hR)基于假設(shè)的簡單性,那么假設(shè)R 0將有一個相當好的得分,因為0必然是簡單的。另外,對于假設(shè),是無窮小的,因為它不能解釋為什么專家從巨大的行為空間中選擇了這些特定行為,這些行為在假設(shè)為真的前提下是最優(yōu)的。然數(shù)將比這大得多。考慮到專家偶爾可能會犯錯誤,我們將簡單地允許在d是獎勵函數(shù)R認為的次優(yōu)行為時非0。這里我們必須指出,出于數(shù)學(xué)上的方便考慮(而不是出于對實際人類數(shù)據(jù)的忠實),我們一般假設(shè)一個真實Q函數(shù)為Q(s, a)的智能體不是通過確定性策略進行擇,而是根據(jù)式(22-14)中softmax分布定義的隨機策略給出。有時我們也稱之為玻爾茲曼合理性(Boltzmannrationality),因為在統(tǒng)計力學(xué)中,玻爾茲曼分布中的狀態(tài)發(fā)生概率指數(shù)地依賴于它們的能量級別。在相關(guān)領(lǐng)域的文獻中,已經(jīng)有幾十種形式的逆強化學(xué)習(xí)算法。其中最簡單的一種稱為特征匹配(featurematching)。它假設(shè)獎勵函數(shù)可以寫成特征的加權(quán)線性組合:度、距離最近的障礙物等?;叵氲?7章中的式(17-2),從狀態(tài)s0出發(fā)執(zhí)行策略的效用定義為其中期望E是關(guān)于由s和決定的狀態(tài)序列上的概率分布的期望。因為R被假定為特征值的線性組合,我們可以將上式重新表述成如下形式:其中,我們將特征期望(feature 定義為執(zhí)行策略時特征fi的期望折扣值。例如,如果fi是車輛的超出限速的速度(高于限速),那么則是整個運動軌跡上的(依時間折扣)平均超速。關(guān)于特征期望的關(guān)鍵點在于:如果一個策略產(chǎn)生的特征期望與專家的策略相吻合,那么根據(jù)專家自己的獎勵函數(shù),將與專家的策略一樣好。數(shù)的值,使得參數(shù)值所產(chǎn)生的策略的特征期望與專家策略在觀測到的這一點。一個初始缺省策略。直到收斂:? 求解參數(shù),使得專家策略最大限度地優(yōu)于根據(jù)期望效得到的策略。?令為獎勵函數(shù)對應(yīng)的最優(yōu)策略。于自身的獎勵函數(shù)得到的。該算法只需次迭代和次專家演示,其中n為特征數(shù)量。利用逆強化學(xué)習(xí),機器人可以通過理解專家的動作來為自己學(xué)習(xí)一個好的策略。此外,在多智能體領(lǐng)域中,機器人還可以學(xué)習(xí)其他智能體所使用的策略,無論這些策略是競爭的還是合作的。最后,逆強化學(xué)習(xí)還可以用于科學(xué)研究(不用考慮任何智能體的設(shè)計問題),并能更好地理解人類和其他動物的行為。逆強化學(xué)習(xí)中的一個關(guān)鍵假設(shè)是“專家”在單個智能體的MDP中的行為關(guān)于某些獎勵函數(shù)是最優(yōu)的,或接近最優(yōu)的。如果學(xué)習(xí)者能夠單向地觀測專家的行為,而專家沉浸在他或她的工作中且不受其影響,那么這將是一個合理的假設(shè)。如果專家知道學(xué)習(xí)者的存在,這將不是一個合理的假設(shè)。例如,假設(shè)醫(yī)學(xué)院中有一個機器人,它通過觀測人類專家進行學(xué)習(xí),希望成為一名外科醫(yī)生。逆強化學(xué)習(xí)算法假設(shè)人類以通常的最優(yōu)方式進行手術(shù),機器人的存在不會對其產(chǎn)生影響。但事實并非如此:人類外科醫(yī)生希望能讓機器人(像其他醫(yī)學(xué)生一樣)學(xué)得又快又好,因此她會較大地改變自己的行為。她可能會一邊進行手術(shù)一邊解釋她在做什么,她可能會指出需要避免的錯誤,例如切口太深或縫線太緊,她可能會描述一下手術(shù)中萬一出了問題時的應(yīng)急方案。但其實當醫(yī)生單獨進行手術(shù)時,這些行為都沒有意義,因此逆強化學(xué)習(xí)算法將無法解釋潛在的獎勵函數(shù)。相反,我們需要將這種情況理解為一個雙人輔助博弈,正如我們在18.2.5節(jié)中所述。強化學(xué)習(xí)的應(yīng)用最后,我們介紹一些強化學(xué)習(xí)的應(yīng)用。強化學(xué)習(xí)的應(yīng)用包括游戲方面的應(yīng)用(其中轉(zhuǎn)移模型是已知的,目標是學(xué)習(xí)效用函數(shù))和機器人方面的應(yīng)用(其中模型最初是未知的)。在電子游戲中的應(yīng)用在第1章中,我們介紹了了亞瑟·塞繆爾于1952年開始的關(guān)于西洋跳棋強化學(xué)習(xí)的早期工作。幾十年后,人們再次嘗試了這個問題,格里·特索羅(Gerry Tesauro)在他的西洋雙陸棋工作中介紹了相關(guān)結(jié)(uo, 1990)。特索羅的第一次嘗試設(shè)計了一個名為的系統(tǒng)。它所用的方法是模仿學(xué)習(xí)的一種有趣的變體,它的輸入是400局由特索羅自己與自己進行的游戲?qū)?。并沒有直接學(xué)習(xí)策略,而是將每個轉(zhuǎn)移(s,a,s')轉(zhuǎn)換為一組訓(xùn)練樣本,其中每個樣本的標簽為s',其含義為它比狀態(tài)s下通過不同的移動到達的其他位置s''更好。該網(wǎng)絡(luò)分為兩部分,一部分用于s',另一部分用于s'',并通過比較兩部分的輸出來選擇更好的網(wǎng)絡(luò)。以這樣的方式,每一部分都將學(xué)習(xí)到一個評價函數(shù)。在1989年舉行的計算機奧林匹克競賽中奪冠,這是有史以來第一個贏得計算機游戲錦標賽的學(xué)習(xí)程序,但它從未超越特索羅自己發(fā)揮中等時的水平。由特索羅開發(fā)的另一個系統(tǒng)TD-GAMMON(Tesauro,1992)采用了里奇·薩頓(RichSutton)最近出版的書中的TD學(xué)習(xí)方法——本質(zhì)上類似于由塞繆爾發(fā)展的探索方法,但該方法對如何正確地操作有了更深入的技術(shù)層面的理解。其評價函數(shù)是一個帶有包含80個節(jié)點的隱藏層的全連接神經(jīng)網(wǎng)絡(luò)。(它還借鑒了一些NEUROGAMMON所使用的人工設(shè)計的輸入特征。)經(jīng)過30萬局游戲的訓(xùn)練后,它達到了與世界排名前三的人類玩家相當?shù)乃?。世界排名前十的玩家基特·伍爾西(KitWoolsey)說道:“毫無疑問,在我看來,它對局面的判斷遠比我優(yōu)秀?!痹擃I(lǐng)域的下一個挑戰(zhàn)是從原始的感知輸入(更接近真實世界的畫面)中學(xué)習(xí),而不是從離散的游戲界面表示中學(xué)習(xí)。自2012自DeepMind的一個團隊開發(fā)了所謂的深度Q網(wǎng)絡(luò)(deep DQN)系統(tǒng),這是第一個現(xiàn)代深度強化學(xué)習(xí)系統(tǒng)。DQN采用深度神經(jīng)網(wǎng)絡(luò)表示Q函數(shù),除此之外它其實是典型的強化學(xué)習(xí)系統(tǒng)。DQN已經(jīng)分別在49款不同的Atari電子游戲中訓(xùn)練過。它學(xué)會了模擬賽車、射擊外星人的宇宙飛船以及用槳彈球。在每一種情形下,智能體都從原始圖像數(shù)據(jù)中學(xué)習(xí)一個Q函數(shù),其獲得的獎勵為游戲分數(shù)。總的來說,這個系統(tǒng)的表現(xiàn)基本上達到了人類專家的水平,盡管在個別游戲中它的表現(xiàn)不盡如人意。尤其是其中一個名為《

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論