强化学习中广义策略迭代

news2024/11/23 9:09:45

一、广义策略迭代

        策略迭代包括两个同时进行的交互过程,一个使价值函数与当前策略保持一致(策略评估),另一个使策略在当前价值函数下变得贪婪(策略改进)。在策略迭代中,这两个过程交替进行,每个过程在上一个过程完成之前开始,但这并不是必需的。例如,在价值迭代中,仅在每次策略改进之间执行一次策略评估的迭代。在异步DP方法中,评估和改进过程以更精细的粒度交错。在某些情况下,单个状态在一个过程中更新后才会返回另一个过程。只要两个过程都继续更新所有状态,最终结果通常是相同的-收敛到最优价值函数和最优策略。

        我们使用术语广义策略迭代(GPI)来指让策略评估和策略改进过程相互影响的一般思想,而不考虑这两个过程的粒度和其他细节。几乎所有的强化学习方法都可以很好地描述为GPI。即,所有方法都具有可识别的策略和价值函数,策略总是相对于价值函数进行改进,价值函数总是被驱动到该策略的价值函数。图1显示了GPI的整体架构。图1展示了广义策略迭代价值和策略函数相互作用,直到它们达到最优,从而彼此一致。

图1

        很容易看出,如果评估过程和改进过程都稳定下来,即不再产生变化,那么价值函数和策略必定是最佳的。只有当价值函数与当前策略一致时,价值函数才会稳定下来,而只有当策略对当前价值函数贪婪时,策略才会稳定下来。因此,只有当已经找到一个策略,该策略对其自身的评估函数表现出贪婪时,这两个过程才会稳定下来。这意味着贝尔曼最优性方程成立,因此策略和价值函数都是最优的。

        通用策略迭代中的评估和改进过程可以被视为既相互竞争又相互合作。从某种意义上说,它们相互竞争,因为它们朝着相反的方向拉动。使策略对价值函数表现出贪婪,通常会使价值函数对已改变的策略不正确,而使价值函数与策略一致,通常会导致该策略不再贪婪。然而,从长远来看,这两个过程相互作用,找到一个单一的联合解决方案:最优价值函数和最优策略。

二、典型示例

        可以将通用策略迭代中评估和改进过程之间的相互作用视为两个约束或目标——例如,作为二维空间中的两条线,如图2。

图2

        尽管真实的几何比这要复杂得多,但该图表明了真实情况下会发生什么。每个过程都驱动价值函数或策略朝向代表两个目标之一的直线的其中一条。这两个目标相互作用,因为两条线不是正交的。直接朝向一个目标会导致远离另一个目标的移动。然而,不可避免的是,联合过程会更加接近整体最优目标。该图中箭头对应于策略迭代的行为,每个箭头都将系统完全实现两个目标之一。在通用策略迭代中,人们也可以向每个目标迈出更小的、不完整的步骤。无论哪种情况,这两个过程共同实现了整体最优的目标,尽管任何一个过程都不是直接尝试实现该目标。

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

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

相关文章

在Word中优雅的给公式编号,且自动更新

本文适用情景: 使用Word插入公式;需要给公式增加编号;且在正文中引用,支持自动更新序号。 Word自带公式编号 1 Word自带公式编辑器1.1 问题1.2 原因完美解决 2 MathType公式编辑器end: 后记: 1 Word自带公式编辑器 或…

投资自己,成就未来——人大女王金融硕士助力您成为金融领域的佼佼者

在这个日新月异的时代,金融行业的发展日益繁荣,对于金融人才的需求也越来越大。为了应对这一挑战,越来越多的人选择投身金融领域,提升自己的专业素养。而中国人民大学女王金融硕士项目,正是为了满足这一需求而设立的&a…

接口测试系列之——接口安全测试

“开源 Web 应用安全项目”(OWASP)在 2019 年发布了 API 十大安全风险 《OWASP API 安全 Top10》:失效的对象级别授权、失效的用户身份验证、过 度的数据暴露、资源缺乏和速率限制、失效的功能级授权、批量分配、安全配置 错误、注入、资产管理不当、日志和监视不足…

进程管理(一)

程序执行分析及前趋图 前驱图是有向图。 P2的执行是以P1的执行完成为条件的,或者P2是依赖P1的。 P1的有向边指向P2。 程序顺序执行 程序并发执行 I输入,C计算,P输出 第二道程序的输入和第一道程序的计算是同时进行。斜着是一个程序。 进程的定义及特征 <

WMS仓储管理系统中常见的波次划分策略

在如今高度竞争的物流行业中&#xff0c;提高订单处理效率和资源利用率是企业追求的关键目标。为了实现这些目标&#xff0c;一种被广泛应用的方法是采用拣货波次计划。本文将详细解析拣货波次计划的概念、意义以及在WMS仓储管理系统中的实现过程。 拣货波次计划是一个将不同订…

基于swing的人事管理系统

概述 个人项目人事管理系统&#xff0c;针对部门和人员之间的管理。 详细 一、项目UI 二、项目结构 三、项目使用方法 Eclipse导入现有现有项目到工作空间即可&#xff0c;会自动加载包内相关jar包&#xff0c;使用的java源文件 四、部分代码 MainFrm.java package view…

IP-guard WebServer 远程命令执行漏洞

IP-guard WebServer 远程命令执行漏洞 免责声明漏洞描述漏洞影响漏洞危害网络测绘Fofa: app="ip-guard"漏洞复现1. 构造poc2. 访问文件3. 执行命令免责声明 仅用于技术交流,目的是向相关安全人员展示漏洞利用方式,以便更好地提高网络安全意识和技术水平。 任何人不得…

playwright与cypress各有什么优势与劣势

Playwright和Cypress都是用于自动化测试的工具&#xff0c;但它们在一些方面有所不同。 Playwright的优势&#xff1a; 跨浏览器支持&#xff1a;Playwright支持多种浏览器&#xff0c;包括Chrome、Firefox和Safari等&#xff0c;可以在不同浏览器上运行测试&#xff0c;提高…

对象反序列化

使用到的流是对象字节输入流&#xff1a;ObjectInputStream 作用&#xff1a;以内存为基准&#xff0c;把存储到磁盘文件中去的对象数据恢复成内存中的对象&#xff0c;称为对象反序列化。 ObjectInputStream反序列化方法 /**目标&#xff1a;学会进行对象反序列化&#xff1…

c语言刷题第10周(16~20)

规律&#xff1a; 若多个次数最多按ASCII码顺序输出。 用for循环i取&#xff08;0~26&#xff09; 则输出满足条件的字符串中位置最靠前的那个。 用while循环遍历&#xff08;while&#xff08;a[i]!\0&#xff09;&#xff09; 从键盘输入任意只含有大小写字母的串s&…

Python全栈安全:构建安全的全栈应用

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 第一部分&#xff1a;全…

2022ICPC济南站

K Stack Sort 题意&#xff1a;给你一个长度为n的排列&#xff0c;设有m个栈&#xff0c;你需要将这n个数按出现顺序入栈&#xff0c;每次入栈操作从m个栈中选择一个栈从栈顶入栈。当所有元素入栈完成后&#xff0c;需要不断选择栈&#xff0c;将栈中元素弹空。需满足出栈顺序…

行人检测综述 之 精华提取——图表与挑战

From Handcrafted to Deep Features for Pedestrian Detection:A Survey 从手工制作到深度特征的行人检测&#xff1a;一项调查 调查内容&#xff1a; 关于行人检测的传统算法和深度学习算法&#xff1b;关于行人检测的单光谱检测和多光谱检测&#xff1b;关于行人检测的多种数…

Web APIs——综合案例

1、学生就业统计表 2、渲染业务 根据持久化数据渲染页面 步骤&#xff1a; ①&#xff1a;读取localstorage本地数据 如果有数据则转换为对象放到变量里面一会使用它渲染页面如果没有则用默认空数组[]为了测试效果&#xff0c;可以先把initData存入本地存储看效果 ②&…

超声波热量表和电磁热量表有哪些区别?

随着我们能源消耗日益增长&#xff0c;热量计量已成为节能减排、能源管理的重要手段。热量表是用于测量热能消耗的仪表&#xff0c;其中超声波热量表和电磁热量表是常见的两种类型。下面&#xff0c;就由小编来为大家详细的介绍下超声波热量表和电磁热量表的区别&#xff0c;一…

电影《二手杰作》观后感

上周看了电影《二手杰作》,在看电影的时候&#xff0c;自己感觉其实多少有些文艺范&#xff0c;或者有些尴尬的&#xff0c;但是在电影里还好&#xff0c;不过整个故事看下来&#xff0c;多少有点代入感&#xff0c;不多但还是有点。 故事情节&#xff0c;比较简单&#xff0c…

为你摘星辰

欢迎来到程序小院 为你摘星辰 玩法&#xff1a;鼠标控制人物方向&#xff0c;点击鼠标键上升人物&#xff0c;经过⭐️⭐️吃掉获得分数&#xff0c;共三次生命&#xff0c;碰到红色障碍物减去一次生命&#xff0c; 人物掉落底部游戏结束&#xff0c;看你获得多少分^^。开始游…

Linux C基础(9)

1、指针的算术元素 总结&#xff1a; p n:pn对于p向地址增大的方向移动n个数据实际的变化&#xff1a;p sizeof(数据类型)*np - n:p-n对于p向地址减小的方向移动n个数据实际的变化&#xff1a;p - sizeof(数据类型)*np:p向地址增大的方向移动1个数据实际的变化&#xff1a;p …

【手把手教你】将python程序打包成exe可执行文件

1. 安装环境 pip install pyinstaller6.0.02. 打包文件 pyinstaller -D “要启动的文件名“.py比如我的命令就是&#xff1a;pyinstaller -D eval.py 执行完后&#xff0c;会生两个文件夹dist和bulib两个文件和一个xxx.spec文件 3. 删除生成的文件 删除生成的bulid和dist文…

Java实现调用openAI接口返回流式数据

一&#xff0c;添加依赖 <dependency><groupId>com.github.plexpt</groupId><artifactId>chatgpt</artifactId><version>4.0.7</version> </dependency>二&#xff0c;重写SseEmitter 改为UTF-8编码 import org.springframe…