mdp框架_MDP实现细节(一)-- 贝尔曼方程
之前MDP框架我们总体上介绍了MDP的大致概念,现在来说说实现这个框架的细节概念。
我们知道一个智能体如果要到达指定的目标,在规划路径的时候,我们可以使用MDP最大化累计回报的方法来获取最优的线路。我们来看一个例子:
在这个网格世界,智能体想从左上角移动到右下角的目标位置,R代表的是从每一个位置移动懂下个位置的回报值。
好了,先来介绍第一个概念:
1.状态值函数
简单的说就是一定的策略下,在t时刻状态S下未来的累计回报值,
如果我们以一个非常傻逼的路径去到达目标,如下图,那么在起点处的状态值函数就是(-1 + -1 + -1 + -1 + -3 + -1 + -1 + -3 + 5)= -6
以此类推,我们可以知道在策略
下,每个位置的状态函数,这里我们暂时为了简单,不考虑折扣的概念,所以对当前的状态和未来的状态都是一样对待,没有权重高低之分。结果如下:
用公式表示状态值函数:
从公式中可以看到,状态函数始终跟着策略
,所以策略如果改了,状态值也会跟着改。
我们可以注意到,其实不需要把一个位置之后所有的回报都加起来来计算当前位置的状态值函数,我们只需要把当前位置之后的状态值函数+即时回报即可。
这就是第二个概念:
2.贝尔曼方程:
在这个网格世界示例中,一旦智能体选择一个动作,它始终沿着所选方向移动(而一般 MDP 则不同,智能体并非始终能够完全控制下个状态将是什么)
可以确切地预测奖励(而一般 MDP 则不同,奖励是从概率分布中随机抽取的)。
在这个简单示例中,我们发现任何状态的值可以计算为即时奖励和下个状态(折扣)值的和。
Alexis 提到,对于一般 MDP,我们需要使用期望值,因为通常即时奖励和下个状态无法准确地预测。的确,我们在之前的课程中发现,奖励和下个状态是根据 MDP 的一步动态特性选择的。在这种情况下,奖励 r和下个状态 s′ 是从(条件性)概率分布 p(s',r|s,a)p(s′,r∣s,a) 中抽取的,贝尔曼预期方程(对于
)表示了任何状态 ss 对于_预期即时奖励和下个状态的预期_值的值:
如果智能体的策略
是确定性策略,智能体在状态s选择动作
,贝尔曼预期方程可以重写为两个变量 (s'和r) 的和:
在这种情况下,我们将奖励和下个状态的折扣值之和
与相应的概率
相乘,并将所有概率相加得出预期值。
如果智能体的策略
是随机性策略,智能体在状态 s 选择动作 a 的概率是
,贝尔曼预期方程可以重写为三个变量(s'、r 和 a)的和:
在这种情况下,我们将奖励和下个状态的折扣值之和
与相应的概率
相乘,并将所有概率相加得出预期值。
mdp框架_MDP实现细节(一)-- 贝尔曼方程相关推荐
- mdp框架_强化学习:MDP(Markov Decision Process)
0.强化学习(reinforcement learning),特点是引入奖励机制.[强化学习属于机器学习框架中的什么部分?] 1.引出MDP的思路 =>Random variable => ...
- mdp框架_SIGIR 2020 | 知识图谱上推荐推理的模仿学习框架
编者按:尽管知识图谱推理的发展前景广阔,但在收敛性和可解释性上仍存在一定的问题.微软亚洲研究院的研究员利用一个基于元启发式方法的示例路径抽取方法来以较低的标记代价提取示例路径集合,进而提出了一个对抗的 ...
- mdp框架_强化学习-MDP(马尔可夫决策过程)算法原理
1. 前言 前面的强化学习基础知识介绍了强化学习中的一些基本元素和整体概念.今天讲解强化学习里面最最基础的MDP(马尔可夫决策过程). 2. MDP定义 MDP是当前强化学习理论推导的基石,通过这套框 ...
- mdp框架_用于在线机器学习MDP的Python库
我试图在 Python中设计一个具有以下特征的迭代 markov decision process (MDP)代理: >可观察的状态 >我通过保留一些状态空间来处理潜在的'未知'状态 用于 ...
- mdp框架_强化学习中q learning和MDP的区别是什么?
MDP通常是指一种用转移概率描述连续不确定概率过程的数学框架,是强化学习中最基础的概念,很多强化学习的算法都是在把问题抽象为一个MDP之后再想办法求解的. 而q-learning是求解强化学习问题的算 ...
- SSH框架中不为人知的细节(一)
为什么80%的码农都做不了架构师?>>> 一. ModelDriven的运行机制 大家都知道前台表单数据向后台传递的时候,调用的Action会实现ModelDriven接口.伪 ...
- 深度学习原理与框架-卷积网络细节-数据增强策略 1.翻转 2.随机裁剪 3.平移 4.旋转角度...
数据增强表示的是,在原始图像的基础上,对数据进行一定的改变,增加了数据样本的数量,但是数据的标签值并不发生改变, 图片中可以看出对猫这张图片进行了灰度值的变化,但是猫的标签并没有发生改变 常见的数据增 ...
- 一块V100运行上千个智能体、数千个环境,这个「曲率引擎」框架实现RL百倍提速...
视学算法报道 编辑:张倩 在强化学习研究中,一个实验就要跑数天或数周,有没有更快的方法?近日,来自 SalesForce 的研究者提出了一种名为 WarpDrive(曲率引擎)的开源框架,它可以在一个 ...
- 基于Stripes框架进行Java Web开发
Mark Eagle是美国乔治亚州亚特兰大市MATRIX Resources有限公司的一位资深软件工程师,拥有Sun公司的SCP和SCWCD认证.Mark本人非常喜欢使用开源软件进行软件开发,并且多次 ...
最新文章
- linux temp文件夹在哪_Win10系统下使用linux命令的方法
- 发展通用智能,需要无监督学习
- 数据探查与可视化平台
- (转载+ 修改) 深入理解UIWindow
- 我在老男孩学python的日子_day1
- Linux运维趋势采摘 -14期 【第一次编辑】
- 使用verilog实现基于FPGA的TDC设计
- Spark 性能调优-内存设置-GC设置
- 如何在 C# 中使用匿名类型
- 使用Spring Boot和React进行Bootiful开发
- asp.net如何给每张图片动态添加水印方法(二)
- WinForm 中 comboBox控件之数据绑定
- Log4j配置学习文档之二 处理日滚文件-实现原理
- Atitit java 原生 客户端 native desktop桌面 javafx 浏览器环境 导入jar jfxrt.jar 17M package com.attilax.ui;
- 给图片加ALT属性是个什么意思?有什么优点呢
- HDS VSP/VM高端存储更换电池
- 什么是信贷风险控制?
- iOS WKWebView 那些坑
- 一位励志的盲人程序员加我微信,求助找工作
- NeXt VLAD多模态视频分类