马尔可夫决策过程详解
强化学习
强化学习的发展历史
RL(Reinforcement Learning)从统计学、控制理论和心理学等多学科发展而来,是一个基于数学框架、由经验驱动的自主学习方法。RL的发展主线有3条:试错学习、最优控制和时间差分(Temporal-Difference,TD)学习。
最优控制方法
最优控制用来描述通过设计控制器来最小化动态系统的行为随时间变化的测度问题。Bellman等人堆Hamilton、Jacobi理论进行了扩展,使用动态系统的状态和值函数定义了Bellman方程,哦通过求解Bellman方程来解决最优控制问题,即动态规划(Dynamic Programming)。而DP方法存在维数灾难(Curse of Dimensionality),后来Bellman引入最优控制问题的离散随机版本,称之为马尔可夫决策过程(Markov Decision Process,MDP)。
试错学习
试错学习的本质为:每次采取的动作所产生的结果都会对之后的动作产生影响。若采取某个动作在某个状态下对结果的影响是正向的,那么后续再出现这个状态时,智能体(agent)有重复上次采取动作的倾向;若影响是负向的,那么后续将避免这个动作,称之为“效果定律”。效果定律的两个重要方面:选择性和关联性。智能体能够通过尝试对比选择合适的方案,找到的方案与特定情境相关。
TD学习
TD学习的方法由同一时间内进行的连续估计之间的差异所驱动。1981年人们在试错学习中使用TD学习,形成了actor-critic架构,actor负责动作选择和执行,critic负责评价actor所选动作的好坏。1989年,Watkins将TD学习和最优控制完全融合在一起,发明了Q-learning。
强化学习简介
RL本质是互动学习,让智能体与外界环境进行交互,其目标是使得agent在与环境的交互中得到最大的累计reward,从而学习到自身动作的最优控制。
RL模型中三个关键部分:
(1) 状态(state):外界环境信息,状态体现环境的特征。
(2) 动作(action):感知环境后采取的行为,动作的表现形式可以是离散的,也可以是连续的。
(3) 奖励(reward):采取行动后获得的收益值,收益根据实际场景可以时正的也可以是负的。
深度强化学习简介
由于单纯的RL可扩展性较差,且本质上仅限于维度相当低的问题,而深度神经网络强大的函数逼近和表示学习特性,能够解决高维、复杂场景下的RL问题。DL一个重要特征为:深度神经网络能够自动找到高维数据的低维表示(特征)。
DRL是DL领域的一个分支,目的是解决计算机从感知到决策控制的问题,从而实现通用人工智能。
对于DRL来说,目前算法都包含在actor-critic框架下。
actor模块负责选择动作执行,critic模块负责评估执行动作带来后果的好坏,根据r进行调整,指导action模块的动作选择。
目前,DRL算法的分类如下:
- 基于值函数(value-based)的DRL
- 基于策略(policy-based)的DRL
- 基于模型(model-based)的DRL
- 基于分层(hierarchical-baased)的DRL
马尔可夫决策过程
马尔可夫过程
马尔可夫属性
未来状态只与当前状态有关,与过去无关。定义为:
由于当前状态包含了历史中所有相关信息,只要知道了当前状态,所有历史信息就不再需要了。
对于一个马尔可夫状态s及其后续状态s’,状态转移概率P定义为:
矩阵P定义为从所有的状态到所有后续状态s’的转移概率。行为当前状态s,列为后续状态s’,每行的和为1。
马尔可夫过程
马尔科夫过程是一个无记忆的随机过程。
马尔科夫过程又称为马尔科夫链(Markov Chain),可以用一个元组<S,P>表示,其中S是有限数量的状态集,P是状态转移概率矩阵。
马尔可夫奖励过程
马尔科夫奖励过程在马尔科夫过程的基础上增加了奖励R和折扣系数
γ
\gamma
γ,定义为元组<S,P,R,
γ
\gamma
γ>,其中S是有限数量的状态集,P是状态转移概率矩阵,R是奖励函数,R(s) = E[R(t + 1) | St = s](E为期望),
γ
\gamma
γ是折扣因子,[0,1]之间。例子如下图:
折扣因子
引入折扣因子的原因:
- 在带环的马尔可夫过程中避免陷入循环,达到收敛。
- 远期收益的不确定性越来越大,人们更关注眼前利益。
收益
Gt为从时间步t开始带折扣的奖励总和。
其中折扣因子体现了未来的奖励在当前时刻的价值比例,
γ
\gamma
γ接近0,则表示注重眼前利益,
γ
\gamma
γ接近1,则表示注重长期利益。
价值函数
价值函数分为两种,一种是状态-价值函数(state-value function),一种是动作-价值函数(action-value function)。
状态价值函数(state-value function)的定义:从该状态s开始的回报的期望,即
价值函数V(s)给出了某一状态的长期价值。
价值的计算方法:
通过贝尔曼方程进行迭代计算。
状态价值函数分为两部分:
一是该状态的即时奖励Rt+1
二是带折扣的该状态后续状态的价值函数
所以马尔可夫奖励过程的贝尔曼方程为:
贝尔曼方程定义了当前状态和下一个状态的迭代关系,即当前状态的价值函数可以通过下一个状态的价值函数来计算。
举例说明价值的计算:
取
γ
\gamma
γ为0.9,计算每个状态的价值。首先将每个状态的值函数表示出来:
开始迭代计算V。各状态初始V值都为0,迭代算出各状态的后续状态的V(s),直到V值趋于稳定。
编写代码,设置threshold为0.01,结果如下:
可知经过32次迭代后V趋于稳定,稳定值如上图。
马尔可夫决策过程
马尔可夫决策过程在马尔可夫奖励过程的基础上加入决策,即定义为元组<S,A,P,R, γ \gamma γ>,S为有限数量的状态集,A为有限数量的动作集,P为状态转移概率矩阵,R为奖励函数。
策略
策略
π
\pi
π是给定状态时,关于动作a的分布,即
价值函数
- 状态-价值函数(state-value function)
从状态s开始,执行策略能够获得收益的期望,衡量agent处于状态s时的价值。
- 动作-价值函数(action-value function)
从状态s开始,采取动作a,执行策略能够后的收益的期望,衡量agent处于当前状态s并执行动作a时的价值大小。
V和Q的关系为:
贝尔曼期望方程
V和Q的贝尔曼方程如下:
对Q函数进行推导,有:
最优价值函数
- 最优状态价值函数:从策略产生的所有状态-价值函数中,使得状态s价值最大的函数。
- 最优动作价值函数:从策略产生的所有动作-价值函数中,选取使得状态动作对<s,a> 价值最大的函数。
贝尔曼最优方程
V的贝尔曼最优方程:一个状态的最优价值等于从该状态出发采取的所有动作产生的动作价值中最大的那个动作价值。
Q的贝尔曼最优方程:在某个状态s下,采取某个动作的最优动作价值由两部分组成,一部分是离开状态 s 的即时奖励,另一部分则是所有能到达的后续状态 s’ 的最优状态价值与相应的转移概率的乘积后求和。
贝尔曼最优方程的求解Bellman最优方程是非线性的,通常采用迭代方法如Q-learning、Sarsa等求解。
————————————————————————————
参考资料:
【1】刘驰,王占健,戴子彭.深度强化学习学术前沿与实战应用[M].北京:机械工业出版社,2020
【2】https://zhuanlan.zhihu.com/p/494755866