David Silver 增强学习——Lecture 2 马尔可夫决策过程(一)

David Silver 增强学习——Lecture 2 马尔可夫决策过程(一)

其他lecture

【1】搬砖的旺财:David Silver 增强学习——笔记合集(持续更新)


目录

**David Silver 增强学习——Lecture 2 马尔可夫决策过程(一)**
1. 前言
----1.1 数学规范
----1.2 马尔可夫性
----1.3 状态转移矩阵
----1.4 片段(episode)
----1.5 马尔可夫过程(Markov Process,MP)
----1.6 马尔可夫链(Markov Chain)
----1.7 生成模式(Generating Patterns)
--------1.7.1 确定性模式(Deterministic Patterns):确定性系统
--------1.7.2 非确定性模式(Non-deterministic patterns):马尔可夫
--------1.7.3 隐藏模式(Hidden Patterns):隐马尔科夫


**David Silver 增强学习——Lecture 2 马尔可夫决策过程(二)**
2. 马尔科夫决策过程(Markov Decision Process,MDP)
----2.1 马尔科夫奖励过程(Markov Reward Process,MRP)
----2.2 举例说明收获和价值的计算


**David Silver 增强学习——Lecture 2 马尔可夫决策过程(三)**
----2.3 Bellman方程的矩阵形式和求解


**David Silver 增强学习——Lecture 2 马尔可夫决策过程(四)**
----2.4 马尔可夫决策过程(Markov Decision Processes,MDPs)
--------2.4.1 示例——学生MDP
--------2.4.2 策略(Policy)
--------2.4.3 基于策略 \pi 的价值函数
--------2.4.4 Bellman期望方程(Bellman Expectation Equation)
--------2.4.5 学生MDP示例
--------2.4.6 Bellman期望方程矩阵形式
--------2.4.7 最优价值函数
--------2.4.8、最优策略
--------2.4.9 寻找最优策略


**David Silver 增强学习——Lecture 2 马尔可夫决策过程(五)**
--------2.4.10 学生MDP最优策略示例
--------2.4.11 Bellman最优方程(Bellman Optimality Equation)
--------2.4.12 Bellman最优方程求解学生MDP示例
--------2.4.13 求解Bellman最优方程


3. 参考文献

1. 前言

马尔可夫决策过程(Markov Decision Processes,MDPs)是对强化学习问题的数学描述,要求环境是全观测的。

几乎所有的RL问题都能用MDPs来描述:

最优控制问题可以描述成连续MDPs
部分观测环境可以转化成POMDPs
赌博机问题是只有一个状态的MDPs。

1.1 数学规范

  • 用大写字母表示随机变量: S,A,R 等;
  • 用小写字母表示某一个具体的值: s,a,r 等;
  • 用空心字母表示统计运算符:{\Bbb E},{\Bbb P} 等;
  • 用花体字母表示集合或函数:{\cal S},{\cal A},{\cal P} 等;

1.2 马尔可夫性

  • David Silver的定义:如果在  t 时刻的状态  S_t 满足如下等式,那么这个状态被称为马尔可夫状态,或者说该状态满足马尔可夫性—— {\Bbb P}\left[ S_{t+1}|S_t \right]={\Bbb P}\left[ S_{t+1}|S_1,S_2,...,S_t \right]
  • 状态 S_t 包含了所有历史相关信息,或者说历史的所有状态的相关信息都在当前状态 S_t 上体现出来,一旦 S_t 知道了,那么 S_1,S_2,...,S_{t−1} 都可以被抛弃,数学上可以认为:状态是将来的充分统计量。因此,这里要求环境全观测
  • 示例
下棋时,只用关心当前局面
打俄罗斯方块时,只用关心当前屏幕

1.3 状态转移矩阵

状态转移概率,指的是从一个马尔可夫状态 s 跳转到后继状态 s^{′} 的概率: {\cal P}_{ss^{'}}={\Bbb P}\left[ S_{t+1}=s^{'}|S_t=s \right]

所有的状态组成行,所有的后继状态组成列,我们得到状态转移矩阵:

{\cal P} =\begin{bmatrix} {\cal P}_{11}   & \cdots\ &{\cal P}_{1n}\\  \vdots  & \ddots  & \vdots  \\ {\cal P}_{n1}  & \cdots\ & {\cal P}_{nn}\\ \end{bmatrix}

其中:

n 表示状态的个数;
由于 {\cal P} 代表了整个状态转移的集合,所以用花体;
每行元素相加等于1。

我们也可以将状态转移概率写成函数的形式: {\cal P}\left( s^{'}|s \right)={\Bbb P}\left[ S_{t+1}=s^{'}|S_t=s \right]

其中:

\sum_{s^{'}}{\cal P}\left( s^{'}|s \right)=1
状态数量太多或者是无穷大(连续状态)时,更适合使用状态转移函数,此时 \int_{s^{'}}{\cal P}\left( s^{'}|s \right)=1

1.4 片段(episode)

强化学习中,从初始状态 S_1 到终止状态 S_T 的序列过程,被称为一个片段: S_1,S_2,...,S_T

如果一个任务总以终止状态结束,那么这个任务被称为片段任务(episodic task)。

如果一个任务会没有终止状态,会被无限执行下去,这被称为连续性任务(continuing task)。

1.5 马尔可夫过程(Markov Process,MP)

  • 若随机过程 \left\{ X\left( t \right) ,t\in T\right\} 满足马尔可夫性,则称为马尔可夫过程。
  • 一个马尔可夫过程是一个无记忆的随机过程
  • 马尔可夫过程可以由一个二元组来定义 <{\cal S},{\cal P}>

其中:

{\cal S} 代表了状态的集合, {\cal P} 描述了状态转移矩阵: {\cal P}_{ss^{'}}={\Bbb P}\left[ S_{t+1}=s^{'}|S_t=s \right]

(注: 虽然我们有时候并不知道 {\cal P} 的具体值,但是通常我们假设 {\cal P} 存在且稳定的。)

(注: 当 {\cal P} 不稳定时,不稳定环境,在线学习,快速学习。)

  • 换句话说,马尔可夫过程说的就是在随机过程中,明天的状态只取决于今天的状态而和今天之前的状态无关。也就是不管你是怎样达到 s_{t} 的,只要你今天的状态是 s_{t} , 你明天状态的可能性就决定好了。
  • 示例:
图中,圆圈表示学生所处的状态,方格Sleep是一个终止状态,或者可以描述成自循环的状态,也就是Sleep状态的下一个状态100%的几率还是自己。箭头表示状态之间的转移,箭头上的数字表示当前转移的概率。
当学生处在第一节课(Class1)时,他/她有50%的几率会参加第2节课(Class2);同时在也有50%的几率不在认真听课,进入到浏览facebook这个状态中; 在浏览facebook这个状态时,他/她有90%的几率在下一时刻继续浏览,也有10%的几率返回到课堂内容上来; 当学生进入到第二节课(Class2)时,会有80%的几率继续参加第三节课(Class3),也有20%的几率觉得课程较难而退出(Sleep); 当学生处于第三节课这个状态时,他有60%的几率通过考试,继而100%的退出该课程,也有40%的可能性需要到去图书馆之类寻找参考文献,此后根据其对课堂内容的理解程度,又分别有20%、40%、40%的几率返回值第一、二、三节课重新继续学习。

(注:终止状态的定义有两种——时间终止和状态终止。)

一个可能的学生马尔科夫链从状态Class1开始,最终结束于Sleep,其间的过程根据状态转化图可以有很多种可能性,这些都称为sample episodes。以下四个episodes都是可能的:

C1 - C2 - C3 - Pass - Sleep C1 - FB - FB - C1 - C2 - Sleep C1 - C2 - C3 - Pub - C2 - C3 - Pass - Sleep C1 - FB - FB - C1 - C2 - C3 - Pub - C1 - FB - FB - FB - C1 - C2 - C3 - Pub - C2 - Sleep

该学生马尔科夫过程的状态转移矩阵如下图:

{\cal P} =\begin{bmatrix}  & C1 & C2 & C3 &  Pass & Pub & FB & Sleep\\  C1 & &0.5 &  &   & & 0.5 & \\ C2  & & &  0.8 & & & &0.2\\ C3  & & &  & 0.6& 0.4& &\\ Pass  & & &  & & & &1.0\\ Pub  &0.2 & 0.4& 0.4 & & & &\\ FB  &0.1 & &  & & & 0.9 &\\ Sleep  & & &  & & & &1.0 \end{bmatrix}

1.6 马尔可夫链(Markov Chain)

其实马尔可夫链就是状态空间为可数集的马尔可夫过程:

Let s_{t}\in S, and if S is finite (countable), we call the Markov Process with this countable state space Markov Chain.

1.7 生成模式(Generating Patterns)

1.7.1 确定性模式(Deterministic Patterns):确定性系统

  • 考虑一套交通信号灯,灯的颜色变化序列依次是红色-红色/黄色-绿色-黄色-红色。这个序列可以作为一个状态机器,交通信号灯的不同状态都紧跟着上一个状态。
  • 注意每一个状态都是唯一的依赖于前一个状态,所以,如果交通灯为绿色,那么下一个颜色状态将始终是黄色——也就是说,该系统是确定性的。

1.7.2 非确定性模式(Non-deterministic patterns):马尔可夫

与交通信号灯例子不同,我们并不期望这三个天气状态之间的变化是确定性的,但是我们依然希望对系统建模以便生成一个天气变化模式(规律)。

一种做法是假设模型的当前状态仅仅依赖于前面的几个状态,这被称为马尔可夫假设。

显然,这可能是一种粗糙的假设,并且因此可能将一些非常重要的信息丢失。

当考虑天气问题时,马尔可夫假设假定今天的天气只能通过过去几天已知的天气情况进行预测——而对于其他因素,譬如风力、气压等则没有考虑,这样的假设显然是不现实的。

然而,由于这样经过简化的系统可以用来分析,我们常常接受这样的知识假设,虽然它产生的某些信息不完全准确。

一个马尔可夫过程是状态间的转移仅依赖于前 n 个状态的过程。这个过程被称之为 n 阶马尔科夫模型,其中 n 是影响下一个状态选择的(前) n 个状态。

最简单的马尔科夫过程是一阶模型,它的状态选择仅与前一个状态有关。这里要注意它与确定性系统并不相同,因为下一个状态的选择由相应的概率决定。

对于有 M 个状态的一阶马尔科夫模型,共有 M^{2} 个状态转移,因为任何一个状态都有可能是所有状态的下一个转移状态。每一个状态转移都有一个概率值,称为状态转移概率。

由此,M^{2} 个概率也可以用一个状态转移矩阵表示。注意这些概率并不随时间变化而不同——这是一个非常重要(但常常不符合实际)的假设。

下面的状态转移矩阵显示的是天气例子中可能的状态转移概率:

\textrm{Yesterday}\operatorname*{\begin{bmatrix} &{\Bbb{sun}}&{\Bbb{cloud}}&{\Bbb{rain}} \\ {\textrm{sun}}&0.50 & 0.375 & 0.125\\{\Bbb{cloud}}&0.25&0.125&0.625\\{\textrm{rain}}&0.25&0.375&0.375 \end{bmatrix}\quad} \limits^{\Large\textrm{Today}}

1.7.3 隐藏模式(Hidden Patterns):隐马尔科夫

马尔科夫过程的局限性:一个实际的问题是语音识别,我们听到的声音是来自于声带、喉咙大小、舌头位置以及其他一些东西的组合结果。所有这些因素相互作用产生一个单词的声音,一套语音识别系统检测的声音就是来自于个人发音时身体内部物理变化所引起的不断改变的声音。一些语音识别装置工作的原理是将内部的语音产出看作是隐藏的状态,而将声音结果作为一系列观察的状态,这些由语音过程生成并且最好的近似了实际(隐藏)的状态。隐藏状态的数目与观察状态的数目可以是不同的。纯粹的语音可以由80个音素描述,而身体的发音系统会产生出不同数目的声音,或者比80多,或者比80少。在这种情况下,观察到的状态序列与隐藏过程有一定的概率关系。我们使用隐马尔科夫模型对这样的过程建模,这个模型包含了一个底层隐藏的随时间改变的马尔科夫过程,以及一个与隐藏状态某种程度相关的可观察到的状态集合。


3. 参考文献

【1】一个简单的马尔可夫过程例子

【2】机器学习十大算法---10. 马尔科夫

【3】《强化学习》第二讲 马尔科夫决策过程

【4】深度增强学习David Silver(二)——马尔科夫决策过程MDP

【5】马尔可夫决策过程MDP

【6】强化学习(二):马尔科夫决策过程(Markov decision process)

【7】马尔可夫过程

【8】3 有限马尔可夫决策过程(Finite Markov Decision Processes)

【9】强化学习(二)马尔科夫决策过程(MDP)

【10】matlab奇异矩阵如何处理?

【11】Total Expected Discounted Reward MDPs : Existence of Optimal Policies

请大家批评指正,谢谢 ~


(PS:2017年学习RL的时候笔记比较简略,2018年修稿的过程中给出了详尽的求解过程,如有不正确的地方请指出,我会尽快修改,谢谢)

(PS:2018.12.19完成第三版的修订~)

(PS: 2019.10.08为了增加可阅读性,进行了拆分~)

编辑于 2019-11-06

文章被以下专栏收录