强化学习笔记(2)-- 马尔科夫决策过程
目录:
- 马尔科夫过程
- 马尔科夫奖励过程
- 马尔科夫决策过程
- 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 stateis 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:当不稳定时,不稳定环境,在线学习,快速学习
![](http://upload-images.jianshu.io/upload_images/3320955-8b9510704d504930.png?imageMogr2/auto-orient/strip|imageView2/2/w/1099/format/webp)
- 椭圆:普通状态
- 有向线:从这个状态跳转到另一个状态的概率
- 方块:表示终止状态
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时刻,所获得的随机变量的值
:一个函数
![](http://upload-images.jianshu.io/upload_images/3320955-3ef94192d15641f6.png?imageMogr2/auto-orient/strip|imageView2/2/w/738/format/webp)
2.1 回报值
- 奖励值:对每一个状态的评价
- 回报值:对每一个片段的评价
定义
回报值(return)是从时间
处开始的累计衰减奖励
对于片段任务:
对于连续性任务:
2.2 再聊片段
![](http://upload-images.jianshu.io/upload_images/3320955-410fa659198db19e.png?imageMogr2/auto-orient/strip|imageView2/2/w/543/format/webp)
可以这么理解,终止状态等价于自身转移概率为1,奖励为0的一个状态。
因此,我们可以能够将片段性任务和连续性任务进行统一表达
当
2.3 再聊衰减值
为什么我们要使用这样的指数衰减值?
-
直观感受
- 影响未来的因素不仅仅包含当前
- 我们对未来的把我也是逐渐衰减的
- 一般情况下,我们更关注短时间的反馈
-
数学便利
- 一个参数就描述了整个衰减过程,只需要调节这一个参数 γ 即可以调节长时奖励和短时奖励的权衡 (trade-off)
- 指数衰减形式又很容易进行数学分析
- 指数衰减是对回报值的有界保证,避免了循环 MRP 和连续性 MRP 情况下回报值变成无穷
2.4 回报值vs值函数
- 回报值: the discounted sum of rewards in one whole episode(一次片段的结果, 每次都不同,存在很大的样本偏差)
- 值函数: the expected discounted sum of rewards from a certain state/ an expectation over all possible episodes and can start from any state(关注的是状态s)
The state value function
of an MRP is the expected return starting from state
回报值的计算过程很简单
![](http://upload-images.jianshu.io/upload_images/3320955-33fed860ca5fd58a.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
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),那么成为确定性策略,否则即为随机策略
![](http://upload-images.jianshu.io/upload_images/3320955-2eacdcba78d5a2d9.png?imageMogr2/auto-orient/strip|imageView2/2/w/620/format/webp)
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中的值函数也能分解成瞬时奖励
和后继状态的值函数
两部分
状态值函数
状态动作值函数
![](http://upload-images.jianshu.io/upload_images/3320955-decf210464960cd0.png?imageMogr2/auto-orient/strip|imageView2/2/w/610/format/webp)
其中空心节点代表了state,实心点代表了state-action pair,从根节点
3.4.1 V函数与Q函数之间的相互转化
![](http://upload-images.jianshu.io/upload_images/3320955-0aeb148fdb3468a0.png?imageMogr2/auto-orient/strip|imageView2/2/w/386/format/webp)
这个本质上是全概率
![](http://upload-images.jianshu.io/upload_images/3320955-e4506b6fc577fc0b.png?imageMogr2/auto-orient/strip|imageView2/2/w/549/format/webp)
![](http://upload-images.jianshu.io/upload_images/3320955-737758fbfe032089.png?imageMogr2/auto-orient/strip|imageView2/2/w/1003/format/webp)
![](http://upload-images.jianshu.io/upload_images/3320955-f60c12f524315c84.png?imageMogr2/auto-orient/strip|imageView2/2/w/766/format/webp)
贝尔曼方程矩阵形式
MDPs 下的贝尔曼期望方程和 MRP 的形式相同
同样地,可以直接求解
求解要求:
- 已知策略
- 已知状态转移矩阵
3.5 最优值函数
之前值函数,以及贝尔曼期望方程针对的都是给定策略的情况,是一个评价问题。
现在我们来考虑强化学习中的优化问题(找出最好的策略)
最优质函数值得是在所有策略中的值函数最大值,其中包括最优V函数和最优Q函数
最优值函数值的是一个MDP中所能达到的最佳性能
3.6 最优策略
为了比较不同策略的好坏,我们首先应该定义策略的比较关系
对于任何MDPs问题
- 总存在一个策略
要好于或等于其他所有的策略
- 所有的最优策略都能够实现最优的 V 函数
- 所有的最优策略都能够实现最优的 Q 函数
怎么得到最优策略?
- 已知
当我们已知了最优 Q 函数后,我们能够马上求出最优策略,只要根据选择相应的动作即可
可以看出对于任何MDPs问题,总存在一个确定性的最优策略。
- 已知
为了求解最优策略,只需要做一步搜索就行。也就是在对于不同的
,计算
,获得最大值对应的a就是我们的最优策略
同样地,和
也存在递归的关系,也可以相互转换
![](http://upload-images.jianshu.io/upload_images/3320955-4580faf5a773c375.png?imageMogr2/auto-orient/strip|imageView2/2/w/380/format/webp)
![](http://upload-images.jianshu.io/upload_images/3320955-67bd55fbda9621f1.png?imageMogr2/auto-orient/strip|imageView2/2/w/519/format/webp)
同样根据上面的两个图,我们可以推导出:
![](http://upload-images.jianshu.io/upload_images/3320955-dc71db7ea0c8e3c1.png?imageMogr2/auto-orient/strip|imageView2/2/w/643/format/webp)
![](http://upload-images.jianshu.io/upload_images/3320955-ed63f4888fd06547.png?imageMogr2/auto-orient/strip|imageView2/2/w/610/format/webp)
- 贝尔曼最优方程本质上就是利用了
的特点,将其期望的算子转化成了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课件
- 强化学习入门(第二版)读书笔记
- 有限马尔可夫决策过程——强化学习第三章
作者:ColleenKuang
链接:https://www.jianshu.com/p/48f3fcfac081
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。