Lecture 5:Model Free Control -By David Silver

本文是自己学习David Silver课程的学习笔记:原视频可以在油管或者B站上搜到。

PPT的连接如下:http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching.html。网速慢的话可以点击这里

之前我们说的方法都是在为这一节课程做准备的,强化学习的最终目的是我们实现对实际问题的控制优化。根据探索策略(行动策略)和评估策略是否为同一个策略。强化学习的方法可以分为on-policy(同策略)和off-policy(已策略)两种方法。

on-policy是指产生数据的策略与评估和要改善的策略是同一个策略。off-policy是指产生数据的策略和改善评估的策略不是同一个策略。

我们接下来需要用到之前动态规划中的主要思想方法,大体上说的话还是策略迭代。策略迭代过程中,我们首先需要对策略进行评估,之后的话我们改进策略。整个过程可以用下面这张ppt展示出来:

上面那条线条代表的就是策略评估,每一次策略评估之后我们就会得到一个新的值函数,下面那条线就是策略改善,在策略改善里面我们也有函数,比如说是贪婪算法。这样的方法和之前说的动态规划算法是一样的。我们现在要做的就是给插入的这两个过程更多的选择,使其得到更好的效果。

让我们看一下蒙特卡洛方法,是怎么实现上述思想的:

如果我们使用蒙特卡洛方法的话,我们就可以用蒙特卡洛方法对其进行策略评估,而不是动态规划的方法对其进行评估。之后的话我们使用Greedy policy来对其进行改善:

但是这里有个问题就是,当我们加入了贪婪策略之后,我们可能不能够探索到整个的状态空间,我们可能会偏向于探索我们喜欢的那个空间。还有一个问题就是,策略评估采取的是蒙特卡洛方法,这将会导致我们的整个算法收敛速度很慢。依据是否有模型,我们的策略选择方法如下图所示:

但是这种贪婪算法的问题就是,我们可能没有办法去理解那些我们最开始没有选择的动作。所以我们需要去设计一个温和的策略,即对所有的状态s和a满足\pi (a|s)>0。这样的话就能够使得在任意状态下,采用动作集中每个动作的概率都将会大于0。

这种方法在理论上的证明如下图所示:

我们在进行策略评估的时候,我们并不需要沿着下图所示的线搜索完整个过程。我们没有必要完全对所有的策略进行评估。有时我们只需要再走几步,对策略进行一下评估,而你已近获得了足够的信息,来将你引导到一个更好的策略之中,这样的话就不需要浪费这么多的迭代,来收集更多的信息。

我们如何保证我们找到的最好的策略呢?我们想要找到的是最好的行为,为了达到上述目的,我们需要寻找到两个事物之间的平衡,其中之一就是我们需要继续探索,但要保证在探索的过程中并没有丢掉或者说是遗漏更好的策略。另一方面,当我们已近有了一个最好的策略之后,我们就不想再探索了,我们觉得找到的最好的策略是不应该包含随机行为的。那么我们如何权衡这两个因素呢?其中有一种方法叫做greedy in the limit with infinite exploration(GLIE)。

这种方法需要满足的条件就是,每个状态都能够有机会被访问到,第二个就是要确保最终这个策略是贪婪策略。之所以要是贪婪策略,是因为我们需要这个策略最终能够满足贝尔曼方程,它需要一个最大值。

我们如果采用时序差分的方法的话,我们的算法往往会有更高的效率,因为它更加稳定,随机变化相对较少。并且可以使用在不完整的序列当中。我们很自然的想法就会使用TD的方法,而不是选择蒙特卡洛的方法。

我们将TD的方法应用到状态动作值函数里面的话,我们可以得到sarsa算法:

如果我们的真实奖励取的是多个时刻的话,我们的算法就会变成了sarsa(lamda),下面我们给出sarsa(lamda)的算法更新公式。

我们刚刚说的都是同策略的方法,但是很多时候我们的策略都是异策略的,指的是产生数据的策略与要改善的策略不是同一个策略。我们为什么要学习异策略的强化学习方法呢?

1.我们可以利用这种方法通过观察别的agent的行为从而进行学习。

2.我们可以利用这种方法使用老的数据,如DQN中的经验回放。

3.我们使用经验数据的话,我们的策略是可以进行很大程度上的探索的。

4.我们可以利用一个策略来学习多个策略下的数据,这样学习出来的策略会具备更好的性能。

在异策略学习的问题中,我们通常会关注两个问题,第一个就是重要性采样。重要性采样源于求取期望:

那我们可能会疑问,为什么要做重要性采样呢?我们可以想象成第一个等式是求取奖励函数的期望,我们事件发生的概率p乘以获得的奖励f得到奖励函数的期望值。但是在实际的强化学习过程中,我们的概率分布p可能是非常复杂的,或者说是当agent更新完参数之后,我们的概率分布发生了改变。这个时候我们假设有一个新的分布Q,能够在更高维的空间去满足我们强化学习奖励的分布。就可以将上图1式变化为2式,从而我们转变成求取概率分布Q的期望,如上图3式所示。

我们看一下对蒙特卡洛实行重要性采样的结果:

上图中的求取奖励函数的期望的公式就相当于:每一步都做了重要性采样,然后把它们乘起来。基于重要性采样的积分估计为无偏估计,估计的期望值等于真实期望。但是,由于重要性采样的积分估计改变了被积函数的形状以及分布,这使得它的方差发生了明显的变化。因此,采样概率分布与原概率分布越接近,方差越小。在TD方法中采取重要性采样的话如下图所示:

TD方法的话可以帮助我们筛选拒绝掉不实用采样分布,当然,TD方法的变化情况依然很多,并且会不断增加,这就是重要性采样的一个特点。但是比蒙特卡洛方法还是要好很多的。

那么什么方法适用于对未知策略学习方法呢?就是Q-learning,是时序差分的一个特例,还有是Sarsa学习方法。


 

 

 

 

 

 

 


 

猜你喜欢

转载自blog.csdn.net/weixin_39059031/article/details/83239226