文章结构
目录
一、马尔可夫过程
马尔可夫性质
二、马尔可夫奖励过程
回报(Return)
贝尔曼方程(Bellman equation)
贝尔曼方程解析解
蒙特卡洛方法
马尔可夫决策过程
MDP和马尔可夫过程/马尔可夫奖励过程的区别
马尔可夫决策过程
贝尔曼期望方程(Bellman Expectation Equation)
备份图
Q 函数备份图
动态规划(dynamic programming)
预测&控制
马尔可夫决策过程控制
一、策略迭代算法
举例:策略评估
最优策略
贝尔曼最优方程
二、价值迭代算法
价值迭代例子:最短路径
价值迭代 vs. 策略迭代
一、马尔可夫过程
强化学习中的环境一般就是一个马尔可夫决策过程。如果要用强化学习去解决一个实际问题,第一步要做的事情就是把这个实际问题抽象为一个马尔可夫决策过程,也就是明确马尔可夫决策过程的各个组成要素。这篇文章从马尔可夫过程出发,再到马尔可夫奖励过程,最后引出马尔可夫决策过程。
马尔可夫性质之前,介绍随机过程:随机过程研究随时间演变的随机现象(例如天气随时间的变化、城市交通随时间的变化)
随机过程的某时刻的状态只取决于上一时刻的状态时,具有马尔可夫性质
马尔可夫性质
需要明确的是,具有马尔可夫性并不代表这个随机过程就和历史完全没有关系。虽然t+1时刻的状态只与t时刻的状态有关,但是t时刻的状态其实包含了t-1,通过这种链式的关系,历史的信息被传递到了现在。(马尔可夫性可以大大简化运算,因为只要当前状态可知,所有的历史信息都不再需要了,利用当前状态信息就可以决定未来)
马尔可夫过程指具有马尔可夫性质的随机过程,也被称为马尔可夫链
从某个状态出发,到达其他状态的概率和必须为 1,即状态转移矩阵P的每一行的和为 1。 马尔可夫过程举例
6 个状态的马尔可夫过程的简单例子。其中每个绿色圆圈表示一个状态,每个状态都有一定概率(包括概率为 0)转移到其他状态,其中s6为终止状态(terminal state),因为它不会再转移到其他状态,可以理解为它永远以概率 1 转移到自己,状态之间的虚线箭头表示状态的转移,箭头旁的数字表示该状态转移发生的概率。
二、马尔可夫奖励过程
在马尔可夫过程的基础上加入奖励函数r和折扣因子γ,就可以得到马尔可夫奖励过程。
回报(Return)
进入s2得到奖励-2,表明不希望进入s2,进入s4获得最高奖励10
贝尔曼方程(Bellman equation)
价值函数
某状态的价值(value):在马尔可夫奖励过程中,一个状态的期望回报(即从这个状态出发的未来累积奖励的期望).所有状态的价值组成了价值函数(value function)
贝尔曼方程解析解
蒙特卡洛方法
运用蒙特卡洛方法时,我们通常使用重复随机抽样,然后运用概率统计方法来从抽样结果中归纳出我们想求的目标的数值估计。一个简单的例子是用蒙特卡洛方法来计算圆的面积。的正方形内部随机产生若干个点,细数落在圆中点的个数,圆的面积与正方形面积之比就等于圆中点的个数与正方形中点的个数之比。如果我们随机产生的点的个数越多,计算得到圆的面积就越接近于真实的圆的面积。
马尔可夫决策过程
MDP和马尔可夫过程/马尔可夫奖励过程的区别
马尔可夫过程和马尔可夫奖励过程都是自发改变的随机过程;而如果有一个外界的“刺激”来共同改变这个随机过程,就有了马尔可夫决策过程(Markov decision process,MDP)。来自外界的刺激称为智能体(agent)的动作,在马尔可夫奖励过程(MRP)的基础上加入动作,就得到了马尔可夫决策过程(MDP)。
MDP 与 MRP 非常相像,主要区别为 MDP 中的状态转移函数和奖励函数都比 MRP 多了动作a作为自变量。
不同于马尔可夫奖励过程,在马尔可夫决策过程中,通常存在一个智能体来执行动作。例如,一艘小船在大海中随着水流自由飘荡的过程就是一个马尔可夫奖励过程,它如果凭借运气漂到了一个目的地,就能获得比较大的奖励;如果有个水手在控制着这条船往哪个方向前进,就可以主动选择前往目的地获得比较大的奖励。马尔可夫决策过程是一个与时间相关的不断进行的过程,在智能体和环境 MDP 之间存在一个不断交互的过程。
马尔可夫决策过程
状态价值函数:在 MDP 中,由于马尔可夫性质的存在,策略只需要与当前状态有关,不需要考虑历史状态。回顾一下在 MRP 中的价值函数,在 MDP 中也同样可以定义类似的价值函数。但此时的价值函数与策略有关,两个不同的策略在同一个状态下的价值也很可能不同,因为不同策略会采取不同的动作,之后会遇到不同的状态,以及获得不同的奖励,所以它们的累积奖励的期望也就不同,即状态价值不同。
动作价值函数:不同于 MRP,在 MDP 中,由于动作的存在,额外定义一个Q 函数(Q-function)/动作价值函数
状态价值函数和动作价值函数之间的关系:所有动作函数就是状态函数
贝尔曼期望方程(Bellman Expectation Equation)
备份图
备份图(backup diagram)或 回溯图,它们所示的关系构成了更新或备份操作的基础,而这些操作是强化学习方法的核心。
这些操作将价值信息从一个状态(或状态-动作对)的后继状态(或状态-动作对)转移回它。每一个空心圆圈代表一个状态,每一个实心圆圈代表一个状态-动作对。
第一层加和是对叶子节点进行加和,往上备份一层,我们就可以把未来的价值(s^′的价值)第二层加和是对动作进行加和,得到黑色节点的价值后, 再往上备份一层,就会得到根节点的价值,即当前状态的价值。
Q 函数备份图
对于 Q 函数,现在的根节点是 Q 函数的一个节 点。Q 函数对应于黑色的节点。下一时刻的 Q 函数对应于叶子节点,有 4 个黑色的叶子节点。
动态规划(dynamic programming)
基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到目标问题的解。动态规划会保存已解决的子问题的答案,在求解目标问题的过程中,需要这些子问题答案时就可以直接利用,避免重复计算。接下来介绍如何用动态规划的思想来求解在马尔可夫决策过程中的最优策略。
基于动态规划的强化学习算法主要有两种:一是策略迭代(policy iteration),二是价值迭代(value iteration)。其中,策略迭代由两部分组成:策略评估(policy evaluation)和策略提升(policy improvement)。具体来说,策略迭代中的策略评估使用贝尔曼期望方程来得到一个策略的状态价值函数,这是一个动态规划的过程;而价值迭代直接使用贝尔曼最优方程来进行动态规划,得到最终的最优状态价值。
预测&控制
在马尔可夫决策过程里面,**预测和控制**都可以通过动态规划解决。要强调的是,这两者的区别就在于, 预测问题是给定一个策略,我们要确定它的价值函数是多少。而控制问题是在没有策略的前提下,要确定**最佳的价值函数**以及对应的**决策**方案。实际上,这两者是递进的关系,在强化学习中,我们通过解决预测问题,进而解决控制问题。
方格中,智能体可以采取上、 下、左、右 4 个动作。碰壁则原位置不动,并且得到 -1 的奖励。除了将智能体到 A 和 B 采取任意一个动作,都会移动到 A′ ,B ′ ,其他动作的奖励均为 0。 预测:给定一个策略:在任何状态中,智能体的动作模式随机,上、 下、左、右的概率均为 0.25。预测问题:求出在这种策略下的价值函数。图 2.16c 是折扣因子为 γ = 0.9 时对应的价值函数。控制:问题背景与预测问题的相同,唯一区别:不再限制策略,动作模式未知。 求出在**所有可能的策略下最优的价值函数,也就得到了最优策略。
马尔可夫决策过程控制
当取得最佳价值函数后,我们可以通过对 Q 函数进行最大化来得到最佳策略:
寻找最佳策略的过程就是马尔可夫决策过程的控制过程。马尔可夫决策过程控制就是去寻找一个最佳 策略使我们得到一个最大的价值函数值
一、策略迭代算法
策略迭代由两个步骤组成:策略评估和策略改进(policy improvement)。
策略评估这一过程用来计算一个策略的状态价值函数。回顾贝尔曼期望方程:
举例:策略评估
最优策略
贝尔曼最优方程
二、价值迭代算法
介绍最优策略
策略迭代中的策略评估需要进行很多轮才能收敛得到某一策略的状态函数,这需要很大的计算量,尤其是在状态和动作空间比较大的情况下。
可能出现这样的情况:虽然状态价值函数还没有收敛,但是不论接下来怎么更新状态价值,策略提升得到的都是同一个策略。
可以被认为是一种策略评估只进行了一轮价值更新的策略迭代算法。
价值迭代例子:最短路径
例子:格子有个goal,每个格子即时汇报-1,目标0,
第一次,-1+gamma*0
最终:离左上角格子距离,收敛,得到每个格子最优action
价值迭代 vs. 策略迭代
策略迭代分两步。首先进行策略评估,即对当前已经搜索到的策略函数进行估值。得到估值后,我们进行策略改进, 即把 Q 函数算出来,进行进一步改进。不断重复这两步,直到策略收敛。价值迭代直接使用贝尔曼最优方 程进行迭代,从而寻找最佳的价值函数。找到最佳价值函数后,我们再提取最佳策略。