关键词

  • 马尔可夫性质(Markov property,MP):如果某一个过程未来的状态与过去的状态无关,只由现在的状态决定,那么其具有马尔可夫性质。换句话说,一个状态的下一个状态只取决于它的当前状态,而与它当前状态之前的状态都没有关系。
  • 马尔可夫链(Markov chain): 概率论和数理统计中具有马尔可夫性质且存在于离散的指数集(index set)和状态空间(state space)内的随机过程(stochastic process)。
  • 状态转移矩阵(state transition matrix):状态转移矩阵类似于条件概率(conditional probability),其表示当智能体到达某状态后,到达其他所有状态的概率。矩阵的每一行描述的是从某节点到达所有其他节点的概率。
  • 马尔可夫奖励过程(Markov reward process,MRP): 本质是马尔可夫链加上一个奖励函数。在马尔可夫奖励过程中,状态转移矩阵和它的状态都与马尔可夫链的一样,只多了一个奖励函数。奖励函数是一个期望,即在某一个状态可以获得多大的奖励。
  • 范围(horizon):定义了同一个回合(episode)或者一个完整轨迹的长度,它是由有限个步数决定的。
  • 回报(return):把奖励进行折扣(discounted),然后获得的对应的奖励。
  • 贝尔曼方程(Bellman equation):其定义了当前状态与未来状态的迭代关系,表示当前状态的价值函数可以通过下个状态的价值函数来计算。贝尔曼方程因其提出者、动态规划创始人理查德 ⋅\cdot⋅ 贝尔曼(Richard Bellman)而得名,同时也被叫作“动态规划方程”。贝尔曼方程即 V(s)=R(s)+γ∑s′∈SP(s′∣s)V(s′)V(s)=R(s)+ \gamma \sum_{s' \in S}P(s'|s)V(s')V(s)=R(s)+γ∑s′∈S​P(s′∣s)V(s′) ,特别地,其矩阵形式为 V=R+γPV\mathrm{V}=\mathrm{R}+\gamma \mathrm{PV}V=R+γPV。
  • 蒙特卡洛算法(Monte Carlo algorithm,MC algorithm): 可用来计算价值函数的值。使用本节中小船的例子,当得到一个马尔可夫奖励过程后,我们可以从某一个状态开始,把小船放到水中,让它随波流动,这样就会产生一个轨迹,从而得到一个折扣后的奖励 ggg。当积累该奖励到一定数量后,用它直接除以轨迹数量,就会得到其价值函数的值。
  • 动态规划算法(dynamic programming,DP): 其可用来计算价值函数的值。通过一直迭代对应的贝尔曼方程,最后使其收敛。当最后更新的状态与上一个状态差距不大的时候,动态规划算法的更新就可以停止。
  • Q函数(Q-function): 其定义的是某一个状态和某一个动作所对应的有可能得到的回报的期望。
  • 马尔可夫决策过程中的预测问题:即策略评估问题,给定一个马尔可夫决策过程以及一个策略 π\piπ ,计算它的策略函数,即每个状态的价值函数值是多少。其可以通过动态规划算法解决。
  • 马尔可夫决策过程中的控制问题:即寻找一个最佳策略,其输入是马尔可夫决策过程,输出是最佳价值函数(optimal value function)以及最佳策略(optimal policy)。其可以通过动态规划算法解决。
  • 最佳价值函数:搜索一种策略 π\piπ ,使每个状态的价值最大,V∗V^*V∗ 就是到达每一个状态的极大值。在极大值中,我们得到的策略是最佳策略。最佳策略使得每个状态的价值函数都取得最大值。所以当我们说某一个马尔可夫决策过程的环境可解时,其实就是我们可以得到一个最佳价值函数。

习题

2-1 为什么在马尔可夫奖励过程中需要有折扣因子?

  1. 首先,是有些马尔可夫过程是环状的,它并没有终点,所以我们想避免无穷的奖励。
  2. 另外,我们想把不确定性也表示出来,希望尽可能快地得到奖励,而不是在未来的某个时刻得到奖励。
  3. 接上一点,如果这个奖励是有实际价值的,我们可能更希望立刻就得到奖励,而不是后面才可以得到奖励。
  4. 还有,在有些时候,折扣因子也可以设为0。当它被设为0后,我们就只关注它当前的奖励。我们也可以把它设为1,设为1表示未来获得的奖励与当前获得的奖励是一样的。

所以,折扣因子可以作为强化学习智能体的一个超参数进行调整,然后就会得到不同行为的智能体。

2-2 为什么矩阵形式的贝尔曼方程的解析解比较难求得?

通过矩阵求逆的过程,我们就可以把 VVV 的解析解求出来。但是这个矩阵求逆的过程的复杂度是 O(N3)O(N^3)O(N3) ,所以当状态非常多的时候,比如从10个状态到1000个状态,到100万个状态,那么当我们有100万个状态的时候,转移矩阵就会是一个100万乘100万的矩阵。对于这样一个大矩阵进行求逆是非常困难的,所以这种通过解析解去解的方法,只能应用在很小量的马尔可夫奖励过程中。

2-3 计算贝尔曼方程的常见方法有哪些,它们有什么区别?

  1. 蒙特卡洛方法:可用来计算价值函数的值。以本书中的小船示例为例,当得到一个马尔可夫奖励过程后,我们可以从某一个状态开始,把小船放到水中,让它“随波逐流”,这样就会产生一条轨迹,从而得到一个折扣后的奖励 g 。当积累该奖励到一定数量后,直接除以轨迹数量,就会得到其价值函数的值。
  2. 动态规划方法:可用来计算价值函数的值。通过一直迭代对应的贝尔曼方程,最后使其收敛。当最后更新的状态与上一个状态区别不大的时候,通常是小于一个阈值 γ\gammaγ 时,更新就可以停止。
  3. 以上两者的结合方法:我们也可以使用时序差分学习方法,其为动态规划方法和蒙特卡洛方法的结合。

2-4 马尔可夫奖励过程与马尔可夫决策过程的区别是什么?

相对于马尔可夫奖励过程,马尔可夫决策过程多了一个决策过程,其他的定义与马尔可夫奖励过程是类似的。由于多了一个决策,多了一个动作,因此状态转移也多了一个条件,即执行一个动作,导致未来状态的变化,其不仅依赖于当前的状态,也依赖于在当前状态下智能体采取的动作决定的状态变化。对于价值函数,它也多了一个条件,多了一个当前的动作,即当前状态以及采取的动作会决定当前可能得到的奖励的多少。

另外,两者之间是有转换关系的。具体来说,已知一个马尔可夫决策过程以及一个策略 π\piπ 时,我们可以把马尔可夫决策过程转换成马尔可夫奖励过程。在马尔可夫决策过程中,状态的转移函数 P(s′∣s,a)P(s'|s,a)P(s′∣s,a) 是基于它的当前状态和当前动作的,因为我们现在已知策略函数,即在每一个状态,我们知道其采取每一个动作的概率,所以我们就可以直接把这个动作进行加和,就可以得到对于马尔可夫奖励过程的一个转移概率。同样地,对于奖励,我们可以把动作去掉,这样就会得到一个类似于马尔可夫奖励过程的奖励。

2-5 马尔可夫决策过程中的状态转移与马尔可夫奖励过程中的状态转移的结构或者计算方面的差异有哪些?

对于马尔可夫链,它的转移概率是直接决定的,即从当前时刻的状态通过转移概率得到下一时刻的状态值。但是对于马尔可夫决策过程,其中间多了一层动作的输出,即在当前这个状态,首先要决定采取某一种动作,再通过状态转移函数变化到另外一个状态。所以在当前状态与未来状态转移过程中多了一层决策性,这是马尔可夫决策过程与之前的马尔可夫过程的不同之处。在马尔可夫决策过程中,动作是由智能体决定的,所以多了一个组成部分,智能体会采取动作来决定未来的状态转移。

2-6 我们如何寻找最佳策略,寻找最佳策略方法有哪些?

本质来说,当我们取得最佳价值函数后,我们可以通过对Q函数进行最大化,从而得到最佳价值。然后,我们直接对Q函数取一个让动作最大化的值,就可以直接得到其最佳策略。具体方法如下,

  1. 穷举法(一般不使用):假设我们有有限个状态、有限个动作可能性,那么每个状态我们可以采取 AAA 种动作策略,那么总共就是 ∣A∣∣S∣|A|^{|S|}∣A∣∣S∣ 个可能的策略。我们可以把他们穷举一遍,然后算出每种策略的价值函数,对比一下就可以得到最佳策略。但是这种方法的效率极低。

  2. 策略迭代: 一种迭代方法,其由两部分组成,以下两个步骤一直在迭代进行,最终收敛,其过程有些类似于机器学习中的EM算法(期望-最大化算法)。第一个步骤是策略评估,即当前我们在优化这个策略 π\piπ ,在优化过程中通过评估从而得到一个更新的策略;第二个步骤是策略提升,即取得价值函数后,进一步推算出它的Q函数,得到它的最大值。

  3. 价值迭代: 我们一直迭代贝尔曼最优方程,通过迭代,其能逐渐趋向于最佳策略,这是价值迭代方法的核心。我们为了得到最佳的 V∗V^*V∗ ,对于每个状态的 V∗V^*V∗ 值,直接使用贝尔曼最优方程进行迭代,迭代多次之后它就会收敛到最佳策略及其对应的状态,这里是没有策略函数的。

面试题

2-1 友善的面试官:请问马尔可夫过程是什么?马尔可夫决策过程又是什么?其中马尔可夫最重要的性质是什么呢?

马尔可夫过程是一个二元组 <S,P><S,P><S,P> , SSS 为状态集合, PPP 为状态转移函数;

马尔可夫决策过程是一个五元组 <S,P,A,R,γ><S,P,A,R,\gamma><S,P,A,R,γ>, 其中 RRR 表示从 SSS 到 S′S'S′ 能够获得的奖励期望, γ\gammaγ 为折扣因子, AAA 为动作集合;

马尔可夫最重要的性质是下一个状态只与当前状态有关,与之前的状态无关,也就是 p(st+1∣st)=p(st+1∣s1,s2,...,st)p(s_{t+1} | s_t)= p(s_{t+1}|s_1,s_2,...,s_t)p(st+1​∣st​)=p(st+1​∣s1​,s2​,...,st​)。

2-2 友善的面试官:请问我们一般怎么求解马尔可夫决策过程?

我们求解马尔可夫决策过程时,可以直接求解贝尔曼方程或动态规划方程:
V(s)=R(S)+γ∑s′∈Sp(s′∣s)V(s′)V(s)=R(S)+ \gamma \sum_{s' \in S}p(s'|s)V(s') V(s)=R(S)+γs′∈S∑​p(s′∣s)V(s′)
特别地,其矩阵形式为 V=R+γPV\mathrm{V}=\mathrm{R}+\gamma \mathrm{PV}V=R+γPV。但是贝尔曼方程很难求解且计算复杂度较高,所以可以使用动态规划、蒙特卡洛以及时序差分等方法求解。

2-3 友善的面试官:请问如果数据流不具备马尔可夫性质怎么办?应该如何处理?

如果不具备马尔可夫性,即下一个状态与之前的状态也有关,若仅用当前的状态来求解决策过程,势必导致决策的泛化能力变差。为了解决这个问题,可以利用循环神经网络对历史信息建模,获得包含历史信息的状态表征,表征过程也可以使用注意力机制等手段,最后在表征状态空间求解马尔可夫决策过程问题。

2-4 友善的面试官:请分别写出基于状态价值函数的贝尔曼方程以及基于动作价值函数的贝尔曼方程。

  1. 基于状态价值函数的贝尔曼方程:Vπ(s)=∑aπ(a∣s)∑s′,rp(s′,r∣s,a)[r(s,a)+γVπ(s′)]V_{\pi}(s) = \sum_{a}{\pi(a|s)}\sum_{s',r}{p(s',r|s,a)[r(s,a)+\gamma V_{\pi}(s')]}Vπ​(s)=∑a​π(a∣s)∑s′,r​p(s′,r∣s,a)[r(s,a)+γVπ​(s′)];
  2. 基于动作价值函数的贝尔曼方程:Qπ(s,a)=∑s′,rp(s′,r∣s,a)[r(s′,a)+γVπ(s′)]Q_{\pi}(s,a)=\sum_{s',r}p(s',r|s,a)[r(s',a)+\gamma V_{\pi}(s')]Qπ​(s,a)=∑s′,r​p(s′,r∣s,a)[r(s′,a)+γVπ​(s′)]。

2-5 友善的面试官:请问最佳价值函数 V∗V^*V∗ 和最佳策略 π∗∗\pi^**π∗∗ 为什么等价呢?

最佳价值函数的定义为V∗(s)=max⁡πVπ(s)V^* (s)=\max_{\pi} V_{\pi}(s)V∗(s)=maxπ​Vπ​(s),即我们搜索一种策略 π\piπ 来让每个状态的价值最大。

V∗V^*V∗ 就是到达每一个状态其的最大价值,同时我们得到的策略就可以说是最佳策略,即 π∗(s)=arg⁡max⁡πVπ(s)\pi^{*}(s)=\underset{\pi}{\arg \max }~ V_{\pi}(s)π∗(s)=πargmax​ Vπ​(s) 。最佳策略使得每个状态的价值函数都取得最大值。所以如果我们可以得到一个最佳价值函数,就可以说某一个马尔可夫决策过程的环境被解。在这种情况下,其最佳价值函数是一致的,即其达到的上限的值是一致的,但这里可能有多个最佳策略对应于相同的最佳价值。

2-6 友善的面试官:能不能手写一下第n步的价值函数更新公式呀?另外,当 n越来越大时,价值函数的期望和方差是分别变大还是变小呢?

n 越大,方差越大,期望偏差越小。价值函数的更新公式如下:
Q(S,A)←Q(S,A)+α[∑i=1nγi−1rt+i+γnmax⁡aQ(S′,a)−Q(S,A)]Q\left(S, A\right) \leftarrow Q\left(S, A\right)+\alpha\left[\sum_{i=1}^{n} \gamma^{i-1} r_{t+i}+\gamma^{n} \max _{a} Q\left(S',a\right)-Q\left(S, A\right)\right] Q(S,A)←Q(S,A)+α[i=1∑n​γi−1rt+i​+γnamax​Q(S′,a)−Q(S,A)]

Easy RL - 2.马尔可夫决策过程相关推荐

  1. 强化学习蘑菇书Easy RL第二、三章学习(马尔可夫决策过程、表格型方法)

    马尔可夫决策过程概述 Markov Process(MP)通常来说是未来状态的条件概率分布仅依赖于当前的状态.在离散随机过程里,我们需要把随机变量所有可能取值的集合放到一个状态空间里,在强化学习里,我 ...

  2. MATLAB马尔科夫决策过程遗传,科学网—【RL系列】马尔可夫决策过程与动态编程笔记 - 管金昱的博文...

    推荐阅读顺序: Reinforcement Learning: An Introduction (Drfit) 本篇 马尔可夫决策过程 马尔可夫决策(MDP)过程为强化学习(RL)提供了理论基础,而动 ...

  3. 【RL】Markov decision process马尔可夫决策过程(MDP)

    参考:蘑菇书-<EasyRL> 本文只是为了方便自己今后的查阅对原文做出的一些概括与摘录,与大家共同学习. PS:上一节->马尔可夫奖励过程 目录 1.马尔可夫决策过程 2.策略π ...

  4. DeepMind 的马尔可夫决策过程(MDP)课堂笔记

    DeepMind Teaching by David Silver 视频课程链接(Youtube资源,需梯子):https://youtu.be/lfHX2hHRMVQ 文章目录 DeepMind T ...

  5. 马尔可夫决策过程 Markov decision process MDP, 连续时间Markov chain, CMDP(全)

    引言 在概率论及统计学中,马尔可夫过程(英语:Markov process)是一个具备了马尔可夫性质的随机过程,因为俄国数学家安德雷·马尔可夫得名.马尔可夫过程是不具备记忆特质的(memoryless ...

  6. (二)马尔可夫决策过程

      从第一章中了解到强化学习中,智能体通过和环境进行交互获得信息.这个交互过程可以通过马尔可夫决策过程来表示,所以了解一下什么是MDP至关重要.   不过在了解马尔可夫决策过程之前,先要一些预备知识, ...

  7. 决策过程并举例_David Silver 增强学习——Lecture 2 马尔可夫决策过程(一)

    其他lecture [1]搬砖的旺财:David Silver 增强学习--笔记合集(持续更新) 目录 **David Silver 增强学习--Lecture 2 马尔可夫决策过程(一)**1. 前 ...

  8. 论文学习「MDP」:马尔可夫决策过程原理与代码实现

    最近在学习 RL ,不得不先接触一下" 马尔可夫决策过程 ",这里找到了 David Silver 的课程: UCL Course on RL (http://www0.cs.uc ...

  9. 什么是强化学习(马尔可夫决策过程)

    文章目录 什么是强化学习(马尔可夫决策过程) 1. 强化学习(概述) 2. 马尔可夫决策过程 2.1 马尔可夫假设 2.2 马尔可夫决策过程 2.3 状态值函数(state-value functio ...

最新文章

  1. TopCoder入门教程
  2. c语言中switch语句流程图_C语言:C语言保留字(关键字)
  3. LNK2005 连接错误解决办法
  4. Spring开启注解AOP的支持放置的位置
  5. jhipster_JHipster入门,第3部分
  6. Vue-tools.crx 及安装常见问题解决
  7. pdf php 添加元数据,PDF怎么添加/清除元数据-PDF添加/清除元数据的方法 - 河东软件园...
  8. 电脑怎么开护眼模式_心累!整天对着手机电脑,到底该怎么护眼啊啊啊
  9. Jquery checkbox选中问题
  10. 16位图xxxxxxxxxxxx
  11. 远程计算机或设备将不接受连接,谷歌浏览器无法上网
  12. Excel——检查单元格是否包含文本(不区分大小写)
  13. 诚之和:年轻人的尽头,是回老家买房吗?
  14. IT人,更应该要注意保养!!
  15. jenkins构建Protractor项目报错解决
  16. Schnorr签名算法(初始化和签名)C语言实现
  17. 美国计算机专业博士后,美国俄克拉荷马大学电子与计算机工程系招聘博士后
  18. 从贵州茅台上市的第一天起,每天买一手茅台能够盈利多少?-利用python进行茅台股票数据分析
  19. Tracker 服务器源码分析之四:Tracker 类
  20. 林大OJ习题 2020年1月7日

热门文章

  1. idea中大于等于,不等于、小于等于等等这些符号发生了变化
  2. 树莓派3B+安装Windows 10 ARM
  3. Xmanager 与 Xshell 会话表迁移
  4. 视觉词袋模型BOW学习笔记及matlab编程实现
  5. 【C语言】字符串和字符串数组的输入和陷阱
  6. 柯西-施瓦茨不等式(Cauchy-Schwarz Inequality)的四种形式
  7. 百万 QPS 前端性能监控系统设计与实现
  8. maven,OSGI,karaf 学习笔记
  9. JVM第六讲:线上环境 FGC 频繁,如何解决?
  10. 微星970A-G43 主板 PCIE转NVME固态硬盘做WIN10启动盘,解决方案