25/1/8 算法笔记<强化学习> GYM环境

news2025/1/9 10:52:29

前几天花了好多时间在装各个仿真环境上,有V-rep,Pybullet,unity的Ml-agent,很多一大堆,好多好多问题差点逼疯我,可能就pybullet能玩一点,到之后学了机器人我再来玩它,最后的最后,我发现还得是我的gym,最方便的玩强化学习的平台。天哪,怎么会这么方便。

接下来我用gym编了SAC的代码,学到下面这个

rsample可重参数化采样

在 SAC(Soft Actor-Critic)算法中,rsample() 用于从策略分布中采样动作,并计算策略梯度。

但是可惜SAC不适用于离散动作的环境,所以我用了DQN和q-learning算法来比较

环境都是CartPole-v1,就是那个摆子。

这是DQN算法的奖励可视化。

下面是q-learning的

你别说你还真别说这两张图对比下来感觉300轮下来,q-learning比DQN要稳定一点啊

但是啊这可能是环境相对简单。q-learning一般用于简单的环境比较好,增长一开始快,之后就趋于平缓,DQN适用于复杂环境,可以看见它增长更为稳定和持续。

  • Q-learning可能在简单环境中表现较好,但在复杂环境中可能不如DQN。DQN通过使用神经网络来近似Q值函数,能够处理高维状态空间,因此在复杂任务中通常表现更优。

  • 如果Q-learning的Reward在后期趋于平缓,而DQN的Reward持续增长,这可能表明DQN在处理复杂任务时具有更好的扩展性和学习能力。

明天将带来更多环境的不同算法的对比。今天的“摆子”是离散型的。

在 OpenAI Gym 中,常见的连续动作环境包括:

  1. Pendulum-v1:倒立摆环境,需要通过施加连续的力矩来保持平衡。

  2. MountainCarContinuous-v0:爬山车问题,目标是在最少的时间内把车开到山顶。

  3. BipedalWalker-v3:双足机器人行走,需要平衡和协调。

  4. LunarLanderContinuous-v2:着陆器在月球表面着陆,使用连续的推力实现控制。

  5. Humanoid-v4:控制人形机器人行走。

在 OpenAI Gym 中,常见的离散动作环境包括:

  1. CartPole-v1:控制一个有杆的小车,让杆保持直立。

  2. MountainCar-v0:爬山车问题,目标是通过离散加速度到达山顶。

  3. Acrobot-v1:双杆摆控制,目标是摆动到一定高度。

  4. Taxi-v3:在指定的网格世界中接乘客并送至目的地。

  5. FrozenLake-v1:经典冰湖问题,通过网格导航找到出口,避免掉入洞中。

ok明天见。

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

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

相关文章

学习随记:word2vec中归一化处理的作用

答案来自ai,直接复用为参考: 向量归一化的好处 将向量进行归一化,使其模长为 1(即投射到单位圆/单位球上),在许多情况下具有实际意义和计算优势。以下是归一化的主要好处和原因: 1. 提高数值稳…

【C++】B2108 图像模糊处理

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述题目内容输入格式输出格式示例输入:输出: 💯题目分析问题拆解 💯我的做法代码实现代码分析 💯老师的做法…

selenium+pyqt5自动化工具总结

说明:本工具是,操作外部google浏览器、selenium是无法操作qt界面中嵌套的浏览器的, 工具在后面 1. 代码结构 pycharm打开的文件下,再写一个子文件,文件导入的时候把子文件名带上 这样就可以在 外层使用命令 pyinst…

经典多模态模型CLIP - 直观且详尽的解释

对比语言-图像预训练(CLIP),这是一种创新的多模态建模策略,能够创建视觉和语言的联合表示。CLIP 的效果非常出色,可以用于构建高度特定且性能卓越的分类器,而无需任何训练数据。本文将深入探讨其理论基础&a…

新时期下k8s 网络插件calico 安装

1、k8s master节点初始化完毕以后一直处于notreadey状态,一直怀疑是安装有问题或者是初始化有问题(当然,如果真有问题要先解决这些问题),经过不断探索才发现是网络插件没有安装导致的,根据建议安装calico插…

【图像加密解密】Logistic混沌映射的彩色图像加密算法复现(含相关性检验)【Matlab完整源码 1期】

1、说明 本文给出详细完整代码、完整的实验报告和PPT。 环境:MATLAB2019a 复现文献:[1]黄硕.基于改进的Logistic混沌映射彩色图像加密算法[J].河南工程学院学报(自然科学版),2015,27(02):63-67. 主要目的是为了快速了解何为混沌序列、混沌序列产生、…

[AUTOSAR 基础入门] - RTE虚拟总线详解

文章目录 一、什么是RTE二、RTE的作用三、RTE对Runnables的运行支撑四、RTE与通信4.1. RTE – ECU之间通信4.2. RTE - Sender/Receiver 通信4.2.1 不使用队列(直接访问)4.2.2 不使用队列(缓存访问)4.2.3 使用队列 4.3 RTE - Clien…

Linux下文件操作相关接口

文章目录 一 文件是什么普通数据文件 二 文件是谁打开的进程用户 三 进程打开文件的相关的接口c语言标准库相关文件接口1. fopen 函数2. fread 函数3. fwrite 函数4. fclose 函数5. fseek 函数 linux系统调用接口1. open 系统调用2. creat 系统调用3. read 系统调用4. write 系…

用Python实现简单的任务自动化

目录 1. 自动发送邮件提醒 2. 自动备份文件 3. 自动下载网页内容 总结 在现代工作和生活中,任务自动化可以极大地提高效率和准确性。Python,作为一种功能强大且易于学习的编程语言,是实现任务自动化的理想选择。本文将通过几个简单而实用的案例,展示如何用Python实现任…

小程序开发-页面事件之上拉触底实战案例

🎥 作者简介: CSDN\阿里云\腾讯云\华为云开发社区优质创作者,专注分享大数据、Python、数据库、人工智能等领域的优质内容 🌸个人主页: 长风清留杨的博客 🍃形式准则: 无论成就大小,…

Docker 服务、镜像、容器之命令(Docker Services, Images, and Container Commands)

Docker 服务、镜像、容器之命令 Docker是一个强大的容器化平台,能够帮助开发者高效地构建、部署和管理应用程序。本文将详细介绍Docker的服务命令、镜像命令和容器命令,帮助你快速上手Docker。 一、Docker的服务相关命令 在使用Docker之前&#xff0c…

STM32内置Flash

一、原理 利用flash存储用户数据需要注意查看,用户数据是否会覆盖芯片运行程序。 IAP(在程序中编程)利用程序修改程序本身,和OTA是一个原理。IAP在程序中编程支持任意一种通信下载。 ICP(在电路中编程,通…

两种方式实现Kepware与PLC之间的心跳检测

两种方式实现Kepware与PLC之间的心跳检测 实现Kepware与PLC之间的心跳检测1.OPCUA 外挂程序2.Kepware Advanced Tag 实现Kepware与PLC之间的心跳检测 1.OPCUA 外挂程序 这是通过上位程序来触发心跳的一种机制,在C#中,可以利用OPC UAOPCAutodll的方式…

英伟达Project Digits赋能医疗大模型:创新应用与未来展望

英伟达Project Digits赋能医疗大模型:创新应用与未来展望 一、引言 1.1 研究背景与意义 在当今数字化时代,医疗行业作为关乎国计民生的关键领域,正面临着前所未有的挑战与机遇。一方面,传统医疗模式在应对海量医疗数据的处理、复…

中国省级产业结构高级化及合理化数据测算(2000-2023年)

一、数据介绍 数据名称:中国省级产业结构高级化、泰尔指数 数据年份:2000-2023年 数据范围:31个省份 数据来源:中国统计年鉴、国家统计局 数据整理:内含原始版本、线性插值版本、ARIMA填补版本 数据说明&#xf…

关于Mac使用VSCode连接虚拟机

1. 下载插件 输入Remote - SSH下载下图两个插件。 2. 配置虚拟机信息 按图示步骤点击完成后,进入到虚拟主机的配置页面。 其中Host可以自定义主机名,HostName是虚拟机ip,可以通过ifconfig eth0查看ip,User是虚拟机的用户名。…

GOGOGO 接口

低高耦合?【程序中追求低耦合,所以接口广用】 低耦合:关联依赖性弱(你走了我还在) 高耦合:关联依赖性强(牵一发而动全身) 接口 概念:多个抽象方法的集合,只有结构无具体实现,并交给实现类完成功能操作【接口写功能,实现类写具体实现】 语法结构: 定义接口的关…

nginx反向代理+缓存

1、nginx-LB配置页面缓存 [rootOldboy conf]# vi nginx.conf http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;include proxy.conf; …

React中的合成事件

合成事件与原生事件 区别: 1. 命名不一样,原生用纯小写方式,react用小驼峰的方式 原生:onclick React的:onClick 2. 事件处理函数的写法不一样 原生的是传入一个字符串,react写法传入一个回调函数 3.…

智能安全帽_4G/5G智能安全帽主板方案定制开发

智能安全帽是一种先进的安全防护设备,主要以视频和语音通话为功能,能够全面记录施工现场的作业情况,并支持管理人员与现场工作人员之间的双向语音通话。这一创新设计使得项目管理人员能够实时、有效地掌握施工过程中的安全和质量情况。 这款智…