上一节讲的是在已知模型的情况下,如何去解决一个马尔科夫决策过程(MDP)问题。方法就是通过动态规划来评估一个给定的策略,通过不断迭代最终得到最优价值函数。具体的做法有两个:一个是策略迭代,一个是值迭代。从这一节开始,我们将要进入模型未知的情况下,如何去解决一个MDP问题的方法。所谓的模型未知,即状态转移概率 Pass′ P s s ′ a 这些我们是不知道的。所以我们无法直接利用Bellman方程来求解得到最优策略。
vπ(s)=∑a∈Aπ(a|s)(Ras+γ∑s′∈SPass′vπ(s′)) v π ( s ) = ∑ a ∈ A π ( a | s ) ( R s a + γ ∑ s ′ ∈ S P s s ′ a v π ( s ′ ) )
所以,为了能够从环境中学习,我们需要让agent与environment交互,得到一些经历(样本)。然后通过这些经历来进行策略评估与策略迭代。从而最终得到最优策略。这种做法的理论是从蒙特卡罗方法中来的。所以我们先讲蒙特卡罗学习。接着从蒙特卡罗的缺点出发,进一步讲解了时序差分学习以及λ时序差分强化学习。
Monte-Carlo Learning(蒙特卡罗学习)
- 蒙特卡罗方法又叫做统计模拟方法,它使用随机数(或伪随机数)来解决计算问题。
- 比如上图,矩形的面积我们可以轻松得到,但是对于阴影部分的面积,我们积分是比较困难的。所以为了计算阴影部分的面积,我们可以在矩形上均匀地撒豆子,然后统计在阴影部分的豆子数占总的豆子数的比例,就可以估算出阴影部分的面积了。
为什么要用蒙特卡罗的方法?
- 前面讲的主要内容是整个问题可以转换成一个马尔科夫决策过程(MDP),MDP是通过5元组: <S,P,A,R,γ> < S , P , A , R , γ > <script type="math/tex" id="MathJax-Element-6"> </script>来做决策的。对于这种已知模型的情况,也就是知道了这个5元组,我们可以容易获得奖赏最大化。但是,在现实世界中,我们无法同时知道这个5元组。比如P,状态转移概率就很难知道,P不知道,我们就无法使用bellman方程来求解V和Q值。但是我们依然要去解决这个问题,所以怎么办呢?怎样转化为一个MDP的形式呢?
- 一个想法是,虽然我不知道状态转移概率P,但是这个概率是真实存在的。我们可以直接去尝试,不断采样,然后会得到奖赏,通过奖赏来评估值函数。这个想法与蒙特卡罗方法的思想是一致的。我们可以尝试很多次,最后估计的V值就会很接近真实的V值了。
RL中的蒙特卡罗方法
- MC methods learn directly from episodes of experience. 也就是从经验中直接估算值函数V和策略 π π 。
- MC learns from complete episodes: No bootstrapping。
- MC uses the simplest possible idea: value = mean return
- All episodes must terminate
- 蒙特卡罗学习是指在不清楚MDP状态转移概率及即时奖励的情况下,直接从经历完整的Episode来学习状态价值,通常情况下某状态的价值等于在多个Episode中以该状态算得到的所有收获的平均。
怎么理解episode?
- episode就是经历,每条episode就是一条从起始状态到结束状态的经历。例如在走迷宫,一条episode就是从你开始进入迷宫,到最后走出迷宫的路径。
- 首先我们要得到的是某一个状态s的平均收获。所以我们说的episode要经过状态s。所以上图中第二条路径没有经过状态s,对于s来说就不能使用它了。而且最后我们episode都是要求达到终点的,才能算是一个episode。
All episodes must terminate是什么意思?
- 其实就是说,无论采用哪个策略,都会在有限时间内到达终点并获得回报。就像上面那个图,每条样本都会最终到达终点。现实中,我们的棋类游戏,都会在有限步数以后达到输赢或者平局的结果并获得相应的回报。
value = mean return是什么意思?
- 其实从字面理解就是求均值的意思。就是状态s在每一个样本中的回报的均值。具体来说,在蒙特卡罗方法中分为first visit 和every visit两种方法。
- first visit是说,在计算状态s处的值函数时,只利用每次实验(episode)中第一次访问到状态s时返回的值,如上图所示,计算s出的均值只利用了 G11 G 11 ,因此计算公式如下:
- every visit 是说,在计算状态s处的值函数时,利用所有访问到状态s时的回报返回值。即:
- 所以蒙特卡罗学习就是指不基于模型本身,而是直接从经历过的episode中的学习,通过不同episode的平均收获值替代价值函数。
上面这些事蒙特卡罗学习中会用到的术语。知道这些概念之后,我们要知道我们的思想是想从采样的这些经历中。如何去进行策略评估以及策略迭代。这里与动态规划(DP)的不同就在于我们现在需要采样,通过采样来近似q(s, a)。
Monte-Carlo Policy Evaluation(蒙特卡罗策略评估)
- 目标:在一个固定的策略 π