




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第14章 深度強化學習除了試圖直接去建立一個可以模擬成人大腦的程序之外, 為什么不試圖建立一個可以模擬小孩大腦的程序呢?如果它接 受適當的教育,就會獲得成人的大腦。阿蘭圖靈在之前的章節中,我們主要關注于監替學習,而監替學習一般需要一定數 最的帶標簽的數據.在很多的應用場景中通過人工標江的方式來給數據打標 簽的方式往往行不通.比如我們通過監督學習來訓練一個模型可以來自動卜圍 棋,就需要將當前棋盤的狀態作為輸入數據,其對應的最佳落了位置(動作)作 為標簽.訓練一個好的模型就需要收集大雖的不同棋盤狀態以及對應動作.這 種做法實踐起來比較困難,一是對于每一種棋盤狀態,即使是專家也很難給出 “正確”的動
2、作,二是獲取大量數據的成本往往比較髙.對于下棋這類任務,雖 然我們很難知道每一步的“正確”動作,但是其最后的結果(即贏輸)卻很容 易判斷.因此,如果可以通過大杲的模擬數據,通過最后的結果(獎勵)來倒 推每一步棋的好壞,從而學習出“茲佳”的下棋策略,這就是強化學習.直燄虞分配問超即一 金系統中不同的紐件 (components)對最終系 忱輸岀軸果的力獻致紗強化學習(Reinforcement Learning. RL),也叫增強學習,是指一類從(與 環境)交互中不斷學習的問題以及解決這類問題的方法.強化學AJ問題可以描 述為一個智能體從與環境的交互中不斷學習以完成特定目標(比如取得最大獎 勵值
3、).和深度學習類似,強化學習中的關犍問題也是貢獻度分配問題Minsky, 1963,每一個動作并不能直接得到監督信息,需要通過整個模型的最終監督信 息(獎勵)得到,并且有一定的延時性.強化學習也是機器學習中的一個直要分支.強化學習和監替學習的不同在 于,強化學習問題不需要給出“正確”策略作為監督信息,只需要給出策略的 (延遲)回報,并通過調悄策略來取得最大化的期里回報。14.1強化學習問題2018年9月匹日30114-1強化學習問題強化學習廣泛應用在很多領域,比如電子游戲.棋類游戲.迷宮類游戲.控 制系統、推薦等.這里我們介紹幾個比較典型的強化學習例子.14.1.1典型例子也稱為K臂蹭博機問題
4、 (Karmed bandit problem) 。多臂賭博機問題給定K個賭博機.拉動每個賭博機的拉桿(mm).賭博機會 按照一個事先設定的槪率掉出一塊錢或不掉錢.每個賭憚機掉錢的槪率不一樣. 多臂賭博機問題(multi-armed bandit problem )是指,給宦有限的機會次數0, 如何玩這些貼博機才能使得期望累積收益最大化.多宵賭博機問題在廣告推薦、 投資組合等領域有著非常重要的應用.懸崖行走問題在一個網格世界(grid world)中,每個格子表示一個狀態如14.1所 示的一個網格世界,每個狀態為(ij),l<i<7,l<j<3,其中格子(2,1)到 (
5、6,1)是懸崖(cliff).有一個醉漢,從左下角的開始位宜S,走到右下角的目標 位置E如果走到懸崖.醉漢會跌落懸崖并死去醉漢可以選擇行走的路線,即 在每個狀態時,選擇行走的方向:上下左右.動作空間但每 走一步,都有一定的槪率滑落到周囤其他的格子.醉漢的目標是如何安全地到 達目標位盤.11111111 -n 1 1 1 1 J1 11 1t 11 1 SE234567圖14.1醉漢懸崖問題14.1.2強化學習定義現在我們描述下強化學習的任務定義.在強化學習中,有兩個可以進行交 互的對象:智能體和壞境.智能體(agent)可以感知外界壞境的狀態(state)和反饋的獎勵(reward). 并進行
6、學習和決策.智能體的決霓功能是指根據外界壞境的狀態來做出不同的動作(action), 而學習功能是指根據外界環境的獎勵來調整策略.環境(environment)是秤能體外部的所有帶物,并受智能體動作的影響 而改變其狀態,并反饋給智能體相應的獎勵.在強化學習中的基本要素包括:狀態8是對壞境的描述,可以是離散的或連續的,其狀態空間為S;動作a是對智能體行為的描述,可以是離散的或連續的,其動作空間為人;疑略7r(a|s)是智能體根據環境狀態8來決定下一步的動作a的西數;狀態轉移概半p(|8,a)是在智能體根據當前狀態8做出一個動作a之后, 環境在下一個時刻轉變為狀態8的槪率;即時獎勵足-個標屋函數,
7、即智能體根據當前狀態8做出動作a 之后,環境會反饋給智能體一個獎勵,這個獎勵也經常和下一個時刻的狀 態8有關.策略智能體的疑略(policy)就是智能體如何根據環境狀態&來決定下一步的動 作a,通常口J以分為確定性疑略(Deterministic Policy)和隨機性炭略(Stochastic Policy)兩組。確定性策略是從狀態空間到動作空間的映射函數7T : S T人。隨機性炭略 表示在給定環境狀態時.智能體選擇某個動作的概率分布.7r(a|8)= p(a|s),(14.1)52 兀(恥)=1-(14.2)aQA通常情況下,強化學習一般使用隨機性的策略.隨機性的策略可以有很多
8、優點.比如在學習時可以通過引入一定麵機性更好地探索環境二是使得策略 更加地多樣性.比如在圍棋中,確定性策略總是會在同一個位置上下棋,會導 致你的策略很容易被對手預測.14.1.3馬爾可夫決策過程為了簡單起見,我們將智能體與環境的交互看作是離散的時間序列圖14.2給 出了智能體與環境的交互.狀態“動作4圖14.2智能體與環境的交互智能體從感知到的初始環境切開始,然后決定做一個相應的動作環境 相應地發生改變到新的狀態旳,并反饋給智能體一個即時獎勵然后種能體 又根據狀態叭做一個動作3,環境相應改變為82,并反饋獎勵F2這樣的交互 可以一直進行下去.80衛0,刃,心,如,磯_丄,幾一,(14.3)其中
9、rt = r(se_1,at_1,8e)是第t時刻的即時獎勵.智能體與環境的交互的過程可以看作是一個馬爾可夫決策過程馬爾可夫過程(Markov Process)是具有馬爾可夫性的隨機變量序列so,si, - st 5.其下一個時刻的狀態8卻i只取決丁當前狀態肌,卩(兔+1同,,旳)=p(st+i|st),(14.4)馬爾可夫過租參見 第D.3.1節。其中pG+1血)稱為狀態轉移概率, 刀 p(st+lh) = l«哄+iGS馬爾可夫決炭過程(Markov Decision Process» MDP)在馬爾可夫過程中 加入一個額外的變量:動作a,即下一個時刻的狀態兔+i和當前
10、時刻的狀態兔 以及動作久相關,P(班+1 血, ,so, ao) = p(«t+i(14.5) 其中血,仮)為狀態轉移槪率。給定策略7T(a|s),馬爾可夫決策過程的一個軌跡(trajectory)T = 80衛0,力,1,5,3TL,aTi,8T,rT的槪率為P(T)=p(8o2o,%5,),(14.6)T-1=Po) H 7r(at|st)p(st+i|st,at).(14.7)t=o邱錫脈:神經網絡與深度學習https:/nndl.github.io/14.1強化學習問題2018年9月匹日#圖14.3給出了馬爾可夫決策過程的圖模型表示.邱錫脈:神經網絡與深度學習https:/n
11、ndl.github.io/14.1強化學習問題2018年9月匹日#邱錫脈:神經網絡與深度學習https:/nndl.github.io/14.1強化學習問題2018年9月匹日303圖14.3馬爾可夫決策過程的圖模型表示14.1.4強化學習的目標函數 總回報給定策略n(as),智能體和環境一次交互過程的軌跡7所收到的累枳獎勵 為總回報(return) T-1G(r) = £ 31(14.8)t=0T-1=力%«t+i)-(14.9)t=0假設壞境中有i個或多個特殊的終止狀態(terminal state),當到達終止 狀態時,一個智能體和環境的交互過程就結束
12、了。這一輪交互的過程稱為一個 回合(episode)或試驗(trial)一般的強化學習任務(比如下棋、游戲)都 屬于這種回合式的任務.如果環境中沒有終止狀態(比如終身學習的機器人),即T = oo,稱為持續 性強化學習任務,其總回報也可能是無窮大.為了解決這個問題,我們可以引 入一個折扣率來降低遠期回報的權駄折扣回報(discounted return)定義為T-1= 屮,(1410)t=0其中7 0,1是折扣率.當丁接近于0時,智能體更在意短期回報;而當今接近 于1時,長期回報變得更重耍.目標函數因為策略和狀態轉移都有一定的隨機性.每次試驗得到的軌跡是一個隨機 序列,其收獲的
13、總回報也不一樣。強化學習的目標是學習到一個筵略(a|s)來邱錫脈:神經網絡與深度學習https:/nndl.github.io/14.1強化學習問題2018年9月匹日#邱錫脈:神經網絡與深度學習https:/nndl.github.io/14.1強化學習問題2018年9月匹日305授大化期望回報(expected Tetum) 即希里智能體執行一系列的動作來獲得 盡可能多的平均回報T-13(0) = Esr (° Gfr) = ET”(y)Ev*+i.t=O抽址性理化于習的優J匕 目標也可以定義為MDP 到達平億分布時“印時 獎勵-的期望。其中8為董略函數的參數。14.1.5 值函數
14、為了評估一個策略兀的期望回報,我們定義兩個值函數:狀態值函數和狀 態動作值函數.14.1-5-1狀態值函數一個策略7T期望回報可以分解為Erp(r) (T)J = E&p(“)T-1Erp(r) 52= st=0(14.12)(14.13)其中I”(8)稱為狀態值函數(state value function) 農加從狀態8開始.執行 策略7F得到的期里總回報T-1廠(8)= Err) I 52 7fn+i|rS0 = 8 ,(14.14)L t=o其中6。表示軌跡丁的起始狀態.為了方便起見我們用Tq:T 表ZK從軌跡> 3T9用門:丁表不軌跡 ,0r因此有巾:T = 80,。0
15、,巧:7根據馬爾可夫性.v8)可展開得到T-1U"(8)= Ero:Tp(T) ri + 牛龍¥一口+i| 北0 = 3t=iT-1 r(6ay)+ 7刀¥7兀儀|心1 = s <=1 T-1=E<iir(ak)E“pWa) r(s, a, 8 ) + 牛童口:丁卩(匸)|: 7t+1 |Tti =8t-1=Eair(<i|)E”pma) r(牛 a, /) + 牛廠(/).=Ea(a|6)E*p(*a)Er,:T p(y)(14.15)(14.16)(14.17)(14.18)公式(14.18)也稱為貝爾曼方程(Bellman equation
16、) 表示當前狀態的值 函數可以通過下個狀態的值函數來計算.貝爾曼方機囚提出者 Richard Bellman 而得 名.也叫做“動態規劃方 悝w o Richard Bellman (1920-1984),炙國應 用數步家.關國國家科 學院院士.賽動態規劃 的創北人邱錫脈:神經網絡與深度學習https:/nndl.github.io/14.2基丁值函數的學習方法2018年9月匹日309如果給定策略7r(a|s),狀態轉移概率p(8仏町和獎勵r(s,a,sz),我們就可 以通過迭代的方式來計算由于存在折扣率,迭代一定步數后,每個狀態 的值函數就會固定不變.狀態動作值函數公式(14
17、.18)中的第二個期里是指初始狀態為8并進行動作a,然后執行策 略7T得到的期望總回報,稱為狀態-動作值函數(state-action value function ),Qg) = Er*,。) r(8,a,)+丁廠3),(14.19)狀態動作值函數也經常稱為Q函數(Q-fuiiction).狀態值函數1(8)是Q幣數Q巳衛)關于動作a的期里,廠 ) = Ear 仙)(14.20)結合公式(14.19)和(14.20), Q函數可以寫為 Qk(8,a) = Es,p(.,b,a)f(8,a,d) + 爭Ea,.(a'ldQkgd) ,(14.21)這是關于Q函數的貝爾曼方程.14.1.
18、5.3 值函數的作用值函數可以看作是對笫略7T的評佔如果在狀態8,有一個動作a使得Q”,a)> V-(s),說明執行動作a比當前的策略7r(a|s)要好,我們就可以調整參數使得策 略7r(a|«)的槪率增加.14.1.6深度強化學習在強化學習中,一般需要建模策略7r(a|s)和值函數U”(8),Qk(8,a).早期的 強化學習算法主要關注于狀態和動作都是離散且有限的問題,可以使用表格來 記錄這些概率但在很多實際問題中,有些任務的狀態和動作的數量非常多比 如【韋I棋的棋局有3361 « 1O170種狀態,動作(即落子位置)數量為361還有些 任務的狀態和動作是連續的。比
19、如在自動駕駛中,智能體感知到的壞境狀態是 8種傳統器數據,一般都是連續的.動作是操作方向盤的方向(-90 90度) 和速度控制(0 300公里/小時),也是連續的.為了有效地解決這些問題.可以一個復朵的函數(比如深庫神經網絡)來 使得智能體可以感知更復朵的壞境狀態以及建立更復朵的策略.提髙強化學習 算法的能力,并提髙泛化能力.深度強化學習(deep reinforcement learning)是將強化學習和深度學習結 合在一起,用強化學習來定義問題和優化目標,用深度學習來解決策略和值函數的建模問題.然后使用誤差反向傳播算法來優化目標函數.深度強化學習在一 定程皮上具備解決復朵問題的通用智能,
20、并圧很多任務上都取得了很大的成功.14.2基于值函數的學習方法值兩數是對策略7T的評估,如果策略7T有限(即狀態數和動作數都有限)時, 可以對所有的策略進行評估并選出最優英略十.Vs, 7Te = arg max Vn(s).(14.22)n但這種方式在實跋中很難實現。假設狀態空間S和動作空間人都足離散且有限 的,策略空間為|對|,往往也非常大.一種可行的方式是通過迭代的方法不斷優化策略,11到選出最優霞略。對 于一個策略7T(a|s),其Q函數為Qk(8,a),我們可以設置一個新的策略卅|8),1 if a = arg maxa Q7r(ay a)0 otherwise即nf(aa)為一個確
21、定性的策略,也可以直接寫為H(8) arg maxa).a如果執行卅,會有VS,廠'(8)> 廠(8).7T(a|8)=(14.23)(14.24)(14.25)參見習Q14-1.根據公式(14.25),我們可以通過下面方式來學習城優策略:先隨機初始化 一個策略,計算該策略的值函數并根據值函數來設盤新的策略然后一直反 復迭代直到收斂.基于值函數的策略學習方法中最關鍵的是如何計算策略7T的值函數,一般 有動態規劃或蒙特卡羅兩種計算方式.14.2.1動態規劃算法晁于蟆型的冬化學習,也 叫做模型相關的錢化學 習,我有模空的冬蒔從貝爾曼方程可知,如果知道馬爾可夫決策過程的狀態轉移概率P(
22、8,s,a) 和獎勵我們立接可以通過貝爾曼方程來迭代計京苴值函數.這種模型 已知的強化學習廉法也稱為基于摸型的強化學習(Model-Bused Reinforcement Learning)算法,這里的模型就是指馬爾可夫決策過程.在已知模型時,可以通過動態規劃的方法來計算.常用的方法主要有策略 迭代算法和值迭代算法.策略迭代疑略迭代(Policy Iteration)算法中,每次迭代可以分為兩步:1. 竅略評估(policy evaluation):計算當前策略下,每個狀態的值函數.即 算法14.1中的3>6步.策略評估可以通過貝爾曼方程(公式(14.18)進行 迭代計算
23、Vs).如果狀態數有限時,也可以通過直接求解Bellman方程來得到得到V-(s).2. 疑略改進(policy improvement):根據值函數來更新策略,即算法14.1中 的7-8步.策略迭代如算法14.1所示.算法141:策略迭代算法輸A: MDP 五元組:S, A, P, r, 7;1 初始化:Vs,Va,7r(a|s)=擊;2 repeat/策略評估3466repeat根據貝爾曼方程(公式(14.18)計算廠(a),切 until Vsf收斂;/策略改進根據公式(14.19),計算Q,a);Vs, 7r(3)= arg maxa a);8 Until Vs9 7T(8)收斂;輸岀
24、:策略7T 值迭代疑略迭代中的策略評估和笫略改進足交替輪流進行.其中策略評估也足通 過一個內部迭代來進行計算,其計算量比較大.事實上,我們不需要每次計算 出每次策略對應的精確的值西數,也就是說內部迭代不需要執行到完全收斂.值迭代(Value Iteration)方法將疾略評估和策略改進兩個過程合并,來直 接計算出最優策略.假設最優策略7T 對應的值函數稱為置優值函數,那么最優狀態值函數V8) 和最優狀態動作值函數的關系為V(8)= maxQ°(£,a)(14.26)邱惕鵬:神經網絡與深度學習https:/nndl.github.io/14.2基丁值函數的學習
25、方法2018年9月匹日315根據貝爾曼方程可知掖優狀態值函數曠和掖優狀態動作值函數Qs.a) 也可以進行迭代計算)+ W3),(14.27)(14.28)參見習14-2.V(s) =p(b,a)r(8Q*(8,a) = E/p(8,.a)|r(8,a, 8)+ 7maxQ(s',a'),這兩個公式稱為貝爾曼it優方程(Bellman Optimality Equation)值迭代方法通過克接優化貝爾曼晨優方程(公式(14.27),迭代計算最優 值函數.值迭代方法如算法14.2所示.算法14.2:值迭代算法輸入:MDP五元組:S, A, P, r, 7;1 初始化:Vs5,V(s
26、) = 0;2 repeat3 Vs, V(8)<- max %(“,<>)曠(6 a/) + yV(d);a 4 until Vs, V(6)收效;5根據公式(14.19)計算Q(8,a);6 Vs, 7r(s) = arg maxa Q(s, a);輸出:策略TT策略迭代VS值迭代在策略迭代中,每次迭代的時間復朵度最大為O(|5|3|X|3), 最大迭代次數為|內岡而在值迭代中,每次迭代的時間復朵度最大為o (|S|2|«4|), 但迭代次數要比策略迭代算法更多.董略迭代是根據貝爾曼方程來更新值函數,并根據當前的值函數來改進策 略.而值迭代算法是直接使用貝爾曼最
27、優方程來更新值幣數,收斂時的值西數 就是赧優的值函數,其對應的策略也就是最優的策略.值迭代和策略迭代都需要經過非常多的迭代次數才能完全收斂.在實際應 用中,可以不必等到完全收斂.這樣,當狀態和動作數量有限時,經過有限次 迭代就可以能收斂到近似最優策略.基于模型的強化學習算法實際上是一種動態規劃方法.在實際應用中有以 下兩點限制.一足要求模型C知,即要給出馬爾可夫決笫過程的狀態轉移概率P(yp,a) 和獎勵函數r(8,a,/),這個要求很難滿足。如果是事先不知道模型,但仍然希 望通過基于模型的學習算法,也可以通過與環境交互來學習出狀態轉移概率和 獎勵函數一個簡單的計算模型的方法為R-max Br
28、afman and Tennenholtz, 2002,通過隨機游走的方法來探索壞境.每次隨機一個資略并執行,然后收集狀態轉移和獎勵的樣本.在收集一定的樣本后,就可以通過統計或監督學習來 重構出馬爾可夫決策過程但是,這種基于采樣的重構過程的父朵度也非常高, 只能應用于狀態數非常少的場合.賽見第14.24節.二是效率問題,當狀態數量較大的時候,算法的效率比較低.但在實際應 用中,很多問題的狀態數屋和動作數量非常多。比如,圍棋有19 x 19 = 361個 位置.每個位置有黑子、白子或無子三種狀態,整個棋局有3361 « 1O170種狀 態.動作(即落子位置)數量為361不管是值迭代還是
29、策略迭代,以當前計算 機的計算能力,根本無法計算.一個有效的方法是通過一個函數(比如神經網 絡)來近似計算值函數,以減少復朵哎,并提髙泛化能力.14.2.2蒙特卡羅方法模至無關的強化學習,也 網做無換型的冬化學習。參兒公犬.(14.19).在很多應用場景中,馬爾可夫決策過程的狀態轉移概率p(3f3,a)和獎勵函 數r(8,a,)都是未知的.在這種情況下,我們一般需要智能體和壞境進行交 互,并收集一些樣本.然后再根據這些樣本來求解馬爾可夫決策過程最優策略. 這種模型未知,基丁采樣的學習算法也稱為模型無關的強化學習(Model.Free Reinforcement Learning) 算法.Q函數
30、Q為初始狀態為a,并執行動作a后的所能得到的期望總回報, 可以寫為Qx(8,a) = Er(r)G(T.o=a,ao=a),(14.29)其中r.0=a>O0=a表示軌跡r的起始狀態和動作為8, a如果模型未知,Q函數可以通過采樣來進行計算,這就是蒙特卡羅方法.對 于一個策略7T,智能體從狀態8,執行動作a開始,然后通過隨機游走的方法 來探索壞境,并計算其得到的總回報.假設我們進行N次試驗,得到N個軌跡 廠,r,r(O其總回報分別為G(r(l),G(r),Q函數可以 近似為1 NQ”(8,a)uQ(,a)=帀刀6(血Ul)(14.30)n=l當 Ntoo 時,Q”(e,a) TQk(8,
31、a)在似估計出Q函數 %8,a)Z后,就可以進行策略改進.然后在新的策略 下重新通過采樣來估計Q函數,并不斷重復,直至收斂.利用和探索但在蒙特卡羅方法中,如果采用確定性策略廠每次試驗得到的軌 跡是一樣的,只能計算出Q”(8"(8),而無法計算其它動作的Q函數,因此 也無法進一步改進策略.這樣情況僅僅是對當前策略的利用(exploitation),而這也可以看做是一個多 罟歸博機問題。缺失了對壞境的探索(exploration),即試驗的軌跡盡可能覆蓋所有的狀態和動 作,以找到更好的策略。為了半衡利用和探索我們可以采用貪心法(e-greedy method) 對于 一個目標策略TH其對
32、應的貪心法策略為“、I亓0),按槪率1_匕(14.31)7T(8)= «隨機選擇人中的動作,按概率&這樣,貪心法將一個僅利用的策略轉為帶探索的策略.每次選擇動作7T)的 概率為1 一+擊,其它動作的槪率為缶.同策略在蒙特卡羅方法中.如果采樣策略是卅(£)不斷改進策略也繪卅G)而 不足目標策略兀(3)。這種采樣與改進策略相同(即都是於(8)的強化學習方法 叫做同策略(on policy)方法.更矣性采樣參見 第11.3節。異策略如果采樣策略是於(£)而優化目標是策略7T.可以通過重要性采樣,引 入玄要性權直來實現對目標策略7T的優化.這種采樣與改進分別使用不
33、同策略 的強化學習方法叫做異策略(offpoUcy)方法.14.2.3時序差分學習方法蒙特卡羅采樣方法一般需要拿到完蔡的軌跡,才能對策略進行評估并更新 模型,因此效率也比較低.時序差分學習(temporal-difference learning)結合(動態規劃和蒙特卡羅 方法,比僅僅使用蒙特卡羅采樣方法的效率要髙很多Sutton and Barto, 2011. 時序差分學習是模擬-段軌跡,每行動一步(或者幾步),就利用貝爾曼方程來評 估行動前狀態的價值當時序差分學習中每次更新的動作數為最大步數時,就 等價于蒙特卡羅方法首先,將蒙特卡羅方法中Q函數Q"(82)的估計改為增疑計算的方
34、式,假 設第N試驗后值函數Q并(8, a)的平均為1 NQnM = -2 G(盤(14.32) n=l1N-l=禾(G(他Q + S G(t,«0=a)(14.33)n=i=命(G(r爲心)+ (N - 1)Q(14.34)=5-1(8,a) + 為(G(朋)-Q j(8,a),(14.35)其中TSo=a,ao=a表示軌跡7的起始狀態和動作為8,a值函數QSa)在第N試驗后的平均等于第N-1試驗后的平均加上一個 增量.更-般性地,我們將權重系數命改為一個比較小的正數0。這樣每次采 用一個新的軌跡rS0=S9ao=a9就可以更新Qn(8,a).(14.36)Qk(8,a) <-
35、 Qw(s,a) + a(G(Tso=s,ao=a) Qk(8,a),其中增屋6 4 G(rao=ao=a)-Q-(s,a)稱為蒙特卡羅謀差.表示當前軌跡的真 實回報G(r30=S9a0=a)與期望回報6(®a)之間的差距.貝爾曼方徨泰見公(14.21)o在公式(14.36)中.G(t90=s=q)為一次試驗的完蔡軌跡所得到的總回報. 為了提高效率,可以借助動態規劃的方法來計算G(a=,a°=a),而不需要得到完 整的軌跡。從8,a開始,采樣下一步的狀態和動作3, a'),并得到獎勵r(8,a,3f), 然后利用貝爾曼方程來近似估計G(rso=aiao=a),G(T
36、30=6ao=a,"=/,a=a,) = r(d, a, 8 ) + raQaf(14.37)Mr(8,a,8') + 7Q”(y,a'),(14.38)參見習題14»3其中60巧是當前的Q函數的近似估it.結合公式(14.36)和(14.38),有Q"(8,a) Q*(8,a) + a(r(8,a,8)+ QT(a ,a!) -(14.39)因此,更新QK(s,a)只需要知道當前狀態8和動作a、獎勵r,a,h)、下一步的 狀態M和動作這種策略學習方法稱為SARSA算法(State Action Reward State Action. SARSA
37、) Rummery and Niranjan, 1994 oSARSA算法14.3所示,其采樣和優化的策略都是於,因此是一種同疾略算 法.為了提髙計算效率,我們不需要對壞境中所有的8,a組合進行窮舉.并計算 值函數。只需要將當前的探索Ga,r,譏旳中貳/作為下一次估計的起始狀態邱錫鵬:神經網絡與深度學習https:/nndl.github.io/14.2基丁値函數的學習方法2018年9月匹日#和動作算法14.3: SARSA: 一種同策略的時序差分學習算法輸入:狀態空間S動作空間蟲,折扣率y學習率a 隨機初始化Q(8, a);Va,Va,7r(a|d)=擊;repeat初始化起始狀態a;選擇動
38、作a =於);repeat=滬(); r +,a) - Q, a);執行動作a,得到即時獎勵r和新狀態s'; 在狀態孑,選擇動作a,Q(®a) Q(®a) +a10111213更新策略:兀(8)= argmaxi Q(8,a); s sz,a a"until 8為終止狀態;until Vs, a, Q(s,a)收斂;輸出:策略7T)邱錫鵬:神經網絡與深度學習https:/nndl.github.io/14.2基丁値函數的學習方法2018年9月匹日319多巴腰是一鐘神經傳導 物原.傳通開心、興奮有 關的仕息.時序基分學習足強化學習的主要學習方法,其關鍵步驟就
39、是在每次迭代中 優化Q函數來減少現實r + 7Q(,a')和預期Q,a)的差距.這和動物學習的 機制十分相像.在大腦神經元中,多巴胺的釋放機制和時序差分學習十分吻合. Schultz 1998的一個實驗中,通過監測猴子大腦釋放的多巴胺濃度,發現如果 猴子荻得比預期更多的果汁,或者在沒有預想到的時間喝到果汁,多巴胺釋放大 增.如果本來預期的果汁沒有喝到,多巴胺的釋放就會大減多巴胺的釋放,來 自對于實際獎勵和預期獎勵的差異,而不是獎勵本身.時序差分學習和蒙特卡羅方法的主要不同為:蒙特卡羅需要完軟一個路徑 完成才能知道其總回報,也不依賴馬爾可夫性質;而時序差分學習只需要一步. 其總回報需要依
40、賴馬爾可夫性質來進行近似估計。 Q 學習亭實上,Q學習算法誡提 出的時間更平SARSA 算法愛Q學習算法的改 邊Q 學習(Q-Learning)算法Watkins and Dayan, 1992是一種異霓略的時 序差分學習算法.在Q學習中,Q函數的估計方法為Q(8, a) f- Q(8, a) + a(r + t max Q(a', a) 一 Q($, a),(14.40)相當于讓Q, a)直接去估計鼓優狀態值函數Q(8, a)與SARSA算法的不同,Q學習算法不通過於來選下一步的動作a',而是 直接選鮫優的Q函數,因此更新后的Q函數是關于策略7T的.而不是策略
41、於的.Q學習算法14.4所示.算法14.4: Q學習:一種異策略的時序差分學習算法 輸入:狀態空間S,動作空間人.折扣率V學習率a1隨機初始化Q(8, a);2 Vs,Vat7r(a|s)=為;46678910初始化起始狀態8;3 repeatrepeat在狀態8,選擇動作a = 7T(s);執行動作a,得到即時獎勵r和新狀態此8 8 ;until 8為終止狀態;Q(8, a) <- Q(6 a) + a (r 4牛 max” Q(s , a) 一 Q(s, a);11 until Vs,a, Q(«,a)收 it;輸岀:策略 7T(8)= bTgmaXawpq Q(®
42、;a)14.2.4深度Q網絡為了在連續的狀態和動作空間中計算值函數Qk(8,a),我們可以用一個函 數Q©(s, a)來表小近似訃算.稱為值禹數近似(value function approximation)Qe(s,a)uQ% 比 a),(14.41)其中S, a分別是狀態8和動作a的向量農示;函數Q°(s, a)通常是一個參數為0 的函數,比如神經網絡輸出為一個實數,稱為Q網絡(Qmetwork)如果動作為有限離散的m個動作an-*-Wm,我們可以讓Q網絡輸出一個 m維向屋,其中每一維用Q©(s,aJ來表示,對應值函數Q(s,aj的近似值。 Q>(s&g
43、t;ai) Q9,ai)Q©(8)=Q°(s,) (14.42)我們需要學習一個參數。來使得函數Q©(s,a)可以逼近值函數QFa).如 果采用蒙特卡羅方法.就直接讓Q(8, a)去逼近平均的總回報Q珥8, a);如果采 樣時序差分方法,就讓Q©(s,a)去逼近Esg 曠+ 7Q(s,a,)<>邱錫鵬:神經網絡與深度學習https:/nndl.github.io/14.2基丁値函數的學習方法2018年9月匹日#邱錫鵬:神經網絡與深度學習https:/nndl.github.io/14.2基丁値函數的學習方法2018年9月匹日321以Q學習為例
44、,采用隨機梯度下降,目標陶數為r + 7 nmx Q(s az) - Q(8, a) j ,(14.43)其中,卍是下一時刻的狀態/和動作d的向量表示。然而,這個目標函數存在兩個問題:一是目標不穩定,參數學習的目標依賴 于參數本身;二是樣本之間有很強的相關性.為了解決這兩個問題,Mnihetal. 2015提岀了一種深度Q網絡(deep Q-networks, DQN)深度Q網絡采取兩 個措施:一是目標網絡凍結(freezing target networks).即在一個時間段內周 定目標中的參數,來穩定學習目標;二是經臉回放(experience replay),構建 一個經臉池來去除數據相
45、關性經驗池是由智能體最近的經歷組成的數據集.涇蟄何放可以 解為在回憶中學習。訓練時,隨機從經驗池中抽取樣本來來代替當前的樣本用來進行訓練。這 樣,也可以就打破了和相鄰訓練樣本的相似性,避免模型陷入局部最優.經驗 回放在一定程度上類似于監督學習.先收集樣本,然后在這些樣本上進行訓練. 深度Q網絡的學習過程如算法14.5所示.算法14.5:帶經驗回放的深度Q網絡-輸入:狀態空間S,動作空間人,折扣率V 學習率01初始化經驗池Q,容屋為N;2隨機初始化Q網絡的參數3隨機初始化冃標Q網絡的參數6 = 0;4 repeat567891012131415初始化起始狀態£;repeat在狀態8,選
46、擇動作a = 7T;執行動作a,觀測壞境,得到即時獎勵r和新的狀態 將8,a,r, 3f放入中;從 Q 中采樣 88、aa, rr, ssf(rr,88為終止狀態,;rr + 丁 maxa*a#),否則以(y - Q$(s, a) $為損失函數來訓練Q網絡;8 < 8f每隔c步,until 3為終止狀態;16 until Vs, a, Q°(s,a)收夕攵;輸出:Q網絡Q從幼時整體上,在基于值函數的學習方法中,策略一般為確定性的策略.策略優邱錫鵬:神經網絡與深度學習https:/nndl.github.io/14.3基丁策略函數的學習方法2018年9月匹日#化通常都依賴于值函數
47、,比如貪心策略7r(s) = argmaxaQ(s,a).最優策略一 般需要18歷當前狀態8下的所有動作,并找出最優的Q(8,a)如果動作空間離 散但是很大時,那么遍歷求16大需要很高的時間復朵度;如果動作空間足連續 的并且Q,a)非凸時,也很難求解出最佳的策略.14.3基于策略函數的學習方法強化學習的目標是學習到一個我8(4®)來最大化期望回報.-種直接的 方法是在策略空間直接搜索來得到最佳策略.稱為策略搜索(policy search) 策略搜索本質是一個優化問題,可以分為基于梯度的優化和無梯度優化.策略 搜索和基于值函數的方法相比,策略搜索可以不需要值函數,直接優化策略。參 數
48、化的策略能夠處理連續狀態和動作,可以直接學出隨機性策略.目標禹散J(&)家見公扎(14.11).罠略梯度(policy gradient)足-種基J梯度的強化學習方法。假設(a|8) 是一個關于0的連續可微函數,我們可以用梯度上升的方法來優化參數0使得 目標函數7(。)最大.目標函數7(0)關于策略參數0的導數為2(0) _ ddo = de=/ (爲GdTd麗p9(T)Gr)dTPe(r)G(r)drPe(r) logp0(r) G(r)dr9 logp(r)G(r),(14.44)(14.45)(14.46)(14.47)(14.48)邱錫鵬:神經網絡與深度學習https:/nnd
49、l.github.io/14.3基丁策略函數的學習方法2018年9月匹日#邱錫鵬:神經網絡與深度學習https:/nndl.github.io/14.3基丁策略函數的學習方法2018年9月匹日#(14.49)(14.50)(14.51)其中logp(r)為函數logp(T)關于0的偏導數從公式(14.48)中可以看出. 參數0優化的方向是使得總回報G(y)越大的軌跡丁的槪率(丁)也越大。磊bgpob)可以進一步分解為QQ/T-l麗 logp°(T)=麗 log I P(«o) n 兀0(%血)卩(磯+11玫,兔)丿Q /T-1=麗 I logp(/»0)+ ” l
50、eg 麗(如|肌)+ lagp(x»e+i|>Je,ae)T1 &=52麗1。£麗(久同)可以看出,磊logP&W是和狀態轉移概率無關.只和策略函數相關。邱錫鵬:神經網絡與深度學習https:/nndl.github.io/14.3基丁策略函數的學習方法2018年9月匹日323因此,策略梯度岑2可寫為廟)=Erp#(r) |(各麗 1。"°(5血)8丁)=Erp#(r) |(各爲 Sg7r&(5険)(:=Erp,(r)卜徭耐兀畑亦乞佑),(14.52)(14.54)T-1°(T)= Z* 屮t=O食見習«
51、14-5o邱錫鵬:神經網絡與深度學習https:/nndl.github.io/14.3基丁策略函數的學習方法2018年9月匹日#邱錫鵬:神經網絡與深度學習https:/nndl.github.io/14.3基丁策略函數的學習方法2018年9月匹日#Jt中G(%r)為從時刻t作為爬始時刻收到總冋報T-1G(%:t)=刀(14.55)tz=t14.3.1 REINFORCE 算法公式(14.54)中,期里可以通過采樣的方法來近似對當前策略Tro,可以隨機 游走采集多個軌跡理“(2),,廠),每一條軌跡小=妒,妒,岀),即, 其梯度定義為u命若(£冷喚(們$)佗需)”56)結合隨機梯度上
52、升算法,我們可以每次采集一條軌跡,計算每個時刻的梯 度并更新參數,稱為REINFORCE算法Williams, 1992,如算法14.6所示。算法146 REINFORCE算法輸入:狀態空間S動作空間蟲,可微分的笫略函數耐|8),折扣率 ?學習率a;1隨機初始化參數0;2 repeat3 根據策略ire(a8)生成一條軌跡t 8o,ao2*ai,ar-i,OT-i,«T;4 for t=0 to T do計算 G(rt:r);/更新策略函數畚數& L & + cr/G(7ii:T)磊 log7T0(Ot|K);end8 until &收斂.;輸出:策略14.3
53、.2 帶基準線的REINFORCE算法REINFORCE算法的一個主要缺點是不同路徑之間的方差很大,導致訓練 不穩定,這是在高維空間中使用蒙特卡羅方法的的通病.一種減少方差的通用 方法是引入一個控制變量.假設要估計函數/的期望,為了減少/的方差,我 們引入一個已知期望的函數令f = f-Qg-Eg)(14.57)因為Ef = E/.我們可以用于的期望來估計函數/的期望,同時利用函數g 來減小的方差。函數f的方差為var(/) = var(/) 2a cov(/, g) + a2 var(g),(14.58)其中var(-),cov(-, )分別表不方差和協方差。如果要使得var(/) M小,令
54、匕諮 =0,得到° =5(沖(14.59)var(g)因此,5 - (1 - 鳥為)Z) (1460) =(1 一 corr(/,g)2)var(/),(14.61)其中corr(/)為函數/和g的相關性.如果相關性越髙,則f的方差越小.帶基準線的REINFORCE算法在毎個時刻其策略梯度為=ESt Eot /G(ivr)備 log 刖(a椒)(14.62) 為了減小策略梯度的方差,我們引入一個和無關的基準函數如°耶")=E% Eg ¥(G(?vr) - b®)爲 log帀(班血).(14.63)ne(atst)datlog7r(af|fit)j = j (昭)爲 log% =l.bMi =魯b(8)/ Tv0(atet)dat =爲(畑1) =07r0(at8t)dat(14.64)(14.65)(14.66)(14.67)邱錫鵬:神經網絡與深度學習https:/nndl.github.io/14.5總結和深入閱讀2018年9月匹日333閔甘刃(0)_2(0)因此de = doa為了可以有效地減小方差,b他)和G(rt:T)越相關越好,一個很自然的選擇 足令6(兔)為值函數但是由于值函數未知,我們可以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國托管移動服務行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國手動閥行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國廢鋼行業市場深度分析及發展趨勢與投資研究報告
- 2025-2030中國工藝氣體往復式壓縮機行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國實底電纜橋架行業市場發展趨勢與前景展望戰略研究報告
- 2025年上海雍恩醫療器械有限公司介紹企業發展分析報告
- 勞動合同文本模板9篇
- 2025-2030年中國玩具熊貓行業深度研究分析報告
- 2024年全球及中國食品級PET瓶回收清洗生產線行業頭部企業市場占有率及排名調研報告
- 2024年全球及中國多功能線性尺行業頭部企業市場占有率及排名調研報告
- 排水箱涵研究報告
- 地域的永恒魅力教案
- 體制內年度工作總結
- 2024-2025年上海中考英語真題及答案解析
- 中國聯通項目管理系統總體介紹
- 新版MACSV系統手冊
- 智慧養老服務平臺建設投標方案(技術方案)
- 2023年貴陽市招考派遣至貴州高級人民法院書記員筆試參考題庫(共500題)答案詳解版
- 國有企業知識產權管理
- 心理健康教育課件《高三學生心理輔導之跨越高原期》
- 電梯維保服務投標方案
評論
0/150
提交評論