关注我们,一起学习~
导读
强化学习的背景在之前的文章中已经进行了简单介绍,今天主要和大家分享MDP马尔科夫决策过程的相关内容。MDP可谓是其他强化学习的祖师爷,其他方法都是在祖师爷的基础上开枝散叶的,因此要学习强化学习就要学习MDP。
本文主要参考的内容在“参考”部分,将学习的一些笔记进行分享,和大家一起学习。关于MDP的讲解,这篇文章讲的很清楚,感兴趣的小伙伴可以进入阅读。此次主要将内容进行精简,从10个问题带大家认识MDP,对MDP有一个总体的了解。
主要内容:
- 介绍MDP的基本概念
- 知识点
- 用例子串起来
MDP基本概念
Q1. 什么是MDP?
MDP,马尔科夫决策过程是一个随机过程,该随机过程中每个状态的转移都满足马尔科夫性,并且状态转移概率包含动作和上一个状态。主要由有限状态集合S,有限动作集合A,状态转移概率P,折扣因子γ以及回报(奖励)函数R组成。
Q2. 什么是随机过程?
一系列随机变量组成的序列称为随机过程
Q3. 什么是马尔科夫性?
下一个状态(
)只和当前状态(
)有关,与之前的状态(
)无关。
Q4. 什么是决策?
所谓决策即包含动作,由动作和当前状态来得到下一个状态。
表示的当前状态s下,执行动作a能转移到下一个状态s'的概率。
知识点
Q5. 什么是回报?
回报(R)是智能体在某个状态s下执行某个动作a从而转移到一下个状态s'后环境给予的反馈,称之为奖励或回报。
Q6. 什么是累积回报?
累积回报通常可以表示为
。从当前状态按照一定的策略往后面的状态转移,每次转移都可以得到环境给予的回报R,并且离当前位置越远的状态对当前位置的影响应该越小,因此这里需要一个折扣因子
对其进行加权。
Q7. 什么是策略?
所谓策略即为在状态s下智能体采取各种动作的概率表示为
。
Q8. 什么是状态值函数?
因为策略是采取不同动作的概率,而在状态s处采取动作a后根据转移矩阵可能转移到不同的状态,因此在策略
下同一状态s可能会产生不同的状态序列,不同的序列可以得到不同的累积回报G,从s出发的多个G的期望作为价值函数。其反映在该状态下可以得到的期望累积回报,通俗理解就是走到这个状态可以得到的累积回报是多少,从而判断是否要往这个状态走。
通过对
之后的求和提取γ可以得到状态值函数的递推式
。
Q9. 什么是动作值函数?
如图所示,除了“7.4”以外,其他状态节点采取动作后转移的状态是固定的。这里以“7.4”节点为例,执行“发表”动作后,存在三种状态转移的可能,那么在执行某个动作之后可以得到的期望累积回报,通俗理解就是在状态s的时候如果选择这个状态可以得到的累积回报会是多少,从而判断是否要选这个动作。同样可以得到下面的递推式,
Q10. 状态值函数和动作值函数有什么关系?
一次转移过程:在状态s时根据策略π选择并执行动作后转移到下一个状态s'。那么这个过程可以表示为上图,白色圆表示状态,黑色圆表示动作。在状态s时,根据策略π可以选择两个动作,在执行动作a之后可能转移到两个后续状态。那么就可以得到下式来表达状态和动作之间值函数的关系,
白话:把这个状态下可能执行的动作都做一遍,然后计算他们的期望就是状态值函数
白话:P表示在状态s时执行动作a转移到s'的概率,因此左式表示执行动作a后,后续可能到达的状态的值函数的期望,右式表示执行动作后可以得到的奖励(回报)。
最后可以得到与Q8,Q9中bellman递推式的详细版本,具体如下,一个个位置对应一下比较容易理解的。
例子:
有一个机器人小夏,在一个迷宫里寻找宝藏,有的地方时陷阱,有的地方是路,有一个地方是宝藏,那么机器人应该如何才能快速地找到宝藏,并且不落入陷阱。这里的机器人需要作出一系列的决策从起点快速安全到达宝藏点。
那么这里小夏能到的每一个地方我们可以认为是状态s,小夏在迷宫中的移动是动作a,它每到一个地方都会得到不同的奖励(回报),例如到陷阱就要被惩罚(负回报),到宝藏点获得奖励(正回报)等,每次前进有所消耗,因此也可以给予相应的负回报,这样可以敦促他尽快到达宝藏点。而对从这个状态下到最终的地点的总回报的估计就是累积回报。通过不断的训练,小夏从一开始的导出乱撞,到最后可以快速的到达宝藏点,获取宝藏。
小夏每次做决策的时候,都需要考虑往哪走,走多少,到达哪个位置。通过什么来判断呢?就是通过在不断学习的过程中计算得到的状态值函数和动作值函数,小夏判断到达状态s的值函数最大,则他可以选择走这个位置。
下期预告:从Q9的图中可以发现,每个状态的值函数的值都已经给出了,那么应该如何在迭代中计算他们,并进行相应的决策呢?下期和大家分享。
参考
https://zhuanlan.zhihu.com/p/25498081 https://www.bilibili.com/video/BV15a4y1j7vg?p=2