强化学习的数学原理:课程梗概与基本概念

news2024/11/20 13:38:10

Overview

在这里插入图片描述

从上图可以看见,整个强化学习被分为两个板块:一个是基础的工具,一个是基本的算法和方法

基础工具包括:基本的概念、贝尔曼公式、贝尔曼最优公式。

算法和方法包括:值迭代、策略迭代、蒙特卡洛方法、时序差分的方法等等。

后面章节都是以前面章节的概念和思路为基础的。

强化学习的最终目标就是在求解最优策略

第一章:基本概念

State 和 State Space

在这里插入图片描述

State 其实描述的就是 agent 相对于环境的一个状态。

在上图的 grid-world 例子中,每一个二维平面上的位置就是一个状态 Si,但这是一个抽象的表示,这里是化繁为简,如果是更复杂的问题,那么 Si 除了位置之外,可能还有速度啊、加速度等等相关的状态信息,这些也是状态的一部分。

而 State Space 状态空间就是所有这些状态的集合

Action

在这里插入图片描述

在每一个状态下,实际上都是有一系列的可采取的行动。

这些所有的行动放在一起就得到了一个集合,称为 Action space of a state

值得注意的是,我们的行为空间和状态是依赖关系,对于不同的状态,它的 action space 是不一样的

这也是为什么上图在用数学表示 action space 时使用 A(Si) 。

State transition

在这里插入图片描述

State transition 实际上是定义了 agent 和环境的一种交互的行为。

在这里插入图片描述

State transition 可以使用下面 表格 的形式展现出来:

在这里插入图片描述

但是表格只能表示出这种 deterministic 确定性的情况,对于有多个状态存在这样的多可能性表格就不再适用(比如 s1 选择 a1 之后可能会进入到 s1 状态,也可能进入到 s4 状态,甚至是 s7 状态)。

更一般的方法是使用 State transition probability 来进行描述:

在这里插入图片描述

数学上使用 conditional probability 条件概率来描述上图的行为。

条件概率也比较简单,对于上图中的这两个条件概率公式:

在这里插入图片描述

其第一行式子含义表示 :如果现在我处于 s1,并且现在 take action a2 的话,那么下一个时刻跳到 s2 的概率就是 1。同理对于第二行表达式来说,其表示如果当前处于 s1, 采取行动 a2 的话,跳到 si (i不为2,也就是跳到其它状态)的概率为 0。

这就是用条件概率来描述 State transition 。

Policy

在这里插入图片描述

对于上图,我们使用的是 箭头 来抽象的表示了一下策略,但在实际当中我们肯定对于稍微复杂一点的情况是没办法使用箭头的,同样需要使用数学语言来描述这个行为。

在这里插入图片描述

仍然使用条件概率来进行描述,对上图来说,以第一行式子为例:针对在 s1 的情况下,它的策略 Π (在强化学习中,Π 用来统一表示策略)会采取 a1 行为的策略的概率值为 0。

和状态转移的情况差不多,策略也存在有不确定性的情况,但也可以使用条件概率的方式来进行描述:

在这里插入图片描述

表格的展示:

在这里插入图片描述

reward

在这里插入图片描述

在这里插入图片描述

表格展示上面的过程:

在这里插入图片描述

同理,对于不确定的状态(比如采取 a1 的 reward 值可能是不确定的),表格依然具有局限性。

因此同样需要使用更加一般化的数学表达的方式,也就是之前提到的条件概率。

在这里插入图片描述

注意:reward 取决于当前所选择的 state 和 action,和未来的状态没有关系

trajectory and return

trajectory 实际上是一个叫 state-action-reward 的这么一个链:

return 则是针对于一个 trajectory 而言的,一个 trajectory 的 return 就是沿着这个 trajectory 所得到的所有的 reward 加起来:

在这里插入图片描述

对于不同的 policy ,那么很容易想到对应的 trajectory 就是不一样的:

在这里插入图片描述

return 的作用是什么呢?

刚刚分析了两个 trajectory,那么究竟哪个 trajectory 比较好 或者说 哪个 policy 比较好呢?

return 的一个作用则是可以帮我们做出这样的判断:

在这里插入图片描述

discounted return

在这里插入图片描述

从上图不难看出,如果我们的 agent 走到了网格中的最右下角,也就是进入到了我们的 target-area,它如果在这个位置循环进入的话,那么 return 就会一直+1,这样加下去,最后的 return 一定是个无穷大的值,如果 return 沿着这个无穷长的 trajectory 增加,最后就会发散掉,为了解决这个问题,引入了 discounted rate(折扣率) 的概念:

在这里插入图片描述

通过 discounted rate 与 return 的结合,就得到了 discounted return 的概念。

有了这个 discounted return 的概念有什么作用呢?

一个是解决了刚刚的发散问题,从上图可以看到通过高等数学的知识是可以证明对于一个在区间 [0, 1) 当中的值 γ,其计算出来的 discounted return 值是收敛的,是一个有限的值。

另一个作用则是它能够去平衡这种更远未来我所得到的 reward 和更近未来我所能得到的 reward 。

什么意思?

就是当 γ 趋近于 0 的时候,因为γ的三次方后面的四次方、五次方等的次方数是非常高的,所以γ的三四五次方等会很快的衰减掉,这时候最后的 return 值就主要依赖于最开始所得到的 reward。

相反如果 γ 是趋近于 1 的话,那么未来的 reward 就衰减的慢,那么它积累起来的 reward 的值就会比较大一点。

因此,通过控制 γ,我们是能够控制 agent 所学习到的策略的。简单的说,如果减小 γ 的值,会让它变得更加的近视,也就是它会更加的注重最近的一些 reward,而如果 γ 比较大的话,则会让它更加的远视,会更加注重长远的这种 reward。

episode

在这里插入图片描述

其实就是相当于“回合”的意思,比如上图中的 agent 从开始走到了最终的位置结束了这一回合,那么就可以说是结束了一个 episode。

一个 episode 通常都是有限步的,这样的任务也被称为 episode tasks。

而有些任务是没有终止状态的,这意味着 agent 和环境会永远交互下去,这样的任务称为 continue tasks:

在这里插入图片描述

而 episodic 和 continue task 这二者实际上是可以互相转换的,无非就是修改一下策略而已,因此本课程不严格区分这两类任务,都当作 continue task 进行讲解。

马尔可夫决策过程(MDP)

上面将强化学习过程中的一些基本概念都讲了一遍,接下来将这些概念放到一个称为 MDP 的框架当中进行讲解,也就是使用更加正式的方式进行这些概念的讲解。

一个 MDP 具有很多要素,第一个就是包含很多集合:sets:

在这里插入图片描述

第二个 MDP 的要素则是 probability distribution(概率分布),比如 状态转移概率、回报概率:

在这里插入图片描述

第三个要素是 policy,比如我在状态 s,我有一个策略,这个策略会告诉我采取某一个 action a 的概率究竟是多少:

在这里插入图片描述

最后 MDP 还有一个比较独特的性质,称为 memoryless property(历史无关性):

在这里插入图片描述

以上图中的第一行表达式为例:一开始的状态是 s0,然后采取了一个 a1,然后慢慢走到状态 st 时所采取的动作是 a(t+1) ,那么这个时候跳到下一个状态 s(t+1) 的概率等于什么呢?它等于完全不考虑之前的状态历史,比如 s0,反正只知道现在是在状态 st,然后采取动作 a(t+1) 之后跳到状态 s(t+1),因此这行表达式的左边概率值完全等于右边的概率值:

在这里插入图片描述

同理,对于所获得的 reward 值也是历史无关的,因此下面这一行表达式的左边概率值也等于右边概率值:

在这里插入图片描述

上述这个框架合起来就是 马尔可夫决策过程 框架。

Markov decision process:

Markov:指的就是 Markov 的历史无关性 memoryless property。
decision:指的就是对应的 policy,也就是决定策略。
process:process指的就是从一个状态转移到另一个状态的这种链式的过程,而这个就靠的是前面所提到的各种概念,比如 集合 set、概率分布 probability distribution 等内容来描述。

因此这三个关键词实际上就很好的描述了 MDP 这个框架。

总结

之前说的网格世界的例子,就可以抽象成一个 马尔可夫决策过程:

在这里插入图片描述

小结一下本节课的内容:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1881713.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【初阶数据结构】深入解析队列:探索底层逻辑

🔥引言 本篇将深入解析队列:探索底层逻辑,理解底层是如何实现并了解该接口实现的优缺点,以便于我们在编写程序灵活地使用该数据结构。 🌈个人主页:是店小二呀 🌈C语言笔记专栏:C语言笔记 &#…

四.iOS核心动画 - 图层的视觉效果

引言 在前几篇博客中我们讨论了图层的frame,bounds,position以及让图层加载图片。但是图层事实上不仅可以显示图片,或者规则的矩形块,它还有一系列内建的特性来创建美丽优雅的页面元素。在这篇博客中我们就来探索一下CALayer的视觉效果。 视觉效果 图…

喜讯!安全狗荣获“2023年网络安全技术支撑优秀单位”称号

6月6日,由中共厦门市委网络安全和信息化委员会办公室(以下简称“厦门市委网信办”)主办的2023年网络安全技术支撑优秀单位颁奖仪式在厦门成功举行。 作为国内云原生安全领导厂商,安全狗受邀出席此次活动。 会上,安全狗…

DEBOPIE框架:打造最好的ChatGPT交易机器人

本文介绍了如何利用 DEBOPIE 框架并基于 ChatGPT 创建高效交易机器人,并强调了在使用 AI 辅助交易时需要注意的限制以及操作步骤。原文: Build the Best ChatGPT Trading Bots with my “DEBOPIE” Framework 如今有大量文章介绍如何通过 ChatGPT 帮助决定如何以及在…

做工作室项目重要还是运营重要

做工作室项目重要还是运营重要,先说答案,项目好是基础,然后才能谈运营! 90%的工作室活不过一年,这句话是有数据支撑的,因为就工商注册的公司而言,一年内倒闭的就是这么个数据,所以工…

在AvaotaA1全志T527开发板上烧录AvaotaOS固件

烧写到 TF 卡上 材料准备 首先需要准备的材料有: SD-Card Formatter:balenaEtcherAvaota Pi - A1开发板 x1TF-Card ( 不小于4Gb ) x112V-DC电源适配器 x1TF读卡器 x1USBTTL Splitter x1(可选)HDMI 采集卡 x1 (可选)…

input调用手机摄像头实现拍照功能vue

项目需要一个拍照功能&#xff0c;实现功能如下图所示:若使用浏览器则可以直接上传图片&#xff0c;若使用手机则调用手机摄像头拍照。 1.代码结构 <!--input标签--> <input ref"photoRef"type"file"accept"image/*"capture"envir…

DM表级触发器

可以理解为行变动级 触发体中写逻辑 这是表修改时调用存储过程 感谢大哥分享: https://blog.csdn.net/WuLex/article/details/83181449 感谢大哥分享: https://blog.csdn.net/ChennyWJS/article/details/131913198

前置章节-熟悉Python、Numpy、SciPy和matplotlib

目录 一、编程环境-使用jupyter notebook 1.下载homebrew包管理工具 2.安装Python环境 3.安装jupyter 4.下载Anaconda使用conda 5.使用conda设置虚拟环境 二、学习Python基础 1.快排的Python实现 (1)列表推导-一种创建列表的简洁方式 (2)列表相加 2.基本数据类型及运…

数学建模比赛介绍与写作建议

0 小序 本文的写作起因是导师要求我给打算参加相关竞赛的师弟们做一次讲座和汇报。我梳理了一个ppt提纲&#xff0c;并经过整理&#xff0c;因此有了这篇文章。 我打算从数学建模论文写作格式和写作技巧入手&#xff0c;接着介绍数学建模常用的数学模型&#xff0c;最后提出一…

MSPM0G3507——串口

配置&#xff1a; 主函数: #include "ti_msp_dl_config.h"volatile uint8_t gEchoData 0; int main(void) {SYSCFG_DL_init();NVIC_ClearPendingIRQ(UART_0_INST_INT_IRQN); //先清除中断&#xff0c;防止直接进中断NVIC_EnableIRQ(…

【前端】从零开始学习编写HTML

目录 一、什么是前端 二、什么是HTML 三、HTML文件的基本结构 四、HTML常见标签 4.1 注释标签 4.2 标题标签 4.3 段落标签 4.4 换行标签 4.5 格式化标签 4.6 图片标签 4.7 超链接标签 4.8 表格标签 4.9 列表标签 4.10 表单标签 &#xff08;1&#xff09;form标…

ThreeJS-3D教学十二:ShaderMaterial

一、首先 Shader 是做什么的 Shader 可以自定义每个顶点、每个片元/像素如何显示&#xff0c;而控制顶点和片元显示是通过设置 vertexShader 顶点着色器和 fragmentShader 片元着色器&#xff0c;这两个着色器用在 ShaderMaterial 和 RawShaderMaterial 材质上。 我们先看一个例…

SpringMVC系列八: 手动实现SpringMVC底层机制-第二阶段

实现任务阶段三 &#x1f34d;从web.xml动态获取zzwspringmvc.xml 说明: 前面我们加载zzwspringmvc.xml是硬编码, 现在做活. 从web.xml动态获取 示意图[分析说明] 1.ZzwDispatcherServlet在创建并初始化ZzwWebApplicationContext时, 动态地从web.xml中获取到spring配置文…

Linux中定位JVM问题常用命令

查询Java进程ID #ps axu | grep java #ps elf | grep java查看机器负载及CPU信息 #top -p 1(进程ID) #top (查看所有进程)获取CPU飙升线程堆栈 1. top -c 找到CPU飙升进程ID&#xff1b; 2. top -Hbp 9702(替换成进程ID) 找到CPU飙升线程ID&#xff1b; 3. $ printf &quo…

Redis 必备的原理知识要点

1、为什么使用缓存&#xff1f; 1、数据库太慢-无法使用 2、高性能 3、高并发 4、热点高频数据 2、redis合适的场景&#xff1f; 1、数据类型 5种&#xff1b; 2、Bitmap&#xff1b; 3、HyperLogLog&#xff1b; 结合自身项目讲解redis的使用&#xff1a; 1、token&a…

考研数学|考到110到底有多难?

考研数学一要考到110分&#xff0c;确实不容易。数学一的难度在于它涉及的知识点多&#xff0c;包括高等数学、线性代数和概率论。这些内容不仅要求你理解深刻&#xff0c;还要能熟练运用。特别是高等数学&#xff0c;它在考试中的分值占比最高&#xff0c;也是最难的部分。 数…

SAMformer:通过锐度感知最小化和通道注意力解锁变换器在时间序列预测中的潜力

目录 摘要1. 引言当前方法的局限性变换器的可训练性我们贡献的总结 2. 提出的方法符号说明2.1 问题设置2.2 激励示例命题2.1&#xff08;最优解的存在性&#xff09; 2.3 变换器的损失景观现有的解决方案 2.4. SAMformer&#xff1a;集成所有方法 3. 实验3.1 主要收获 摘要 基…

目标检测算法的研究现状

一、引言 目标检测是计算机视觉领域中的一项重要任务&#xff0c;旨在从图像或视频中识别并定位出感兴趣的目标物体。随着深度学习技术的快速发展&#xff0c;目标检测算法取得了显著的进步&#xff0c;并在自动驾驶、智能安防、人脸识别等领域得到了广泛应用。本文将对目标检…

2024上海初中生古诗文大会倒计时4个月:单选题真题和独家解析

现在距离2024年初中生古诗文大会初选还有4个多月时间&#xff08;11月3日正式开赛&#xff09;&#xff0c;我们继续来看10道选择题真题和详细解析&#xff0c;以下题目截取自我独家制作的在线真题集&#xff0c;都是来自于历届真题&#xff0c;去重、合并后&#xff0c;每道题…