強化學習(RL)是一個序貫決策框架,智能體在此框架中通過在環(huán)境內執(zhí)行動作來學習,旨在最大化獲得的獎勵。例如,RL 算法可以控制視頻游戲中角色(智能體)的移動(動作),以最大化分數(shù)(獎勵)。在機器人領域,RL 算法能控制機器人(智能體)在現(xiàn)實世界(環(huán)境)內的活動,執(zhí)行特定任務以賺取獎勵。在金融領域,RL 算法或許會控制一個虛擬交易員(智能體),在交易平臺(環(huán)境)上進行資產買賣(動作),以最大化利潤(獎勵)。 以學習下棋為例,游戲結束時,根據(jù)智能體的勝、負或平,獎勵分別為 +1、-1 或 0,而在游戲的其他時間步驟中獎勵為 0。這體現(xiàn)了 RL 的挑戰(zhàn)。首先,獎勵是稀疏的,即只有在完成整場游戲后才能獲得反饋。其次,獎勵與導致其發(fā)生的動作之間存在時間上的延遲,如在獲得勝利的三十步之前可能就已獲得決定性優(yōu)勢,這要求將獎勵與關鍵動作關聯(lián)起來,這種情況稱為時間信用分配問題。第三,環(huán)境具有隨機性,對手的每次移動不總是相同的,這使得判斷一個動作是真正有效還是僅僅依賴運氣變得困難。最后,智能體需要在探索環(huán)境(例如,嘗試新的開局方式)與利用已有知識(例如,使用之前成功的開局)之間做出平衡,這種平衡稱為探索與利用的權衡。 強化學習是一個廣泛的框架,不必須依賴深度學習。然而,在實際應用中,先進的系統(tǒng)通常會使用深度網(wǎng)絡,這些網(wǎng)絡對環(huán)境(如視頻游戲畫面、機器人傳感器、金融時間序列或棋盤)進行編碼,并將其直接或間接映射到下一步動作(圖 1.13)。 19.1 馬爾可夫決策過程、回報與策略強化學習將環(huán)境觀察轉化為動作,其目標是最大化與所獲獎勵相關的數(shù)值。通常,我們通過學習一個策略來最大化馬爾科夫決策過程中的預期回報。本節(jié)將解釋這些術語。 19.1.1 馬爾科夫過程馬爾科夫過程是一種假設,認為世界總是存在于一系列可能的狀態(tài)中。馬爾科夫性指的是,一個狀態(tài)的出現(xiàn)概率只與其前一個狀態(tài)有關,而與更早的狀態(tài)無關。狀態(tài)之間的轉變通過轉移概率 $Pr(s{t+1}|st)$ 描述,即從當前狀態(tài) $st$ 轉移到下一個狀態(tài) $s{t+1}$ 的概率,這里的 t 表示時間步。因此,馬爾科夫過程是不斷演化的,它生成一系列狀態(tài) $s1, s2, s_3$ ...(圖 19.1)。 19.1.2 馬爾可夫獎勵過程馬爾科夫獎勵過程 包含一個分布 $Pr(r{t+1}|st)$,用以確定在狀態(tài) $st$ 下,下一時間步驟可能獲得的獎勵 $r{t+1}$。這構建了一個由狀態(tài)和其對應獎勵組成的序列 $r1, s1, r2, s2, r3, s3, r_4 \ldots$(圖 19.2)。 在馬爾科夫獎勵過程中,還引入了一個折扣因子 $\gamma \in (0, 1)$ 來計算在時間點 $t$ 的回報 $G_t$: 回報是對未來獎勵進行累積折扣計算后的總和,用于評估沿此軌跡的未來收益。折扣因子小于一意味著越近期的獎勵比遠期的獎勵更有價值。 19.1.3 馬爾科夫決策過程馬爾科夫決策過程(MDP)為每一個時間步增加了一組可能的動作。這些動作 $at$ 會改變轉移概率,現(xiàn)在表示為 $Pr(s{t+1}|st, at)$。獎勵同樣可能受到動作的影響,現(xiàn)表示為 $Pr(r{t+1}|st, at)$。MDP 描述了一個由狀態(tài)、動作及獎勵組成的序列 $s1, a1, r2, s2, a2, r3, s3, a3, r4 \ldots$(圖 19.3)。進行這些動作的實體稱為智能體。 19.1.4 部分可觀測馬爾可夫決策過程在部分可觀測馬爾科夫決策過程(POMDP)中,狀態(tài)并不直接顯現(xiàn)給智能體(圖 19.4)。智能體得到的是觀測值 $ot$,這個觀測值根據(jù) $Pr(ot|st)$ 的概率分布得出。因此,POMDP 創(chuàng)造了一個由狀態(tài)、觀測、動作和獎勵組成的序列 $s1, o1, a1, r2, s2, o2, a2, r3, s3, o3, a3, r_4 \ldots$。一般而言,每個觀測值與某些狀態(tài)更為匹配,但不足以精確確定具體的狀態(tài)。 19.1.5 策略策略(圖 19.5)是指導智能體在各個狀態(tài)下采取何種行動的規(guī)則。策略可以是隨機的,即為每個狀態(tài)定義一系列動作的概率分布;也可以是確定性的,即智能體在特定狀態(tài)下總是執(zhí)行相同的動作。隨機策略 $\pi(a|s)$ 對于狀態(tài) $s$ 下的每個可能動作提供一個概率分布,用于抽樣決定新的動作。確定性策略 $\pi(a|s)$ 對于狀態(tài) $s$ 下選定的動作 $a$ 返回一,對其他動作返回零。靜態(tài)策略僅與當前狀態(tài)相關,而非靜態(tài)策略還考慮了時間步的變化。 環(huán)境與智能體之間形成一個交互循環(huán)(圖 19.6)。智能體接收上一時間步的狀態(tài) $st$ 和獎勵 $rt$,并依此來調整策略 $\pi(a|st)$,選擇下一步的動作 $at$。隨后,環(huán)境根據(jù) $Pr(s{t+1}|st, at)$ 確定下一個狀態(tài),并根據(jù) $Pr(r{t+1}|st, at)$ 確定獎勵。 19.2 預期回報上一節(jié)我們介紹了馬爾科夫決策過程,以及智能體如何根據(jù)策略進行動作。我們的目標是找到一個最大化預期回報的策略。在本節(jié)中,我們將對這一概念進行數(shù)學上的精確定義。為了做到這點,我們給每個狀態(tài) $st$ 和每對狀態(tài)-動作 ${st, a_t}$ 賦予一個數(shù)值。 19.2.1 狀態(tài)與動作價值回報 $Gt$ 取決于狀態(tài) $st$ 和策略 $\pi(a|s)$。智能體將從這個狀態(tài)出發(fā),經歷一系列狀態(tài)的變遷,執(zhí)行動作并收獲獎勵。由于策略 $\pi(a|st)$、狀態(tài)轉移 $Pr(s{t+1}|st, at)$ 以及獎勵 $Pr(r{t+1}|st, a_t)$ 都具有隨機性,即使是從同一起點出發(fā),智能體經歷的序列也會每次不同。 在特定策略 $\pi$ 下,通過考慮預期回報 $v(s_t|\pi)$,我們可以評估一個狀態(tài)的價值。這是從該狀態(tài)開始,遵循策略所得到的平均回報,稱為狀態(tài)價值或狀態(tài)價值函數(shù)(圖 19.7a): 狀態(tài)價值反映了從某一狀態(tài)出發(fā),長期遵循特定策略所能期待的平均獎勵。在后續(xù)狀態(tài)轉移可能快速獲得較大獎勵的情況下,這一價值尤為顯著(假定折扣因子 $\gamma$ 小于一)。 同樣,動作價值或狀態(tài)-動作價值函數(shù) $q(st, at|\pi)$ 表示在狀態(tài) $st$ 中執(zhí)行動作 $at$ 的預期回報(圖 19.7b): 動作價值顯示了從一個狀態(tài)出發(fā),采取某動作并遵循特定策略之后,長期所能獲取的平均獎勵。強化學習算法利用這個指標將當前動作與未來的獎勵相連接,從而解決時間信用分配問題。 19.2.2 最優(yōu)策略我們追求的策略目標是最大化預期回報。在 MDP 中(POMDP 則不適用),總能找到一個既確定性又靜態(tài)的策略,以最大化所有狀態(tài)的價值。如果我們掌握了這一最優(yōu)策略,我們便能獲得最優(yōu)狀態(tài)價值函數(shù) $v^*(s_t)$: 同理,最優(yōu)狀態(tài)-動作價值函數(shù)可以在最優(yōu)策略下得到: 進一步地,如果我們知道了最優(yōu)動作價值 $q^*(st, at)$,就可以通過選取最高價值的動作 $a_t$ 來確定最優(yōu)策略(圖 19.7c): 事實上,有些強化學習算法就是基于動作價值和策略的交替估計來實現(xiàn)的(參見第 19.3 節(jié))。 19.2.3 貝爾曼方程對于任何策略,我們可能無法準確知道狀態(tài)價值 $v(st)$ 或動作價值 $q(st, at)$。但是,這些價值需要相互協(xié)調一致,我們可以容易地確定它們之間的關系。狀態(tài)價值 $v(st)$ 由動作價值 $q(st, at)$ 的加權和構成,權重由策略 $\pi(at|st)$ 決定動作的概率(圖 19.8): 同理,動作的價值等于執(zhí)行該動作所獲得的即時獎勵 $r{t+1} = r(st, at)$,加上下一狀態(tài) $s{t+1}$ 的價值 $v(s{t+1})$ 經過折扣 $\gamma$ 后的結果(圖 19.9)。因為狀態(tài) $s{t+1}$ 的確定不是一成不變的,我們需要根據(jù)轉移概率 $Pr(s{t+1}|st, at)$ 來加權 $v(s{t+1})$: 將方程 19.8 代入方程 19.7,我們可以得到時間 $t$ 和 $t + 1$ 之間狀態(tài)價值的關系: 同樣,將方程 19.7 代入方程 19.8,我們可以得到時間 $t$ 和 $t + 1$ 之間動作價值的關系: 這兩個關系構成了貝爾曼方程,它們是許多強化學習方法的基礎。簡言之,它們要求狀態(tài)價值和動作價值之間保持一致性。因此,當我們更新某個狀態(tài)或動作價值的估計時,會引起其他所有價值的連鎖調整。 19.3 表格式強化學習表格型強化學習算法,也就是不依賴函數(shù)逼近技術的算法,分為基于模型和無模型兩種方法。基于模型的方法利用 MDP 結構來明確尋找最佳策略,通過分析轉移矩陣 $Pr(s{t+1}|st,a_t)$ 和獎勵結構 r[s, a] 實現(xiàn)。若這些信息已知,問題則轉化為可通過動態(tài)規(guī)劃解決的直接優(yōu)化問題。如果未知,就需要先基于觀測到的 MDP 軌跡進行估計。 無模型方法則不依賴于 MDP 的具體模型,分為兩種:1. 值估計方法,旨在估計最優(yōu)狀態(tài)-動作價值函數(shù),然后為每個狀態(tài)指定最大價值動作的策略;
在這兩個方法系列中,蒙特卡洛方法通過模擬多個給定策略的 MDP 軌跡來積累信息,進而優(yōu)化策略。然而,在策略更新前模擬眾多軌跡有時既不可行也不實際。時序差分(TD)方法允許在智能體遍歷 MDP 過程中實時更新策略。 接下來簡述動態(tài)規(guī)劃、蒙特卡洛值估計和 TD 值估計方法。第 19.4 節(jié)將介紹深度網(wǎng)絡如何用于 TD 值估計方法,而第 19.5 節(jié)繼續(xù)討論策略估計。 19.3.1 動態(tài)規(guī)劃動態(tài)規(guī)劃算法基于完整了解轉移和獎勵結構的前提。與大多數(shù)強化學習算法不同,后者依靠觀測智能體與環(huán)境的交互來間接獲得這些數(shù)據(jù)。 狀態(tài)價值 $v(s)$ 通常初始化為零,而確定性策略 $\pi(a|s)$ 則通過為每個狀態(tài)隨機選擇一個動作來初始化。接下來,算法交替執(zhí)行對當前策略的狀態(tài)價值計算(策略評估)和策略的優(yōu)化(策略改進)。 策略評估: 遍歷各狀態(tài) $s_t$,根據(jù)貝爾曼方程更新它們的價值: 其中 $s{t+1}$ 是后繼狀態(tài),$Pr(s{t+1}|st, at)$ 表示狀態(tài)轉移概率。更新使 $v(st)$ 與后繼狀態(tài) $s{t+1}$ 的價值保持一致,這個過程稱為自舉。 策略改進: 更新策略時,我們貪心地選擇能使每個狀態(tài)價值最大化的動作: 根據(jù)策略改進定理,這種方法能夠保證策略的持續(xù)優(yōu)化。這兩個步驟持續(xù)迭代,直到策略穩(wěn)定(圖 19.10)。 這種方法有多種變體。在策略迭代中,會先將策略評估迭代至收斂,然后再進行策略改進。值的更新可以在每次掃描時就地或同步進行。值迭代中,策略評估只進行一次掃描就直接進入策略改進。異步動態(tài)規(guī)劃算法無需每步都系統(tǒng)地遍歷所有狀態(tài),而是可以任意順序地就地更新部分狀態(tài)。 19.3.2 蒙特卡洛方法與動態(tài)規(guī)劃算法不同,蒙特卡洛方法不需要預先知道 MDP 的轉移概率和獎勵結構。它們通過重復采樣 MDP 的軌跡并觀察獎勵來積累經驗。這些方法在計算行動價值(基于累積的經驗)和更新策略(基于行動價值)之間交替進行。 為了估計行動價值 $q(s, a)$,會運行一系列輪次。每個輪次從給定狀態(tài)和行為開始,隨后按照當前策略執(zhí)行,產生一連串的行為、狀態(tài)和收益(圖 19.11a)。給定狀態(tài)-行為對的行動價值,在當前策略下,通過平均每次觀察到此對后獲得的實證回報來估計(圖 19.11b)。然后,通過選擇每個狀態(tài)下價值最大的行為來更新策略(圖 19.11c): 這是一種在策略學習方法;使用當前最優(yōu)策略來指導智能體穿行于環(huán)境中。這個策略是基于每個狀態(tài)觀察到的行動價值確定的,但是未使用的行為的價值是無法估計的,同時沒有機制促使算法去探索這些未知行為。一種解決方法是采用探索初始法。在此方法中,每種可能的狀態(tài)-行為對都會啟動一個輪次,確保每種組合至少被觀察一次。然而,如果狀態(tài)數(shù)量龐大或起始點無法控制,則這種方法不切實際。另一種方法是采用 ε-貪婪策略,即以 ε 的概率采取隨機行動,而將剩余的概率分配給最優(yōu)行動。ε 的選擇實現(xiàn)了利用與探索之間的權衡。在這種情況下,基于 ε-貪婪策略的在策略學習方法會尋找最佳策略,但這通常不是最佳的整體策略。 相反,在離策略學習方法中,通過不同的行為策略 π′ 生成的輪次來學習最優(yōu)策略 π(目標策略)。通常目標策略是確定性的,而行為策略是隨機的(例如,ε-貪婪策略)。因此,行為策略能夠探索環(huán)境,而學到的目標策略則保持高效。某些離策略方法明確采用重要性采樣(第 17.8.1 節(jié))來估計在策略 π 下的行動價值,使用來自 π′ 的樣本。其他方法,如 Q 學習(將在下一節(jié)描述),則基于最優(yōu)行動來估計價值,即便實際選擇的行動可能并非如此。 19.3.3 時序差分學習動態(tài)規(guī)劃方法采用自舉方法來更新數(shù)值,確保它們在當前策略下自洽。蒙特卡洛方法通過對 MDP 的采樣來獲得信息。時序差異 (Temporal Difference, TD) 方法融合了自舉和采樣。不過,與蒙特卡洛方法不同的是,TD 方法在智能體遍歷 MDP 狀態(tài)的過程中就更新數(shù)值和策略,而不是之后。 SARSA(狀態(tài)-行動-獎勵-狀態(tài)-行動)是一種在策略 (on-policy) 算法,其更新公式為: 其中,$\alpha \in \mathbb{R}^+$ 表示學習率。方括號內的項稱為TD 誤差,用于衡量經過單步操作后,估計的行動價值 $q(st, at)$ 與其后的估計值 $r(st, at)+\gamma q(s{t+1}, a{t+1})$ 之間的一致性。 相對而言,Q-學習 是一種離策略 (off-policy) 算法,其更新公式如下(圖 19.12): 其中,每一步的行動選擇是基于不同的行為策略 $\pi'$ 來確定的。 在這兩種情況下,策略通過在每個狀態(tài)下取行動價值的最大值來更新(方程 19.13)。可以證明,這些更新是收斂映射(參見方程 16.20);只要每個狀態(tài)-行動對被訪問無限次,行動價值就會最終收斂。 19.4 擬合 Q-learning上文描述的表格式 Monte Carlo 和 TD (時序差分) 算法反復遍歷整個馬爾科夫決策過程 (MDP) 并更新動作價值。但是,只有當狀態(tài)-動作空間較小時,這種方法才是可行的。遺憾的是,這種情況并不常見;即便是在棋盤這樣的限制環(huán)境中,也存在超過 $10^{40}$ 個可能的動作價值。 在擬合 Q-學習中,法定狀態(tài)的離散表示 $q(st, at)$ 被替換為機器學習模型 $q(st, at; \theta)$,現(xiàn)在狀態(tài)由向量 $s_t$ 表示,而不僅僅是一個索引。接著我們定義了一個基于相鄰動作價值一致性的最小二乘法損失(類似于 Q-學習中的做法,見方程 19.15): 這進而引導了以下更新公式: 擬合 Q-學習與 Q-學習的區(qū)別在于它不再保證收斂性。參數(shù)的改變可能會同時影響目標 $r(st, at) + \gamma \max{a} q(s{t+1}, a{t+1}; \phi)$(最大值可能發(fā)生變化)和預測 $q(st, a_t; \phi)$,這在理論和實踐上都被證明會對收斂性產生不利影響。 19.4.1 深度 Q-網(wǎng)絡在 ATARI 游戲中的應用深度網(wǎng)絡非常適合于從高維狀態(tài)空間進行預測,因此在擬合 Q-學習中成為模型的自然選擇。理論上,它們能夠同時處理狀態(tài)和動作作為輸入以預測值,但實踐中,網(wǎng)絡只接收狀態(tài)作為輸入,并同時預測各個動作的值。 Deep Q-Network 是一個突破性的強化學習架構,它利用深度網(wǎng)絡學會了玩 ATARI 2600 游戲。觀測數(shù)據(jù)包括 220×160 像素的圖像,每個像素擁有 128 種可能的顏色(見圖 19.13)。這些圖像被重塑為 84×84 像素,并且只保留了亮度值。不幸的是,單一幀圖像無法展現(xiàn)完整的狀態(tài)。例如,游戲中物體的速度未知。為解決這個問題,網(wǎng)絡在每個時間步驟攝取最后四幀圖像,組成 $s_t$。網(wǎng)絡通過三個卷積層及一個全連接層處理這些幀,以預測每個動作的價值(見圖 19.14)。 對標準訓練過程進行了數(shù)項修改。首先,根據(jù)游戲得分驅動的獎勵被限制在 ?1 到 +1 之間,這種做法旨在平衡不同游戲間得分的巨大差異,并允許使用統(tǒng)一的學習率。其次,系統(tǒng)采用了經驗回放機制。不是僅基于當前步驟的 $ 最終,通過固定目標參數(shù)到 φ? 值并定期更新,解決了擬合 Q-網(wǎng)絡中的收斂問題,給出了以下更新公式: 現(xiàn)在網(wǎng)絡不再追逐不斷變化的目標,從而減少了振蕩的傾向。 利用這些和其他啟發(fā)式方法,結合 $\epsilon$-貪婪策略,Deep Q-Networks 在 49 個游戲的集合上達到了與專業(yè)游戲測試者相媲美的水平,每個游戲都使用單獨訓練的同一網(wǎng)絡。值得注意的是,訓練過程非常耗費數(shù)據(jù),學習每款游戲約需要 38 天的完整體驗。在某些游戲中,該算法的性能超越了人類水平。而在如“Montezuma's Revenge”這樣的游戲中,進展幾乎寥寥無幾,因為該游戲的獎勵稀疏,且包含多個外觀差異顯著的屏幕。 19.4.2 雙 Q-學習與雙深度 Q-網(wǎng)絡Q-學習的一個潛在問題是,在進行更新時對動作執(zhí)行最大化操作: 這導致估計的狀態(tài)價值 $q(st, at)$ 出現(xiàn)系統(tǒng)性偏差。假設兩個動作提供相同的平均獎勵,但一個動作的獎勵是隨機的,而另一個是確定性的。隨機獎勵在約一半的時間里會超過平均值并被最大化操作選中,從而導致對應的動作價值 $q(st, at)$ 被過高估計。網(wǎng)絡輸出 $q(st, at; \phi)$ 的隨機誤差或 q-函數(shù)的隨機初始化也可能導致類似的問題。 這個問題的核心在于同一個網(wǎng)絡同時負責選擇目標(通過最大化操作)和更新值。雙重 Q-學習通過同時訓練兩個模型 $q1(st, at, \phi1)$ 和 $q2(st, at, \phi2)$ 來解決這一挑戰(zhàn): 如此一來,目標的選擇與目標本身被分開,有助于避免這些偏見。在實際應用中,新的元組 $<s, a,='' r,='' s'=''>$ 會被隨機分配到其中一個模型進行更新,這種方法被稱為雙重 Q-學習。雙重深度 Q-網(wǎng)絡(Double DQNs)利用深度網(wǎng)絡 $q(st, at; \phi1)$ 和 $q(st, at; \phi2)$ 來估計動作價值,更新過程變?yōu)椋?/p> 19.5 策略梯度方法Q-學習首先估計動作價值,然后利用這些價值來更新策略。與之相反,策略基方法直接學習一個隨機策略 $\pi(at|st, \theta)$。這是一個帶有可訓練參數(shù) $\theta$ 的函數(shù),能將狀態(tài) $st$ 映射到動作 $at$ 的分布 $Pr(at|st)$ 上,我們可以從這個分布中進行抽樣。在 MDPs 中,總存在一個最優(yōu)的確定性策略。但是,采用隨機策略有三個理由:
19.5.1 梯度更新推導考慮通過馬爾科夫決策過程 (MDP) 的一條軌跡 $\tau = [s1, a1, s2, a2, ..., sT, aT]$。這條軌跡的概率 $Pr(\tau|\theta)$ 取決于狀態(tài)演化函數(shù) $Pr(s{t+1}|st, at)$ 和當前的隨機策略 $\pi(at|s_t, \theta)$: 策略梯度算法旨在最大化許多此類軌跡上的期望回報 $r(\tau)$: 其中回報是沿軌跡獲取的所有獎勵之和。 為了最大化這個量,我們采用梯度上升法更新: 我們希望通過經驗觀察到的軌跡的總和來近似這個積分。這些軌跡來源于分布 $Pr(\tau|\theta)$,因此為了進展,我們用這個分布乘除被積函數(shù): 這個方程簡單來說,就是通過增加觀察到的軌跡 $\taui$ 的可能性 $Pr(\taui|\theta)$ 來調整參數(shù),與該軌跡的獎勵 $r(\tau_i)$ 成比例。但同時,它通過首次觀察到該軌跡的概率進行歸一化,以補償某些軌跡更頻繁觀察到的事實。如果一個常見且高獎勵的軌跡已存在,則無需大幅改變。最大的更新將源自那些不常見但能帶來大量獎勵的軌跡。 我們可以使用“似然比恒等式”簡化這個表達式: 產生如下更新: 軌跡的對數(shù)概率 $\log[Pr(\tau|\theta)]$ 可以表示為: 由于只有中間項依賴于 $\theta$,我們可以根據(jù)方程 19.27 重新寫更新式為: 其中 $s{it}$ 是第 $i$ 集中時間 $t$ 的狀態(tài),$a{it}$ 是第 $i$ 集中時間 $t$ 執(zhí)行的動作。由于與狀態(tài)演化 $Pr(s{t+1}|st, a_t)$ 相關的項消失了,這種參數(shù)更新不需要假設馬爾科夫時間演化過程。 進一步簡化這個表達,我們注意到: 其中 $r_{it}$ 是第 $i$ 集中時間 $t$ 的獎勵。時間 $t$ 之前的獎勵(第一項)不影響時間 $t$ 的更新,因此我們可以表示為: 19.5.2 REINFORCE 算法REINFORCE 是一種初期策略梯度算法,該算法利用了前述結果并加入了折現(xiàn)因素。它采用蒙特卡羅方法,根據(jù)當前策略 $\pi(a|s, \theta)$ 生成軌跡 $\taui = [s{i1}, a{i1}, r{i2}, s{i2}, a{i2}, \ldots, r_{iT}]$。在離散動作情況下,可以通過神經網(wǎng)絡 $\pi(s|\theta)$ 來確定這一策略,該網(wǎng)絡接受當前狀態(tài) $s$ 并為每種可能動作輸出一個值。這些輸出值通過 softmax 函數(shù)轉換成動作的分布,每一時間步都從這個分布中進行抽樣。 對于每個軌跡 $i$,我們遍歷其每個時間步 $t$,計算從該時間步開始的部分軌跡 $\tau_{it}$ 的實際折扣回報: 接著,我們在每個軌跡的每個時間步更新參數(shù): 其中 $\pi(at|st, \theta)$ 是神經網(wǎng)絡給定當前狀態(tài) $st$ 和參數(shù) $\theta$ 時產生動作 $a_t$ 的概率,$\alpha$ 為學習率。額外的 $\gamma^{t}$ 項確保獎勵根據(jù)序列起點進行折扣,因為我們在整個序列中最大化回報的對數(shù)概率(參見方程 19.23)。 19.5.3 Baselines策略梯度方法存在高方差的問題,可能需要多個輪次才能獲得穩(wěn)定的導數(shù)更新。降低方差的一個方法是用基線 $b$ 減去軌跡回報 $r[\tau]$: 只要基線 $b$ 不與動作相關聯(lián): 期望值就不會改變。然而,如果基線與其他無關且增加不確定性的因素相關聯(lián),那么減去基線就能減少方差(見圖 19.16)。這是控制變量方法的一個特殊情況(參見問題 19.7)。 這就引出了如何選擇 $b$ 的問題。我們可以通過構建方差的表達式,對 $b$ 進行求導,將結果置為零,并解出方程來找到使方差最小的 $b$ 值: 實際操作中,這通常被近似為: 通過減去這個基線,可以消除由于所有軌跡的回報 $r[\tau_i]$ 超出平均水平僅因它們通過的狀態(tài)具有高于平均回報的特性引起的方差。 19.5.4 依賴當前狀態(tài)的 baselines更佳的方案是使用依賴于當前狀態(tài) $s{it}$ 的基線 $b[s{it}]$。 這里,我們正在對一些狀態(tài)比其他狀態(tài)具有更高總回報而引入的方差進行補償,不論采取何種行動。 一個合理的選擇是基于當前狀態(tài)的預期未來獎勵,即狀態(tài)值 $v[s]$。在這種情況下,經驗觀察到的獎勵與基線之間的差異稱為優(yōu)勢估計(advantage estimate)。鑒于我們處于蒙特卡羅環(huán)境,這可以通過參數(shù)為 $\phi$ 的神經網(wǎng)絡 $b[s] = v[s, \phi]$ 來參數(shù)化,并使用最小二乘損失對觀測到的回報進行擬合: 19.6 Actor-Critic 方法Actor-critic 算法屬于時間差分 (TD) 策略梯度算法,能夠在每一步驟更新策略網(wǎng)絡的參數(shù)。這與必須等待一個或多個輪次結束才能更新參數(shù)的蒙特卡羅 REINFORCE 算法形成對比。 在 TD 方法中,我們不能獲取到沿此軌跡的未來獎勵 $r[\taut] = \sum{k=t}^T r_k$。Actor-critic 算法通過觀測的當前獎勵加上下一個狀態(tài)的折扣值來近似計算所有未來獎勵的總和: 其中,值 $v[s_{i,t+1}, \phi]$ 通過參數(shù)為 $\phi$ 的第二個神經網(wǎng)絡進行估計。 將其代入方程 19.38,我們得到如下更新: 同時,我們利用損失函數(shù)對參數(shù) $\phi$ 進行自舉更新: 預測 $Pr(a|st)$ 的策略網(wǎng)絡 $π[st,θ]$ 稱為 actor,值網(wǎng)絡 $v[st,φ]$ 稱為 critic。常見的是,同一網(wǎng)絡同時充當 actor 和 critic,它具有兩套輸出,分別預測策略和值。雖然 actor-critic 方法理論上可以在每步更新策略參數(shù),但實際上這種操作較為罕見。通常,智能體會在多個時間步之后累積一定的經驗,再進行策略更新。 19.7 離線強化學習強化學習的核心是與環(huán)境的交互。但在某些情況下,例如自動駕駛車輛的駕駛或進行金融交易,由于環(huán)境中的不穩(wěn)定行為可能危險,或數(shù)據(jù)收集過程耗時且成本高昂,讓未經訓練的智能體進入環(huán)境進行探索是不現(xiàn)實的。 然而,在這兩種情況下,我們可以從人類操作者那里收集歷史數(shù)據(jù)。離線強化學習 (Offline RL) 或批量強化學習 (Batch RL) 旨在通過觀察過去的行為序列 $s1,a1,r2,s2,a2,r3$,... 來學習如何采取行動,以便在未來的輪次中最大化獎勵,而不需要與環(huán)境直接交互。這與模仿學習不同,后者沒有獎勵信息,只是嘗試復制歷史操作者的行為而不是改善它。 雖然存在基于 Q-Learning 和策略梯度的離線 RL 方法,但這一領域開啟了新的可能性。特別地,我們可以將其視作一個序列學習問題,目的是在給定狀態(tài)、獎勵和行動的歷史下預測下一個行動。決策變換器(Decision Transformer)采用 Transformer 解碼器框架(見第12.7節(jié))進行預測(見圖 19.17)。 但目標是基于未來獎勵預測行動,這些在標準的 $s, a, r$ 序列中無法體現(xiàn)。因此,決策變換器用剩余回報 $Rt:T = \sum{t'=t}^T r{t'}$(即未來獎勵的累積和)來替換當前獎勵 $rt$。剩余部分的框架與標準的 Transformer 解碼器非常相似。狀態(tài)、行動和剩余回報通過學習得到的映射轉換成固定大小的嵌入。對于 Atari 游戲,狀態(tài)嵌入可能通過類似圖 19.14 中的卷積網(wǎng)絡進行轉換。行動和剩余回報的嵌入可類似于單詞嵌入(見圖 12.9)進行學習。Transformer 通過帶掩碼的自注意力和位置嵌入進行訓練。 這種方法在訓練時自然有效,但在推理時會遇到問題,因為我們不知道剩余回報。這可以通過在第一步設定目標總回報,并隨著獎勵的獲得逐步減少這個值來解決。例如,在 Atari 游戲中,目標總回報可能是贏得比賽所需的總分。 決策變換器還可以從在線經驗中進行微調,并逐漸學習。它們的優(yōu)勢在于摒棄了大部分強化學習的機制及其相關的不穩(wěn)定性,轉而采用了標準的監(jiān)督學習方法。Transformer 能夠處理大量數(shù)據(jù),并在廣闊的時間范圍內整合信息,使時間信用分配問題變得更易于處理。這為強化學習開辟了一條新的、令人興奮的道路。 19.8 總結增強學習 (Reinforcement Learning) 是針對馬爾科夫決策過程 (Markov Decision Processes) 及其類似系統(tǒng)的序貫決策框架。本章介紹了增強學習的表格方法,包括動態(tài)規(guī)劃(環(huán)境模型已知)、蒙特卡羅方法(通過運行多個回合并根據(jù)獲得的獎勵調整動作值和策略)和時差分方法(在回合進行中更新這些值)。 深度Q學習 (Deep Q-Learning) 是一種時差分方法,使用深度神經網(wǎng)絡預測每個狀態(tài)的動作價值,能夠訓練智能體在Atari 2600游戲中達到類似人類的水平。策略梯度方法直接對策略進行優(yōu)化,而非對動作進行價值賦值。這些方法生成的是隨機策略,在部分可觀測的環(huán)境中尤其重要。這些更新過程含有噪聲,為減少其方差已經引入了多種改進措施。 當無法直接與環(huán)境互動而必須依賴歷史數(shù)據(jù)學習時,就會使用離線增強學習。決策變換器 (Decision Transformer) 利用深度學習的最新進展構建狀態(tài)-動作-獎勵序列模型,并預測能夠最大化獎勵的動作。 NotesSutton 和 Barto 在 2018 年的作品中詳細介紹了表格型增強學習方法。Li (2017)、Arulkumaran 等人 (2017)、Franc?ois-Lavet 等人 (2018) 和 Wang 等人 (2022c) 分別提供了深度增強學習領域的綜述。Graesser 和 Keng 的 2019 年作品是一本優(yōu)秀的入門資源,其中包含了 Python 代碼示例。 深度增強學習的里程碑:增強學習的重大成就主要在視頻游戲或現(xiàn)實世界游戲中實現(xiàn),這些游戲提供了具有有限動作和固定規(guī)則的約束性環(huán)境。深度Q學習(由 Mnih 等人在 2015 年提出)在 ATARI 游戲的基準測試中達到了人類水平的表現(xiàn)。AlphaGo(由 Silver 等人在 2016 年提出)戰(zhàn)勝了圍棋的世界冠軍,這是一個之前被認為計算機難以掌握的游戲。Berner 等人在 2019 年構建的系統(tǒng)在 Dota 2(五對五玩家游戲)中擊敗了世界冠軍隊,顯示出了玩家間合作的必要性。Ye 等人在 2021 年開發(fā)的系統(tǒng)能夠在有限的數(shù)據(jù)下超越人類玩家在 Atari 游戲中的表現(xiàn),這與之前需要大量經驗的系統(tǒng)形成鮮明對比。最近,F(xiàn)AIR 在 2022 年推出的 Cicero 系統(tǒng)在需要自然語言協(xié)商和玩家協(xié)調的《外交》游戲中展示了人類級別的表現(xiàn)。 RL 還成功應用于組合優(yōu)化問題,Mazyavkina 等人在 2021 年的研究中有所涉及。例如,Kool 等人在 2019 年開發(fā)的模型在解決旅行商問題上與最佳啟發(fā)式方法表現(xiàn)相當。最近,F(xiàn)awzi 等人在 2022 年提出的 AlphaTensor 將矩陣乘法視作一種游戲,學會了用更少的乘法操作更快地進行矩陣乘法,這一發(fā)現(xiàn)對深度學習領域,尤其是因其重度依賴矩陣乘法的特性,意義重大,標志著 AI 領域自我進化的重要里程碑。 經典增強學習方法:關于馬爾科夫決策過程 (MDPs) 理論的早期貢獻分別由 Thompson 在 1933 年和 1935 年作出。Bellman 在 1966 年引入了 Bellman 遞歸,Howard 在 1960 年引入了策略迭代方法。Sutton 和 Barto 在 2018 年的研究中指出,Andreae 在 1969 年的工作首次使用 MDP 形式主義來描述增強學習。 現(xiàn)代增強學習的發(fā)展起源于 Sutton (1984) 和 Watkins (1989) 的博士論文。Sutton 在 1988 年引入時序差分學習,Watkins (1989) 和 Watkins & Dayan (1992) 提出了 Q 學習,并證明了它通過 Banach 定理收斂到一個固定點,因為 Bellman 操作是收縮映射。Watkins (1989) 首次明確地將動態(tài)規(guī)劃和增強學習聯(lián)系起來。SARSA 是由 Rummery & Niranjan (1994) 開發(fā)的。Gordon (1995) 提出了擬合 Q 學習,用機器學習模型預測每個狀態(tài)-動作對的價值。Riedmiller (2005) 引入了神經擬合 Q 學習,使用神經網(wǎng)絡從一個狀態(tài)一次性預測所有動作的價值。Singh & Sutton (1996) 對蒙特卡羅方法進行了早期研究,探索啟動算法則由 Sutton & Barto (1999) 提出。這是對五十多年工作的極簡總結,Sutton & Barto (2018) 的著作中有更為全面的論述。 深度 Q 網(wǎng)絡:Mnih 等人在 2015 年設計的深度 Q 學習是神經擬合 Q 學習的理論衍生。它利用了當時卷積網(wǎng)絡的進展,開發(fā)出一種擬合 Q 學習方法,在 ATARI 游戲基準測試中達到人類水平的表現(xiàn)。深度 Q 學習存在致命的三重問題,即訓練在包含自舉、離策略學習和函數(shù)逼近的方案中可能不穩(wěn)定(Sutton & Barto, 2018)。很多后續(xù)研究致力于讓訓練過程更加穩(wěn)定。Mnih 等人 (2015) 引入了經驗回放機制(Lin, 1992),Schaul 等人 (2016) 對其進行改進,優(yōu)先考慮更重要的經驗,從而加快學習速度,這就是所謂的優(yōu)先經驗回放。 原始的 Q 學習論文使用四幀圖像串聯(lián),以便網(wǎng)絡觀察到對象的速度,使底層過程更接近完全可觀測。Hausknecht & Stone (2015) 引入了深度遞歸 Q 學習,使用循環(huán)網(wǎng)絡架構,一次只處理一個幀圖像,因為它能“記住”之前的狀態(tài)。Van Hasselt (2010) 指出由于最大化操作導致的狀態(tài)價值系統(tǒng)性過高估計,并提出了雙 Q 學習,通過同時訓練兩個模型來解決這個問題。這種方法后來被應用于深度 Q 學習(Van Hasselt 等人,2016),雖然其有效性后來受到了質疑(Hessel 等人,2018)。Wang 等人 (2016) 引入了深度對決網(wǎng)絡,其中網(wǎng)絡的兩個部分分別預測狀態(tài)的價值和每個動作的相對優(yōu)勢,這種解耦可以提高穩(wěn)定性,因為有時狀態(tài)的價值更為重要,而具體采取哪種動作的影響不大。 Fortunato 等人(2018)提出了噪聲深度 Q-網(wǎng)絡,其特點是 Q-網(wǎng)絡中的部分權重乘以噪聲以增加預測的隨機性并促進探索行為。該網(wǎng)絡能夠在逐步收斂到合理策略的過程中學會減少噪聲的強度。分布式 DQN(Bellemare 等人,2017a;Dabney 等人,2018,繼 Morimura 等人,2010)的目標是估計回報分布的更全面信息,而不僅僅是期望值。這使得網(wǎng)絡有可能減輕最壞情況下的影響,并且還可以通過預測更高階矩來提高性能,因為這為訓練提供了更豐富的信號。Rainbow(Hessel 等人,2018)結合了六項對原始深度 Q-學習算法的改進,包括決策網(wǎng)絡、分布式 DQN 和噪聲 DQN,從而提高了在 ATARI 基準測試上的訓練速度和最終性能。 策略梯度:Williams(1992)首次提出了 REINFORCE 算法。'策略梯度方法'一詞最早見于 Sutton 等人(1999)。Konda 和 Tsitsiklis(1999)引入了演員-評論家算法。使用不同的基準來降低方差在 Greensmith 等人(2004)和 Peters & Schaal(2008)的工作中被探討。Mei 等人(2022)后來指出,價值基準主要是減少更新的激進性而非其方差。 策略梯度已經被改進以產生確定性策略(Silver 等人,2014;Lillicrap 等人,2016;Fujimoto 等人,2018)。最直接的方法是對所有可能的行動進行最大化,但如果行動空間是連續(xù)的,則每一步都需要一個優(yōu)化過程。深度確定性策略梯度算法(Lillicrap 等人,2016)按照行為價值梯度的方向調整策略,這表明使用了演員-評論家方法。 現(xiàn)代策略梯度:我們之前提到,策略梯度可以從參數(shù)更新的角度進行介紹。但它們也可以視為基于當前策略參數(shù)下預期獎勵的重要性采樣來優(yōu)化一個代理損失。這種方法允許我們合理地進行多次優(yōu)化步驟。然而,這樣做可能會導致很大的策略更新。在監(jiān)督學習中,過度更新只是一個較小的問題,因為后續(xù)可以對軌跡進行修正。但在強化學習中,這會影響到未來的數(shù)據(jù)收集,可能造成極大的破壞。 為了緩和這些更新,提出了幾種方法。自然策略梯度(Kakade,2001)基于自然梯度(Amari,1998),它通過 Fisher 信息矩陣來調整下降方向,從而提供了更優(yōu)的更新路徑,減少了陷入局部平穩(wěn)區(qū)的可能。然而,對于參數(shù)眾多的模型,計算 Fisher 矩陣并不實際。在信賴區(qū)域策略優(yōu)化(TRPO)中(Schulman 等人,2015),通過對舊策略和新策略之間的 KL 散度施加約束來最大化代理目標。Schulman 等人(2017)提出了一種更簡化的方案,將 KL 散度作為正則化項引入,其權重根據(jù) KL 散度與設定目標的距離調整,以反映我們希望策略變化的程度。鄰近策略優(yōu)化(PPO)(Schulman 等人,2017)則是一種更簡化的方法,通過剪裁損失來保證較小的更新幅度。 演員-評論家模型:在第19.6節(jié)描述的演員-評論家模型(Konda & Tsitsiklis, 1999)中,評論家部分使用了單步估計方法。此外,還可以使用 k 步估計方法(在此方法中,我們觀測 k 個打折后的獎勵,并使用狀態(tài)值的估計來近似后續(xù)獎勵)。隨著 k 的增加,估計的方差也增加,但偏差則減少。廣義優(yōu)勢估計(Schulman 等人,2016)將多步的估計結果綜合起來,并通過單個參數(shù)來調整偏差與方差之間的權衡。Mnih 等人(2016)提出了異步演員-評論家模型(A3C),在該模型中,多個代理在并行環(huán)境中獨立運行并更新相同的參數(shù)。每隔 T 時間步,策略和價值函數(shù)根據(jù) k 步回報的混合來更新。Wang 等人(2017)引入了幾種方法,使異步演員-評論家模型更加高效。軟演員-評論家模型(Haarnoja 等人,2018b)在成本函數(shù)中增加了一個熵項,以鼓勵探索并減少過擬合,使策略傾向于更加不自信。 離線強化學習:離線強化學習中,策略的學習是通過觀察其他代理的行為及其獲得的獎勵來實現(xiàn)的,而無需直接干預策略。這與模仿學習類似,后者旨在復制另一代理的行為,但不需要獎勵信息(參見 Hussein 等人,2017)。離線強化學習可被視為與離策略強化學習相同的處理方式。然而,實踐中,觀測到的策略與實際應用的策略之間的分布偏移可能導致對行動價值過于樂觀的估計,進而影響性能(參見 Fujimoto 等人,2019;Kumar 等人,2019a;Agarwal 等人,2020)。保守 Q-學習(Kumar 等人,2020b)通過對 Q-值進行正則化,學習價值函數(shù)的保守下界估計。決策變換器(Chen 等人,2021c)是一種簡便的離線學習方法,利用了廣泛研究的自注意力架構。后續(xù),它可以通過在線訓練進行進一步微調(Zheng 等人,2022)。 強化學習和聊天機器人:聊天機器人的訓練可以采用一種稱為強化學習結合人類反饋(RLHF)的技術(Christiano 等人,2018;Stiennon 等人,2020)。例如,InstructGPT(ChatGPT 的前身,Ouyang 等人,2022)起始于一個標準的 Transformer 解碼器模型。接著,基于人類注釋者編寫的提示-響應對進行微調。在這一訓練階段,模型優(yōu)化以預測真實響應中的下一個詞。 遺憾的是,產生足夠的訓練數(shù)據(jù)以保證高質量表現(xiàn)的成本非常高。為了解決這個問題,人類注釋者隨后指出他們更偏好的模型響應。這些成本更低的數(shù)據(jù)用于訓練獎勵模型,即一個第二個 Transformer 網(wǎng)絡,它根據(jù)提示和模型響應給出評分。最后,經過微調的聊天機器人模型進一步訓練,以根據(jù)獎勵模型的監(jiān)督產生高獎勵。由于無法通過聊天機器人輸出的采樣過程計算導數(shù),因此無法使用標準的梯度下降法。于是,使用近似策略優(yōu)化(一種可計算導數(shù)的策略梯度方法)對模型進行訓練,以產生更高的獎勵。 強化學習的其他領域:強化學習是一個廣闊的領域,足以單獨編成一本書,而本文的綜述僅觸及了表面。我們未涉及的強化學習的其他重要領域包括基于模型的強化學習,在這個領域中,狀態(tài)轉移概率和獎勵函數(shù)是被建模的(參見 Moerland 等人,2023)。這種方法支持前瞻性規(guī)劃,并且具有可以針對不同獎勵結構重用同一模型的優(yōu)勢。像 AlphaGo(Silver 等人,2016)和 MuZero(Schrittwieser 等人,2020)這樣的混合方法為狀態(tài)的動態(tài)、策略和未來位置的價值分別建立了模型。 本章只簡要討論了如 epsilon-greedy 方法、噪聲 Q-學習和添加熵項以懲罰過度自信策略等探索方法。內在動機是指為探索增加獎勵的方法,這樣做可以賦予智能體“好奇心”(參見 Barto,2013;Aubret 等人,2019)。層次化強化學習(參見 Pateria 等人,2021)是指將最終目標分解成子任務的方法。多智能體強化學習(參見 Zhang 等人,2021a)探討了多個智能體在共享環(huán)境中共存的情況,這可以是競爭性或合作性的情境。 Problems問題 19.1 在圖 19.18 展示的 MDP 示例中考慮一條特定的軌跡。假設折扣因子 $\gamma$ 為 0.9,請計算該軌跡中每一步的回報。 問題 19.2 證明策略改進定理。假設從策略 $\pi$ 更改為策略 $\pi'$,在狀態(tài) $s_t$ 時新策略 $\pi'$ 選擇能夠最大化期望回報的動作: 對于所有其他狀態(tài),兩個策略保持一致。證明原始策略 $\pi$ 下的值 $v{\pi}(st)$ 必須小于或等于新策略 $\pi'$ 下的值 $v{\pi'}(st) = q{\pi}(st, \pi'(s_t))$: 提示:首先嘗試用新策略 $\pi'$ 來表達 $v{\pi}(s{t+1})$。 問題 19.3 假設狀態(tài)值和策略按圖 19.10a 初始化,展示它們在進行兩次迭代后變成圖 19.10b 中的狀態(tài)。迭代包括:(i) 策略評估(其中所有狀態(tài)基于當前值進行更新,然后替換前一個值),和 (ii) 策略改進。狀態(tài)轉移給策略指示的方向分配一半的概率,其余概率平均分配給其他有效動作。無論采取何種動作,當企鵝離開洞穴時獎勵函數(shù)返回 -2;當企鵝離開魚瓦片且劇情結束時,獎勵函數(shù)返回 +3,因此魚瓦片的價值為 +3。 問題 19.4 Boltzmann 策略通過基于當前狀態(tài)-動作獎勵函數(shù) $q[s, a]$ 來決定動作概率 $\pi[a|s]$,從而在探索和利用之間實現(xiàn)平衡: 討論如何通過調整溫度參數(shù) $\tau$ 來偏向探索或利用。 問題 19.5 當學習率 $\alpha$ 為 1 時,Q-Learning的更新公式為: 證明這是一個壓縮映射(參照方程 16.30),所以: 其中 $\| \cdot \|{\infty}$ 表示 $\ell{\infty}$ 范數(shù)。根據(jù) Banach 定理,存在一個固定點,且更新最終會收斂。 問題 19.6 證明: 所以添加基線更新不改變策略梯度更新的期望值。 問題 19.7* 假設我們要根據(jù)樣本 $a1, a2 \ldots aI$ 估計量 $\mathbb{E}[a]$。同時,我們有與 $a$ 相關聯(lián)的樣本對 $b1, b2 \ldots bI$,其平均值為 $\mathbb{E}[b] = \mub$。定義新變量: 證明當恰當選擇常數(shù) $c$ 時,$\text{Var}[a'] \leq \text{Var}[a]$ 成立,并給出 $c$ 的最優(yōu)值表達式。 問題 19.8 在方程 19.34 中,梯度的估計可表示為: 其中 且 證明最小化梯度估計方差的 $b$ 值由以下式子給出: 附圖圖 19.1 馬爾可夫過程。馬爾可夫過程由一組狀態(tài)和定義從當前狀態(tài) $st$ 轉移到狀態(tài) $s{t+1}$ 的概率的轉移概率 $Pr(s{t+1}|st)$ 組成。a) 企鵝可以在冰面上訪問 16 個不同的位置(狀態(tài))。b) 冰面很滑,所以企鵝每次都有相同的概率移動到任一相鄰狀態(tài)。例如,在位置 6,它分別有 25% 的概率移動到狀態(tài) 2、5、7 和 10。從這個過程中得到的軌跡 $\tau = {s1, s2, s_3, \ldots}$ 是一個狀態(tài)序列。 圖 19.2 馬爾可夫獎勵過程。它把一個獎勵分布 $Pr(r{t+1}|st)$ 與每個狀態(tài) $st$ 相關聯(lián)。a) 這里,獎勵是確定的:企鵝如果落在魚上獲得 $+1$ 獎勵,否則為 $0$。軌跡 $\tau$ 現(xiàn)在是狀態(tài)和獎勵交替的序列 $s1, r2, s2, r3, s3, r4 \ldots$,在八步后終止。序列的總回報 $Gt$ 是折扣后未來獎勵的總和,此處的折扣因子為 $\gamma = 0.9$。b-c) 隨著企鵝沿軌跡前進逐漸靠近獎勵,其回報逐步增加。 圖 19.3 馬爾可夫決策過程。a) 智能體(企鵝)可以在每個狀態(tài)中選擇一組動作之一執(zhí)行。動作會影響到轉移到下一狀態(tài)的概率及獲得獎勵的可能性。b) 在這里,四個動作分別對應上、右、下、左移動。c) 在任何狀態(tài)下(如狀態(tài) 6),動作會改變到下一個狀態(tài)的轉移概率。企鵝有 50% 的概率向預定方向移動,但由于冰面滑,它也可能以相同的概率滑到其他相鄰位置。因此,在面板 (a) 中,實際采取的動作(灰色箭頭)不一定與軌跡(橙色線)一致。這里的動作并不影響獎勵,因此 $Pr(r{t+1}|st, at) = Pr(r{t+1}|st)$。MDP 的軌跡 $\tau$ 是由狀態(tài) $st$、動作 $at$ 和獎勵 $r{t+1}$ 交替構成的序列。請注意,在此,企鵝在離開有魚的狀態(tài)時獲得獎勵,即通過魚的格子即可獲得獎勵,無論是故意還是偶然。 圖 19.4 部分可觀測馬爾可夫決策過程(POMDP)。在 POMDP 中,智能體無法完全知曉狀態(tài)。例如,企鵝在狀態(tài)三時只能看到虛線框內的區(qū)域,這與其在狀態(tài)九的視角無異。在前者中,向右移動將導致掉入冰洞(獎勵為 -2),而在后者中,則可獲得魚(獎勵為 +3)。 圖 19.5 策略。a) 確定性策略在每個狀態(tài)下總是采取相同的動作(箭頭指示)。雖然有些策略優(yōu)于其他策略,但這種策略能夠基本引導企鵝從左上角向右下角移動以獲取獎勵。b) 此策略更具隨機性。c) 隨機策略為每個狀態(tài)設定一個動作的概率分布(概率由箭頭大小表示),這有助于智能體更全面地探索狀態(tài),這在部分可觀測的馬爾可夫決策過程中可能是必要的以達到最優(yōu)表現(xiàn)。 圖 19.6 強化學習循環(huán)。智能體在時間點 $t$ 根據(jù)策略 $\pi[at|st]$ 和當前狀態(tài) $st$ 執(zhí)行動作 $at$,引發(fā)新的狀態(tài) $s{t+1}$(通過狀態(tài)轉移函數(shù))和獎勵 $r{t+1}$(通過獎勵函數(shù))的產生。這兩者隨后被反饋給智能體,促使其選擇下一個動作。 圖 19.7 狀態(tài)和動作價值。a) 狀態(tài) $st$ 的價值 $v(st|\pi)$(每個位置的數(shù)值)代表在策略 $\pi$(灰色箭頭)下,從該狀態(tài)出發(fā)可獲得的預期回報,即多條軌跡的折扣獎勵平均值。這里,靠魚越近的狀態(tài)價值越高。b) 在狀態(tài) $st$ 中采取動作 $at$ 的價值 $q(st, at, \pi)$(每個位置/狀態(tài)對應的四個數(shù)值分別對應四種動作)反映了采取該動作所期望的回報。這個價值會隨著接近魚而增加,并且朝魚的方向的動作價值更高。c) 如果我們了解某狀態(tài)的動作價值,策略就可以調整為選擇這些價值中的最大者(面板 b 的紅色數(shù)字表示)。 圖 19.8 狀態(tài)值與動作值的關系。狀態(tài)六的值 $v[st =6]$ 是其動作值 $q[st =6,at]$ 的加權和,權重是采取各動作的策略概率 $π[at|s_t =6]$。 圖 19.9 動作值與狀態(tài)值的關系。在狀態(tài)六采取動作二的價值 $q[st = 6, at = 2]$ 等于采該動作獲得的獎勵 $r[st = 6, at = 2]$ 加上后繼狀態(tài)的折扣價值 $v[st+1]$ 的加權和,其中權重為轉移概率 $Pr(s{t+1}|st = 6, at = 2)$。通過貝爾曼方程,這種關系與圖 19.8 的狀態(tài)值和動作值關系相連,形成了當前與下一個狀態(tài)值和動作值之間的聯(lián)系。 圖 19.10 動態(tài)規(guī)劃。a) 最初,狀態(tài)值設為零,策略隨機選定(箭頭表示)。b) 狀態(tài)值根據(jù)其鄰近值進行更新(經過兩次迭代后的方程 19.11)。策略調整為指向價值最高的狀態(tài)(方程 19.12)。c) 經過多次迭代,算法逐步優(yōu)化至最佳策略,此時企鵝會盡量避開洞并尋找魚。 圖 19.11 蒙特卡洛方法。a) 初始時,策略(箭頭)是隨機設置的。通過反復模擬 MDP,記錄下各次模擬的軌跡(橙色和棕色路徑表示兩個軌跡)。b) 通過對這些軌跡觀測到的回報進行平均,經驗性地估計動作價值。這里,所有動作價值起初都是零,后根據(jù)觀測到的動作進行更新。c) 接下來可以根據(jù)獲得最優(yōu)(或較優(yōu))獎勵的動作來更新策略。 圖 19.12 Q-learning:a) 智能體在狀態(tài)st處開始,并按策略采取動作at=2。它未在冰面上滑倒,并向下移動,在離開原始狀態(tài)時獲得獎勵r[st,at]=0。b) 找到新狀態(tài)下的最大動作價值(此處為0.43)。c) 基于對后續(xù)狀態(tài)的最大動作價值的當前估計、獎勵、折現(xiàn)因子γ=0.9和學習率α=0.1,原始狀態(tài)的動作2的價值被更新為1.12。這導致原始狀態(tài)的最高動作價值發(fā)生變化,因而策略也隨之改變。 圖 19.13 阿塔里基準。阿塔里基準包含了 49 款阿塔里 2600 游戲,如突破、乒乓及多種射擊、平臺等類型的游戲。a-d) 單屏幕游戲的狀態(tài)無法僅通過一個畫面完全確定,因為物體的速度信息不可見。因此,通常用幾個連續(xù)幀(此處為四幀)來表達狀態(tài)。e) 通過操縱桿模擬用戶的動作輸入。f) 共有十八種動作,對應八個方向的移動或停止,并且對這九種狀態(tài),按鈕可按下或不按。 圖 19.14 深度 Q-網(wǎng)絡架構。輸入 $st$ 為阿塔里游戲的四幀連續(xù)畫面,每幀調整至 84×84 像素并轉為灰度圖。這些幀作為四通道輸入,先經過 8×8 卷積處理(步長為 4),然后是 4×4 卷積(步長為 2),最后通過兩個全連接層。最終輸出為此狀態(tài)下 18 個動作的動作價值 $q[st, a_t]$ 預測。 圖 19.15 策略梯度。同一策略下的五次模擬(亮度高表示獎勵大)。軌跡 1、2 和 3 持續(xù)獲得高獎勵,但這種軌跡在當前策略下已頻繁出現(xiàn),故無需變動。相反,軌跡 4 獎勵較低,策略需調整以避免生成類似軌跡。軌跡 5 獎勵高且不常見,根據(jù)方程 19.25,它將引起策略的最大改變。 圖 19.16 使用控制變量降低估計方差。a) 考慮基于少量樣本估計 $E[a]$。估計值(樣本均值)會因樣本數(shù)和方差的不同而變化。b) 接著觀察一個與 $a$ 共變的變量 $b$,其期望值 $E[b] = 0$ 且方差與 $a$ 相同。c) $a - b$ 的樣本方差明顯低于 $a$ 的方差,但其期望值 $E[a - b] = E[a]$,因此我們得到了一個方差更低的估計器。 圖 19.17 決策變換器。決策變換器把離線強化學習處理為序列預測問題。輸入是狀態(tài)、動作和剩余回報的序列,每個元素都被轉換為固定大小的嵌入。每一步,網(wǎng)絡預測下一動作。在測試階段,剩余回報未知;實際中,通常從一個初始估計出發(fā),逐漸扣除觀測到的獎勵。 圖 19.18 通過 MDP 的一條軌跡。企鵝在到達第一個魚位置時獲得 +1 獎勵,掉入洞時失去 -2 獎勵,到達第二個魚位置時再獲得 +1 獎勵。折扣因子 $\gamma$ 設定為 0.9。 你好,我是葉子,7年Java開發(fā)老司機,待過小的創(chuàng)業(yè)公司也待過上市廠子。擅長各種姿勢的CRUD,但現(xiàn)在工作重心逐漸往中間件開發(fā)轉移。喜歡折騰技術,AI是個人愛好驅動去學習的。但不管是Java還是AI還是其他非技術行業(yè)的知識,我都希望能和大家共同學習進步,如果文章有用,還請大家點擊關注,希望我們能一起在技術的道路上走的更遠! |
|