西湖大学赵世钰老师【强化学习的数学原理】学习笔记2节

强化学习的数学原理是由西湖大学赵世钰老师带来的关于RL理论方面的详细课程,本课程深入浅出地介绍了RL的基础原理,前置技能只需要基础的编程能力、概率论以及一部分的高等数学,你听完之后会在大脑里面清晰的勾勒出RL公式推导链条中的每一个部分。赵老师明确知道RL创新研究的理论门槛在哪,也知道视频前的你我距离这个门槛还有多远。

本笔记将会用于记录我学习中的理解,会结合赵老师的视频截图,以及PDF文档Book-Mathematical-Foundation-of-Reinforcement-Learning进行笔记注释,之后也会补充课程相关的代码样例,帮助大家理解

笔记合集链接(排版更好哦🧐):《RL的数学原理》

记得点赞哟(๑ゝω╹๑)

  • State-Value除了表示状态的价值大小以外,也是判断这个状态好坏的标准

Q:return和state-value的关系是什么?

A:return是对单个trajectory求得,而state-value是对多个trajectory求return再平均,当我们从一个state出发,能够产生多个trajectory时,两者就出现了差别。

3. Bellman euation:Derivation

贝尔曼公式描述了不同的state-value之间的关系

首先,我们现将Gt同之前的V一样分解两个部分,本阶段的即时奖励Rt+1,与γ相乘的下一个阶段以后的Gt+1,随后把期望拆分为两个式子,我们将分别讨论该如何计算。

3.1. 第一项

首先补充一个知识点:条件期望与全期望公式

我们对第一个式子继续进行拆分:

  • 由于在当前states可以有多个不同的action达成后一个RewardRt+1(即均为离散型随机变量),因此可以拆出状态s条件下所有动作a的策略概率与对应条件期望(值)的乘积之和。
  • 而对于同样的状态s和动作a,所产生的奖励r同样会有所不同(即也均为离散型随机变量),因此又可以拆分出在态s和动作a的条件下的所有奖励r的概率与对应期望(只剩下r了)的乘积之和

第一项得到了immediate reward的一个mean(expectation),即立即奖励的期望

3.2. 第二项

  • 从当前s出发,我们将下一个可能到达的状态称为s’,由于依然离散,我们再一次拆分出s转移到s’的概率和对应条件下的期望
  • 又根据马尔科夫性质,我们发现St=s这一条件信息是没有价值的,将其省略
  • 此时的期望恰好就是s'状态下的state_value
  • 最后我们再根据所采取的不同动作,再进行一次分解

第二项得到了future rewards的一个期望

3.3. 合并以及进一步推导

贝尔曼公式链接了状态之间的state-value

其包含了即时奖励与未来奖励

对状态空间中所有的状态都成了,即有n个状态,就会有n个式子,从而能够解方程获得state_value

现在,方程中的未知数是各个Vπ(S),为了求解他们,我们需要明确其余参数的值

  • π(a|s)就是一个给定的策略
  • p(r|s,a)``p(s'|s,a)则是在环境中所给出的信息,但是无论知道与否,我们都有求解state_value的方法(未知的时候,称为model-free reinforcement learning算法)
3.3.1. Policy1

3.3.2. Policy2


最后发现Vπ(s4)``Vπ(s3)``Vπ(s2)都同样为10,但Vπ(s1)为8.5<9,因此策略一更好

4. Bellman equation:Matrix-vector form

为了求解贝尔曼方程,我们需要用所有状态的等式,组成方程组,于是加入了线性代数的逻辑形式,引入矩阵向量形式

虽然前面好不容易才拆开,接着就又要合上啦🙃

  • 首先我们将括号中前一项取出,相乘化简,其实际意义是计算从状态s出发,按照策略π的概率选择动作a,所带来的即时奖励reward的平均
  • 随后是另一项,它的实际意义是将在状态s,通过动作a,到达状态s'的概率×在状态s,按照策略选择动作a的概率,获得了从状态s到状态s'的总概率
  • 然后我们就会获得一个相对简单一些的式子

Vπ=rπ+γPπVπ


4.1. 两个policy的例子

5. Bellman euation:Solve the state values

Q:为什么要求解贝尔曼公式?

A:求解贝尔曼公式,进而获得state-value才能够实现policy-evaluation

我们将先前的等式进行一次变化,对I-γPπ 取逆

关于I-γPπ 的证明见下(本蒟蒻没有看懂)

但是在实际当中,当状态空间比较大是,求逆矩阵的运算量过大,因此更加常用的方式是迭代(iteration)

通过对有限数量的公式反复迭代后,我们可以发现Vk最终将近似于Vπ

通过极限推导可以证明δ->0


5.1. 两个好策略的例子

体现出的特征有:

  • 所有state values均为正数
  • 靠近target-area的state value会越大,反之则会越小
  • 不同的policy能够产生相同的state value

5.2. 两个坏策略的例子

体现出的特征有:

  • 所有state values均为负数

state value可以用来判断policy的好坏

6. ✨Action value

  • state value指agent从一个状态出发,所得到的average return
  • action value指agent从一个状态出发,并且选择了一个action之后,所得到的average return

根据action value更高的action来获得更高的reward


我们使用qπ(s,a)来表示Action value

  • qπ(s,a)是(s,a)的函数(由s和a共同决定)
  • qπ(s,a)同样依赖于策略π,因为不同的策略导致的action的期望并不相通

6.1. Example

  1. Action value直接决定了我们选择哪一种action
  2. 可以通过state value以贝尔曼公式推出action value,或是通过数据直接计算(不依赖模型)

7. Summary

  1. 本节主要讲述了State value与Action value
  2. 贝尔曼公式描述了State value之间的关系,并提供了一种求解的工具,另外右联立起了State value与Action value
  3. 我们还介绍了贝尔曼公式的矩阵形式
  4. 两种求解贝尔曼公式的方法:closed-form solution(矩阵求解法),iterative solution(迭代法)

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

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

相关文章

github two-factor authentication是个啥?

最近在逛github时&#xff0c;总是时不时会弹出一下界面&#xff0c;很烦 看到红框里的文字&#xff0c;这明显是强制要求做这个认证&#xff0c;如果不认证4天后账号将不可访问&#xff0c;所以今天花点时间看看怎么做这个认证&#xff0c;点“Enable 2FA now”进入这个界面&a…

Vue后台系统demo小计

创建项目 1.报错 Error: command failed: npm install --loglevel error --legacy-peer-deps 措施1&#xff1a;node.js文件夹属性 》高级 》选择第一个允许 Users(XXX\Users) &#xff08;对我无用&#xff09; 措施2&#xff1a;PowerShell(以管理员身份运行) 》 cd 想存…

java基础之java容器-Collection,Map

java容器 java容器分类一. Collection1. List①. ArrayList② . LinkedList③ . Vector 2. Queue队列①. LinkedList②. PriorityQueue 3. Set集合①. HashSet②. TreeSet 二. Map1. HashMap2.TreeMap3. Hashtable java容器分类 java容器分为两大类&#xff0c;分别是Collecti…

VMWare下建的CentOS7 扩容

记录一下扩容过程中踩过的坑 背景&#xff1a;一年半以前私有化部署了一个gitLab服务&#xff0c;当时只分配了30G的磁盘容量&#xff0c;这两天小伙伴总是反馈gitLab登不上。排查发现是因为磁盘满了 然后就开始了磁盘扩容之旅 各种 vgs\pv\pvdisplay\lv\lvm 等等都没用 一下…

ChatGPT记忆功能终于上线了, OpenAI 官方:用得越久越聪明!

原文 ChatGPT记忆功能终于上线了, OpenAI 官方&#xff1a;用得越久越聪明&#xff01; Aitrainee | 公众号&#xff1a;AI进修生 &#x1f31f; 记得今年2月份OpenAI发布过ChatGPT上线记忆功能的消息&#xff0c;我记得当时还弹出过这个窗口给我&#xff0c;但是仅仅体验了几…

【书生浦语第二期实战营学习笔记作业(六)】

课程文档&#xff1a;https://github.com/InternLM/Tutorial/tree/camp2/agent 课程作业&#xff1a;https://github.com/InternLM/Tutorial/blob/camp2/agent/homework.md Lagent & AgentLego 智能体应用搭建 1、Agent 理论1.1 为什么要有智能体1.2 什么是智能体1.3 智能体…

【兼职宝典】七大靠谱手机兼职副业平台,让你乐在其中,轻松实现财务自由!

数字化时代已经到来&#xff0c;互联网的普及与技术的飞速发展让越来越多的人开始关注兼职工作&#xff0c;以此增加收入、锻炼能力或追求兴趣爱好。本文将为您详细解读几种热门的兼职方式&#xff0c;助您找到最适合自己的兼职岗位。 一&#xff0c;自媒体运营&#xff1a;创…

Java 循环语句

文章目录 Java 循环语句一&#xff0c;for 循环1. for 循环结构2. for 循环案例: 输出5行HelloWord3. for 循环案例: 写出输出的结果 (格式多样性)4. for 循环案例: 遍历100以内的偶数。并获取偶数的个数&#xff0c;获取所有的偶数的和5. for 循环案例: 输出所有的水仙花数6. …

Jmeter中http请求时加HTTP Cookie管理器,cookie不生效问题

只是想加个cookie&#xff0c;就新建了cookie管理器&#xff0c;用的都是默认的&#xff0c;然后跑到怀疑自己的jmeter是不是出问题了。 还好没卸载重装。只是把策略改成netscape就好了。

【代码随想录刷题记录】LeetCode844比较含退格的字符

题目地址 1. 思路 1.1 基本思路 拿到这个题&#xff0c;我们要单独写一个函数去将退格后的字符串结果返回出来&#xff08;生成退格后的真实的字符串&#xff09;&#xff0c;我还是想魔改 O ( n ) O(n) O(n)时间复杂度的删除数组元素的算法&#xff1a;【代码随想录刷题记录…

GoLand 2021.1.3 下载与安装

当前环境&#xff1a;Windows 8.1 x64 1 浏览器打开网站 https://www.jetbrains.com/go/download/other.html 找到 2021.1.3 版本。 2 解压 goland-2021.1.3.win.zip 到 goland-2021.1.3.win。 3 打开 bin 目录下的 goland64.exe&#xff0c;选择 Evaluate for free -- Evalu…

RunnerGo四月更新:强化UI自动化测试与UI录制插件功能

RunnerGo最近更新的 UI自动化测试和UI录制插件可以让测试人员更高效地布置UI自动化场景。这次优化升级的插件录制能力&#xff0c;可以更准确的定位元素并执行步骤&#xff0c;并增加了局部截图功能&#xff0c;准确查看定位的元素位置等。 UI插件V2.0介绍 接下来&#xff0c;让…

vue2左侧菜单栏收缩展开功能

目录 1. Main.vue页面代码 a. 修改侧边栏属性 b. 修改头部导航栏 c. 定义我们的变量 d. collapse函数 2. Header.vue页面代码 3. Aside.vue页面代码 vue2左侧菜单栏收缩展开目前是非常常见的&#xff0c;我们在日常开发过程中经常会碰到。这一小节我们就详细了解一下这个…

java多功能手机

随着科技的发展&#xff0c;手机的使用已经普及到每个家庭甚至个人&#xff0c;手机的属性越来越强大&#xff0c;功能也越来越多&#xff0c;因此人们在生活中越来越依赖于手机。 任务要求&#xff0c;使用所学知识编写一个手机属性及功能分析程序设计&#xff0c;测试各个手机…

3步教你成为微信客户管理高手,助你事半功倍!

在如今的商业世界中&#xff0c;与客户建立良好的关系并提供个性化的服务已成为企业成功的关键。今天就 分享三个简单的步骤&#xff0c;让大家成为微信客户管理的高手&#xff0c;事半功倍&#xff01; 第一步&#xff1a;客户分类与精细化服务 为了更好地管理客户&#xff…

--菱形继承--

#include<iostream> using namespace std;class Animal { public:Animal(){m_Age 0;}int m_Age; };//利用虚继承 解决菱形继承的问题 //继承之前 加上关键字 virtual 变为虚继承 // Animal类称为 虚基类 //羊类 class Sheep:virtual public Animal { public:};//驼类 cl…

力扣数据库题库学习(4.28日)--1581.进店却未进行过交易的顾客

1581. 进店却未进行过交易的顾客 问题链接 思路分析 有一些顾客可能光顾了购物中心但没有进行交易。请你编写一个解决方案&#xff0c;来查找这些顾客的 ID &#xff0c;以及他们只光顾不交易的次数。返回以 任何顺序 排序的结果表。 要求&#xff1a; 获取只浏览不消费的…

idea 的使用和安装 以及简介

Java开发工具 大家刚才写代码的时候都是用记事本写的&#xff0c;但是有没有觉得记事本写代码不太方便啊&#xff01;记事本写代码单词写错了没有提示&#xff0c;格式也不好调整&#xff0c;写代码之后还需要我们到命令行使用javac命令手动编译&#xff0c;然后运行。 有没有一…

春秋云镜 CVE-2023-50564

靶标介绍&#xff1a; Pluck-CMS v4.7.18 中的 /inc/modules_install.php 组件&#xff0c;攻击者可以通过上传一个精心制作的 ZIP 文件来执行任意代码。 开启靶场&#xff1a; 1、点击 admin 进入登录界面 2、使用Burp爆破出登录密码为&#xff1a;admin123&#xff0c;使用…

BIM为电力、供水和道路工程无缝集成,助力智慧城市计划

在道路和公用事业工程中利用 Bentley Open 系列应用程序&#xff0c;项目进度加快 10%&#xff0c;节省成本 1,000 万印度卢比 推动基础设施现代化&#xff0c;实现智慧城市愿景 Dholera特别投资区位于印度艾哈迈达巴德西南 100 公里处&#xff0c;毗邻古吉拉特邦的贸易中心&a…
最新文章