当前位置: 首页 > news >正文

深入理解强化学习——智能体的类型:有模型强化学习智能体与免模型强化学习智能体

分类目录:《深入理解强化学习》总目录


根据智能体学习的事物不同,我们可以把智能体进行归类。基于价值的智能体(Value-based agent)显式地学习价值函数,隐式地学习它的策略。策略是其从学到的价值函数里面推算出来的。基于策略的智能体(Policy-based Agent)直接学习策略,我们给它一个状态,它就会输出对应动作的概率。基于策略的智能体并没有学习价值函数。把基于价值的智能体和基于策略的智能体结合起来就有了Actor-Critic智能体(Actor-Critic Agent)。这一类智能体把策略和价值函数都学习了,然后通过两者的交互得到最佳的动作。本文就将介绍有模型强化学习智能体和免模型强化学习智能体的区别。

我们可以通过智能体到底有没有学习环境模型来对智能体进行分类。 有模型(Model-based)强化学习智能体通过学习状态的转移来采取动作。 免模型(Model-free)强化学习智能体没有去直接估计状态的转移,也没有得到环境的具体转移变量,它通过学习价值函数和策略函数进行决策。免模型强化学习智能体的模型里面没有环境转移的模型。

我们可以用马尔可夫决策过程来定义强化学习任务,并将其表示为四元组 < S , A , P , R > <S, A, P, R> <S,A,P,R>,即状态集合、动作集合、状态转移函数和奖励函数。如果这个四元组中所有元素均已知,且状态集合和动作集合在有限步数内是有限集,则智能体可以对真实环境进行建模,构建一个虚拟世界来模拟真实环境中的状态和交互反应。 具体来说,当智能体知道状态转移函数 P ( s t + 1 ∣ s t , a t ) P(s_{t+1}|s_t, a_t) P(st+1st,at)和奖励函数 R ( s t , a t ) R(s_t, a_t) R(st,at)后,它就能知道在某一状态下执行某一动作后能带来的奖励和环境的下一状态,这样智能体就不需要在真实环境中采取动作,直接在虚拟世界中学习和规划策略即可。这种学习方法称为有模型强化学习。 有模型强化学习的流程如下图所示:
有模型强化学习流程

然而在实际应用中,智能体并不是那么容易就能知道马尔可夫决策过程中的所有元素的。通常情况下,状态转移函数和奖励函数很难估计,甚至连环境中的状态都可能是未知的,这时就需要采用免模型强化学习。免模型强化学习没有对真实环境进行建模,智能体只能在真实环境中通过一定的策略来执行动作,等待奖励和状态迁移,然后根据这些反馈信息来更新动作策略,这样反复迭代直到学习到最优策略。

针对是否需要对真实环境建模,强化学习可以分为有模型强化学习和免模型强化学习。有模型强化学习是指根据环境中的经验,构建一个虚拟世界,同时在真实环境和虚拟世界中学习;免模型强化学习是指不对环境进行建模,直接与真实环境进行交互来学习到最优策略。

总之,有模型强化学习相比免模型强化学习仅仅多出一个步骤,即对真实环境进行建模。因此,一些有模型的强化学习方法,也可以在免模型的强化学习方法中使用。在实际应用中,如果不清楚该用有模型强化学习还是免模型强化学习,可以先思考在智能体执行动作前,是否能对下一步的状态和奖励进行预测,如果能,就能够对环境进行建模,从而采用有模型学习。

免模型强化学习通常属于数据驱动型方法,需要大量的采样来估计状态、动作及奖励函数,从而优化动作策略。例如,在雅达利平台上的《太空侵略者》游戏中,免模型的深度强化学习需要大约两亿帧游戏画面才能学到比较理想的效果。相比之下,有模型的深度强化学习可以在一定程度上缓解训练数据匮乏的问题,因为智能体可以在虚拟世界中进行训练。 免模型学习的泛化性要优于有模型强化学习,原因是有模型强化学习算需要对真实环境进行建模,并且虚拟世界与真实环境之间可能还有差异,这限制了有模型强化学习算法的泛化性。 有模型的强化学习方法可以对环境建模,使得该类方法具有独特魅力,即“想象能力”。在免模型强化学习中,智能体只能一步一步地采取策略,等待真实环境的反馈;有模型强化学习可以在虚拟世界中预测出将要发生的事,并采取对自己最有利的策略。

目前,大部分深度强化学习方法都采用了免模型强化学习,这是因为:免模型强化学习更为简单、直观且有丰富的开源资料,如AlphaGo系列都采用免模型强化学习;在目前的强化学习研究中,大部分情况下环境都是静态的、可描述的,智能体的状态是离散的、可观察的(如雅达利游戏平台),这种相对简单、确定的问题并不需要评估状态转移函数和奖励函数,可直接采用免模型强化学习,使用大量的样本进行训练就能获得较好的效果。

如下图所示,我们可以把几类模型放到同一个图里面。下图有3个组成成分:价值函数、策略和模型。按一个智能体具有三者中的三者、两者或一者的情况可以把它分成很多类:
强化学习智能体的类型

参考文献:
[1] 张伟楠, 沈键, 俞勇. 动手学强化学习[M]. 人民邮电出版社, 2022.
[2] Richard S. Sutton, Andrew G. Barto. 强化学习(第2版)[M]. 电子工业出版社, 2019
[3] Maxim Lapan. 深度强化学习实践(原书第2版)[M]. 北京华章图文信息有限公司, 2021
[4] 王琦, 杨毅远, 江季. Easy RL:强化学习教程 [M]. 人民邮电出版社, 2022

相关文章:

深入理解强化学习——智能体的类型:有模型强化学习智能体与免模型强化学习智能体

分类目录&#xff1a;《深入理解强化学习》总目录 根据智能体学习的事物不同&#xff0c;我们可以把智能体进行归类。基于价值的智能体&#xff08;Value-based agent&#xff09;显式地学习价值函数&#xff0c;隐式地学习它的策略。策略是其从学到的价值函数里面推算出来的。…...

vue项目获得开源代码之后跳过登录界面

readme运行 进入到账号和密码 找到main.js 比如说&#xff0c;以上这段代码 剩下next&#xff08;&#xff09;就成功进入了...

WPS、Excel表格增加一列,序列1到任意大小 / 填充某个范围的数字到列

Excel添加一列递增的数字方法有如下&#xff1a; 一、最常用的&#xff0c;使用鼠标放到右下角下拉增加 1、选中起始框的右下角&#xff0c;直到显示黑色实心十字 2、一直向下拖动 3、成功 这种填充方式是最常用的&#xff0c;100以内都可以轻松瞬间完成 1~100填充 但是如果…...

在 rider 里用配置 Perforce(P4)的注意事项

整个配置界面里&#xff0c;关键就配2处位置&#xff0c;但是都有些误导性。 1是连接形参的4个参数都得填&#xff0c;字符集看你项目的要求&#xff0c;这里工作区其实指的是你的工作空间&#xff0c;还不如显示英文的 Workspace 呢&#xff0c;搞得我一开始没填&#xff0c;…...

在Spring中,标签管理的Bean中,为什么使用@Autowired自动装配修饰引用类(前提条件该引用类也是标签管理的Bean)

Autowired是Spring框架的一个注解&#xff0c;它可以用来完成自动装配。 自动装配是Spring框架的一个特性&#xff0c;它可以避免手动去注入依赖&#xff0c;而是由框架自动注入。这样可以减少代码的重复性和提高开发效率。 在使用Autowired注解时&#xff0c;Spring会自动搜…...

俄罗斯YandexGPT 2在国家考试中获得高分;OpenAI API开发者快速入门指南

&#x1f989; AI新闻 &#x1f680; 俄罗斯YandexGPT 2聊天机器人成功在国家考试中获得高分 摘要&#xff1a;俄罗斯YandexGPT 2聊天机器人通过国家统一考试文学科目&#xff0c;以55分的加权分数成功进入大学。Yandex团队强调他们在开发过程中确保数据库不包含任何关于统考…...

Nginx 同一端口下部署多个 Vue3 项目

前言 前端多项目部署到 Nginx 的同一监听端口下的解决方案&#xff0c;项目由一个主项目和多个子项目组成&#xff0c;主项目和子项目都是单独打包。 主子项目之间是使用的腾讯开源的无界&#xff08;WebComponent 容器 iframe 沙箱&#xff09;前端框架&#xff0c;能够完善…...

计算机毕业设计 无人智慧超市管理系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…...

js构造函数和原型链

以下是一个简单的JS原型链代码示例&#xff1a; function Person(name, age) {this.name name;this.age age; }Person.prototype.sayHello function() {console.log(Hello, Im ${this.name} and Im ${this.age} years old.); }let person1 new Person(Alice, 20);person1.…...

python中matrix()矩阵和array()数组(待完善)

参考&#xff1a;python矩阵中matrix()和array()函数区别-CSDN博客 区别&#xff1a; 维度&#xff1a;ndarray可以是多维的&#xff0c;包括1D、2D、3D等&#xff0c;而matrix只能是2维的&#xff0c;也就是矩阵。数据类型&#xff1a;ndarray的数据类型可以不一致&#xf…...

设计海报都有哪些好用的软件推荐

在新媒体时代&#xff0c;设计在各个方面都是不可分割的。它最初是设计师的工作&#xff0c;并逐渐成为新媒体编辑的必要技能。 网页内容需要图片和文字&#xff0c;应用程序需要独特的风格基调&#xff0c;人们更喜欢分享视频和图片&#xff0c;而不是简单的文本。因此&#…...

Arcgis中像元值变化问题,拉伸显示的是否为实际像元值范围?

Arcgis中合并栅格但像元值变化 问题描述 这是四幅栅格&#xff0c;范围都在-1-9之间&#xff0c;怀疑这个范围是否是真实的范围。因为经常听到同学说放到arcgis拉伸显示之后&#xff0c;值变化了&#xff0c;所以研究一下。 原因 可以打开ENVI的像元快速统计工具&#xff…...

oracle库中数据利用datax工具同步至mysql库

查看oracle版本 $sqlplus aaa/aaaa192.168.1.1/lcfaSQL*Plus: Release 19.0.0.0.0 - Production on Tue Oct 17 15:56:46 2023 Version 19.15.0.0.0Copyright (c) 1982, 2022, Oracle. All rights reserved.Last Successful login time: Tue Oct 17 2023 15:56:03 08:00Conne…...

【Unity HDRP渲染管线下的WorleyUtilities文件,“Hash”函数】

Unity HDRP内置文件WorleyUtilities WorleyUtilities文件路径如下:文件代码如下然后转译到ShaderLab中:存档:WorleyUtilities文件路径如下: D:…\Library\PackageCache\com.unity.render-pipelines.high-definition@14.0.8\Runtime\Lighting\VolumetricClouds\WorleyUtili…...

前端跨域问题解决

一、同源策略 同源策略是一个重要的安全策略&#xff0c;它用于限制一个Origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档&#xff0c;减少可能被攻击的媒介。 Origin&#xff1a;指web文档的来源&#xff0c;Web 内容的来源取决于访问的U…...

【前端】Js

目 录 一.前置知识第一个程序JavaScript 的书写形式注释输入输出 二.语法概览变量的使用理解 动态类型基本数据类型 三.运算符算术运算符赋值运算符 & 复合赋值运算符自增自减运算符比较运算符逻辑运算符位运算移位运算 四.条件语句if 语句三元表达式switch 五.循环语句whi…...

第四章 Istio出口流量管理

文章目录 访问外部服务Envoy 代理将请求传递给网格外服务配置服务条目以提供对外部服务的受控访问访问外部 HTTP 服务 直接访问外部服务 出口网关清理 HTTP 网关其他 访问外部服务 为了更好的做好网络访问控制&#xff0c;k8s结合Istio出口网络升级示意图 来自 Istio 的 pod…...

leetcode做题笔记188. 买卖股票的最佳时机 IV

给你一个整数数组 prices 和一个整数 k &#xff0c;其中 prices[i] 是某支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说&#xff0c;你最多可以买 k 次&#xff0c;卖 k 次。 注意&#xff1a;你不能同时参与多…...

基于springboot实现大学生社团活动平台项目【项目源码+论文说明】

摘要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;网络管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信…...

力扣--第三大的数

给你一个非空数组&#xff0c;返回此数组中 第三大的数 。如果不存在&#xff0c;则返回数组中最大的数。 示例 1&#xff1a; 输入&#xff1a;[3, 2, 1] 输出&#xff1a;1 解释&#xff1a;第三大的数是 1 。 示例 2&#xff1a; 输入&#xff1a;[1, 2] 输出&#xff1…...

Android 11.0 禁用adb reboot recovery命令实现正常重启功能

1.前言 在11.0的系统开发中,在定制recovery模块的时候,由于产品开发需要要求禁用recovery的相关功能,比如在通过adb命令的 adb reboot recovery的方式进入recovery也需要实现禁用,所以就需要了解相关进入recovery流程来禁用该功能 2.禁用adb reboot recovery命令实现正常…...

Cesium Vue(一)— 项目初始化配置

1. 创建VUE项目工程 创建项目 vue create cesium-vue配置Vue3 2. 创建vue.config.js文件 const { defineConfig } require(vue/cli-service)// The path to the CesiumJS source code const cesiumSource node_modules/cesium/Source; const cesiumWorkers ../Build/C…...

【linux下centos7.9安装docker,docker-composed(root用户)】

一 安装docker 1.联网下载安装docker curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 2.安装成功 docker -v 3.将docker注册为service&#xff0c;进入/etc/systemd/system/目录,并创建docker.service文件&#xff08;注意insecure-registry修改成自己的…...

腾讯云我的世界mc服务器配置怎么选择?

使用腾讯云服务器开Minecraft我的世界服务器配置怎么选择&#xff1f;10人以内玩2核4G就够用了&#xff0c;开我的世界服务器选择轻量应用服务器就够了&#xff0c;腾讯云轻量CPU采用至强白金处理器&#xff0c;大型整合包一般1.12版本的&#xff0c;轻量2核4G配置都差不多的&a…...

《低代码指南》——AI低代码维格云架构视图怎么用?

架构视图是一个展示信息层级关系的视图,轻轻拖拽卡片,就能搭建精巧缜密的企业组织架构视图、实现信息结构化。 利用好架构视图,可以很好地解决以下场景: 展示企业/团队的组织关系 可视化管理产品开发架构 统筹全员 OKR 完成情况 架构视图的基础知识​ 架构视图分为以下几个…...

ubuntu16.04安装vscode遇到的code 依赖于 libnss3 (>= 2:3.30)解决

ubuntu16.04安装vscode遇到的code 依赖于 libnss3 (> 2:3.30)&#xff1b;然而&#xff1a;系统中 libnss3:amd64 的版本为 2:3.28.4-0ubuntu0.16.04.14解决方法 一开始下载了最新版本的vscode&#xff0c;安装时出现了上面的错误状况&#xff0c;最新版本的依赖库版本过低的…...

它来了,xhadmin多应用Saas框架正式发布!

这是一个很激动人心的时刻&#xff0c;因为这个框架从立项到现在已经一年多的时间了&#xff0c;先给大家欣赏下颜值吧。 上图所示是总后台的首页截图&#xff0c;看上去还是比较满意的&#xff0c;不过后续还有一些小小的调整。 应用市场的效果也是相当炸裂的&#xff0c;整体…...

PixMIM论文笔记

论文名称&#xff1a;PixMIM: Rethinking Pixel Reconstruction in Masked Image Modeling 发表时间&#xff1a;2023 年 3 月 4 日 作者及组织&#xff1a;上海人工智能实验室、西蒙菲莎大学、香港中文大学 GitHub&#xff1a;https://github.com/open-mmlab/mmselfsup/tree/d…...

设计师首选:最佳的5款网页设计软件

对于UI设计师来说&#xff0c;网页设计是一项必要的技能。如何做好网页设计&#xff1f;除了设计理念&#xff0c;网页设计和制作软件的应用也是不可或缺的。目前市场上有很多这样的软件&#xff0c;工人要想做好&#xff0c;就必须先磨利工具。如果他们想做网页设计&#xff0…...

ES6箭头函数

1.箭头函数的写法 如果函数内有返回值 var fn v > v 1 返回值如果不是表达式(是对象)&#xff0c;用()括号返回 var fn v > ({ obj: v }) 返回值如果不是表达式(也不是对象)方法体内按正常写 var fu () > {var a 1;var b a1;return b; } 2.箭头函数和普通…...

网站建站平台开发服务/网站排名优化公司

为了方便大家学习&#xff0c;现与我爱蓝牙网联合推出【QCC300x/CSR867x/QCC30xx/QCC51xx开发板】。 技术交流QQ群号&#xff1a;743434463 开发板会员QQ群号&#xff1a;725398389&#xff08;凭订单号入群&#xff0c;赠独家学习资料&#xff09; ——————————正文分…...

校园二手网站的建设方案/百度竞价冷门产品

作者&#xff1a;掌控安全-SSG版本说明&#xff1a;Webfinger 下载地址&#xff1a;https://github.com/se55i0n/Webfinger 使用环境&#xff1a;基于python2 工具说明&#xff1a;探测目标web指纹信息 一、安装 1、下载 如果你想通过命令行下载&#xff0c;那你可以打开…...

网站开发合同范本大全/短视频培训机构

转自&#xff1a;https://blog.csdn.net/yutong5818/article/details/81319120 kmp算法的精髓就在于next数组&#xff0c;从而达到跳跃式匹配的高效模式。 而next数组的值是代表着字符串的前缀与后缀相同的最大长度,(不能包括自身)。 "前缀"指除了最后一个字符以外…...

怎么做网站里的悬浮窗口/seo程序

一开始以为是完全背包问题&#xff0c;但是背包的体积V太大&#xff0c;直接背包果断不过。  正解应该是 大范围贪心&#xff0c;小范围背包。 直接谈心不能保证充分利用背包的体积&#xff0c;从而不能保证找到最优解。 但是背包找到的最优解也肯定是尽可能将性价比高的物品放…...

嘉兴市建设委员会网站/如何自己弄个免费网站

【题目描述】 居民们想要建一个啤酒厂。岛上所有的城市都坐落在海边&#xff0c;并且由一条沿海岸线的环岛高速路连接。酒厂的投资者收集了关于啤酒需求量的信息&#xff0c;即每天各城市消费的啤酒桶数。另外还知道相邻城市之间的距离。每桶啤酒每英里的运费是1元。日运费是将…...

网站设计公司北京/软文推广案例大全

webserviceSOAP Web服务无论如何都不是最先进的技术-尽管它仍然存在&#xff0c;但是基于REST的Web服务却提供了激烈的竞争。 无论如何–这绝对不是REST vs SOAP帖子&#xff01;我观察到了一些实例&#xff0c;至少可以说&#xff0c;以不理想的方式使用基于Java的SOAP Web服务…...