马尔科夫决策过程之最优价值函数与最优策略

马尔科夫决策过程之最优价值函数与最优策略

之前的相关文章:

忆臻:马尔科夫决策过程之Markov Processes(马尔科夫过程)zhuanlan.zhihu.com图标忆臻:马尔科夫决策过程之Markov Reward Process(马尔科夫奖励过程)zhuanlan.zhihu.com图标忆臻:马尔科夫决策过程之Bellman Equation(贝尔曼方程)zhuanlan.zhihu.com图标忆臻:马尔科夫决策过程之Markov Decision Process(马尔科夫决策过程)zhuanlan.zhihu.com图标

一、Optimal Value Function(最优价值函数)

最优状态价值函数 v_*(s) 指的是在从所有策略产生的状态价值函数中,选取使状态s价值最大的函数:公式如下:

v_{*} = \max_{\pi} v_{\pi}(s)

同理,最优行为价值函数 q_{*}(s,a) 指的是从所有策略产生的行为价值函数中,选取是状态行为对 <s,a> 价值最大的函数,比上面多了一个action:

q_{*}(s,a) = \max_{\pi} q_{\pi}(s,a)

最优价值函数确定了MDP的最优可能表现,当我们知道了最优价值函数,也就知道了每个状态的最优价值,那么此时该MDP的所有量我们已经知道,也就认为该MDP获得了解决。

完整slides如下:

二、Example: Optimal Value Function for Student MDP

学生MDP问题的最优状态价值如下(红色的数字代表了每个状态最优的value function):

三、Example: Optimal Action-Value Function for Student MDP

学生MDP问题的最优行为价值(红色字体代表了最优的q(s,a)):

四、Optimal Policy(最优策略)

当对于任何状态 s,遵循策略π的价值不小于遵循策略 π' 下的价值,则策略π优于策略 π’:

定理 对于任何MDP,下面几点成立:

  • 存在一个最优策略,好于(至少相等)任何其他策略
  • 所有的最优策略下都有相同的最优价值函数;
  • 所有的最优策略下都具有相同的行为价值函数。

完整slides如下:

五、Finding an Optimal Policy(寻找最优策略

可以通过最大化最优行为价值函数来找到最优策略:

对于任何MDP问题,总存在一个确定性的最优策略;

同时如果我们知道最优行为价值函数,则表明我们找到了最优策略。

从上述公式可以看出,最优策略是可以从最优行为价值函数推出。

六、Example: Optimal Policy for Student MDP

学生MDP最优策略示例如下(红色的弧代表在该状态下最优的动作,所有的状态和相应的动作组合起来也就是最优的策略):


七、Bellman最优方程 Bellman Optimality Equation

针对 v_{*} ,一个状态的最优价值等于从该状态出发采取的所有行为产生的行为价值中最大的那个行为价值:

针对 q_{*} ,在某个状态s下,采取某个行为的最优价值由2部分组成,一部分是离开状态 s 的即刻奖励,另一部分则是所有能到达的状态 s’ 的最优状态价值按出现概率求和


组合起来,针对 v_{*} ,有:

针对q_{*} ,有:


八、Bellman最优方程学生MDP示例



其中解释一下6是如何求得?

它是根据如下公式:

它有两个action一个是Study对应的立即奖励是R=-2,一个是Facebook对应的是R=-1,我们要求 v_{*}(s) ,则是从这两个动作挑一个能得到最大值的action,又因为 \gamma=1 ,这里默认 \gamma 都为1,而且从Study和Facebook动作出去之后都只能到达一个状态,于是 p_{s's}=1 ,于是6={-2+8*1, -1+6*1}

九、求解Bellman最优方程

Bellman最优方程是非线性的(因为max运算在里面),没有固定的解决方案。

但是有通过一些迭代方法来解决:

  • 价值迭代
  • 策略迭代
  • Q学习
  • Sarsa等

后续会逐步讲解展开。

参考:

David Silver深度强化学习课程 第2课 - 马尔科夫决策过程v.youku.com图标叶强:《强化学习》第二讲 马尔科夫决策过程zhuanlan.zhihu.com图标

发布于 2018-04-11

文章被以下专栏收录