前一篇文章讲了强化学习的一个大概分类,这篇文章来介绍一下马尔科夫决策过程(MDP)和贝尔曼方程。MDP可以说是现在强化学习理论推导的基石,通过它的推论和延伸解决了我们现在强化学习的大部分问题。
1、马尔科夫决策过程
MDP(马尔可夫决策过程)包含以下三层含义:
(1)马尔可夫:表示了状态间的依赖性。当前状态的取值只和前一个状态产生依赖,不和更早的状态产生联系。虽然这个条件在有些问题上有些理想,但是由于它极大地简化了问题,所以人们通常会选择使用它。
(2)决策:表示了其中的策略部分将由个体决定。个体可以通过自己的行动改变状态序列,和环境中存在的随机性共同决定未来的状态。
(3)过程:表示了时间的属性。如果把个体和环境的交互按时间维度展开,那么个体行动后,环境的状态将发生改变,同时时间向前推进,新的状态产生,个体将获得观测值,于是新的行动产生,然后状态再更新”
2、贝尔曼方程
在强化学习简介中,我们有提到状态价值函数,
但是它在我们进行算法的迭代的时候并不是那么的优雅。所以,我们可以把它进行简化:
通过简化之后的式子我们发现:在t时刻的状态St和t+1时刻的状态St+1是满足递推关系的。我们叫它贝尔曼方程:将当前的价值分解为当前的即时奖励和下一步的价值。类似于一个迭代的过程。
类似的,我们还可以写出动作价值函数的贝尔曼方程:
关于这个动作价值函数我们接下来会讲,这里先明白它的贝尔曼方程。
3、价值函数
强化学习问题就是寻找到一个最优策略,知道在不同的状态该做出什么动作。而通过量化,这个最优策略就是要为最大化长期回报而努力。理论上只要能够找到一种方法,量化每一个行动对实现最终目标贡献的价值,这个方式就是用价值函数(简称值函数)来衡量。价值函数有两种:动作价值函数和状态价值函数。
(1)动作价值函数:即在状态s时采取动作a,会带来多大的价值或影响。函数表示为:
第一部分是即时奖励,第二部分是环境所有可能出现的下一个状态的概率乘以该下一状态的状态价值,最后求和,并加上衰减。可以用下面的图表示:
注意:这里的状态一个是s,一个是s’。即s是前一个状态,s’是后一个状态,前一个状态的动作价值函数包含下一个状态的状态价值函数。
(2)状态价值函数:即在状态s时采取所有的动作
a
i
a_i
ai后带来的价值之和。函数表示为:
也就是说,状态价值函数是所有动作价值函数基于策略π的期望。通俗说就是某状态下所有状态动作价值乘以该动作出现的概率,最后求和,就得到了对应的状态价值。可以用下面的图片表示:
注意:这里的状态s时一样的,即在同一个状态之下,状态价值函数包含动作价值函数。
总结一下就是:
在前后状态(s和s’)下,状态价值函数和动作价值函数之间的关系可以用下面的图表示:
用函数表示就是:
在同一个状态下,状态价值函数和动作价值函数之间的关系可以用下面的图表示:
用函数表示就是:
上面就是两个价值函数之间的关系。
4、最优价值函数
解决强化学习问题意味着要寻找一个最优的策略让个体在与环境交互过程中获得始终比其它策略都要多的收获,这个最优策略我们可以用 π ∗ π^∗ π∗表示。一旦找到这个最优策略 π ∗ π^∗ π∗,那么我们就解决了这个强化学习问题。一般来说,比较难去找到一个最优策略,但是可以通过比较若干不同策略的优劣来确定一个较好的策略,也就是局部最优解。
如何比较策略的优劣呢?一般是通过对应的价值函数来比较的,也就是说,寻找较优策略可以通过寻找较优的价值函数来完成。可以定义最优状态价值函数是所有策略下产生的众多状态价值函数中的最大者,即:
同理也可以定义最优动作价值函数是所有策略下产生的众多动作状态价值函数中的最大者,即:
对于最优的策略,基于动作价值函数我们可以定义为:
只要我们找到了最大的状态价值函数或者动作价值函数,那么对应的策略π∗就是我们强化学习问题的解。同时,利用状态价值函数和动作价值函数之间的关系,我们也可以得到:
反过来的最优价值函数关系也很容易得到:
利用上面的两个式子也可以得到和第三节末尾类似的式子:
上面就是求最优函数的方法。
5、总结
用MDP可以求解比较简单的问题,但是对于比较复杂的问题,还需要其他方法,下一章我们用动态规划来求解RL问题。
下一篇:动态规划求解强化学习问题