《机器学习与Python实践》chapter12课件_第1页
《机器学习与Python实践》chapter12课件_第2页
《机器学习与Python实践》chapter12课件_第3页
《机器学习与Python实践》chapter12课件_第4页
《机器学习与Python实践》chapter12课件_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十二章 深度强化学习机器学习与

python

实践机器学习与

python

实践

()人民邮电出版社 1

/

47第十二章

深度强化学习深度强化学习深度强化学习

=

深度学习

+

强化学习在强化学习中引入深度神经网络取得了巨大成功深度强化学习是人工智能的代表性方法David

Silver

提出人工智能

=

强化学习

+

深度学习。深度

Q

网络

DQN、AlphaGo机器学习与

python

实践

()人民邮电出版社 2

/

47第十二章

深度强化学习目录基于值函数的强化学习值函数近似和深度

Q

网络3策略梯度和

Actor-Critic

方法4学习、推演和搜索机器学习与

python

实践

()人民邮电出版社 3

/

47第十二章

深度强化学习基于值函数的强化学习目录基于值函数的强化学习值函数近似和深度

Q

网络3策略梯度和

Actor-Critic

方法4学习、推演和搜索机器学习与

python

实践

()人民邮电出版社 4

/

47第十二章

深度强化学习基于值函数的强化学习强化学习的基础概念强化学习的基础概念涉及决策和环境交互影响的问题代理(Agent):依据环境状态做出决策的主体(决策函数)。在时刻

t,代理观察到环境状态

st,并执行动作

at。在

t

+

1,代理收到该动作的回报

rt+1,观测到

st+1,并执行

at+1。如此下去,直到这个过程以某种方式结束。机器学习与

python

实践

()人民邮电出版社 5

/

47第十二章

深度强化学习基于值函数的强化学习 强化学习的基础概念强化学习的基础概念强化学习是近似求解马尔科夫决策过程MDP

的算法集。MDP

是一个五元组

(S,

A,

P,

R,

γ):S

是状态集,st

S;A

是动作集,at

A;P

是转移概率函数矩阵a(4)

R

是回报函数,R

=

E(rs t+1

t t|s=s,a=

a);(5)

γ

[0,

1]

是折现因子,

下一时刻单位回报在当前的价值。目标:寻求决策函数π(a|s),使执行该策略的期望累计回报最大∗π=argmax

Eπ∞∑k=0确定性策略:∀s,

a′,

s.t.

π(a′|s)

=

1,记为

a′

=

π′(s)。kγ

rt+k+1( ).机器学习与

python

实践

()人民邮电出版社 6/

47第十二章

深度强化学习基于值函数的强化学习 值函数和Bellman

方程值函数值函数:给定某个策略

π

下,未来累积折现回报的期望状态值函数

(s):vπ

(s)

=

(Rt|st

=

s)动作状态值函数

(s,

a):qπ

(s,

a)

=

(Rt|st

=

s,

at

=

a)∞∑kR

= γ

rt t+k+1

t+1=

r +

γRt+1,

是时刻

t

开始的总回报。k=0值函数分解:vπ

(s)

=

(rt+1

+

γvπ

(st+1)|st

=

s)qπ

(s,

a)

=

(rt+1

+

γqπ

(st+1,

at+1)|st

=

s,

at

=

a)机器学习与

python

实践

()人民邮电出版社 7

/

47第十二章

深度强化学习值函数和Bellman

方程基于值函数的强化学习值函数的

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

)上述两式相互带入,状态值函数的Bellman

方程π∑v

(s)

=

π(aa∈A[as∑|s)

R

+

γ

Ps′∈Sassπ′′v(s

)]动作

-状态值函数的

Bellman

方程aπ s∑q

(s,

a)

=

R

+

γ

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

′ ′

′′

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

))机器学习与

python

实践

()人民邮电出版社 8

/

47第十二章

深度强化学习基于值函数的强化学习 值函数和Bellman

方程值函数的

Bellman

最优方程a最优值函数:v∗(s)

=

max

(s),

q∗(s,

a)

=

max

(s,

a)π π如果已知

q∗(s,

a),有最优值函数,v∗(s)

=

max

q∗(s,

a)满足∗q(s,

aas∑)

=

R

+

γ

Ps′∈Sssa ∗

′′v(s

)上述两式相互带入,状态值函数的Bellman

最优方程:a∗ as∑v(s)

=

max

R

+

γ

Ps′∈Sssa ∗

′′v(s

)[ ]动作

-状态值函数的

Bellman

最优方程:s∑q

(s,

a)

=

R

+

γ

P∗ a assa′∗′

′′(maxq(a,s

))s′∈S机器学习与

python

实践

()人民邮电出版社 9/

47第十二章

深度强化学习基于值函数的强化学习 策略迭代和值迭代策略迭代和值迭代a转移概率和回报函数已知或者存在估计的情形下,求解

MDP。目标:找到最优决策函数

π∗,达到期望累积折现回报最大,即值函数最优。求解

MDP

时,使用确定性贪婪决策函数,π′(a′|s)

=

1,a′

=

arg

max

(s,

a)。π′(s)

=

arg

max

(s,

a)a可以证明,对任意的

π

和状态

s,vπ′

。在策略迭代算法中,需要对策略评估和策略改进这两个步骤进行迭代,直到算法收敛。机器学习与

python

实践

()人民邮电出版社 10

/

47第十二章

深度强化学习策略迭代和值迭代基于值函数的强化学习策略迭代和值迭代策略迭代:初始化策略

π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.

策略改进:π (s)=argmaxq

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

+

γ P′v(s

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

=

max

R

+

γ

Ps′∈Sssta ′′v(s

)]策略评估迭代可以通过状态值函数的Bellman

方程来实现。值迭代算法可以通过状态值函数的Bellman

最优方程得到。机器学习与

python

实践

()人民邮电出版社 11

/

47第十二章

深度强化学习基于值函数的强化学习 基于值函数的无模型强化学习基于值函数的无模型强化学习模型已知:动态规划◮

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

(s)

(s,

a)

可以互相导出,因此可以聚焦在

(s)◮

分为策略评估和策略改进两个部分。确定性贪婪决策函数模型未知:基于值函数的无模型强化学习◮

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

(TD):SARSA,Q

学习◮

更关注

(s,

a)

的预测(因只能直接从

(s,

a)

中求出策略)◮

策略改进引入

ϵ−

贪婪决策函数,

使策略有机会探索所有动作π′(a|s)

={1

ϵ

+

ϵ/|A|如果

a

=

arg

maxa′

(s,

a′)否则ϵ/|A|满足

vπ′

vπp,其中

π

是改进前的一个

ϵ−贪婪决策函数。机器学习与

python

实践

()人民邮电出版社 12

/

47第十二章

深度强化学习基于值函数的强化学习 基于值函数的无模型强化学习蒙特卡洛方法利用抽样轨迹中回报的均值来估计值函数First

Visit

蒙特卡洛控制初始化策略

π0,q(s,

a);初始化回报列表

R(s,

a)

|S|

×

|A|

空列表2.

策略迭代

t

=

0,

1,

2,

·

·

·策略评估:以策略

πt抽样,得到一段轨迹

s1,

a1,

r2,

s2,

a2,

r3,

·

·

·

,

sT记录轨迹中每一个首次出现的动作状态对

(s,

a)

之后的累积(折现)回报

R˜t(s,

a),并附到

R(s,

a)

对应位置列表之后计算

q(s,

a),即

R(s,

a)

对应位置列表元素的均值策略改进:ϵ−贪婪策略改进

q(s,

a),得到

πt+1渐进式的蒙特卡洛控制更新

q(s,

a)

的时,使用q(s,

a)

q(s,

a)

+

η[R˜t(s,

a)

q(s,

a)]其中

η

为一很小正数,式子成立因为均值性质:tµ

=1tt∑i=1ti tx

= (x+

(t−1)µt−11

1t t−1)=µt−1+t(x

µ )机器学习与

python

实践

()人民邮电出版社 13

/

47第十二章

深度强化学习基于值函数的强化学习 基于值函数的无模型强化学习时序差分方法蒙特卡洛:执行策略得到一段轨迹之后,才能获得

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

目标的指数加权平均作为

TD

目标◮

一步

TD

目标:rt+1

+

γq(st+1,

at+1)◮

两步

TD

目标:rt+1

+

γrt+2

+

γ2q(st+2,

at+2)◮

类似可得

k

TD

目标结合一般策略评估

-策略改进框架,可以得到时序差分算法。机器学习与

python

实践

()人民邮电出版社 14

/

47第十二章

深度强化学习基于值函数的强化学习基于值函数的无模型强化学习时序差分方法TD(1)

算法◮

初始化

q(s,

a),环境状态

s0◮

策略迭代

t

=

0,

1,

2,

·

·

·基于

q(s,

a)

ϵ−贪婪的策略,在状态

st

下选择动作

at执行动作

at,进入状态

st+1,并得到回报

rt+1根据某个策略,在状态

st+1

下选择动作

at+1使用一步

TD

方法,更新

q(st,

at)SARSA

强化学习流程第

3

步根据ϵ−贪婪的

πt

策略选择动作,同策略

TDq(st,

at)

q(st,

at)

+

η[rt+1

+

γq(st+1,

at+1)

q(st,

at)]Q

学习流程第

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

)]机器学习与

python

实践

()人民邮电出版社 15

/

47第十二章

深度强化学习基于值函数的强化学习基于值函数的无模型强化学习强化学习方法比较蒙特卡洛方法

vs

时序差分方法◮

蒙特卡洛方法⋆

需要得到一段轨迹之后才能实施一次更新⋆

值函数估计无偏差的但方差较大⋆

没有利用马尔科夫性质,非马尔科夫的环境下可能有好的表现◮

时序差分⋆

每一步都更新值函数,不需要等到马尔科夫决策过程结束⋆

时序差分的值函数估计方差较小但存在偏差⋆

时序差分利用了马尔科夫性质◮

n

较大时,n

步时序差分方法趋向于蒙特卡洛方法。机器学习与

python

实践

()人民邮电出版社 16

/

47第十二章

深度强化学习基于值函数的强化学习基于值函数的无模型强化学习强化学习方法比较动态规划(值迭代,策略迭代):◮

基于模型的方法,没有使用抽样。无模型强化学习(蒙特卡洛方法和时序差分方法):◮

无模型方法,都使用了抽样来评估策略,估计值函数。强化学习的

Bootstraping(不是

bootstrap):在估计值函数的时候,使用到了值函数在后续状态的估计值。动态规划和时序差分使用了

Bootstraping,蒙特卡洛方法没有。机器学习与

python

实践

()人民邮电出版社 17

/

47第十二章

深度强化学习值函数近似和深度

Q

网络目录基于值函数的强化学习值函数近似和深度

Q

网络3策略梯度和

Actor-Critic

方法4学习、推演和搜索机器学习与

python

实践

()人民邮电出版社 18

/

47第十二章

深度强化学习值函数近似和深度

Q

网络值函数近似离散状态空间和离散动作空间:之前介绍的强化学习方法状态空间

st

S

连续(动作空间仍然离散):值函数近似考虑

(s,

a)

的一个近似

ˆq(s,

a,

θ),◮1 |A|对于线性近似,θ

=

,

·

·

·

,

θ ),ˆq(s,

aTa,

θ)

=

θ

s。=◮

对于神经网络近似,θ

代表神经网络的参数机器学习与

python

实践

()人民邮电出版社 19

/

47第十二章

深度强化学习值函数近似和深度

Q网络

值函数的近似值函数的近似qπ

(s,

a)

未知,参数

θ

TD

更新:θ

θ

+

η[rt+1

+

γˆq(st+1,

at+1,

θ)

ˆq(s,

a,

θ)]∇θˆq(s,

a,

θ)值函数近似的

TD(1)的强化学习◮

初始化

θ,环境状态

s0◮

策略迭代

t

=

0,

1,

2,

·

·

·基于ˆq(s,

a,

θ)

ϵ−

贪婪策略,在状态

st

下选择动作

at执行动作

at,进入状态

st+1,并得到回报

rt+1根据某个策略,在状态

st+1

下选择动作

at+1使用值函数近似的

TD

方法,更新参数

θθ

θ

+

η[rt+1

+

γˆq(st+1,

at+1,

θ)

ˆq(st,

at,

θ)]∇θˆq(st,

at,

θ)线性近似:3.

策略选择动作不同有

LSTD-SARSA

LSTD-Q

算法非线性近似:深度

Q

网络机器学习与

python

实践

()人民邮电出版社 20

/

47第十二章

深度强化学习值函数近似和深度

Q

网络 深度

Q

网络

DQN深度

Q

网络

DQN值函数的非线性近似在时序差分强化学习中直接引入神经网络近似会导致参数发散或震荡DQN

论文给出不收敛的原因输入数据不是独立同分布的,可能具有高度序列相关性神经网络近似的值函数

ˆq(s,

a,

θ)

不稳定将导致基于

ˆq(s,

a,

θ)

的贪婪策略不稳定,不利于生成好的

TD

目标用于网络训练。某次回报的(绝对)值过大会导致梯度下降训练不稳定。改进方法引入经验回放引入目标网络限制

TD

误差在

[-1,1]

区间:即目标损失使用

Huber

Loss,将

[-1,1]

区间之外的平方损失替换为绝对值损失。机器学习与

python

实践

()人民邮电出版社 21

/

47第十二章

深度强化学习值函数近似和深度

Q

网络深度

Q

网络

DQN经验回放目的:减弱数据关联性,获得相对独立的训练数据。方法:将数据元组

et

=

(st,

at,

rt+1,

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

ˆq(s,

a,

θ)

中的参数

θ

时,随机选取记忆容器中的小批量(mini-batch)数据估计动作状态

-值函数,并更新网络参数。实施经验回放更新后,代理将根据

ϵ−

贪婪策略选择一个动作并进入下一个状态,获得下一个回报。机器学习与

python

实践

()人民邮电出版社 22

/

47第十二章

深度强化学习值函数近似和深度

Q

网络 深度

Q

网络

DQN目标网络a目的:使训练更加稳健,防止

θ

频繁更新导致

TD

目标值不稳定而引发的网络发散或震荡。方法:建立两个结构一样但参数可能不同的神经网络:◮

在线网络

ˆq(s,

a,

θ):θ

不断更新,用

ϵ−

贪婪策略来产生轨迹,并存入回放容器。◮

目标网络

ˆq(s,

a,

θ−):θ−

定期更新。产生

Q

学习的

TD

目标值

rt+1

+

γ

max

ˆq(st+1,

a,

θ−)。◮

例如,每隔

N

步,将

θ−

设为

θ。DQN

TD

误差t+1ar +

γ

max

ˆt+1q(s ,

a−t t,

θ

)

ˆq(s

,

a,

θ)其中,(st,

at,

rt+1,

st+1)

由回放容器中随机抽样产生。机器学习与

python

实践

()人民邮电出版社 23

/

47第十二章

深度强化学习值函数近似和深度

Q

网络 深度

Q

网络

DQNDQN

算法a初始化

θ,环境状态

s0,θ−

θ,θ−

的更新周期

N(2)

策略迭代

t

=

0,

1,

2,

·

·

·基于

ˆq(s,

a,

θ)

ϵ−贪婪策略,在状态

st

下选择动作

at执行动作

at,进入状态

st+1,并得到回报

rt+1将数据元组

et

=

(st,

at,

rt+1,

st+1)存储到回放容器

D从回放容器中随机

mini-batch

抽样,例如得到一个样本ek

=

(sk,

ak,

rk+1,

sk+1)使用值函数近似的

TD

方法,更新参数

θ。记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]

区间之外会被设为边界值

1

-1。6.

每间隔

N

步(t

N

整除),θ−

θ在多局制(episode)环境下,在每局开始的时候重新初始化环境状态,并把动作

-状态值函数在每局结束状态的值设为

0。机器学习与

python

实践

()人民邮电出版社 24

/

47第十二章

深度强化学习值函数近似和深度

Q

网络 深度

Q

网络

DQNDQN

的拓展aDouble

Q

学习DQN

算法第

5

at+1

的计算修改为

ak+1

=

max

ˆq(sk+1,

a,

θ)。解决

Q

学习中的

q

值估计偏高的问题。Prioritized

Replay修改了经验回放中的随机抽样,使得更重要的样本(TD

误差大)被回放的频率更大。Dueling

Architecture把

q

值函数分解为状态值函数和优势函数之和,πθq(s,a,θ)=v

(s,

θ)

+

A(s,

a,

θ),并使用底层共享的网络结构分别估计再加起来。以上三种处理方法对

DQN

都有显著的改进,这些方法也可以组合起来使用,得到更好的效果。机器学习与

python

实践

()人民邮电出版社 25

/

47第十二章

深度强化学习值函数近似和深度

Q

网络 深度

Q

网络

DQNDQN

智能交易机器人目标和背景◮

使用结合

Prioritized

Replay

Double

DQN

方法。◮

机器人根据输入的技术指标来综合分析,并输出持仓决策。◮

状态集

st:一个

16

×

1

的向量,表示输入的

16

个技术指标。动作集:(−1,

0,

1),表示卖空一手,无持仓和持有一手。回报:由持仓和下一刻的价格变化决定。◮

训练结束后,得到

q

函数网络

q(s,

a),表示在技术指标

s

和持仓

a条件下的未来累计折现期望收益。根据最高的期望收益对应的动作来决定持仓。解决方案和程序◮

沪深

300

指数

2015

1

5

号到

7

14

号的数据设为训练数据7

15

号到

12

7

号的数据为检验数据,折现因子设为

0.95。◮

本例中的交易机器人可以解释为一个关注中长期的期望收益,可以在类似从

2015

1

5

号到

7

14

号的市场环境中取得较好收益的智能交易机器人。机器学习与

python

实践

()人民邮电出版社 26

/

47第十二章

深度强化学习值函数近似和深度

Q

网络 深度

Q

网络

DQNDQN

智能交易机器人样本内收益非常高,样本外测试也取得了正收益。(a) (b)“AI股评家”◮

持有策略为例,动作集固定为

1,一直持有,其他设置不变,输出为持有策略的期望收益

(s,

a

=

1)。是对持有策略进行策略评估,不包含策略改进的步骤。类似于有监督学习模型,但在设置响应变量上较有监督学习更为灵活。◮

股评家也可以对

各种固定的策略,例如

2

均线策略,进行策略评估,这点通过有监督学习是较难实现的。机器学习与

python

实践

()人民邮电出版社 27

/

47第十二章

深度强化学习策略梯度和

Actor-Critic

方法目录基于值函数的强化学习值函数近似和深度

Q

网络3策略梯度和

Actor-Critic

方法4学习、推演和搜索机器学习与

python

实践

()人民邮电出版社 28

/

47第十二章

深度强化学习策略梯度和

Actor-Critic

方法策略梯度和Actor-Critic

方法基于值函数方法如

SARSA,Q

学习值函数方法通过估计动作

-值函数,间接地获得了策略,这类方法难以应用到连续的动作空间的情形,以及最优策略是随机策略的情形。基于策略的,又称为策略梯度(Policy

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

高维度和连续动作空间更有效,可以用来学习

随机策略。机器学习与

python

实践

()人民邮电出版社 29

/

47第十二章

深度强化学习策略梯度和

Actor-Critic

方法

策略梯度定理策略梯度建模用值函数近似

直接对策略进行建模,即优化

π(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,

θ)

可以是线性函数也可以是复杂的深度神经网络。目标:求解

θ,使得在策略

πθ下最大化

J(θ)

=

(s0)θθ∗=argmax

J(θ)θ上式可以通过

梯度算法

进行迭代求解θ(l+1)=θ(l)+

η∇θJ(θ)η

是学习率,∇θ

J(θ)

J(θ)

的梯度。机器学习与

python

实践

()人民邮电出版社 30

/

47第十二章

深度强化学习策略梯度和

Actor-Critic

方法

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

∇θ

J(θ)

的基础Sutton

(2000)

证明

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

J(θ)

=

dπθ

(s)

qπθ

(s,

a)∇θπ(a|s,

θ)dads利用

∇θπ(a|s,

θ)

=

π(a|s,

θ)∇θ

log

π(a|s,

θ),策略梯度可以进一步写为∇θ

J(θ)

=

Es∼dπθ

,a∼π

[qπθ

(s,

a)∇θ

log

π(a|s,

θ)]可以通过抽样来估计策略梯度,进而使用随机梯度算法来更新参数。机器学习与

python

实践

()人民邮电出版社 31

/

47第十二章

深度强化学习策略梯度和

Actor-Critic

方法

策略梯度定理REINFORCE

算法使用折扣累积回报

Gt

来估计

(s,

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

算法:初始化策略

πθ多局制(episode)环境下,迭代

k

=

0,

1,

2,

·

·

·根据策略

πθ

,抽样得到第

k

局状态

-动作

-

回报的轨迹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机器学习与

python

实践

()人民邮电出版社 32

/

47第十二章

深度强化学习策略梯度和

Actor-Critic

方法

策略梯度定理带基准的

REINFOECE

算法t多局制环境下,每局有终止状态,故

G

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

不同。◮

参数更新时加上动态权重

γt,即

θ

θ

+

ηγtGt∇θ

log

π(at|st,

θ)。直接使用

REINFOECE

算法会导致较大的估计方差。◮

Gt

减去一个与动作无关的基准

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

=

ˆvπ

(s,

w)。θ带基准的

REINFOECE算法:1.

初始化策略

πθ

,值函数

ˆvπ

(s,

w),η1

>

0,

η2

>

0θ多局制(episode)环境下,迭代

k

=

0,

1,

2,

·

·

·根据策略

πθ

,抽样得到第

k

局状态

-动作

-

回报的轨迹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,

θ)机器学习与

python

实践

()人民邮电出版社 33

/

47第十二章

深度强化学习策略梯度和

Actor-Critic

方法

策略梯度定理强化学习和有监督学习的对比联系:令

L(θ)

=

−J(θ),并最小化

L(θ),则与有监督学习目标一致。假设样本

(at,

st),

t

=

1,

·

·

·

,

T

已知,变为一个标准的有监督学习T∑t

t− logπ(a|s,

θ)t=1◮

s

解释变量

X◮

a

响应变量或标签

Y◮

log

π(at|st,

θ)

单个样本的损失函数区别:◮

有监督学习的标签

Y

默认正确,强化学习的

“标签

a”

不一定◮

有监督学习的样本分布是确定的,强化学习的训练样本分布在策略收敛前不断变化◮

强化学习中,样本

(at,

st)

需要通过代理和环境的交互来获取。机器学习与

python

实践

()人民邮电出版社 34

/

47第十二章

深度强化学习Actor-Critic

算法策略梯度和

Actor-Critic

方法Actor-Critic

算法Actor-Critic

算法是基于策略梯度定理的梯度方法Critic:函数近似的

q,ˆq(s,

a,

w),用来估计策略梯度中的

(s,

a)Actor:参数化的策略

π(a|s,

θ),其参数更新方向依赖于

Critic

的值标准的

Actor-Critic

算法使用

TD

的方式估计动作

-状态值函数

(s,

a)θ在每一步都能更新

Actor

Critic的参数,并使用最新的策略进行抽样。对比:带基准的REINFOECE

算法没有使用

bootstraping(即

TD)机器学习与

python

实践

()人民邮电出版社 35

/

47第十二章

深度强化学习策略梯度和

Actor-Critic

方法 Actor-Critic

算法Actor-Critic

算法与

REINFORCE

算法类似,在

Actor-Critic

算法直接使用动作

-状态值函数πθq(s,

a)

的参数近似会导致估计方差较大。定义优势函数Aπ

(s,

a)

=

q

(s,

a)

vπθ

(s),并基于优势函数的策略梯度θ πθ来实现

Actor-Critic

算法。∇θ

J(θ)

=

Es∼dπθ

,a∼π

[Aπθ

(s,

a)∇θ

log

π(a|s,

θ)]状态值函数的一步

TD

误差

δt

=

rt+1

+

γvπθ

(st+1)

vπθ

(st)

满足Eπθ

(δt|st,

at)

=

qπθ

(st,

at)

vπθ

(st)

=

Aπθ

(st,

at)使用值函数近似的一步

TD

误差来替代上式的期望

δt,作为优势函数的无偏估计。机器学习与

python

实践

()人民邮电出版社 36

/

47第十二章

深度强化学习策略梯度和

Actor-Critic

方法 Actor-Critic

算法Actor-Critic

算法初始化策略

πθ

,值函数

ˆvπ

(s,

w),η1

>

0,

η2

>

0θ多局制(episode)环境下,迭代

k

=

0,

1,

2,

·

·

·◮

初始化第

k

局状态

s0◮

迭代

t

=

0,

1,

2,

·

·

·根据策略

π(·|st,

θ)

选择动作

at执行动作

at,进入状态

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,

θ)机器学习与

python

实践

()人民邮电出版社 37

/

47第十二章

深度强化学习策略梯度和

Actor-Critic

方法 Actor-Critic

算法Actor-Critic

算法TRPO◮

近似求解更新前后两个策略下的值函数的差,并加入更新前后两个策略

KL

距离的约束等技巧◮

保证参数更新的时候目标函数

J(θ)

不减小A3C◮

异步方法应用到策略梯度◮

处理一大类连续动作空间问题时表现十分优异DDPG◮

引入了

DQN

的关键处理方法,即经验回放和目标网络技术◮

可以处理高维连续状态空间和连续动作空间的情形D4PG◮

DDPG+

折现回报的分布建模

+

分布式计算◮

从折现回报分布的视角来研究强化学习,而不是仅仅关注回报的期望或均值

(基于值函数的方法)◮

超越了

A3C,是深度强化学习最出色的方法之一机器学习与

python

实践

()人民邮电出版社 38

/

47第十二章

深度强化学习学习、推演和搜索目录基于值函数的强化学习值函数近似和深度

Q

网络3策略梯度和

Actor-Critic

方法4学习、推演和搜索机器学习与

python

实践

()人民邮电出版社 39

/

47第十二章

深度强化学习学习、推演和搜索 “记忆式”

学习“记忆式”

学习有监督学习对模型

Y

=

f(X,

θ)

+

ϵ

进行建模估计

f,如

K

邻近法。是一种低级的通过简单

“记忆”

来学习的方法。深度学习引入多层神经网络来提取数据特征,抽象能力,一种更高级的学习(记忆)方式。强化学习通过不断与环境的交互改进决策函数

π(a|s)。基于值函数的无模型学习:表格式记忆。DQN:把表格式记忆学习替换成基于神经网络的学习方法。机器学习与

python

实践

()人民邮电出版社 40

/

47第十二章

深度强化学习学习、推演和搜索 推演和搜索推演和搜索推演(即规划

Planning)在没有与环境交互的情形下改进决策函数。强化学习特有,比起记忆式学习更接近人类的思考和决策方式。◮

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

无模型时,代理在学习过程的某个时刻,暂时停止与环境的交互,在此期间通过某种方式来改进决策函数。改进决策函数的方法◮

对环境和回报函数建模,利用模型抽样生成的样本去学习,然后更新策略,例如

Dyna

算法,VIN

等◮

通过对未来轨迹的搜索来进行规划深度强化学习:高级学习

+

抽象

+

环境交互

+

推演机器学习与

python

实践

()人民邮电出版社 41

/

47第十二章

深度强化学习学习、推演和搜索推演和搜索推演和搜索搜索当前状态下对未来动作状态轨迹的探索,用来寻找最优决策。搜索可用来推演,在一些环境下

(如下棋)

比其他规划算法更高效一般使用树的结构来表示环境状态的转换。包括◮

全宽度搜索◮

基于抽样的搜索◮

基于模拟的搜索(包括蒙特卡洛模拟搜索)机器学习与

python

实践

()人民邮电出版社 42

/

47第十二章

深度强化学习学习、推演和搜索 蒙特卡洛树搜索蒙特卡洛树搜索

MCTS一种重要的搜索算法,在棋类游戏中取

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论