在本文中,我们将学习贝尔曼方程和价值函数。

回报和返还(return)
正如前面所讨论的,强化学习agent如何最大化累积未来的回报。用于描述累积未来回报的词是返还,通常用R表示。我们还使用一个下标t来表示某个时间步长的返还。在数学符号中,它是这样的:

如果我们让这个级数趋于无穷,那么我们最终会得到无限的返还,这对于问题的定义并没有太大意义。因此,只有在我们期望返还的级数终止时,这个方程才有意义。我们将这种总是终止的任务称为“插曲式”(episodic)。纸牌游戏是解释“插曲式”问题的好例子。“插曲”开始于对每个人发牌,并且不可避免地会随着游戏规则的不同而结束。然后,下一“插曲”又开始了另一回合的游戏。

相比使用未来的累积回报作为返还,更常见的是使用未来的累积折现回报(cumulative discounted reward):

其中0<γ<1。以这种方式定义返还的两个好处是,返还在无穷级数中得到了很好的定义,而且它把更大的权重给了更早的回报,这意味着我们更关心即将得到的回报,而不是将来会得到更多的回报。我们为γ选择的值越小就越正确。这种情况在我们让γ等于0或1时就可以看到。如果γ等于1,这个方程就变成了对所有的回报都同样的关心,无论在什么时候。另一方面,当γ等于0时,我们只关心眼前的回报,而不关心以后的回报。这将导致我们的算法极其短视。它将学会采取目前最好的行动,但不会考虑行动对未来的影响。

策略
一个策略,写成π(s, a),描述了一种行动方式。它是一个函数,能够采取一个状态和一个行动,并返回在那个状态下采取这个行动的概率。因此,对于一个给定的状态,即

必须是真实的。在下面的例子中,当我们“饥饿”的时候,我们可以在两种行为之间做出选择,要么“吃”,要么“不吃”。

我们的策略应该描述如何在每个状态中采取行动,所以一个等概率的随机策略看起来就像

,在这里

(Eat)是行为“吃”,而

(Don’t Eat)是“不吃”。这意味着,如果你处于“饥饿”状态,选择“吃”和“不吃”的概率是相等的。

我们在强化学习中的目标是学习一种最优策略,定义为

。最优策略告诉我们如何采取行动来最大化每个状态的返还。因为这是一个很简单的例子,所以很容易看出,在这种情况下,最优策略是在“饥饿”时总是“吃”,那么就是

。在这个实例中,对于许多马尔可夫决策来说,最优策略是确定的。每个状态都有一个最优的行动。有时这被写成

,它是从状态到这些状态中的最优行动的映射。

价值函数
为了学习最优策略,我们利用了价值函数。在强化学习中有两种类型的价值函数:状态值函数(state value function),用V(s)表示,和行动值函数,用Q(s,a)表示。

状态值函数在遵循策略时描述一个状态的值。当从状态的行为以我们的策略π开始时,这就是预期的返还。

需要注意的是,即使在相同的环境中,价值函数也会根据策略发生变化。这是因为状态的价值取决于你的行动,因为你在那个特定的状态下的行动会影响你期望看到的回报。同时还要注意期望的重要性。期望(expectation)就像一个平均值;它就是你期望看到的返还。我们使用期望的原因是当你到达一个状态后会发生一些随机事件。你可能有一个随机的策略,这意味着我们需要把我们采取的所有不同行动的结果结合起来。此外,转换函数(transition function)可以是随机的,也就是说,我们可能不会以100%的概率结束任何状态。请记住上面的例子:当你选择一个行动时,环境将返回下一个状态。即使给出一个行动,也可能会有多个状态返还。当我们看贝尔曼方程时,会看到更多这样的情况。期望将所有这些随机因素考虑在内。

我们将使用的另一个价值函数是行动值函数。行动值函数告诉我们当跟随某个策略时,在某些状态下执行某个行动的值。给出状态和在π下的行动,这是期望的返还:

对状态值函数的注释同样适用于行动值函数。根据该策略,期望将考虑未来行动的随机性,以及来自环境的返还状态的随机性。

贝尔曼方程
理查德·贝尔曼推导出了以下公式,让我们可以开始解决这些马尔可夫决策问题。贝尔曼方程在强化学习中无处不在,对于理解强化算法的工作原理是非常必要的。但在我们了解贝尔曼方程之前,我们需要一个更有用的符号,定义为

,如下所示:

是过渡概率。如果我们从状态s开始,然后采取行动a,我们就会得到状态

和概率

是另一种写为期望(或平均)回报的方式,我们从状态s开始,采取行动a,然后移动到状态

最后,有了这些条件,我们就可以推导出贝尔曼方程了。我们将考虑贝尔曼方程的状态值函数。根据返还的定义,我们可以重写方程(1),如下所示:

如果我们从求和中得到第一个回报,我们可以这样重写它:

这里的期望描述的是,如果我们继续遵循策略π的状态s,我们期望返还的是什么。通过对所有可能的行动和所有可能的返还状态的求和,可以明确地编写为期望。下面的两个方程可以帮助我们完成下一个步骤。

通过在这两个部分之间分配期望,我们就可以把我们的方程转化成:

注意,方程(1)与这个方程的末尾形式相同。我们可以替换它,得到:

贝尔曼方程的行动值函数可以以类似的方式进行推导。本文结尾有具体过程,其结果如下:

贝尔曼方程的重要性在于,它们让我们表达了其它状态的价值。这意味着,如果我们知道

的值,我们可以很容易地计算出

的值。这为计算每个状态值的迭代方法打开了大门,因为如果我们知道下一个状态的值,我们就可以知道当前状态的值。最重要的事情是我们需要记住一些编号方程。最后,在贝尔曼方程中,我们可以开始研究如何计算最优策略,并编码我们的第一个强化学习agent。

在我们推导出贝尔曼方程的过程中,我们得到了这一系列的方程,从方程(2)开始:

强化学习的状态值函数与状态动作值函数相关推荐

  1. 强化学习2-策略,状态值函数,动作值函数

    在明白了马尔科夫流程了(上一节)之后,我们可以真正的谈一谈策略 首先:什么是策略 策略就是智能体在面对不同的S(状态)时选择动作过程一般用π表示, 所以可知实际上策略就是我们要的最终成果, 而策略又分 ...

  2. 强化学习实践四||价值迭代法2_动作价值

    强化学习实践四||价值迭代法2 Q(s,a) = 求和 p * (r + 折扣率 * maxQ(s_____ ,a_) ) 随机玩100步游戏,记录 (s,a,s_) : r 和 (s,a) : s ...

  3. 状态值函数和动作值函数

    转载自: http://blog.csdn.net/qq_40027052/a-

  4. 深度强化学习综述论文 A Brief Survey of Deep Reinforcement Learning

    A Brief Survey of Deep Reinforcement Learning 深度强化学习的简要概述 作者: Kai Arulkumaran, Marc Peter Deisenroth ...

  5. 强化学习:不用给AI一个支点,他也能想办法撬起地球

    文章目录 导读 定义 要点 强调 应用 电商 游戏 军事 交通管制 其他 强化学习强在哪 强化学习现在怎么样了 基于值函数的强化学习 基于策略搜索的强化学习 基于环境建模的强化学习 强化学习将来会怎么 ...

  6. 【强化学习】强化学习概述

    文章目录 1 强化学习 1.1 强化学习定义 1.2 马尔可夫决策过程 1.3 强化学习的目标函数 1.3.1 总回报 1.3.1 目标函数 1.4 值函数 1.4.1 状态值函数 1.4.2 状态- ...

  7. 【学习强化学习】六、DQN算法原理及实现

    文章目录 参考资料 前言 1. State Value Function 1.1 State Value Function Estimation 1.1 Monte-Carlo(MC)-based 1 ...

  8. 强化学习笔记(三)Value Function Approximation

    目录 学习考察 引言 1.值函数近似(VFA) 2.什么是oracle? 如果没有oracle,我们如何优化价值拟合函数呢? 3.蒙特卡洛值函数近似(MC-VFA) 4.时序差分函数近似(TD-VFA ...

  9. 【文献学习】强化学习1:基于值函数的方法

    参考文献: [1]<机器学习>,周志华(西瓜书) [2]<强化学习>,邹伟,等(鳄鱼书) (今天看书总是走神,干脆总结一下,希望帮自己理清思路.如果碰巧能被大神看到,如有不正确 ...

最新文章

  1. 【每日训练】2020/11/8(规律 + 二进制、单调栈 + 前缀和,后缀和、bitset + 枚举)
  2. RxJava系列4(过滤操作符)
  3. 设置 页面 内容并排平均显示
  4. 一级计算机信息技术及应用考试大纲,江苏省高等学校计算机等级考试一级大纲及考试说明...
  5. java同步锁如何使用_java 同步锁(synchronized)的正确使用姿势
  6. Word/Excel文档伪装病毒-kspoold.exe分析
  7. python爬虫 爬取bilibili新番榜
  8. 在Spring MVC中使用Velocity
  9. 快速傅里叶变换及python代码实现
  10. python爬虫-33个Python爬虫项目实战(推荐)
  11. antd tree节点添加删除按钮_MySQL索引原理及BTree(B/+Tree)结构详解
  12. python 爬取图片网站图片链接并下载收集
  13. idea 一直不停的updating index
  14. 高考满分作文《细雨湿衣看不见,闲花落地听无声》 之 金庸新版
  15. 雷电3接口能干嘛_【分享帖】3块钱一斤的水泥能干嘛?600多万网友看完后都跪了:水泥竟然这么神…...
  16. JAVA练习10-累加数
  17. easyui treegrid php,jQuery EasyUI 数据网格与树插件 – Treegrid 树形网格 | 菜鸟教程
  18. 教你用人工智能写文章写歌词写对联
  19. 接单,外快开发利器-MyBatis-Plus
  20. EMC基础知识总结,写的太全了!

热门文章

  1. 人工智能基础 作业4
  2. html实现小图标,CSS实现小图标
  3. MOXA Nport在二所ATC的使用方式(川大是UDP方式)
  4. python命令启动端口
  5. oracle 频繁commit,[转载]有关COMMIT太频繁问题解决方案
  6. Linux/AIX/Freebsd配置宁盾DKEY动态口令登录认证
  7. 嗨嗨,更文了(算法篇)
  8. 树莓派和51单片机通信问题解决
  9. 苹果开发者账号账号的更换
  10. Ecology异构系统认证流程时序图