强化学习环境gym/gymnasium下的atari环境的v0、v4、v5的说明
声明:
本文是最新版gym-0.26.2下Atari环境的安装以及环境版本v0,v4,v5的说明的部分更新和汇总,可以看作是更新和延续版本。
由于gym已经由openai公司独立出来,虽然开发团队和投资方都没有变,但是相关的网站和版本已经由变化了,名字也从gym变成gymnasium,因此我们在讨论gym的时候默认都是指最新的gymnasium版本,其相关地址:
但是其所含的atari环境也从gymnasium中独立出来,其最新地址为:

本文内容主要是对最新版gym-0.26.2下Atari环境的安装以及环境版本v0,v4,v5的说明的延续和更新,关于v0,v4,v5版本的不同请转至该链接地址下。
更新:
space_invaders游戏下v5版本的frameskip=4,而不是3,但是这并不会出现什么太大问题,因为v5版本下repeat_action_probability=0.25,这种随机性可以避免原始DQN论文中指出的可能出现的问题;而当repeat_action_probability=0时要么frameskip=3,要么frameskip =(2,3,4)中的随机数值,由此可以看到在space_invaders的真实交互中只要保证一定的随机性,那么即使v5版本中frameskip=4也不会影响真实的DQN算法训练的。

论文:
Machado et al.
“Revisiting the Arcade Learning Environment: Evaluation Protocols and Open Problems for General Agents”
Journal of Artificial Intelligence Research (2018)
URL: https://jair.org/index.php/jair/article/view/11182

中对游戏的模式和难度级别给出的大致情况:

gym给出的具体实现重点模式和难度级别情况:
https://www.gymlibrary.dev/environments/atari/#flavors

使用DQN算法解决atari游戏时的常用超参设置:

PS:
为什么在atari游戏中使用repeat_action_probability很重要呢,因为atari游戏是确定性游戏而不是随机性游戏,也就是说atari游戏是从同一个起始点开始的,如果采用相同的交互动作,那么多次生成的新的episodes将会是完全相同的,而这种不具备随机性的游戏环境是不符合真实强化学习应该解决的问题的要求的,因此需要加入该参数以增加强化学习算法对随机环境的适应能力。
相关:
最新版gym-0.26.2下Atari环境的安装以及环境版本v0,v4,v5的说明
(续) gym atari游戏的环境设置问题:Breakout-v0, Breakout-v4, BreakoutNoFrameskip-v4和BreakoutDeterministic-v4的区别
【转载】 gym atari游戏的环境设置问题:Breakout-v0, Breakout-v4, BreakoutNoFrameskip-v4和BreakoutDeterministic-v4的区别
强化学习环境gym/gymnasium下的atari环境的v0、v4、v5的说明的更多相关文章
- Java学习心得之 Linux下搭建Java环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...
- Java学习心得之 Linux下搭建JavaWeb环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...
- Ruby学习心得之 Linux下搭建Ruby环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...
- Scrapy爬虫学习笔记 - windows \ linux下搭建开发环境2
四.虚拟环境的安装和配置 virtualenv可以搭建虚拟且独立的python运行环境, 使得单个项目的运行环境与其它项目独立起来. virtualenv本质上是个python包 虚拟环境可以将开发环 ...
- 一步步学习Python-django开发-Mac下搭建Python-Django环境
首先确定学习那一个版本,以之前对Python的接触,Python2.x 的版本仍然占据很大的市场.但作为初学者我还是决定学习新的版本,相信未来会逐渐转向3.x版本的. 其实搭建Python不是一件很难 ...
- Scrapy爬虫学习笔记 - windows \ linux下搭建开发环境1
一.pycharm的安装和简单使用 二.mysql和navicat的安装和使用 三.windows和linux下安装pytho ...
- 强化学习 平台 openAI 的 gym 安装 (Ubuntu环境下如何安装Python的gym模块)
openAI 公司给出了一个集成较多环境的强化学习平台 gym , 本篇博客主要是讲它怎么安装. openAI公司的主页: https://www.openai.com/systems/ 从主页上我 ...
- Linux学习心得之 Linux下命令行Android开发环境的搭建
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...
- 【转】【强化学习】Deep Q Network(DQN)算法详解
原文地址:https://blog.csdn.net/qq_30615903/article/details/80744083 DQN(Deep Q-Learning)是将深度学习deeplearni ...
- 深度强化学习资料(视频+PPT+PDF下载)
https://blog.csdn.net/Mbx8X9u/article/details/80780459 课程主页:http://rll.berkeley.edu/deeprlcourse/ 所有 ...
随机推荐
- ApplicationRunner的讲解
在开发中可能会有这样的情景.需要在容器启动的时候执行一些内容.比如读取配置文件,数据库连接之类的.SpringBoot给我们提供了两个接口来帮助我们实现这种需求.这两个接口分别为CommandLine ...
- SMU Spring 2023 Trial Contest Round 11
A. The Text Splitting 题意:给出字符串长度,给出p和q两种切割方式,任选其中一种,把字符串分割输出结果. 题解:先进行判断,p和q是否能整个的分割n,利用p和q的函数关系判断(见 ...
- 树莓派CM4(三): 定制自己的树莓派镜像
1. 镜像下载 使用树莓派最新的镜像Raspberry Pi OS Lite,内核版本6.6 下载链接 https://downloads.raspberrypi.com/raspios_lite_a ...
- 1000T的文件怎么能快速从南京传到北京?最佳方案你肯定想不到
今天刷面试题看到一个有意思的面试题, 1000T的文件怎么能以最快速度从南京传到北京? 网络传输 首先我们考虑通过网络传输,需要多长时间. 我特地咨询了在运营商工作的同学,目前带宽: 家庭宽带下行最大 ...
- Python 开发中,使用bcrypt 或 Passlib 对系统用户密码进行哈希和验证处理
在设计一个系统的时候,肯定都有会有用户身份认证的问题,一般对用户校验的时候,都是对用户存在数据库总的密码哈希值进行判断,从而避免密码泄露和反向解密,那么在Python 开发中,我们可以引入bcrypt ...
- layui表格中格式化日期
layui表格中格式化日期 //1.引入 util layui.use(['table', 'admin'], function () { var util = layui.util; //2.表格内 ...
- 免费、开源、详细完整的unity游戏、游戏源码、教程:人工智能分析和处理对话的美好三维世界(定期更新)
这份unity游戏.游戏源码.教程:完全免费,完全开源,完整详细,通俗易懂,适合初学者入门,定期更新. 我不想和任何人说话,任何人不要跟我说话,不要打扰我,我要安安静静的写.我解释一下原因: 俗话说& ...
- LaTeX 编译 acmart 文档报错:No country present for an affiliation.
在编译一篇从 arXiv 下载的文档时遇到如下错误: Class acmart Error: No country present for an affiliation. 有两种解决方案: 将错误降级 ...
- C语言数据的存储
目录 类型的基本归类 整形在内存中的存储 原码.反码.补码 大小端介绍 练习 浮点型在内存中的存储 浮点数存储的例子 浮点数存储规则 类型的基本归类 整形家族: char unsigned char ...
- Java 1.8 Stream流原理与用法总结
一.接口设计 从Java1.8开始提出了Stream流的概念,侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式:依旧先看核心接口的设计: BaseStream:基础接口,声明了流管理的核心 ...