马尔可夫决策过程
介绍马尔可夫决策过程的基本概念、组成部分、值函数、贝尔曼方程以及最优化问题
马尔可夫随机过程
-
马尔可夫状态
- 基于现在,未来独立于过去:
- 一旦有了当前状态,历史可以被抛弃
- 当前状态是未来的充分统计数据
-
马尔可夫随机过程(Markov Processes)
- 马尔可夫随机过程由二元组 组成
-
:状态空间(所有可能状态的集合)
-
:状态转移概率矩阵,定义从当前状态 转移到下一个状态 的概率
-
- 马尔可夫随机过程由二元组 组成
马尔可夫奖励过程
-
马尔可夫奖励过程(Markov Reward Processes)由四元组 组成
- :状态空间(所有可能状态的集合)
- :状态转移概率矩阵,定义从当前状态 转移到下一个状态 的概率
- :奖励函数,
- :折扣因子,,用于衡量未来奖励的当前价值
- 当前获得的奖励 在 个时间步后的价值为
- 时,趋近于” 近视 “评估(Mypoic)
- 时,趋近于” 远视 “评估(Far-Sighted)
- 采用折扣因子的原因
- 便于数学上的收敛计算
- 折扣因子限制了回报的累积,确保问题可解并且奖励是有限的
- 折扣因子通过对未来奖励进行加权,隐式表达了这种不确定性
- 在金融或经济领域,折扣因子反映了时间价值的概念,即立即获得的奖励比未来的同样奖励更有价值
- 人类和动物普遍更倾向于即时奖励而非延迟奖励,即 “即时满足倾向”
- 在某些特殊情况下,可以使用不折扣的马尔可夫过程,例如:
- 所有序列都终止:如果问题设计保证智能体的每条路径最终都会结束,例如迷宫求解任务,回报的总和是有限的,无需引入折扣因子
- 特定目标任务:例如以目标状态为重点的问题,可能不关注时间步长
- 未折扣的过程更适用于有界问题,而在无界问题中通常会引入折扣因子
-
值函数
-
从时间步 开始的总折扣奖励值 / 回报(Return):
-
值函数则表示从当前状态 开始的期望累计回报,评估状态的长期价值
-
据此,值函数可以划分为两部分:即时奖励 与折扣后的
-
-
贝尔曼方程(Bellman Equation)
-
定义策略 下价值函数和动作值函数的递归关系
-
,其中
-
-
-
贝尔曼方程的计算复杂度
- 对于 个状态,该方程的计算复杂度是
- 对于小的马尔可夫链,可以利用该公式计算
- 对于较大的马尔可夫链,则需要使用一些迭代的方法,如动态规划、蒙特卡洛方法、时间差分学习
马尔可夫决策过程
-
马尔可夫决策过程(Markov Decision Process)是具有动作的马尔可夫奖励过程
-
马尔可夫奖励过程由五元组 组成
-
:状态空间(所有可能状态的集合)
-
:动作空间(所有可能动作的集合)
-
:状态转移概率矩阵,定义从当前状态 **执行动作 **转移到下一个状态 的概率
-
:奖励函数
-
:折扣因子,,用于衡量未来奖励的当前价值
-
-
策略:给定状态时,动作的概率分布
- 策略完整定义了 Agent 的行动,智能体在每个时间步会依据它选择动作
- 在标准 MDP 中,策略是时间无关的,不会随着时间变化,只要状态相同,选择的行动均相同
- ,即在任何时间步 ,动作 都是根据相同的策略 从状态 中抽样的
-
给定 和策略
-
马尔可夫过程:
-
马尔可夫奖励过程:
-
策略诱导的状态转移概率:在状态 下,策略 可能会以不同概率选择不同动作,而每个动作又有不同的状态转移概率,所以最终的状态转移概率是对所有动作的加权平均
-
策略诱导的奖励函数:策略 可能选择不同的动作,每个动作带来不同的奖励,所以总体奖励是对动作奖励的加权平均
-
-
值函数
-
对「动作」做全期望展开
-
由此,即时奖励为:
-
对未来奖励做全期望展开
-
最终得到完整的贝尔曼期望方程:当前状态 的价值是,在策略 下对所有动作和后续状态的加权期望
- 实际上,上式中的 即为动作值函数
-
贝尔曼期望方程:当前状态 的价值是,在策略 下对所有动作和后续状态的加权期望
-
贝尔曼期望方程的矩阵形式
-
-
动作值函数
-
表示从当前状态 开始选择动作 的期望累计回报,即评估在状态 下选择特定动作 的价值 —— 从某个状态–动作对开始的期望回报
-
在选择动作 后,会按照策略 来选择后续动作,即
-
贝尔曼期望方程:
-
全期望展开的中间过程推导:
-
-
为什么 里动作的期望在 “下一步” 才出现,而 是在” 当前步 “- 状态值函数中:条件里只有状态,当前动作 未知,必须立刻对 按策略取期望,因此有
- 动作值函数中:条件里已经给定了动作,当前动作 是确定的,不需要也不能再对当前动作取期望,所以当前步没有 ;而在下一步时间 ,状态 是随机的,动作 再次由策略决定,因此 ,这时又不知道动作是什么了,因此取期望 ,动作期望自然出现在 “下一步”
- 数学上来讲,期望一定是对 “未知的随机变量” 取的
- 当前动作在状态值函数中未知,要取期望,在动作值函数中已知,不要取期望
- 下一步动作在两者里都是未知的,都要取期望
最优化问题
-
在 “最优” 问题里,动作不再是随机选的,而是由我们主动选最好的那个
-
最优值函数
- 以动作值函数为例,在最优化问题里关心的是:从 出发,之后永远 “选得最优”,能拿到的最大期望回报
- 因此,相比随机选择动作,此处直接选择最好的动作,所以期望变为了 函数
- 当求得最优值函数时,即称 MDP 问题被解决
-
最优策略
- 称 ,来定义策略的优劣
- 对于任何 MDP,均存在最优策略 ,使得
- 且
-
根据最优动作值函数得到最优策略:
-
最优值函数的推导:在状态 下,选择能带来最大长期回报的动作
-
最优动作值函数的推导:采取动作 后的回报等于即时奖励加下一个状态中最优动作的价值
-
最优动作值函数与最优状态值函数的关系
-
对于状态值函数,不能 “直接” 从定义推出 Bellman 最优方程,必须借助最优动作值函数或最优性原理
-
想当然地,根据状态值函数的基本定义,可能会得到:
-
关键障碍是 max 不能直接穿过期望符号,更不能把策略的 max 变为对动作的 max
-
而真正的关键是贝尔曼最优性原理(Principle of Optimality):一条最优路径的任意后缀,仍然是最优的
-
即,未来也必须继续是最优的
-
引入动作值函数后, 强制把第一个动作固定,消除了 “当前动作” 的随机性,因此
-
借由最优动作值函数,可以推导出最优状态值函数
-
-
为什么不是 “先期望再取 max”?
-
期望和 max 的先后关系
-
Bellman 最优方程做的是对动作取 max,同时对环境转移概率取期望
-
根据最优性原理,在任意状态 ,最优策略都会选:
-
-
最优化问题的贝尔曼方程没有封闭解
-
一般的最优化 Bellman 方程没有解析(封闭)解,只能通过数值或迭代方法求解
- 上述贝尔曼最优方程中,未知量 出现在右边,同时右边还包含 max (非线性)和期望(线性)
- 因此,这是一个非线性不光滑的函数不动点方程
-
策略评估问题 VS 最优化问题
-
策略评估问题有封闭解,只要矩阵 可逆
-
而最优控制问题中的 max 函数导致其不再是矩阵方程,而是一个分段定义的非线性方程;它涉及到所有状态和动作的最大值操作(非线性),而且是一个多变量的递归方程组(每个状态的值依赖于其他状态的值)
-
-
然而,最优化问题还是能够通过迭代方法 “解决”
-
这是由于贝尔曼最优算子拥有两个关键性质
-
压缩映射():,存在唯一不动点
-
迭代必然收敛:,这就是值迭代(Value Iteration)
-
-
这也导出了为什么强化学习问题必须近似
- 因为在大状态空间中,无法存储 ,无法枚举所有动作,无法解矩阵方程
- 为此,动态规划使用表格迭代,TD/ Q-learning 使用随机逼近,深度强化学习使用函数逼近
-
贝尔曼最优方程的迭代解方法
- 值迭代
- 策略迭代
- Q-Learning
- SARSA
-
算子与不动点
-
算子
-
设, 是一个函数空间(例如所有 ), 上定义了某种范数
-
算子(Operator)定义为:
-
算子是 “以函数为输入、以函数为输出的映射”
-
在 MDP 中,状态空间:,价值函数空间:,所有 Bellman 算子,都是在这个空间上定义的映射
-
-
策略 Bellman 算子
-
给定一个固定策略,定义:
-
假设以后一直按 行动,对 做一次 Bellman 更新
-
-
最优 Bellman 算子
-
定义
-
不依赖具体策略,直接对动作取最大
-
假设未来每一步都采取最优动作,对 做一次更新
-
-
不动点(Fixed Point)
-
设 是一个算子,如果存在 ,使得
-
则称,
-
策略评估的不动点:,即在策略 下,自洽的价值函数
-
最优控制的不动点:,即最优价值函数必须满足 Bellman 最优方程
-
-
不动点迭代
-
给定算子 ,定义迭代序列:
-
若 ,且 满足 ,则称该过程为不动点迭代
-
在 MDP 中,当 时, 和 都是压缩映射,故不动点存在且唯一,任意初值迭代都收敛
-
马尔可夫过程扩展
- (完全可观察)马尔可夫决策过程 MDP:,Agent 直接观察环境的状态
- 部分可观察马尔可夫决策过程(POMDP, Partially Observable MDP):Agent 无法直接观察到完整的环境状态,而是通过观测 获取部分信息,必须构造自己的状态表示
- 连续状态和动作空间:状态和动作空间是连续的,可以使用函数逼近方法(如深度强化学习)解决