目录:
- 马尔科夫过程
- 马尔科夫奖励过程
- 马尔科夫决策过程
- MDPs的拓展
1.马尔科夫过程
Markov decision processes formally describe an environment for reinforcement learning, where the environment is fully ovservable.
大部分的RL问题都能用MDPs来描述
- 最优控制问题可以描述成连续MDPs
- 部分观测环境可以转化成POMDPs
- 赌博机问题是只有一个状态的MDPs
1.1 马尔科夫性质(Markov Property)
"The future is independent of the past given the present".
下个状态只与当前状态有关,跟更前面的状态无关。
定义:
如果在
t
时刻的状态满足如下灯饰,那么这个状态被称为马尔科夫状态,或者说该状态满足马尔科夫性
A state is Markov if and only if
- 状态包含了所有历史相关信息,所以无需再去了解之前的
- 数学上可以认为,当前状态是将来的充分统计量
所以,这里要求环境全观测
举例: - 下棋时,只用关心当前局面(直接解残局,不需要)
- 打俄罗斯方块时,只用关心当前屏幕
有了马尔科夫状态之后,我们可以
- 定义状态转移矩阵
- 忽略时间的影响
PS:马尔科夫性和状态的定义息息相关
1.2状态转移矩阵(State Transition Matrix)
状态转移概率只从一个马尔科夫状态
s
跳转到后继状态s'
的概率
For a Markov states
and successor states'
, the state transition probability is defined by
所有的状态组成行,所有的后继状态(successor)组成列,我们就可以得到状态转移矩阵
- n表示状态的个数
- 每行元素相加等于1
当然如果状态太多,或者是无穷大(连续状态)时,更适合用状态转移函数,
此时,或
重要的事情说三遍:
转移矩阵在MDP中被认为是环境的一部分!!!
转移矩阵在MDP中被认为是环境的一部分!!!
转移矩阵在MDP中被认为是环境的一部分!!!
1.3 马尔科夫过程
A Markov Process(or Markov Chain) is a memoryless random process, i.e. a sequence of random state ,,... with the Markov property
马尔科夫过程可以由一个二元组来定义
代表了状态的集合
描述了状态转移矩阵
我们有时候并一定知道的具体值,但是通常我们假设存在且稳定(即,从转移到的概率任何时候都是一样的)
PS:当不稳定时,不稳定环境,在线学习,快速学习
- 椭圆:普通状态
- 有向线:从这个状态跳转到另一个状态的概率
- 方块:表示终止状态
1.4 片段(episode)
定义
episode = one a sequence of states, actions and rewards, which ends with terminal state
强化学习中,从初始状态到最终状态的序列过程,被称为一个片段(episode)
- 如果一个任务总以终止状态结束,那么这个任务被称为片段任务(episodic task).
- 如果一个任务没有终止状态,会被无线执行下去,则被称为连续性任务(continuing task).
episodes example
2.马尔科夫奖励过程(Markov reward process)
A Markov reward process is a Markov chain with values.
马尔可夫过程主要描述的是状态之间的转移关系,在这个转移关系上 赋予不同的奖励值即得到了马尔可夫奖励过程。
马尔科夫奖励过程有一个四元组组成
代表了状态的集合
描述了状态转移矩阵
表示奖励函数,描述了在状态的奖励.
敲黑板!!
注意区别:
:在t+1时刻,所获得的随机变量的值
:一个函数
2.1 回报值
- 奖励值:对每一个状态的评价
- 回报值:对每一个片段的评价
定义
回报值(return )是从时间处开始的累计衰减奖励
对于片段任务:
对于连续性任务:
2.2 再聊片段
可以这么理解,终止状态等价于自身转移概率为1,奖励为0的一个状态。
因此,我们可以能够将片段性任务和连续性任务进行统一表达
2.4.1MRP中的贝尔曼方程(Bellman Equation)
值函数的表达式可以分解成两部分:
- 瞬时奖励(immediate reward)
-
后继状态的值函数乘上一个衰减系数
下面是推导过程:
体现了与之间的迭代关系
2.4.2 解贝尔曼方程
矩阵-向量形式表达贝尔曼方程
假设状态集合为,那么
贝尔曼方程本质上是一个线性方程,可以直接解
- Computational complexity is for n states.
- State Transition Matrix is required.
- Direct solution only possible for small MRPs.
- There are many iterative methods for large MRPs, e.g:
- Dynamic programming
- Monte-Carlo evaluation
- Temporal-Difference learning
3.马尔科夫决策过程
我们把动作(Action)引入到MRPs中,就得到了马尔可夫决策过程(Markov Decision Processes, MDPs)
一个马尔科夫决策过程(MDPs)由一个五元组构成
代表了状态的集合
代表了动作的集合
描述了状态转移矩阵
表示奖励函数,描述了在状态s做动作a的奖励
3.1 策略(Policy)
A policy is a distribution over actions given states. 在MDPs中,一个策略是在给定状态下得动作的概率分布
- 策略是对智能体行为的全部描述(智能体能够控制的是策略)
- MDPs中的策略是基于马尔科夫状态的(而不是基于历史)
- 策略是时间稳定的,只与s有关,与时间t无关
- 策略的概率分布输出都是独热的(one-hot),那么成为确定性策略,否则即为随机策略
3.2 MDPs和MRPs之间的关系
对于一个MDP问题,如果给定了策略, MDP将会退化成MRP
此时,
3.3 值函数
在MDPs问题中,由于动作的引入,值函数分为了两种:
- 状态值函数(V函数)
- 状态动作值函数 (Q函数)
V函数
MDPs中的状态值函数是从状态s开始,使用策略得到的期望回报值
Q函数
MDPs中的状态动作值函数是从状态s开始,执行动作a,然后使用策略得到的期望回报值
Q函数中,之所以强调“然后”的意思是, 在状态s下,智能体的动作a是随机选择的(不一定按策略来),之后的动作才是按策略来做选择。
MDPs中,任何不说明策略的情况下,讨论值函数都是在耍流氓!
3.4 贝尔曼方程
和MRP相似,MDPs中的值函数也能分解成瞬时奖励
和后继状态的值函数
两部分
状态值函数
状态动作值函数
其中空心节点代表了state,实心点代表了state-action pair,从根节点 Q转V
这个本质上是全概率
V转Q 贝尔曼期望方程-V函数 贝尔曼期望方程-Q函数贝尔曼方程矩阵形式
MDPs 下的贝尔曼期望方程和 MRP 的形式相同
最优v函数转最优q函数 最优q函数转最优v函数
同样根据上面的两个图,我们可以推导出:
贝尔曼最优方程——V函数 贝尔曼最优方程——Q函数
- 贝尔曼最优方程本质上就是利用了的特点,将其期望的算子转化成了max
- 在贝尔曼期望方程中, 是已知的,而在贝尔曼最有方程, 是未知的
- 解贝尔曼期望方程的过程即对应了评价,解贝尔曼最优方程的过 程即对应了优化
贝尔曼最优方程是非线性的,一般很难有闭式的解(closed-form solution),可以使用迭代优化的方法去解:
- Value Iteration
- Policy Iteration
- Q-learning
- Sarsa
...
4.MDPs的拓展
4.1 无穷或连续 MDPs
- 动作空间或状态空间无限可数
- 动作空间或状态空无限不可数(连续)
- 时间连续
4.2 部分可观测 MDPs(Partially observable MDPs, POMDPs)
- 此时观测不等于状态
- POMDPs由七元组
- \mathcal{Z} 是观测函数
- 观测不满足马尔可夫性,因此也不满足贝尔曼方程
- 状态未知,隐马尔科夫过程
- 又是对于POMDPs,最优的策略是随机性
4.3 无衰减 MDPs
- 用于各态经历(平稳随机过程的一种特性)马尔科夫决策过程
- 存在独立于状态的平均奖上
- 求值函数时,需要减去该平均奖赏,否则有可能奖赏爆炸
Reference
- David Silver的Reinforcement Learning课件
- 强化学习入门(第二版)读书笔记
- 有限马尔可夫决策过程——强化学习第三章
网友评论