《機(jī)器學(xué)習(xí)與Python實踐》chapter12課件_第1頁
《機(jī)器學(xué)習(xí)與Python實踐》chapter12課件_第2頁
《機(jī)器學(xué)習(xí)與Python實踐》chapter12課件_第3頁
《機(jī)器學(xué)習(xí)與Python實踐》chapter12課件_第4頁
《機(jī)器學(xué)習(xí)與Python實踐》chapter12課件_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第十二章 深度強(qiáng)化學(xué)習(xí)機(jī)器學(xué)習(xí)與

python

實踐機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 1

/

47第十二章

深度強(qiáng)化學(xué)習(xí)深度強(qiáng)化學(xué)習(xí)深度強(qiáng)化學(xué)習(xí)

=

深度學(xué)習(xí)

+

強(qiáng)化學(xué)習(xí)在強(qiáng)化學(xué)習(xí)中引入深度神經(jīng)網(wǎng)絡(luò)取得了巨大成功深度強(qiáng)化學(xué)習(xí)是人工智能的代表性方法David

Silver

提出人工智能

=

強(qiáng)化學(xué)習(xí)

+

深度學(xué)習(xí)。深度

Q

網(wǎng)絡(luò)

DQN、AlphaGo機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 2

/

47第十二章

深度強(qiáng)化學(xué)習(xí)目錄基于值函數(shù)的強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q

網(wǎng)絡(luò)3策略梯度和

Actor-Critic

方法4學(xué)習(xí)、推演和搜索機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 3

/

47第十二章

深度強(qiáng)化學(xué)習(xí)基于值函數(shù)的強(qiáng)化學(xué)習(xí)目錄基于值函數(shù)的強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q

網(wǎng)絡(luò)3策略梯度和

Actor-Critic

方法4學(xué)習(xí)、推演和搜索機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 4

/

47第十二章

深度強(qiáng)化學(xué)習(xí)基于值函數(shù)的強(qiáng)化學(xué)習(xí)強(qiáng)化學(xué)習(xí)的基礎(chǔ)概念強(qiáng)化學(xué)習(xí)的基礎(chǔ)概念涉及決策和環(huán)境交互影響的問題代理(Agent):依據(jù)環(huán)境狀態(tài)做出決策的主體(決策函數(shù))。在時刻

t,代理觀察到環(huán)境狀態(tài)

st,并執(zhí)行動作

at。在

t

+

1,代理收到該動作的回報

rt+1,觀測到

st+1,并執(zhí)行

at+1。如此下去,直到這個過程以某種方式結(jié)束。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 5

/

47第十二章

深度強(qiáng)化學(xué)習(xí)基于值函數(shù)的強(qiáng)化學(xué)習(xí) 強(qiáng)化學(xué)習(xí)的基礎(chǔ)概念強(qiáng)化學(xué)習(xí)的基礎(chǔ)概念強(qiáng)化學(xué)習(xí)是近似求解馬爾科夫決策過程MDP

的算法集。MDP

是一個五元組

(S,

A,

P,

R,

γ):S

是狀態(tài)集,st

S;A

是動作集,at

A;P

是轉(zhuǎn)移概率函數(shù)矩陣a(4)

R

是回報函數(shù),R

=

E(rs t+1

t t|s=s,a=

a);(5)

γ

[0,

1]

是折現(xiàn)因子,

下一時刻單位回報在當(dāng)前的價值。目標(biāo):尋求決策函數(shù)π(a|s),使執(zhí)行該策略的期望累計回報最大?π=argmax

Eπ∞∑k=0確定性策略:?s,

?

a′,

s.t.

π(a′|s)

=

1,記為

a′

=

π′(s)。kγ

rt+k+1( ).機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 6/

47第十二章

深度強(qiáng)化學(xué)習(xí)基于值函數(shù)的強(qiáng)化學(xué)習(xí) 值函數(shù)和Bellman

方程值函數(shù)值函數(shù):給定某個策略

π

下,未來累積折現(xiàn)回報的期望狀態(tài)值函數(shù)

(s):vπ

(s)

=

(Rt|st

=

s)動作狀態(tài)值函數(shù)

(s,

a):qπ

(s,

a)

=

(Rt|st

=

s,

at

=

a)∞∑kR

= γ

rt t+k+1

t+1=

r +

γRt+1,

是時刻

t

開始的總回報。k=0值函數(shù)分解:vπ

(s)

=

(rt+1

+

γvπ

(st+1)|st

=

s)qπ

(s,

a)

=

(rt+1

+

γqπ

(st+1,

at+1)|st

=

s,

at

=

a)機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 7

/

47第十二章

深度強(qiáng)化學(xué)習(xí)值函數(shù)和Bellman

方程基于值函數(shù)的強(qiáng)化學(xué)習(xí)值函數(shù)的

Bellman

方程條件概率展開

(s),qπ

(s,

a)π∑v

(s)

=

Pa∈At(a=

at|s=

sπ t

t)E(R|s=

st,a=

a)∑= π(aπ|s)q(a,

s)a∈Aqπ

(s,

a)

=

(rt+1|st

=

s,

at

=

a)

+

γEπ

(Rt+1|st

=

s,

at

=

a)∑s′∈S=

R

+

γ

Ps ssπa a ′′v(s

)上述兩式相互帶入,狀態(tài)值函數(shù)的Bellman

方程π∑v

(s)

=

π(aa∈A[as∑|s)

R

+

γ

Ps′∈Sassπ′′v(s

)]動作

-狀態(tài)值函數(shù)的

Bellman

方程aπ s∑q

(s,

a)

=

R

+

γ

Pass∑s′∈S a′∈Aπ′

′ ′

′′

( π(a|s)q(a,s

))機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 8

/

47第十二章

深度強(qiáng)化學(xué)習(xí)基于值函數(shù)的強(qiáng)化學(xué)習(xí) 值函數(shù)和Bellman

方程值函數(shù)的

Bellman

最優(yōu)方程a最優(yōu)值函數(shù):v?(s)

=

max

(s),

q?(s,

a)

=

max

(s,

a)π π如果已知

q?(s,

a),有最優(yōu)值函數(shù),v?(s)

=

max

q?(s,

a)滿足?q(s,

aas∑)

=

R

+

γ

Ps′∈Sssa ?

′′v(s

)上述兩式相互帶入,狀態(tài)值函數(shù)的Bellman

最優(yōu)方程:a? as∑v(s)

=

max

R

+

γ

Ps′∈Sssa ?

′′v(s

)[ ]動作

-狀態(tài)值函數(shù)的

Bellman

最優(yōu)方程:s∑q

(s,

a)

=

R

+

γ

P? a assa′?′

′′(maxq(a,s

))s′∈S機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 9/

47第十二章

深度強(qiáng)化學(xué)習(xí)基于值函數(shù)的強(qiáng)化學(xué)習(xí) 策略迭代和值迭代策略迭代和值迭代a轉(zhuǎn)移概率和回報函數(shù)已知或者存在估計的情形下,求解

MDP。目標(biāo):找到最優(yōu)決策函數(shù)

π?,達(dá)到期望累積折現(xiàn)回報最大,即值函數(shù)最優(yōu)。求解

MDP

時,使用確定性貪婪決策函數(shù),π′(a′|s)

=

1,a′

=

arg

max

(s,

a)。π′(s)

=

arg

max

(s,

a)a可以證明,對任意的

π

和狀態(tài)

s,vπ′

。在策略迭代算法中,需要對策略評估和策略改進(jìn)這兩個步驟進(jìn)行迭代,直到算法收斂。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 10

/

47第十二章

深度強(qiáng)化學(xué)習(xí)策略迭代和值迭代基于值函數(shù)的強(qiáng)化學(xué)習(xí)策略迭代和值迭代策略迭代:初始化策略

π0,vπ

(s)02.

策略迭代

t

=

0,

1,

2,

·

·

·a.

策略評估:?

迭代

k

=

1,

2,

·

·

·?∑k+1 tv (s)

= π

(a|sa∈A[as)R+

γ∑s′∈Sss

ka ′P′v(s

)]?

收斂得到

vπt

(s)at+1 πtb.

策略改進(jìn):π (s)=argmaxq

(s,aaas∑s′∈Sssπta ′)=argmaxR

+

γ P′v(s

)值迭代:每次策略評估只迭代一次,可以寫成t+1a[as∑v (s)

=

max

R

+

γ

Ps′∈Sssta ′′v(s

)]策略評估迭代可以通過狀態(tài)值函數(shù)的Bellman

方程來實現(xiàn)。值迭代算法可以通過狀態(tài)值函數(shù)的Bellman

最優(yōu)方程得到。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 11

/

47第十二章

深度強(qiáng)化學(xué)習(xí)基于值函數(shù)的強(qiáng)化學(xué)習(xí) 基于值函數(shù)的無模型強(qiáng)化學(xué)習(xí)基于值函數(shù)的無模型強(qiáng)化學(xué)習(xí)模型已知:動態(tài)規(guī)劃?

如,策略迭代和值迭代算法?

(s)

(s,

a)

可以互相導(dǎo)出,因此可以聚焦在

(s)?

分為策略評估和策略改進(jìn)兩個部分。確定性貪婪決策函數(shù)模型未知:基于值函數(shù)的無模型強(qiáng)化學(xué)習(xí)?

如,蒙特卡洛方法、時序差分

(TD):SARSA,Q

學(xué)習(xí)?

更關(guān)注

(s,

a)

的預(yù)測(因只能直接從

(s,

a)

中求出策略)?

策略改進(jìn)引入

??

貪婪決策函數(shù),

使策略有機(jī)會探索所有動作π′(a|s)

={1

?

?

+

?/|A|如果

a

=

arg

maxa′

(s,

a′)否則?/|A|滿足

vπ′

vπp,其中

π

是改進(jìn)前的一個

??貪婪決策函數(shù)。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 12

/

47第十二章

深度強(qiáng)化學(xué)習(xí)基于值函數(shù)的強(qiáng)化學(xué)習(xí) 基于值函數(shù)的無模型強(qiáng)化學(xué)習(xí)蒙特卡洛方法利用抽樣軌跡中回報的均值來估計值函數(shù)First

Visit

蒙特卡洛控制初始化策略

π0,q(s,

a);初始化回報列表

R(s,

a)

|S|

×

|A|

空列表2.

策略迭代

t

=

0,

1,

2,

·

·

·策略評估:以策略

πt抽樣,得到一段軌跡

s1,

a1,

r2,

s2,

a2,

r3,

·

·

·

,

sT記錄軌跡中每一個首次出現(xiàn)的動作狀態(tài)對

(s,

a)

之后的累積(折現(xiàn))回報

R?t(s,

a),并附到

R(s,

a)

對應(yīng)位置列表之后計算

q(s,

a),即

R(s,

a)

對應(yīng)位置列表元素的均值策略改進(jìn):??貪婪策略改進(jìn)

q(s,

a),得到

πt+1漸進(jìn)式的蒙特卡洛控制更新

q(s,

a)

的時,使用q(s,

a)

q(s,

a)

+

η[R?t(s,

a)

?

q(s,

a)]其中

η

為一很小正數(shù),式子成立因為均值性質(zhì):tμ

=1tt∑i=1ti tx

= (x+

(t?1)μt?11

1t t?1)=μt?1+t(x

?

μ )機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 13

/

47第十二章

深度強(qiáng)化學(xué)習(xí)基于值函數(shù)的強(qiáng)化學(xué)習(xí) 基于值函數(shù)的無模型強(qiáng)化學(xué)習(xí)時序差分方法蒙特卡洛:執(zhí)行策略得到一段軌跡之后,才能獲得

R?t(s,

a),從而更新一次q(s,

a)時序差分(TD):考慮到qπ

(s,

a)

=

(rt+1

+

γqπ

(st+1,

at+1)|st

=

s,

at

=

a)用

rt+1

+

γq(st+1,

at+1)

替換

R?t(s,

a),每一步更新一次

q(s,

a)*

TD(n)

使用計算

n

TD

目標(biāo)的指數(shù)加權(quán)平均作為

TD

目標(biāo)?

一步

TD

目標(biāo):rt+1

+

γq(st+1,

at+1)?

兩步

TD

目標(biāo):rt+1

+

γrt+2

+

γ2q(st+2,

at+2)?

類似可得

k

TD

目標(biāo)結(jié)合一般策略評估

-策略改進(jìn)框架,可以得到時序差分算法。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 14

/

47第十二章

深度強(qiáng)化學(xué)習(xí)基于值函數(shù)的強(qiáng)化學(xué)習(xí)基于值函數(shù)的無模型強(qiáng)化學(xué)習(xí)時序差分方法TD(1)

算法?

初始化

q(s,

a),環(huán)境狀態(tài)

s0?

策略迭代

t

=

0,

1,

2,

·

·

·基于

q(s,

a)

??貪婪的策略,在狀態(tài)

st

下選擇動作

at執(zhí)行動作

at,進(jìn)入狀態(tài)

st+1,并得到回報

rt+1根據(jù)某個策略,在狀態(tài)

st+1

下選擇動作

at+1使用一步

TD

方法,更新

q(st,

at)SARSA

強(qiáng)化學(xué)習(xí)流程第

3

步根據(jù)??貪婪的

πt

策略選擇動作,同策略

TDq(st,

at)

q(st,

at)

+

η[rt+1

+

γq(st+1,

at+1)

?

q(st,

at)]Q

學(xué)習(xí)流程第

3

步基于

q(st,

a)

的普通貪婪策略,異策略

TDat t t t t+1

t+1q(s,a)←q(s,a)

+

η[r +γ

max

q(s ,

at t)

?

q(s

,

a

)]機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 15

/

47第十二章

深度強(qiáng)化學(xué)習(xí)基于值函數(shù)的強(qiáng)化學(xué)習(xí)基于值函數(shù)的無模型強(qiáng)化學(xué)習(xí)強(qiáng)化學(xué)習(xí)方法比較蒙特卡洛方法

vs

時序差分方法?

蒙特卡洛方法?

需要得到一段軌跡之后才能實施一次更新?

值函數(shù)估計無偏差的但方差較大?

沒有利用馬爾科夫性質(zhì),非馬爾科夫的環(huán)境下可能有好的表現(xiàn)?

時序差分?

每一步都更新值函數(shù),不需要等到馬爾科夫決策過程結(jié)束?

時序差分的值函數(shù)估計方差較小但存在偏差?

時序差分利用了馬爾科夫性質(zhì)?

n

較大時,n

步時序差分方法趨向于蒙特卡洛方法。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 16

/

47第十二章

深度強(qiáng)化學(xué)習(xí)基于值函數(shù)的強(qiáng)化學(xué)習(xí)基于值函數(shù)的無模型強(qiáng)化學(xué)習(xí)強(qiáng)化學(xué)習(xí)方法比較動態(tài)規(guī)劃(值迭代,策略迭代):?

基于模型的方法,沒有使用抽樣。無模型強(qiáng)化學(xué)習(xí)(蒙特卡洛方法和時序差分方法):?

無模型方法,都使用了抽樣來評估策略,估計值函數(shù)。強(qiáng)化學(xué)習(xí)的

Bootstraping(不是

bootstrap):在估計值函數(shù)的時候,使用到了值函數(shù)在后續(xù)狀態(tài)的估計值。動態(tài)規(guī)劃和時序差分使用了

Bootstraping,蒙特卡洛方法沒有。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 17

/

47第十二章

深度強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q

網(wǎng)絡(luò)目錄基于值函數(shù)的強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q

網(wǎng)絡(luò)3策略梯度和

Actor-Critic

方法4學(xué)習(xí)、推演和搜索機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 18

/

47第十二章

深度強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q

網(wǎng)絡(luò)值函數(shù)近似離散狀態(tài)空間和離散動作空間:之前介紹的強(qiáng)化學(xué)習(xí)方法狀態(tài)空間

st

S

連續(xù)(動作空間仍然離散):值函數(shù)近似考慮

(s,

a)

的一個近似

?q(s,

a,

θ),?1 |A|對于線性近似,θ

=

,

·

·

·

,

θ ),?q(s,

aTa,

θ)

=

θ

s。=?

對于神經(jīng)網(wǎng)絡(luò)近似,θ

代表神經(jīng)網(wǎng)絡(luò)的參數(shù)機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 19

/

47第十二章

深度強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q網(wǎng)絡(luò)

值函數(shù)的近似值函數(shù)的近似qπ

(s,

a)

未知,參數(shù)

θ

TD

更新:θ

θ

+

η[rt+1

+

γ?q(st+1,

at+1,

θ)

?

?q(s,

a,

θ)]?θ?q(s,

a,

θ)值函數(shù)近似的

TD(1)的強(qiáng)化學(xué)習(xí)?

初始化

θ,環(huán)境狀態(tài)

s0?

策略迭代

t

=

0,

1,

2,

·

·

·基于?q(s,

a,

θ)

??

貪婪策略,在狀態(tài)

st

下選擇動作

at執(zhí)行動作

at,進(jìn)入狀態(tài)

st+1,并得到回報

rt+1根據(jù)某個策略,在狀態(tài)

st+1

下選擇動作

at+1使用值函數(shù)近似的

TD

方法,更新參數(shù)

θθ

θ

+

η[rt+1

+

γ?q(st+1,

at+1,

θ)

?

?q(st,

at,

θ)]?θ?q(st,

at,

θ)線性近似:3.

策略選擇動作不同有

LSTD-SARSA

LSTD-Q

算法非線性近似:深度

Q

網(wǎng)絡(luò)機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 20

/

47第十二章

深度強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q

網(wǎng)絡(luò) 深度

Q

網(wǎng)絡(luò)

DQN深度

Q

網(wǎng)絡(luò)

DQN值函數(shù)的非線性近似在時序差分強(qiáng)化學(xué)習(xí)中直接引入神經(jīng)網(wǎng)絡(luò)近似會導(dǎo)致參數(shù)發(fā)散或震蕩DQN

論文給出不收斂的原因輸入數(shù)據(jù)不是獨立同分布的,可能具有高度序列相關(guān)性神經(jīng)網(wǎng)絡(luò)近似的值函數(shù)

?q(s,

a,

θ)

不穩(wěn)定將導(dǎo)致基于

?q(s,

a,

θ)

的貪婪策略不穩(wěn)定,不利于生成好的

TD

目標(biāo)用于網(wǎng)絡(luò)訓(xùn)練。某次回報的(絕對)值過大會導(dǎo)致梯度下降訓(xùn)練不穩(wěn)定。改進(jìn)方法引入經(jīng)驗回放引入目標(biāo)網(wǎng)絡(luò)限制

TD

誤差在

[-1,1]

區(qū)間:即目標(biāo)損失使用

Huber

Loss,將

[-1,1]

區(qū)間之外的平方損失替換為絕對值損失。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 21

/

47第十二章

深度強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q

網(wǎng)絡(luò)深度

Q

網(wǎng)絡(luò)

DQN經(jīng)驗回放目的:減弱數(shù)據(jù)關(guān)聯(lián)性,獲得相對獨立的訓(xùn)練數(shù)據(jù)。方法:將數(shù)據(jù)元組

et

=

(st,

at,

rt+1,

st+1)存到一定大小的回放容器中策略評估步驟更新

?q(s,

a,

θ)

中的參數(shù)

θ

時,隨機(jī)選取記憶容器中的小批量(mini-batch)數(shù)據(jù)估計動作狀態(tài)

-值函數(shù),并更新網(wǎng)絡(luò)參數(shù)。實施經(jīng)驗回放更新后,代理將根據(jù)

??

貪婪策略選擇一個動作并進(jìn)入下一個狀態(tài),獲得下一個回報。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 22

/

47第十二章

深度強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q

網(wǎng)絡(luò) 深度

Q

網(wǎng)絡(luò)

DQN目標(biāo)網(wǎng)絡(luò)a目的:使訓(xùn)練更加穩(wěn)健,防止

θ

頻繁更新導(dǎo)致

TD

目標(biāo)值不穩(wěn)定而引發(fā)的網(wǎng)絡(luò)發(fā)散或震蕩。方法:建立兩個結(jié)構(gòu)一樣但參數(shù)可能不同的神經(jīng)網(wǎng)絡(luò):?

在線網(wǎng)絡(luò)

?q(s,

a,

θ):θ

不斷更新,用

??

貪婪策略來產(chǎn)生軌跡,并存入回放容器。?

目標(biāo)網(wǎng)絡(luò)

?q(s,

a,

θ?):θ?

定期更新。產(chǎn)生

Q

學(xué)習(xí)的

TD

目標(biāo)值

rt+1

+

γ

max

?q(st+1,

a,

θ?)。?

例如,每隔

N

步,將

θ?

設(shè)為

θ。DQN

TD

誤差t+1ar +

γ

max

?t+1q(s ,

a?t t,

θ

)

?

?q(s

,

a,

θ)其中,(st,

at,

rt+1,

st+1)

由回放容器中隨機(jī)抽樣產(chǎn)生。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 23

/

47第十二章

深度強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q

網(wǎng)絡(luò) 深度

Q

網(wǎng)絡(luò)

DQNDQN

算法a初始化

θ,環(huán)境狀態(tài)

s0,θ?

θ,θ?

的更新周期

N(2)

策略迭代

t

=

0,

1,

2,

·

·

·基于

?q(s,

a,

θ)

??貪婪策略,在狀態(tài)

st

下選擇動作

at執(zhí)行動作

at,進(jìn)入狀態(tài)

st+1,并得到回報

rt+1將數(shù)據(jù)元組

et

=

(st,

at,

rt+1,

st+1)存儲到回放容器

D從回放容器中隨機(jī)

mini-batch

抽樣,例如得到一個樣本ek

=

(sk,

ak,

rk+1,

sk+1)使用值函數(shù)近似的

TD

方法,更新參數(shù)

θ。記ak+1

=

max

?q(sk+1,

a,

θ?)θ←θ+η[rk+1+γ?q(sk+1,ak+1,θ?)??q(sk,ak,θ)]?θ?q(sk,ak,θ)其中,rk+1

+

γ?q(sk+1,

ak+1,

θ?)

?

?q(sk,

ak,

θ)

的值在

[-1,1]

區(qū)間之外會被設(shè)為邊界值

1

-1。6.

每間隔

N

步(t

N

整除),θ?

θ在多局制(episode)環(huán)境下,在每局開始的時候重新初始化環(huán)境狀態(tài),并把動作

-狀態(tài)值函數(shù)在每局結(jié)束狀態(tài)的值設(shè)為

0。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 24

/

47第十二章

深度強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q

網(wǎng)絡(luò) 深度

Q

網(wǎng)絡(luò)

DQNDQN

的拓展aDouble

Q

學(xué)習(xí)DQN

算法第

5

at+1

的計算修改為

ak+1

=

max

?q(sk+1,

a,

θ)。解決

Q

學(xué)習(xí)中的

q

值估計偏高的問題。Prioritized

Replay修改了經(jīng)驗回放中的隨機(jī)抽樣,使得更重要的樣本(TD

誤差大)被回放的頻率更大。Dueling

Architecture把

q

值函數(shù)分解為狀態(tài)值函數(shù)和優(yōu)勢函數(shù)之和,πθq(s,a,θ)=v

(s,

θ)

+

A(s,

a,

θ),并使用底層共享的網(wǎng)絡(luò)結(jié)構(gòu)分別估計再加起來。以上三種處理方法對

DQN

都有顯著的改進(jìn),這些方法也可以組合起來使用,得到更好的效果。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 25

/

47第十二章

深度強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q

網(wǎng)絡(luò) 深度

Q

網(wǎng)絡(luò)

DQNDQN

智能交易機(jī)器人目標(biāo)和背景?

使用結(jié)合

Prioritized

Replay

Double

DQN

方法。?

機(jī)器人根據(jù)輸入的技術(shù)指標(biāo)來綜合分析,并輸出持倉決策。?

狀態(tài)集

st:一個

16

×

1

的向量,表示輸入的

16

個技術(shù)指標(biāo)。動作集:(?1,

0,

1),表示賣空一手,無持倉和持有一手?;貓螅河沙謧}和下一刻的價格變化決定。?

訓(xùn)練結(jié)束后,得到

q

函數(shù)網(wǎng)絡(luò)

q(s,

a),表示在技術(shù)指標(biāo)

s

和持倉

a條件下的未來累計折現(xiàn)期望收益。根據(jù)最高的期望收益對應(yīng)的動作來決定持倉。解決方案和程序?

滬深

300

指數(shù)

2015

1

5

號到

7

14

號的數(shù)據(jù)設(shè)為訓(xùn)練數(shù)據(jù)7

15

號到

12

7

號的數(shù)據(jù)為檢驗數(shù)據(jù),折現(xiàn)因子設(shè)為

0.95。?

本例中的交易機(jī)器人可以解釋為一個關(guān)注中長期的期望收益,可以在類似從

2015

1

5

號到

7

14

號的市場環(huán)境中取得較好收益的智能交易機(jī)器人。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 26

/

47第十二章

深度強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q

網(wǎng)絡(luò) 深度

Q

網(wǎng)絡(luò)

DQNDQN

智能交易機(jī)器人樣本內(nèi)收益非常高,樣本外測試也取得了正收益。(a) (b)“AI股評家”?

持有策略為例,動作集固定為

1,一直持有,其他設(shè)置不變,輸出為持有策略的期望收益

(s,

a

=

1)。是對持有策略進(jìn)行策略評估,不包含策略改進(jìn)的步驟。類似于有監(jiān)督學(xué)習(xí)模型,但在設(shè)置響應(yīng)變量上較有監(jiān)督學(xué)習(xí)更為靈活。?

股評家也可以對

各種固定的策略,例如

2

均線策略,進(jìn)行策略評估,這點通過有監(jiān)督學(xué)習(xí)是較難實現(xiàn)的。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 27

/

47第十二章

深度強(qiáng)化學(xué)習(xí)策略梯度和

Actor-Critic

方法目錄基于值函數(shù)的強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q

網(wǎng)絡(luò)3策略梯度和

Actor-Critic

方法4學(xué)習(xí)、推演和搜索機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 28

/

47第十二章

深度強(qiáng)化學(xué)習(xí)策略梯度和

Actor-Critic

方法策略梯度和Actor-Critic

方法基于值函數(shù)方法如

SARSA,Q

學(xué)習(xí)值函數(shù)方法通過估計動作

-值函數(shù),間接地獲得了策略,這類方法難以應(yīng)用到連續(xù)的動作空間的情形,以及最優(yōu)策略是隨機(jī)策略的情形?;诓呗缘模址Q為策略梯度(Policy

Gradient,PG)方法。通常具有更好的收斂性,在

高維度和連續(xù)動作空間更有效,可以用來學(xué)習(xí)

隨機(jī)策略。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 29

/

47第十二章

深度強(qiáng)化學(xué)習(xí)策略梯度和

Actor-Critic

方法

策略梯度定理策略梯度建模用值函數(shù)近似

直接對策略進(jìn)行建模,即優(yōu)化

π(a|s,

θ),記為

πθ

。常見例子:∑a′soft

max

策略:π(a|s,

θ)

=

exp(h(s,

a,

θ))/

exp(h′(s,

a

,

θ))高斯策略:π(a|s,

θ)

=

?(a|μ(s,

θ),

σ(s,

θ))其中

σ(s,

θ)

=

exp(g(s,

θ)),h(s,

a,

θ),μ(s,

θ)

g(s,

θ)

可以是線性函數(shù)也可以是復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)。目標(biāo):求解

θ,使得在策略

πθ下最大化

J(θ)

=

(s0)θθ?=argmax

J(θ)θ上式可以通過

梯度算法

進(jìn)行迭代求解θ(l+1)=θ(l)+

η?θJ(θ)η

是學(xué)習(xí)率,?θ

J(θ)

J(θ)

的梯度。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 30

/

47第十二章

深度強(qiáng)化學(xué)習(xí)策略梯度和

Actor-Critic

方法

策略梯度定理策略梯度定理策略梯度定理是求解策略

J(θ)

的基礎(chǔ)Sutton

(2000)

證明

策略梯度具有如下形式?θ

J(θ)

=

dπθ

(s)

qπθ

(s,

a)?θπ(a|s,

θ)dads利用

?θπ(a|s,

θ)

=

π(a|s,

θ)?θ

log

π(a|s,

θ),策略梯度可以進(jìn)一步寫為?θ

J(θ)

=

Es~dπθ

,a~π

[qπθ

(s,

a)?θ

log

π(a|s,

θ)]可以通過抽樣來估計策略梯度,進(jìn)而使用隨機(jī)梯度算法來更新參數(shù)。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 31

/

47第十二章

深度強(qiáng)化學(xué)習(xí)策略梯度和

Actor-Critic

方法

策略梯度定理REINFORCE

算法使用折扣累積回報

Gt

來估計

(s,

a),是一種蒙特卡洛算法。θREINFOECE

算法:初始化策略

πθ多局制(episode)環(huán)境下,迭代

k

=

0,

1,

2,

·

·

·根據(jù)策略

πθ

,抽樣得到第

k

局狀態(tài)

-動作

-

回報的軌跡2.2

s0,

a0,

r1,

s1,

a1,

r2,

·

·

·

,

rT迭代

t

=

0,

1,

2,

·

·

·T∑j=t+1b.θ←θ+ηGt?θlogπ(at|st,

θ)j?t?1a.

計算

G

=

γ

rt j機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 32

/

47第十二章

深度強(qiáng)化學(xué)習(xí)策略梯度和

Actor-Critic

方法

策略梯度定理帶基準(zhǔn)的

REINFOECE

算法t多局制環(huán)境下,每局有終止?fàn)顟B(tài),故

G

與∑∞k=0γkrt+k+1

不同。?

參數(shù)更新時加上動態(tài)權(quán)重

γt,即

θ

θ

+

ηγtGt?θ

log

π(at|st,

θ)。直接使用

REINFOECE

算法會導(dǎo)致較大的估計方差。?

Gt

減去一個與動作無關(guān)的基準(zhǔn)

b(s)。例如,b(s)

=

?vπ

(s,

w)。θ帶基準(zhǔn)的

REINFOECE算法:1.

初始化策略

πθ

,值函數(shù)

?vπ

(s,

w),η1

>

0,

η2

>

0θ多局制(episode)環(huán)境下,迭代

k

=

0,

1,

2,

·

·

·根據(jù)策略

πθ

,抽樣得到第

k

局狀態(tài)

-動作

-

回報的軌跡s0,

a0,

r1,

s1,

a1,

r2,

·

·

·

,

rT2.2迭代

t

=

0,

1,

2,

·

·

·ta.計算G

=∑Tj=t+1γj?t?1rjb.δt=Gt??vπθ(st,

w)c.w←w+η1δt?w?vπθ(st,

w)t2 t

θ t

td.θ←θ+ηγδ?logπ(a|s,

θ)機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 33

/

47第十二章

深度強(qiáng)化學(xué)習(xí)策略梯度和

Actor-Critic

方法

策略梯度定理強(qiáng)化學(xué)習(xí)和有監(jiān)督學(xué)習(xí)的對比聯(lián)系:令

L(θ)

=

?J(θ),并最小化

L(θ),則與有監(jiān)督學(xué)習(xí)目標(biāo)一致。假設(shè)樣本

(at,

st),

t

=

1,

·

·

·

,

T

已知,變?yōu)橐粋€標(biāo)準(zhǔn)的有監(jiān)督學(xué)習(xí)T∑t

t? logπ(a|s,

θ)t=1?

s

解釋變量

X?

a

響應(yīng)變量或標(biāo)簽

Y?

log

π(at|st,

θ)

單個樣本的損失函數(shù)區(qū)別:?

有監(jiān)督學(xué)習(xí)的標(biāo)簽

Y

默認(rèn)正確,強(qiáng)化學(xué)習(xí)的

“標(biāo)簽

a”

不一定?

有監(jiān)督學(xué)習(xí)的樣本分布是確定的,強(qiáng)化學(xué)習(xí)的訓(xùn)練樣本分布在策略收斂前不斷變化?

強(qiáng)化學(xué)習(xí)中,樣本

(at,

st)

需要通過代理和環(huán)境的交互來獲取。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 34

/

47第十二章

深度強(qiáng)化學(xué)習(xí)Actor-Critic

算法策略梯度和

Actor-Critic

方法Actor-Critic

算法Actor-Critic

算法是基于策略梯度定理的梯度方法Critic:函數(shù)近似的

q,?q(s,

a,

w),用來估計策略梯度中的

(s,

a)Actor:參數(shù)化的策略

π(a|s,

θ),其參數(shù)更新方向依賴于

Critic

的值標(biāo)準(zhǔn)的

Actor-Critic

算法使用

TD

的方式估計動作

-狀態(tài)值函數(shù)

(s,

a)θ在每一步都能更新

Actor

Critic的參數(shù),并使用最新的策略進(jìn)行抽樣。對比:帶基準(zhǔn)的REINFOECE

算法沒有使用

bootstraping(即

TD)機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 35

/

47第十二章

深度強(qiáng)化學(xué)習(xí)策略梯度和

Actor-Critic

方法 Actor-Critic

算法Actor-Critic

算法與

REINFORCE

算法類似,在

Actor-Critic

算法直接使用動作

-狀態(tài)值函數(shù)πθq(s,

a)

的參數(shù)近似會導(dǎo)致估計方差較大。定義優(yōu)勢函數(shù)Aπ

(s,

a)

=

q

(s,

a)

?

vπθ

(s),并基于優(yōu)勢函數(shù)的策略梯度θ πθ來實現(xiàn)

Actor-Critic

算法。?θ

J(θ)

=

Es~dπθ

,a~π

[Aπθ

(s,

a)?θ

log

π(a|s,

θ)]狀態(tài)值函數(shù)的一步

TD

誤差

δt

=

rt+1

+

γvπθ

(st+1)

?

vπθ

(st)

滿足Eπθ

(δt|st,

at)

=

qπθ

(st,

at)

?

vπθ

(st)

=

Aπθ

(st,

at)使用值函數(shù)近似的一步

TD

誤差來替代上式的期望

δt,作為優(yōu)勢函數(shù)的無偏估計。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 36

/

47第十二章

深度強(qiáng)化學(xué)習(xí)策略梯度和

Actor-Critic

方法 Actor-Critic

算法Actor-Critic

算法初始化策略

πθ

,值函數(shù)

?vπ

(s,

w),η1

>

0,

η2

>

0θ多局制(episode)環(huán)境下,迭代

k

=

0,

1,

2,

·

·

·?

初始化第

k

局狀態(tài)

s0?

迭代

t

=

0,

1,

2,

·

·

·根據(jù)策略

π(·|st,

θ)

選擇動作

at執(zhí)行動作

at,進(jìn)入狀態(tài)

st+1,并得到回報

rt+1計算一步

TD

誤差

δ?t

=

rt+1+

γ?vπθ

(st+1,

w)

?

?vπθ

(st,

w)w←w+η1δ?t?w?vπθ(st,

w)t?2 t

θ t

t5.θ←θ+ηγδ?logπ(a|s,

θ)機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 37

/

47第十二章

深度強(qiáng)化學(xué)習(xí)策略梯度和

Actor-Critic

方法 Actor-Critic

算法Actor-Critic

算法TRPO?

近似求解更新前后兩個策略下的值函數(shù)的差,并加入更新前后兩個策略

KL

距離的約束等技巧?

保證參數(shù)更新的時候目標(biāo)函數(shù)

J(θ)

不減小A3C?

異步方法應(yīng)用到策略梯度?

處理一大類連續(xù)動作空間問題時表現(xiàn)十分優(yōu)異DDPG?

引入了

DQN

的關(guān)鍵處理方法,即經(jīng)驗回放和目標(biāo)網(wǎng)絡(luò)技術(shù)?

可以處理高維連續(xù)狀態(tài)空間和連續(xù)動作空間的情形D4PG?

DDPG+

折現(xiàn)回報的分布建模

+

分布式計算?

從折現(xiàn)回報分布的視角來研究強(qiáng)化學(xué)習(xí),而不是僅僅關(guān)注回報的期望或均值

(基于值函數(shù)的方法)?

超越了

A3C,是深度強(qiáng)化學(xué)習(xí)最出色的方法之一機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 38

/

47第十二章

深度強(qiáng)化學(xué)習(xí)學(xué)習(xí)、推演和搜索目錄基于值函數(shù)的強(qiáng)化學(xué)習(xí)值函數(shù)近似和深度

Q

網(wǎng)絡(luò)3策略梯度和

Actor-Critic

方法4學(xué)習(xí)、推演和搜索機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 39

/

47第十二章

深度強(qiáng)化學(xué)習(xí)學(xué)習(xí)、推演和搜索 “記憶式”

學(xué)習(xí)“記憶式”

學(xué)習(xí)有監(jiān)督學(xué)習(xí)對模型

Y

=

f(X,

θ)

+

?

進(jìn)行建模估計

f,如

K

鄰近法。是一種低級的通過簡單

“記憶”

來學(xué)習(xí)的方法。深度學(xué)習(xí)引入多層神經(jīng)網(wǎng)絡(luò)來提取數(shù)據(jù)特征,抽象能力,一種更高級的學(xué)習(xí)(記憶)方式。強(qiáng)化學(xué)習(xí)通過不斷與環(huán)境的交互改進(jìn)決策函數(shù)

π(a|s)?;谥岛瘮?shù)的無模型學(xué)習(xí):表格式記憶。DQN:把表格式記憶學(xué)習(xí)替換成基于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法。機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 40

/

47第十二章

深度強(qiáng)化學(xué)習(xí)學(xué)習(xí)、推演和搜索 推演和搜索推演和搜索推演(即規(guī)劃

Planning)在沒有與環(huán)境交互的情形下改進(jìn)決策函數(shù)。強(qiáng)化學(xué)習(xí)特有,比起記憶式學(xué)習(xí)更接近人類的思考和決策方式。?

有模型時,例子包括策略迭代和值迭代算法。?

無模型時,代理在學(xué)習(xí)過程的某個時刻,暫時停止與環(huán)境的交互,在此期間通過某種方式來改進(jìn)決策函數(shù)。改進(jìn)決策函數(shù)的方法?

對環(huán)境和回報函數(shù)建模,利用模型抽樣生成的樣本去學(xué)習(xí),然后更新策略,例如

Dyna

算法,VIN

等?

通過對未來軌跡的搜索來進(jìn)行規(guī)劃深度強(qiáng)化學(xué)習(xí):高級學(xué)習(xí)

+

抽象

+

環(huán)境交互

+

推演機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 41

/

47第十二章

深度強(qiáng)化學(xué)習(xí)學(xué)習(xí)、推演和搜索推演和搜索推演和搜索搜索當(dāng)前狀態(tài)下對未來動作狀態(tài)軌跡的探索,用來尋找最優(yōu)決策。搜索可用來推演,在一些環(huán)境下

(如下棋)

比其他規(guī)劃算法更高效一般使用樹的結(jié)構(gòu)來表示環(huán)境狀態(tài)的轉(zhuǎn)換。包括?

全寬度搜索?

基于抽樣的搜索?

基于模擬的搜索(包括蒙特卡洛模擬搜索)機(jī)器學(xué)習(xí)與

python

實踐

()人民郵電出版社 42

/

47第十二章

深度強(qiáng)化學(xué)習(xí)學(xué)習(xí)、推演和搜索 蒙特卡洛樹搜索蒙特卡洛樹搜索

MCTS一種重要的搜索算法,在棋類游戲中取

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論