声明:

本文是最新版gym-0.26.2下Atari环境的安装以及环境版本v0,v4,v5的说明的部分更新和汇总,可以看作是更新和延续版本。

由于gym已经由openai公司独立出来,虽然开发团队和投资方都没有变,但是相关的网站和版本已经由变化了,名字也从gym变成gymnasium,因此我们在讨论gym的时候默认都是指最新的gymnasium版本,其相关地址:

https://gymnasium.farama.org/

但是其所含的atari环境也从gymnasium中独立出来,其最新地址为:

https://ale.farama.org/

本文内容主要是对最新版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中所有可以用的模拟环境

强化学习环境gym/gymnasium下的atari环境的v0、v4、v5的说明的更多相关文章

  1. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  2. Java学习心得之 Linux下搭建JavaWeb环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...

  3. Ruby学习心得之 Linux下搭建Ruby环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...

  4. Scrapy爬虫学习笔记 - windows \ linux下搭建开发环境2

    四.虚拟环境的安装和配置 virtualenv可以搭建虚拟且独立的python运行环境, 使得单个项目的运行环境与其它项目独立起来. virtualenv本质上是个python包 虚拟环境可以将开发环 ...

  5. 一步步学习Python-django开发-Mac下搭建Python-Django环境

    首先确定学习那一个版本,以之前对Python的接触,Python2.x 的版本仍然占据很大的市场.但作为初学者我还是决定学习新的版本,相信未来会逐渐转向3.x版本的. 其实搭建Python不是一件很难 ...

  6. Scrapy爬虫学习笔记 - windows \ linux下搭建开发环境1

    一.pycharm的安装和简单使用                                   二.mysql和navicat的安装和使用    三.windows和linux下安装pytho ...

  7. 强化学习 平台 openAI 的 gym 安装 (Ubuntu环境下如何安装Python的gym模块)

    openAI 公司给出了一个集成较多环境的强化学习平台  gym , 本篇博客主要是讲它怎么安装. openAI公司的主页: https://www.openai.com/systems/ 从主页上我 ...

  8. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  9. 【转】【强化学习】Deep Q Network(DQN)算法详解

    原文地址:https://blog.csdn.net/qq_30615903/article/details/80744083 DQN(Deep Q-Learning)是将深度学习deeplearni ...

  10. 深度强化学习资料(视频+PPT+PDF下载)

    https://blog.csdn.net/Mbx8X9u/article/details/80780459 课程主页:http://rll.berkeley.edu/deeprlcourse/ 所有 ...

随机推荐

  1. SCC缩点模板

    struct SCC { int top = 0, cntscc = 0, dfncnt = 0, n; vector<int> dfn, low, stk, instk; vector& ...

  2. Java String 去掉特殊字符之前的内容方法

    为了去除字符串中某个特殊字符之前(包括该特殊字符本身)的所有内容,我们可以使用Java中的String类的substring和indexOf方法.这里,我将给出一个完整的代码示例,该示例会找到字符串中 ...

  3. 什么是状态机?用C语言实现进程5状态模型

    前言 状态机在实际工作开发中应用非常广泛,在刚进入公司的时候,根据公司产品做流程图的时候,发现自己经常会漏了这样或那样的状态,导致整体流程会有问题,后来知道了状态机这样的东西,发现用这幅图就可以很清晰 ...

  4. 从0写一个电话号码管理的C入门项目【适合初学者】

    0.前言 上次发了一个嵌入式的学习路线,很多粉丝问我各个阶段的入门项目,其中第二阶段的<基于socket聊天室>写了4篇循序渐进的文章,而第一阶段的<电话号码本管理>也非常想要 ...

  5. hacs安装

    安装 HACS 直接使用 Docker 的可视化管理面板 Portainer 或者通过命令行进入 Docker 容器,然后执行以下安装命令: docker exec -it <容器名称或容器ID ...

  6. K8s文件解析 涉及 SLS、MSE、NAS存储卷等

    k8s.yml模板 涉及配置: 1. 存储卷(NAS) 2. SLS设定(阿里云日志采集系统) 3. MSE配置(阿里云版nacos) 4. 配置应用参数(包括路径,布尔类型数据等) apiVersi ...

  7. 阿里云 SLS 模糊查询日志

    查询包含test前缀的词 1. 访问 https://sls.console.aliyun.com/lognext/profile 2. 在Project列表中找到对应的sls日志Project 3. ...

  8. Consider defining a bean of type 'xxxxxx' in your configuration.

    解决: 在Application类上新增@EnableConfigurationProperties({ xxxxxx.class})

  9. JavaScript – Iterator

    参考 阮一峰 – Iterator 和 for...of 循环 前言 es6 以后经常可以看到 for...of 的踪迹. 如果你细看会发现它挺神奇的. 不只是 Array 可以被 for...of, ...

  10. 【赵渝强老师】Docker Swarm实现服务的滚动更新

    一.什么是Docker Swarm? Docker Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机 ...