【深度强化学习】马尔可夫决策过程(Markov Decision Process, MDP)

 1. Markov Process

我们一步一步来讲解 Markov Decision Process。按顺序,从 Markov Process 到 Markov Reward Process,再到 Markov Decision Process。

 1.1 Markov Property

马尔可夫过程(Markov process)的集合就是具有马尔可夫性质(Markov property)的 state 的集合。

马尔可夫性质:某一 state 信息包含了所有相关的 history。只要当前 state 可知,所有的 history 都不再需要,当前 state 就可以决定下一个 state

 1.2 State Transition Matrix

对于相邻的两个 state 的转变是具有一定概率的,为了方便计算,将这些概率组成一个矩阵称为 状态转移矩阵,如下图

现在有了 具有马尔可夫性质的 state state 之间的转移概率,那么,对与 Markov Process 的定义,我们可以使用以下二元组来表示。

 这里引用上课时的一个例子:

episode 1和2都是 State 1 为 Class 1 的两个采样。状态转移矩阵 P 刻画了不同状态之间的转移概率。比如当 agent 处于 Class 1 时,有 0.5 的概率转移到 Class 2,同时也有 0.5 的概率转移到 FaceBook。


2. Markov Reward Process

 Markov Reward Process 就是在 Markov Process 的基础上加上了 value

在 Markov Process 的二元组的基础上,定义了 Reward Function 和 Discount Factor,组成四元组。

 2.1 Return:Total Discount Reward

 我们把 带有衰减因子的总的 Reward 称为 Return,使用 Gt 表示。

 当衰减因子 \gamma 为1时,说明更注重远期利益(far-sighted);而\gamma 为0时,说明更加注重“近视”性评估。 

 2.2 Why discount?

为什么需要引入衰减因子呢?老师在课程中给出以下答案:

  1. 数学表达上方便
  2. 避免了在马尔可夫链上陷入无限循环
  3. 对于未来的不确定性,我们是无法预料的
  4. 符合人类更加注重对短期利益的追求(人类本性是贪心的)

2.3 Value Function

 价值函数 v(s) 能够算出在 state s 下得到的 return 的期望

各状态价值的确定是很重要的,RL的许多问题可以归结为求状态的价值问题。因此如何求解各状态的价值,也就是寻找一个价值函数(从状态到价值的映射)就变得很重要了。

 计算例子如下(状态转移矩阵见上文):

 2.4 Bellman Equation for MRPs

 我们把 value function 打开,并且拆分成两部分,一是该状态的即时奖励期望,即时奖励期望等于即时奖励,因为根据即时奖励的定义,它与下一个状态无关;另一个是下一时刻状态的价值期望,可以根据下一时刻状态的概率分布得到其期望

  进一步,把期望打开,如下图。

  更进一步,使用 矩阵 来简化计算:

 2.5 Sloving the Bellman Equation

 Bellman Equation 是一个线性等式,可以直接使用线性代数基本知识求解,但这个做法对于大样本时并不高效。


 3. Markov Decision Process

Markov Decision Process 是在 Markov Reward Process 的基础上,添加了 行为集合 A。这里的 P 和 R 都与具体的 action a 对应,而不像 Markov Reward Process 那样仅对应于某个state。

 3.1 Policy

Policy \pi 是概率的集合或分布,一个 policy 完整定义了 agent 的行为方式,也就是说定义了 agent 在各个 state 下的各种可能的行为方式以及其概率的大小

Policy 仅和当前的状态有关,与 history 无关;同时某一确定的Policy是静态的,与时间无关;但是个体可以随着时间更新策略。

 下面左边红色的式子:在执行策略 \pi 时,状态从 s 转移至 s'  的概率等于一系列概率的和,这一系列概率指的是在执行当前策略 \pi 时,执行某一个行为的概率与该行为能使状态从 s 转移至 s’ 的概率的乘积

 下面右边红色的式子:当前状态 s 下,执行某一指定策略得到的即时奖励是该策略下所有可能行为得到的奖励与该行为发生的概率的乘积的和

 3.2 Value Function

在 MDPs 中有两类value function:分别是衡量 state 和 action 的 value。

注意 policy 是 静态的、关于整体的 概念,不随状态改变而改变;变化的是在某一个状态时,依据策略可能产生的具体行为,因为具体的行为是有一定的概率的,策略就是用来描述各个不同状态下执行各个不同行为的概率。

 3.3 Bellman Expectation Equation

可以使用下一个时刻 t+1 的 state-value 和 action-value 来计算当前的 value。

 3.4 Optimal Value Function

最优状态价值函数指的是 在从所有策略产生的状态价值函数中,选取使 state-value 最大的函数

最优行为价值函数指的是 从所有策略产生的行为价值函数中,选取使 action-value 最大的函数。

 最优价值函数明确了MDP的最优可能表现,当我们知道了最优价值函数,也就知道了每个状态的最优价值,这时便认为这个MDP获得了解决。

 3.5 Optimal Policy

 遵循策略 \pi 的 state-value 不小于 遵循策略 {\pi}' 的 state-value,则说明策略 \pi 优于 策略 {\pi}'

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

  1. 存在一个最优策略,比任何其他策略更好或至少相等;
  2. 所有的最优策略有相同的最优价值函数;
  3. 所有的最优策略具有相同的行为价值函数。

 3.6 Finding an Optimal Policy

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

 对于任何MDP问题,总存在一个确定性的最优策略;同时如果我们知道最优行为价值函数,则表明我们找到了最优策略。

 3.7 Bellman Optimality Equation

一个 状态的最优价值 等于从该状态出发采取的所有行为产生的行为价值中最大的那个行为价值

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


参考:David Silver 强化学习课程

Guess you like

Origin blog.csdn.net/weixin_41960890/article/details/118761735