强化学习笔记:策略、值函数及贝尔曼方程 |
您所在的位置:网站首页 › 蒙特卡洛算法公式方程 › 强化学习笔记:策略、值函数及贝尔曼方程 |
目录 1. 前言 2. 策略和值函数的定义 3. 值函数的估计 4. 状态值函数的贝尔曼方程 1. 前言本篇介绍策略、两种值函数(状态值函数和动作值函数),以及大名鼎鼎的贝尔曼方程。补充了一点关于贝尔曼方程的推导过程,希望能够帮助理解。 本文中公式编号(,)中第2部分表示对应公式(如果在原书中有的话)在原书中的编号。 2. 策略和值函数的定义几乎所有的强化学习算法都涉及到值函数(作为状态的函数,或者“状态-动作对”的函数)的估计,用于衡量对应状态或者“状态-动作对”对于智能体的价值(how good it is),这个价值体现了智能体在该状态下,或者说“状态-动作对”的条件下所能期望的回报,而这个又依赖于在未来智能体将采取什么动作序列,也即依赖于智能体以什么样的方式选择动作,即(动作选择)策略(policies)。 策略(policy)是指从状态到选择各种动作的概率的映射,通常用字符𝜋表示: 与前文的p相同,𝜋本身也是一个普通的函数(与p同样,它表示是一种条件概率。不是圆周率!^-^)。 强化学习的目标就是学习(更好的)策略,即(基于经验、值函数估计值等)学会如何(根据当前的状态)采取行动,以达成总体或长期回报的最大化。 Solution-3.11: 式(3.2)(sutton-book原书编号)如下所示: 在策略𝜋的条件下的状态s的值函数记为 注意,这里 同样,我们可以定义遵循策略𝜋在状态s下采取动作a的条件下的值函数如下: 通常 Solution-3.12: 根据定义, 值函数v和q可以以基于经验的方式进行估计。比如说,一个遵循策略𝜋的智能体针对状态s进行跟踪统计,对每次碰到状态s后的实际回报进行平均就可以得到 当状态数很多时,通常对每个状态分别跟踪统计会变得不现实,更太不上动作值函数的跟踪统计。取而代之的做法是将𝑣𝜋,𝑞𝜋近似地表示为参数化(参数个数远小于状态个数)的近似函数(function approximator),然后条件参数使其更好地匹配实际观测到的回报。这种方法能够得到很精确的估计,当然估计性能依赖于所取的参数化函数近似器的性质。这一类方法将在本书第2部分讨论。 4. 状态值函数的贝尔曼方程在前面我们得到了预期回报的递推关系(recursive relationships),如下所示: 而值函数又是关于预期回报的条件均值,因此基于这个递推关系我们可以得到价值函数的递推关系,如下所示: 最后一行将针对s'和r的双重累加符号缩减为一个累加符号了,仅是为了是公式简洁一些,没有特别附加的含义。这最后一行也清楚表明了状态值函数𝑣𝜋(𝑠)是针对三元组{s',a,r}的所有可能组合的概率加权平均(expectation),结合下图可能更容易理解(更详细的解释可以参考原书,这种图叫做backup diagram,备份图--感觉这个名字真是有点不知所云^-^)。
这个就是大名鼎鼎的状态值函数的贝尔曼方程。但是这个推导看起来有点可怕,尤其这个并不是概率论教材中的公式应用一下能够直接得出的,需要结合其中各变量的物理含义才能推导得出。我想像我这样需要琢磨很久才能回过神来的菜鸟应该不在少数。让我们来看看能不能拆解得更加友好易懂一些。如下所示: 参见Exercise 3.12的题解,道理相同。 进一步(道理同上,抠住条件均值和期望的定义即可), 显而易见(因为 同样,由于 综合可得: 状态值函数的贝尔曼方程的具有唯一解。后续章节我们将看到贝尔曼方程是各种计算、近似和学习状态值函数的基础。 同理可以推出动作值函数的贝尔曼方程,参见Exercise 3.17. 本系列总目录参见:强化学习笔记总目录 参考文献: [1] Sutton-RLbook-chapter3.5 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |