EasyRL強(qiáng)化學(xué)習(xí)算法入門與實(shí)踐_第1頁(yè)
EasyRL強(qiáng)化學(xué)習(xí)算法入門與實(shí)踐_第2頁(yè)
EasyRL強(qiáng)化學(xué)習(xí)算法入門與實(shí)踐_第3頁(yè)
EasyRL強(qiáng)化學(xué)習(xí)算法入門與實(shí)踐_第4頁(yè)
EasyRL強(qiáng)化學(xué)習(xí)算法入門與實(shí)踐_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

EasyRL強(qiáng)化學(xué)習(xí)算法入門與實(shí)踐技術(shù)創(chuàng)新,變革未來(lái)EasyRL簡(jiǎn)介01

馬爾可夫決策過(guò)程馬爾可夫決策過(guò)程定義與樣例??,

??,

??,

??一個(gè)馬爾可夫決策過(guò)程(MDP)是一個(gè)四元組??

=狀態(tài)空間??:所有狀態(tài)的集合動(dòng)作空間??:所有動(dòng)作的集合狀態(tài)轉(zhuǎn)移??:狀態(tài)轉(zhuǎn)移概率?? ??′??,

??獎(jiǎng)勵(lì)函數(shù)??:將??

×

??

×

??中元素映射為實(shí)數(shù)信號(hào)的函數(shù)?? ??,??,

??′一個(gè)簡(jiǎn)單的MDP樣例(圖片來(lái)源)狀態(tài)空間??

= ??0,??1,

??2動(dòng)作空間??

= ??0,

??1狀態(tài)轉(zhuǎn)移??:??????′?? ??′??,

????0??0??00.5??0??0??20.5??0??1??21.0??1??0??00.7??1??0??10.1??1??0??20.2?獎(jiǎng)勵(lì)函數(shù)??:??????′?? ??,??,

??′??1??0??0+5??2??1??0?1?注意??定義的是條件概率???,??,

??′∈??????′

??,

?? =

1馬爾可夫決策過(guò)程求解MDP??,

??,

??,

??一個(gè)馬爾可夫決策過(guò)程(MDP)是一個(gè)四元組??

=狀態(tài)空間??:所有狀態(tài)的集合動(dòng)作空間??:所有動(dòng)作的集合狀態(tài)轉(zhuǎn)移??:狀態(tài)轉(zhuǎn)移概率?? ??′??,

??獎(jiǎng)勵(lì)函數(shù)??:將??

×

??

×

??中元素映射為實(shí)數(shù)信號(hào)的函數(shù)?? ??,??,

??′求解MDP尋找最優(yōu)策略??

??? ??|?? 使得最大化期望的累積獎(jiǎng)??=0勵(lì)

∞????

????,其中??

∈ 0,1 是衰減因子不同策略交互產(chǎn)生的樣本分布不同(vs監(jiān)督學(xué)習(xí))利用與探索的平衡智能體按照策略??

?? ??|??

決策環(huán)境依照依據(jù)??,

??給出反饋狀態(tài)????動(dòng)作????獎(jiǎng)勵(lì)????交互生成樣本Finite-horizon:??0,

??0,

??0,

,

?????1,

?????1,

?????1,

????例如圍棋,Atari游戲等結(jié)束,迷宮走到出口Infinite-horizon:??0,

??0,

??0,

??1,

??1,

??1,

…可以將前者視為????

=

0,

????

=

????

,

??

??馬爾可夫決策過(guò)程更多樣例圍棋是一個(gè)典型的MDP狀態(tài)空間??:所有棋盤的狀態(tài)

黑,白,空

19×19動(dòng)作空間??:以對(duì)手執(zhí)黑為例,??為所有合法的落白子位置(記作?? ?? )狀態(tài)轉(zhuǎn)移??:由己方和對(duì)方落子位置,確定性地按規(guī)則變化棋盤獎(jiǎng)勵(lì)函數(shù)??:取值為0直至勝(+1)平(+0)負(fù)(?1)走迷宮是一個(gè)典型的MDP狀態(tài)空間??:所有合法位置動(dòng)作空間??:東南西北四個(gè)方向狀態(tài)轉(zhuǎn)移??:(例如圖示)往北走會(huì)分別有0.1的概率往東或西走如果動(dòng)作的目標(biāo)是黑色網(wǎng)格則停留在原網(wǎng)格獎(jiǎng)勵(lì)函數(shù)??:每進(jìn)入一個(gè)網(wǎng)格取得網(wǎng)格上所示分?jǐn)?shù)(圖片來(lái)源)(圖片來(lái)源)馬爾可夫決策過(guò)程gym環(huán)境樣例Classiccontrol

Pendulum狀態(tài)空間??:?3其中每個(gè)分量表示木棍角度??相關(guān)的信息動(dòng)作空間??:

?2,2 表示作用給木棍的力狀態(tài)轉(zhuǎn)移??:環(huán)境內(nèi)部物理引擎模擬木棍運(yùn)動(dòng)獎(jiǎng)勵(lì)函數(shù)??:根據(jù)木棍偏離正上方直立的角度懲罰Atari

Pong狀態(tài)空間??:210

×

160

×

3的圖片動(dòng)作空間??:['NOOP',

'FIRE',

'RIGHT',

'LEFT',

'RIGHTFIRE',

'LEFTFIRE']狀態(tài)轉(zhuǎn)移??:環(huán)境內(nèi)部物理引擎模擬乒乓球運(yùn)動(dòng)獎(jiǎng)勵(lì)函數(shù)??:球落在對(duì)方/己方底線+1/?1馬爾可夫決策過(guò)程從貪心策略到動(dòng)態(tài)規(guī)劃貪心策略給定任意??,選取動(dòng)作??

=

????????????????

??,

??如上圖貪心策略并不是最優(yōu)策略動(dòng)態(tài)規(guī)劃求解最長(zhǎng)公共子序列狀態(tài)空間??:當(dāng)前??串與??串下標(biāo)

??,

??動(dòng)作空間??:

??

?

1,

??

?

1,

??

?

1

??

?

1

三種動(dòng)作狀態(tài)轉(zhuǎn)移??:下標(biāo)按動(dòng)作更新獎(jiǎng)勵(lì)函數(shù)??:若??

?? ==

??[??]且動(dòng)作為??

?

1

??

?

1則得到+1否則為0從后往前根據(jù)表格中數(shù)值貪心地做決策,求解出最長(zhǎng)公共子序列“MJAU”??0??1??2??0,

+1??1,

+10??0,

+1??1,

+1??0,

0??1,

0這張表格是什么含義?為什么在任意狀態(tài)對(duì)該表貪心地決策能求出最優(yōu)解?有一般性嗎?為什么計(jì)算表格與推理決策的方向相反?馬爾可夫決策過(guò)程這張表是???函數(shù)計(jì)算出???/???,貪心地根據(jù)???決策對(duì)應(yīng)最優(yōu)策略????因?yàn)門,

??已知,根據(jù)??

的方程,易于從后往前計(jì)算??????0,0 =

0???

??,

?? =max0

+

??? ???

1,

?? ,0

+

??? ??,??

?

1 ,

??

?? ==值函數(shù)與貝爾曼方程狀態(tài)值函數(shù)????

??=

??

??|?? ????′|??,

????∈?? ??′∈??????,

??,

??′ +??????

??′動(dòng)作值函數(shù)??????,

??=????′|??,

????′∈??????,

??,

??′ +??????

??′=????′|??,

????′∈????≥??′????∈??,????

??????,

??,

??′ +??????′|??′??????′,

??′??′∈??≥????′

????最優(yōu)狀態(tài)值函數(shù)滿足???

??,

???

=

max

????

??狀態(tài)值函數(shù)的最優(yōu)貝爾曼方程??∈????′∈?????

?? =max????′|??,

??????,

??,

??′ +?????

??′動(dòng)作值函數(shù)的最優(yōu)貝爾曼方程?????,??=????′|??,

????′∈????′∈??????,

??,

??′ +??max?????′,

??′最優(yōu)策略???是最優(yōu)貝爾曼方程的唯一解!馬爾可夫決策過(guò)程動(dòng)態(tài)規(guī)劃框架---策略評(píng)估與策略提升策略評(píng)估(policy

evaluation):已知T,

??,

??,根據(jù)值函數(shù)的貝爾曼方程計(jì)算????狀態(tài)值函數(shù)????

??=

??

??|?? ????′|??,

????∈?? ??′∈??????,

??,

??′ +??????

??′動(dòng)作值函數(shù)??????,

??=????′|??,

????′∈??????,

??,

??′ +??????

??′=????′|??,

????′∈??????,

??,

??′ +??????′|??′??????′,

??′??′∈??策略提升(policy

improvement):已知????,將策略??更新為相對(duì)于????貪心地決策狀態(tài)值函數(shù)的最優(yōu)貝爾曼方程??∈?????

?? =max????′|??,

??????,

??,

??′ +?????

??′??′∈??動(dòng)作值函數(shù)的最優(yōu)貝爾曼方程?????,??=????′|??,

????′∈????′∈??????,

??,

??′ +??max?????′,

??′圖片來(lái)源:<Reinforcement

learning:an

introduction>02

強(qiáng)化學(xué)習(xí)算法強(qiáng)化學(xué)習(xí)算法免模型(model-free)設(shè)定策略評(píng)估(policy

evaluation):已知T,

??,

??,根據(jù)值函數(shù)的貝爾曼方程計(jì)算????狀態(tài)值函數(shù)????

??=????|??????′|??,

????∈??

??′∈??????,

??,

??′ +??????

??′動(dòng)作值函數(shù)??????,

??=????′|??,

????′∈??????,

??,

??′ +??????

??′=????′|??,

????′∈??????,

??,

??′ +??????′|??′′′??????′,

??′??′∈??策略提升(policy

improvement):已知????,將策略??更新為相對(duì)于????貪心地決策狀態(tài)值函數(shù)的最優(yōu)貝爾曼方程??∈?????

?? =max????′|??,

??????,

??,

??′ +?????

??′??′∈??動(dòng)作值函數(shù)的最優(yōu)貝爾曼方程?????,??=????′|??,

????′∈????′∈??????,

??,

??′ +??max?????′,

??′Q:

如果對(duì)MDP未知(即對(duì)??,

??未知),如何實(shí)現(xiàn)策略評(píng)估和策略提升的計(jì)算?A:

基于采樣。智能體與環(huán)境交互產(chǎn)生的樣本

??,

??,

??,

??′

是對(duì)??,

??的采樣。智能體按照策略??

?? ??|??

決策環(huán)境依照依據(jù)??,

??給出反饋狀態(tài)????動(dòng)作????獎(jiǎng)勵(lì)????強(qiáng)化學(xué)習(xí)算法基于值(value-based)的方法---SARSA,

Q-learning,

DQNSARSA用對(duì)于當(dāng)前??函數(shù)??-greedy的策略??進(jìn)行交互收集一批樣本 ??,

??,

??,

??′,

??′更新動(dòng)作值函數(shù)??

??,

?? ←??

??,

?? +????+????

??′,

??′ ?????,

????,

??,

??,

??′Q-learning用對(duì)于當(dāng)前??函數(shù)??-greedy的策略??進(jìn)行交互收集一批樣本更新動(dòng)作值函數(shù)??′∈??Q

??,

?? =??

??,

?? +????+??max??

??′,

??′ ?????,

????利用

vs

探索對(duì)于當(dāng)前??函數(shù)貪心的策略??

?? =??????max????,

??利用??,即“策略提升”步驟,保證了????+1

????缺少探索,無(wú)法收集到其他動(dòng)作的結(jié)果對(duì)于當(dāng)前??函數(shù)??-greedy的策略??

?? =

??′??????max??

??,

??′ 以概率

1

?

????????????????

??

以概率??其中??往往從開(kāi)始的1.0隨訓(xùn)練過(guò)程衰減到較小值(例如0.02)逐漸從完全探索趨向于完全利用保證了在利用當(dāng)前??函數(shù)的同時(shí),收集其他動(dòng)作的樣本on-policyvs

off-policy用于交互的策略與正在更新的策略(或值函數(shù)對(duì)應(yīng)的策略)是否是同一個(gè)。SARSA是on-policy算法因?yàn)楦鹿皆从谪悹柭匠??????,

??=??

??′|??,

?? ????,

??,

??′ +??????

??′??′∈??=????′|??,

????′∈??????,

??,

??′ +??????′|??′??????′,

??′??′∈??Q-learning是off-policy算法因?yàn)楦鹿皆从谧顑?yōu)貝爾曼方程??′∈????′∈?????

??,

?? =??

??′|??,

?? ????,

??,

??′ +??max?????′,

??′Deep

Q-learning用深度神經(jīng)網(wǎng)絡(luò)表示??函數(shù),記為????

??,

??Replaybuffer,

target

Q-net,

以及其他技巧強(qiáng)化學(xué)習(xí)算法策略梯度(policy

gradient)的方法??=0強(qiáng)化學(xué)習(xí)的目標(biāo)是最大化期望的累積獎(jiǎng)勵(lì)????~??,??,??

???1

????????當(dāng)策略為參數(shù)化的????

??|??

,一個(gè)直接的想法是目標(biāo)函數(shù)對(duì)??求導(dǎo)來(lái)更新??????????~????,??,?????1

??????????=0考慮其中第??項(xiàng)??????~??,??,??

????????=??????????

????????由策略梯度定理可知=????????????log??

??????????=????????

????log????

????|???????? ??=0??????????~??,??,??

????????進(jìn)而原目標(biāo)的策略梯度為????????~??,??,?????1

??????????=0???1=????????????log??

?????? ??=0???1 ??=????????

????log????

????|?????? ??=0 ??=0???1=????????log????

????|?????? ??=0記從第??時(shí)刻開(kāi)始的累積獎(jiǎng)勵(lì)為????

=

???1

??

?????

????=??

??產(chǎn)生一條鏈路??:

??0,

??0,

??0,

,

?????1,

?????1,

?????1,

????的概率為P??0??????0|??0????1|??0,

??0??????????1|?????1??????|?????1,

?????1對(duì)于????????,產(chǎn)生對(duì)應(yīng)的鏈路????:

??0,

??0,

??0,

,

????,

????的概率為P??0????

??0|??0??

??1|??0,

??0 ?????

????|??????0??0??

??0|??0??1??1????0|??0,??1??1??

??1|??1……

…?????1?????1????0|??0,?????1?????1????1|??1

,…,?????1?????1??

?????1|?????1??????????

??

??=????

????????

????=????????????

??????????????????log

?????? =

????????

?? ????????

??????

?????? ??=

??

??

??

??

??策略梯度就是最大化根據(jù)累積獎(jiǎng)勵(lì)????加權(quán)的動(dòng)作????的log-likelihood即能夠得到更大累積獎(jiǎng)勵(lì)????的動(dòng)作????得到更大的步長(zhǎng)強(qiáng)化學(xué)習(xí)算法強(qiáng)化學(xué)習(xí)算法分類(圖片來(lái)源)??=0策略優(yōu)化直接更新策略??而不依賴值函數(shù)更新方向由目標(biāo)函數(shù)對(duì)策略參數(shù)求導(dǎo)確定:

???1????????

log

????

????|??????′∈??=??

??,

?? +????+??max??

??′,

??′ ?????,

??演化算法等免求導(dǎo)的方法確定更新方向動(dòng)態(tài)規(guī)劃基于(最優(yōu))貝爾曼方程執(zhí)行策略評(píng)估和策略提升,例如

Q

??,

??Actor-Critic

(AC)方法同時(shí)參數(shù)化策略????和值函數(shù)????/??????=0從PG的視角:

???1

????

????,

????

????

log

????

????|????PG的累積獎(jiǎng)勵(lì)????來(lái)源于采樣,是無(wú)偏估計(jì)。AC的優(yōu)勢(shì)????

??,

??

以不同形式依賴于對(duì)值函數(shù)的估計(jì)????/????從value-based的視角:值函數(shù)指導(dǎo)策略的更新,但是策略提升步驟并非對(duì)于值函數(shù)貪心地更新策略EasyRL提供的深度強(qiáng)化學(xué)習(xí)算法:03

強(qiáng)化學(xué)習(xí)實(shí)踐Demo詳解Box(3,)Box(1,)交互產(chǎn)生:??0,

??0,

??0,

??1,

,

?????1,

?????1,

?????1,

????-752.6264199258989EasyRL提供必要的預(yù)處理:OpenAI

Gym簡(jiǎn)介統(tǒng)一的接口Spaces,

Envmake(),reset(),step(),

close()豐富的游戲集合classiccontrol,

Atari,

絕大多數(shù)開(kāi)源模擬器的基類典型的交互樣例:Demo詳解前向推理接受當(dāng)前狀態(tài)????及若干參數(shù)返回選取的動(dòng)作????以及若干策略給出的輔助信號(hào)緩存交互產(chǎn)生的樣本FIFO或Prioritized(圖片來(lái)源)/demo/run_dqn_on_pong.py定義智能體根據(jù)狀態(tài)和動(dòng)作空間的類型及若干超參數(shù)構(gòu)建TensorFlow計(jì)算圖等對(duì)于當(dāng)前??函數(shù)??-greedy的策略??

?? =

??????max??

??,

??′ 以概率

1

?

????′??????????????

??

以概率??Demo詳解更新接受樣本 ??,??,??,

??′更新Q網(wǎng)絡(luò)并返回時(shí)序差分誤差(可選)??′∈??Q-learning更新方式Q

??,

?? =??

??,

?? +????+??max??

??′,

??′ ?????,

??Priority根據(jù)時(shí)序差分誤差(TD

error)計(jì)算/demo/run_dqn_on_pong.py接收樣本從緩存中獲取訓(xùn)練樣本DQN更新方式??′∈????????+??max????′

??′,

??′ ???????,

??2間隔性地同步當(dāng)前Q函數(shù)與目標(biāo)Q函數(shù)??′←

??觀察訓(xùn)練過(guò)程最近若干個(gè)鏈路的累計(jì)獎(jiǎng)勵(lì)等的基本統(tǒng)計(jì)量EasyRL的設(shè)計(jì)類層次關(guān)系與類方法屬性基類AgentBase暴露了統(tǒng)一的方法各子類主要在_init()方法中特化self.modelModel類實(shí)例,描述強(qiáng)化學(xué)習(xí)算法的計(jì)算圖self.executor封裝了TF

session相關(guān)的接口和屬性self._buffer根據(jù)配置的算法實(shí)例化對(duì)應(yīng)的緩存類_build_ph_op()方法根據(jù)狀態(tài)和動(dòng)作空間的定義自動(dòng)構(gòu)建輸入placeholder等_build_graph()方法描述計(jì)算圖表達(dá)強(qiáng)化學(xué)習(xí)算法EasyRL二次開(kāi)發(fā)自定義模型與開(kāi)發(fā)者注意事項(xiàng)繼承DQNModel,重載涉及的類方法文檔風(fēng)格檢查https://alibabapai.github.io/easy_rl_doc/contributors.html根據(jù)注釋基于sphinx自動(dòng)生成(見(jiàn)doc/目錄)提交前運(yùn)行scripts/format.sh單元和回歸測(cè)試提交前運(yùn)行test/目錄下個(gè)腳本貢獻(xiàn)代碼/alibaba/EasyRL/pulls04

分布式強(qiáng)化學(xué)習(xí)算法強(qiáng)化學(xué)習(xí)Actor-learner架構(gòu)LearnerPolicy??~????|??;

??ActorReplicatedpolicyEnv????,??,

??′ActorReplicatedpolicyEnv????,??,

??′????,

??,

??,

??′EasyRL細(xì)化為4種角色:PS:

存放值網(wǎng)絡(luò)或策略網(wǎng)絡(luò)的權(quán)重等Actor:

與環(huán)境交互產(chǎn)生樣本ReplayBuffer:

存放和預(yù)處理樣本Learner:

消費(fèi)樣本進(jìn)行訓(xùn)練監(jiān)督學(xué)習(xí)的PS-Worker架構(gòu):交換的參數(shù)??和梯度????

?? ??,

??;

?? 是同質(zhì)的V.S.強(qiáng)化學(xué)習(xí)的Actor-learner架構(gòu):交換參數(shù)??和樣本??,

??,

??,

??′強(qiáng)化學(xué)習(xí)On/Off-policy分布式強(qiáng)化學(xué)習(xí)算法D-PPO

溫馨提示

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

評(píng)論

0/150

提交評(píng)論