强化学习的数学原理:贝尔曼公式

大纲

这一节课程的大纲:

在这里插入图片描述

重点

对于这次课,重点是两个东西:

在这里插入图片描述

Motivating examples(为什么需要贝尔曼公式)

首先要明白,为什么 return 是重要的?

在这里插入图片描述

之前其实就说过,return 能够帮助我们评价一个策略是好还是坏,因此 return 的概念是非常重要的。

对于上图中的三种不同的策略,我们能够得到各个策略下所得到的 return 值:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

此时我们比较一下三个 return :

在这里插入图片描述

刚刚我们计算 return 使用的是 return 的本质定义,但实际上我们有更好的方法,来看下面的例子:

在这里插入图片描述

可以看见共有四个状态,然后每个状态 s 都有对应的策略(绿色箭头)和其对应的 return 值。

方法一就是使用我们刚刚的方式,也就是从定义出发,我们计算 return 的方式如下,引入 vi 用以表示 return 值:

在这里插入图片描述

而方法二就有意思多了:

在这里插入图片描述

从上式可以看出,从不同状态出发得到的 return,它是依赖于从其它状态出发所得到的 return 的,而这个 idea 在强化学习当中被称为 Bootsstrapping。

Bootsstrapping在不同的历史阶段有不同的含义,但现在的含义大概是表示 从自己出发然后去不断地迭代所得到的一些结果。
在这里插入图片描述
Bootstrapping使得强化学习算法能够在不完全依赖真实回报的情况下进行价值函数的更新,从而提高了算法的效率和灵活性。
然而,Bootstrapping也可能引入误差,因为价值函数的更新是基于之前的估计值,如果这些估计值本身就存在误差,那么误差可能会累积并影响算法的性能。

但此时有一个问题,我们要求解的就是 v,但居然还要事先知道 v?这怎么可能呢?

然而从数学的角度上看,是可以解决的。

在这里插入图片描述

注意:上图左侧中的关于 γv 这个矩阵的形式并不是顺序的v1、v2、v3、v4,因此我们需要使用一个矩阵(上图右侧的形式)来对其进行变换,变换后的结果就是顺序的了。

这个过程可以数学化为上图中的公式。

这个公式解也很容易解,只要具备一点线性代数的知识就能够求解,我们将 γPv 移动左边,然提出相同项 v,将(1-γP)求逆放到右边式子就可以进行求解了(γ、r 以及 P 我们都是已知的)。

而所得到的这个公式,就是我们本节课要提到的 贝尔曼公式:

在这里插入图片描述

但是这个贝尔曼公式是针对非常简单的、特别是 deterministic (确定性的过程)的一个情况,后面会介绍更加泛化的贝尔曼公式。

State value(什么是状态价值)

在介绍概念之前,需要先引入一些符号:

在这里插入图片描述

上图是一个简单的单步过程,St 表示当前状态,在当前状态下采取 At 的动作后得到的下一个 reward 就是 R(t+1),然后状态也跳转到了 S(t+1) 。

值得注意的是,有时候 R(t+1) 也会写成 Rt,从数学上来说没有什么本质区别,只是一个习惯问题,一般都是 R(t+1)。

另外在这个转换过程当中,所有的这些跳跃,它们都是由条件概率来决定的:

在这里插入图片描述

对于这样的单步过程如果连续起来,就成了多步的过程,也就形成了之前所说的 trajectory 的概念:

在这里插入图片描述

对于上图这样的 trajectory,我们当然可以对其求 discounted return,使用 G(t) 来表示。

有了这些准备,那么我们现在可以正式开始定义 State value 了:

在这里插入图片描述

State value 就是 G(t) 的 expectation 期望值,或者也可以叫 expected value 或者叫 mean,或者叫 average ,它们实际上都代表同一个意思,就是平均值。

,“期望”(expectation)通常指的是数学上的期望值,即随机变量的平均值或者是在概率分布下的加权平均
期望一直是定量,它与总体的均值相等。但是均值可以是变量,因为取不同样本的时候均值可以不同。

实际上 State value 的全程是 State value function,我们使用 VΠ(s) 来代替 state value,其数学定义就是对 Gt 求 expectation 。但注意这是一个 条件期望,也就是当前的状态应该取一个具体的值 s。

return 和 state value 的联系

那么 return 和 state value 有什么区别和联系呢?

其实非常简单,return 是针对单个 trajectory 所求的,而 state value 则是对多个 trajectory 所求得的 return 和后再求平均值之后的结果。

如果从一个状态出发有可能得到多个 trajectory,这时候 return 和 state value 显然是有区别的;但是如果从一个状态出发一切都是确定性的,那么只能够得到一条 trajectory,那这时候从该状态出发所得到的 return 和 state value 就是一样的。

Bellman equation(贝尔曼公式)

贝尔曼公式推导

在这里插入图片描述

刚刚我们已经知道了 state value 是非常重要的,但是怎么计算 state value 呢?

贝尔曼公式就是用来计算 state value 的,其用一句话来阐述就是:它描述了不同状态的 state value 之间的关系。

接下来我们来推到 贝尔曼公式:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

dynamic model 也称为 environment model,这又分为两种情况,一种是我们知道这个 model 进行求解(在本节以及下面几节课都是基于已知 model 的),还有一种是不知道 model,即使不知道 model 我们仍可以求出来 state value,这又被称为 model-free 的强化学习算法(这将在未来的课程当中介绍)。

接下来举一个例子来深入理解一下这个 贝尔曼公式:

我们考虑这样一个例子,在下图中我们由一个策略 Π(绿色箭头),我们要做的就是把这个问题当中所有的贝尔曼公式全部写出来:

在这里插入图片描述

说白了就是确定对于 s1 这个状态来说,其贝尔曼公式中各个概率项需要分析并且确定出来。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

当我们计算出来 state value 之后,下一步实际上就可以去改进这个策略,这样慢慢地我们就可以得到最优的策略。

另一个例子:

在这里插入图片描述

在这里插入图片描述

贝尔曼公式:矩阵向量形式

在这里插入图片描述

之前说过,对于 n 个 state 那么就会有 n 个这样的贝尔曼公式。那么把所有的这些公式放在一起就能得到一组,这一组就可以整理成矩阵向量的形式,进而完成 贝尔曼公式 中对 state value 的求解。

如何得到这些公式的 矩阵向量形式:

在这里插入图片描述

在这里插入图片描述

举个例子来看一下,当有 4 个状态时所得到的 矩阵向量 形式如何:

在这里插入图片描述

另一个例子:

在这里插入图片描述

贝尔曼公式:求解 state values

首先回答一个问题,为什么需要求解 state value?

实际上给定一个 policy,然后我们会列出其贝尔曼公式,再进一步求解这个贝尔曼公式得到 state value。这么一个过程称为:policy evaluation。

在这里插入图片描述

policy evaluation 是 RL 中非常关键的一个问题,是非常基础的一个工具,只有能够去评价一个策略是好还是不好我们才能够去改进它最后才能找到最优策略。

因此求解贝尔曼公式进而得到 state value 是非常重要的问题。

在这里插入图片描述

上图中的第一行表达式就是我们刚刚推出的贝尔曼公式的 矩阵向量形式,求解有两种方式,一种是求解析解,如上图第二行表达式所示(通过第一行表达式,我们很容易能够推导出第二行表达式),但是这样做是复杂的,因为有一个求逆的过程,在状态空间非常大的时候,这种计算是困难且复杂的。

因此我们一般使用 迭代 的方式来完成求解,即上图中第三行表达式(左边是V(k+1),右边是 Vk )。假如带入 V0,那么自然就能得到 V1,然后带入 V1,则又能得到 V2,这样迭代下去就能得到一个序列,可以从数学上证明,当 K 趋向于无穷大的时候,Vk 就收敛到了 VΠ,而这个 VΠ 就是真实的 state value。

在这里插入图片描述

来看个例子,先看两种比较好的策略得到的 state values:

在这里插入图片描述

从上图的两种不同策略可以看出,对于不同的策略是能够得到相同的 state value 值的。

再来看两种不好的策略所导致的结果:

在这里插入图片描述

通过这些例子,我们明白了可以通过计算 state value 来评价一个策略究竟是好还是不好。

Action value(什么是行为价值)

在学习了 state value 之后学习 action value 就会容易一些,下面是二者之间的区别与联系:

在这里插入图片描述

action value 的定义:

在这里插入图片描述

action value 依赖于从哪个状态出发、以及是哪一个 action 来出发,另外它也依赖于策略 Π。

在这里插入图片描述

一个例子:

在这里插入图片描述

在这里插入图片描述

因此 action value 是非常重要的,因为在未来会关注在某一个状态其不同的 action,比较这些不同的 action,我们会选一个 action value 值最大的那个。

action value 如何计算?

第一种方法是知道了 state value,比如求解了一个 贝尔曼公式,然后从 state value 中计算出来 action value;

第二种方式是不计算 state value 而直接计算 action value,比如说通过数据的方式,此时就不再依赖于这个模型了(在未来都会介绍):

在这里插入图片描述

Summary(总结)

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阿里云:云通信号码认证服务,node.js+uniapp(vue),完整代码

api文档&#xff1a;云通信号码认证服务_云产品主页-阿里云OpenAPI开发者门户 (aliyun.com) reg.vue <template> <div> <input class"sl-input" v-model"phone" type"number" maxlength"11" placeholder"手机号…

几度互联网站群管理系统全媒体解决方案

随着高考的结束&#xff0c;各高校开启了紧张的招生宣传工作&#xff0c;几度互联网站群系统助力各高校招生宣传。 学校官方网站是互联网时代学校对外交流的重要途径和信息公开的主要载体&#xff0c;是展示学校形象、密切联系师生的重要窗口&#xff0c;是加强校园宣传思想工…

2024 年的 13 个 AI 趋势

2024 年的 13 个 AI 趋势 人工智能对环境的影响和平人工智能人工智能支持的问题解决和决策针对人工智能公司的诉讼2024 年美国总统大选与人工智能威胁人工智能、网络犯罪和社会工程威胁人工智能治疗孤独与对人工智能的情感依赖人工智能影响者中国争夺人工智能霸主地位人工智能…

LVGL实现字库的下载和使用

1 字库 字库的概念&#xff1a;相应文字或字符的合集。 点阵字库&#xff1a;按字库顺序排列的字符/汉字字模的合集。 LVGL中字库使用Unicode编码&#xff0c;Unicode 是全球文字统一编码。它把世界上的各种文字的每一个字符指定唯一编码&#xff0c;实现跨语种、跨平台的应…

分体式天线的应用介绍

分体式天线的主要应用广泛且多样化&#xff0c;以下是对其主要应用的归纳&#xff1a; 1、仓储管理 在RFID仓储项目中&#xff0c;使用性能好的RFID分体式天线可以确保系统的稳定性&#xff0c;更能够降低整个项目的成本。 分体式天线通过其多个天线接口与分体式读写器连接&…

K-Planes代码记录

随记 原文 K-Planes: Explicit Radiance Fields in Space, Time, and Appearance&#xff0c;又要换baseline&#xff0c;可是效果不好能怎么办呢&#xff0c;我可不可以发疯。k-planes的代码又是非常工程琐碎的&#xff0c;大佬的代码果然不顾小白死活。随便记录下整个过程。…

哪个牌子的超声波清洗器好?精选四大超强超声波清洗机力荐

生活中戴眼镜的人群不在少数&#xff0c;然而要维持眼镜的干净却不得不每次都需要清洗&#xff0c;只是通过手洗的方式实在太慢并且容易操作不当让镜片磨损更加严重&#xff01;所以超声波清洗机就诞生了&#xff01;超声波清洗机能够轻松清洗机眼镜上面的油脂污渍&#xff0c;…

Spire.PDF for .NET【文档操作】演示:在 PDF 中创建目录 (TOC)

目录在增强文档的可读性和可导航性方面起着至关重要的作用。它为读者提供了文档结构的清晰概述&#xff0c;使他们能够快速找到并访问他们感兴趣的特定部分或信息。这对于较长的文档&#xff08;例如报告、书籍或学术论文&#xff09;尤其有价值&#xff0c;因为读者可能需要多…

国产压缩包工具——JlmPackCore SDK说明(二)——JlmPack_Create函数说明

一、JlmPack_Create函数说明 JlmPack_Create函数是创建jlm压缩文件的核心函数&#xff0c;最大允许CATALOG_MAX_LIMIT&#xff08;请参考Config.h&#xff09;个目录&#xff0c;意思是包括文件夹和文件在内&#xff0c;遍历整个列表最大允许CATALOG_MAX_LIMIT个目录对象&#…

【Unity小技巧】Unity字典序列化

字典序列化 在 Unity 中&#xff0c;标准的 C# 字典&#xff08;Dictionary<TKey, TValue>&#xff09;是不能直接序列化的&#xff0c;因为 Unity 的序列化系统不支持非 Unity 序列化的集合类型。可以通过手写字典实现 效果&#xff1a; 实现步骤&#xff1a; 继承ISe…

2024年制冷与空调设备运行操作证模拟考试题库及制冷与空调设备运行操作理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年制冷与空调设备运行操作证模拟考试题库及制冷与空调设备运行操作理论考试试题是由安全生产模拟考试一点通提供&#xff0c;制冷与空调设备运行操作证模拟考试题库是根据制冷与空调设备运行操作最新版教材&#…

振弦采集仪的工程安全监测实践与案例分析

振弦采集仪的工程安全监测实践与案例分析 振弦采集仪是一种常用的工程安全监测仪器&#xff0c;通过测量被监测结构的振动频率与振型&#xff0c;可以实时监测结构的安全状况。本文将结合实践经验和案例分析&#xff0c;探讨振弦采集仪在工程安全监测中的应用。 一&#xff0c…

奔驰G350升级原厂自适应悬挂系统有哪些作用

奔驰 G350 升级自适应悬挂系统后&#xff0c;可根据行车路况自动调整悬架高度和弹性&#xff0c;从而提升驾乘的舒适性和稳定性。 这套系统的具体功能包括&#xff1a; • 多种模式选择&#xff1a;一般有舒适、弯道、运动及越野等模式。例如&#xff0c;弯道模式在过弯时能为…

elk对于集群实例的日志的整合-基于logstash采集日志

说明&#xff1a;基于logstash采集日志 环境&#xff1a; 物理机192.168.31.151 一.启动2个测试实例&#xff0c;每5-10s随机生成一条订单日志 实例一 包位置&#xff1a;/home/logtest/one/log-test-0.0.1-SNAPSHOT.jar 日志位置:/docker/elastic/logstash_ingest_data/l…

塑造卓越企业家IP:多维度视角下的策略解析

在构建和塑造企业家IP的过程中&#xff0c;我们需要从多个维度进行考量&#xff0c;以确保个人品牌能够全面、立体地展现企业家的独特魅力和价值。以下是从不同角度探讨如何做好一个企业家IP的策略。 一、从个人特质出发 深入了解自我&#xff1a;企业家需要清晰地认识到自己的…

树立行业标杆,林清轩获“以油养肤开创者”市场地位认证

从0到1的创造&#xff0c;才能快速实现从1到100的裂变&#xff0c;这是亘古不变的商业逻辑。 6月25日&#xff0c;知名美妆国货品牌林清轩&#xff0c;获得了CIC灼识的市场地位确认书&#xff0c;确定“以油养肤开创者” 的地位。 近两年&#xff0c;以油养肤的概念逐渐兴起&am…

vivado VIO IP核

参考&#xff1a;pg159 VIO&#xff1a;可以模拟输入/输出功能&#xff0c;实时监视和修改FPGA中的信号&#xff0c;用于调试和验证&#xff0c;与ILA相比&#xff0c;VIO无需占用RAM资源。 VIO IP的输出对于FPGA内部逻辑是输入信号&#xff0c;可以在调试界面设置输入值&…

免费管饱不折腾,无公网NAS访问攻略,国产品牌异地自动组网技巧

前言 说起远程桌面、异地组网、内网穿透等等服务&#xff0c;大家脑海中第一反应是哪款产品&#xff0c;确实&#xff0c;现在市面上同类产品不少&#xff0c;但同时支持组网跟穿透的产品几乎没有。节点小宝作为一款创新型的远程管理工具&#xff0c;凭借其使用简单&#xff0…

欧盟《净零工业法案》通过,全球清洁能源市场迎来新格局

2024年5月27日&#xff0c;欧盟理事会正式通过《净零工业法案》&#xff0c;这意味着欧盟在推动工业绿色转型方面迈出了具有决定性的一步。这一法案的通过&#xff0c;不仅对欧盟的净零排放目标具有深远影响&#xff0c;也将对全球清洁能源市场产生重大影响。 《净零工业法案》…