hands on machine learning 第二版_强化学习估计和优化value函数:蒙特卡洛,时间差分,Sara和Q-learning...

294d2e3733a391fdac522876127027ed.png

本文对应UCL RL课程的第四课和第五课,第一节讲了如何估计value function,如蒙特卡洛,Temporal difference的过程,并进行了forward和backward两个方向的分析。第二节则讲了如何优化value function,如Sarsa和Q-learning的方法。

1.model free prediction

Estimate the value function of an unknown MDP

1.1.Mente-Carlo RL

  • First-Visit MC

196cc3e850a4371ed2c654d798d8a2f6.png
  • Every-Visit MC

上述两者过程完全一样,只是在一个episode中(如玩一次牌),对于经过了多次的state,是否累计

每次随机sample出一个路径trajectory,然后评估这个路径上的每个state依靠结果。如玩21点的时候,随机sample出一手牌,然后看是否赢。蒙特卡洛这种随机sample的方法非常简单,依据大数定理,sample足够多的时候就行。

通过incremental update的方式,每次sample出的新的

(一条路径的return),通过求平均值时一个简单的数学变换可得:

0b956eeb9e6f5e739ce5176bad766286.png

在non-stationary problems中,比如对之前的episode有一定的遗忘,自己定义一个小参数

e8fa5b1ddbc4281c00c05187e8872ea8.png

1.2.Temporal-Difference(TD) Learning

TD和MC的不同在于,可以利用incomplete episode,然后自己预估后面的return,下图是一个理论公式上的简单的比较

258c27493dae09796c87a6c3274f49ff.png

还记得

,可以看出,TD方法可以得到一个
immediate reward
(这个预估看成reward,要根据它来进行update),然后我们可以进行下一步的估计,而不是像MC那样只有一个总的整个过程的return,因此可以做出
更加及时的判断,我们称之为Bootstrapping

以开车回家为例

4b84eb74350cbc863cf77165692e5d30.png

205a1ba1d3f8d45999c85b9af8684e00.png

MC方法和TD的是不一样的。MC只有一个最终的return(actual outcome),43min,而TD可以根据每一步的结果对return进行一定的调整。

所以TD的优势在于

  • 在最终的outcome出来之前也可以学习
  • 没有最终的outcome的也可以学习

但是TD的缺点在于会有bias,我们可以看到TD是利用当前学习到的下一个状态

,而MC是完全利用的是最终的outcome,不会有bias。

TD的优点就是low variance,显而易见,反馈更加及时,与下一个状态相关。并且通常会更加efficient

其实TD的过程是一个markov过程在做MDP的东西,而显然MC不是。TD因此满足Markov property,在Markov的环境下当然会更加efficiency。举一个简单的计算例子

ddea401014a17abd5e76b950f7c4b56b.png

初始都认为为0,按照MC,那就直接看全过程了,

;按照TD,
后我们要预估
,那就用Markov估计得到

可以对比一下

01684bc392ca364ee26b7d0d6c26dacb.png

DP全部搜索太难,就用MC和TD进行sample来做。

1.2.1.n步的temporal difference

df1adb86cbc30aa04fdc8faf9da3b635.png

MC和TD分别是两个极端,一个只考虑一步,另一个则是只考虑全部。我们可以做一个折衷,做n-step的。

既然可以拓展TD,当然我们可以做更加深入的拓展和average做更加robust的,利用所有n-step来average,称之为

-return

3a432ba324718239ffe69a157ae5cb50.png

上图中,不同的TD(n)被加了一个权重然后加权,利用了geometry weighting的方法。

f77c15e701b9ad8cfa1630537013efb4.png

1.2.2.Eligibility Traces:backward view

在算return的时候,

是一种forward的方式往前看然后做discount这件事;eligibility trace则是一种往后看的方式。
当发生某件事的时候,我们怎么认为这件事前面发生的那些事是决定性的事件

3f58f51c9a5c94380f9301d952e63200.png

比如上面点击这件事,我们可以有两种分析方法

  • Frequency heuristic: assign credit to most frequent states 最频繁发生的:bell是决定性因素
  • Recency heuristic: assign credit to most recent states Eligibility 最近发生的:light是决定性因素

eligibility trace就是做这件事:如何评估之前发生的事的重要性?这里可以看成是之前预估的error的重要性TD-error(预估值TD和均值的差值)。采用的上述两者的结合

aedd306fa67a467292d7b4921d5d9490.png

利用

进行decay(Recency),同时发生了就加一(frequency)

0873d299a7929615c93dcf7cafc3256e.png

所以最终update的方式就是利用上一节的TD-error(预估值TD和均值的差值)和这个eligibility。

时,从update后就开始decay到0了,意味着
和前面的trajectory没有关系,只与前一个step有关(eligibility刚为1,还未decay到0)。这就完全和TD(0)一样了。

d9bbe56f36cf7ac08be1d5e4e0c8d137.png

时,从update后就开始以
速度decay,和前面的所有step都有关,那这就和MC完全一样了

64962993eb1f49d52a6e384f3f6b36f5.png

甚至可以进一步证明两者结果上也是完全一样的

8c206d7b9464d73713dcc2c406de308f.png

最后做一个总结:

a0e086dc5988b5a0e6b5c16522a2f10d.png

2.model-free control

  • Last lecture: Model-free prediction

Estimate the value function of an unknown MDP

  • This lecture: Model-free control

Optimise the value function of an unknown MDP

用greedy可能不会explore,陷入局部最优。因此提出了一个折衷,一定概率选择greedy一定概率选择random策略,然后逐渐减小random策略的权重,到最后减小到0,

-greedy方法。

Greedy in the Limit with Infinite Exploration (GLIE):所有的state在最后会被explore无限次,最终收敛到greedy policy。

TD也可以做,即Sarsa

2.1.Sarsa:on-policy的学习方法

on-policy的学习方法:行动策略评估策略一致

ab05bce4b519b4bb178a91172d31680f.png

69c3cbd108241c9c68b2bb5343dddddf.png
Sarsa算法

Sarsa全称是state-action-reward-state'-action',采用Q-table来存储q矩阵。Sarsa是一种on-policy的学习方法,上述算法流程中可以看出它的行动策略评估策略都是ε-greedy策略。Sarsa的流程和分析和第一节中model-free prediciton是一致的,同样有n-step Sarsa以及Sarsa(

),与TD(
)完全一致,可以分析其forward view和backward view,具体分析见上一节。

47022b39c1474847ebdd123f795fa636.png
Sarsa(lambda)

Sarsa(

)的流程如上图,与Sarsa整体一样,state变成了一个集合,并且加入了
eligiblity traces

2.2.Q-learning:off-policy

off-policy的学习方法:行动策略评估策略不一致

在off-policy中,出现了了两个policy

  • target policy:评估策略
  • behaviour policy:行动策略

ad9d8fb8e37e7fb2ef56e2f9c821b885.png
行动策略

这样做的优点在于什么呢?

  • 从一个observing human的视角来学习
  • 可以在行动中采用一个更加exploratory policy,更好的探索
  • 可以同时学多个policy

95c7e38b5a1c18b98101300786f97a54.png

ea11f738df5c6c5dabc82c8bd691bd18.png
Q-learning

可以看出行为和评估的策略是不同的

importance sampling

蒙特卡洛积分中我们需要一个分布

,即

,所以我们可以得到:

在预估分布的时候,有时候我们无法直接进行采样

,因此可以引入一个新的分布p(X),把期望变成在p(X)分布下间接地来做。虽然
我们实际上还是不知道,但是
智能体的行为可以看成是一种分布(比如
所确定的每个action的选择概率分布
),只是这种分布太过复杂我们难以预估。所以在off-policy中,我们可以对behavior policy和target policy做sample

7ffcb66889dc8ab5ead7335d5d7d6c7e.png

Q-learning中我们计算的是

不需要importance sampling。因为s,a都已经定下来了,我们关心的是 已经发生的事情。如果我们这里更新的是上图所示的
,就需要用到importance sampling了。

最后总结一下TD,Sarsa和Q-learning

fd3355a376e81d72710786bec2b6bed4.png

cb04f2d8ddaa45c1028d7b78d582c725.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值