Breakout-v0, Breakout-v4, BreakoutNoFrameskip-v4和BreakoutDeterministic-v4的区别

  • v0v4是环境执行输入action的区别(即env.step(action)):

    • 带有v0的环境会有25%的概率执行上一个action75%的概率执行输入的action
    • v4表示100%执行输入的action,不会重复上一个action
  • 注意:以上解释仅适用于atari环境。在普通的cart-pole等环境中,v0v1等后缀的含义是根据环境而变化的。


  • NoFrameskipDeterministic是环境输出下一帧画面时的区别(即obs, reward, done, info = env.step(action)):

    • 带有NoFrameskipenv表示没有跳帧,环境会顺序地输出游戏中的每一帧游戏画面。
    • 带有Deterministicenv表示每4帧才输出一张游戏中的画面(即跳过3帧)。
    • 游戏名后面什么都不带的(如Breakout-v0),会随机从(2, 5)中采样一个跳帧数量。

  • 在训练agent时,如果想让环境跳帧,建议直接使用make_atari()函数对环境进行包装 make_atari() 源代码。

    env = gym.make(env_id)
    assert 'NoFrameskip' in env.spec.id
    env = NoopResetEnv(env, noop_max=30)
    env = MaxAndSkipEnv(env, skip=4)
    

    从源码中我们可以看出,该函数是先定义原始atari环境中带有NoFrameskip的环境,然后使用atari_wrappers中的MaxAndSkipEnv()进行包装 (MaxAndSkipEnv() 源代码),包装后的env便会执行跳帧操作。
    此时,使用MaxAndSkipEnv()包装后的环境在跳帧时,一个action会被执行多帧(取决于跳帧数量),并且每帧获取的reward也会被累加至下一次画面输出。
    此外,跳帧时,输出画面是从每n帧中的最后2帧的像素值中的最大值来组成一张图片(即比较最后2帧的每一个对应位置的像素值,然后取较大的那个像素)。因为在Atari游戏中,有些画面是仅在奇数帧出现的,因此要对最后两帧取最大值。
    个人总结:不要轻易使用带有跳帧操作的原始环境,尽量使用NoFrameskip的环境,然后使用make_atari()进行包装,实现跳帧操作。此外,尽量使用v4环境,减少执行action的随机性。
    参考链接


Atari游戏的图片预处理

Downsampling, FrameStack等技巧。

FrameStack 源代码 以及 英文原理讲解 , 中文原理解释

OpenAI gym Atari游戏的环境设置相关推荐

  1. OpenAI Gym 经典控制环境介绍——CartPole(倒立摆)

    摘要:OpenAI Gym是一款用于研发和比较强化学习算法的工具包,本文主要介绍Gym仿真环境的功能和工具包的使用方法,并详细介绍其中的经典控制问题中的倒立摆(CartPole-v0/1)问题.最后针 ...

  2. 独家 | 使用Python的OpenAI Gym对Deep Q-Learning的实操介绍(附学习资源)

    作者:ANKIT CHOUDHARY 翻译:张睿毅 校对:吴金笛 本文4300字,建议阅读10+分钟. 本文作者通过实战介绍了Deep Q-Learning的概念. 导言 我一直对游戏着迷.在紧凑的时 ...

  3. 强化学习快餐教程(2) - atari游戏

    强化学习快餐教程(2) - atari游戏 不知道看了上节的内容,大家有没有找到让杆不倒的好算法. 现在我们晋阶一下,向世界上第一种大规模的游戏机atari前进. 太空入侵者 可以通过 pip ins ...

  4. Gym导入Atari游戏环境报错

    由于Gym近期版本的更新,导致程序中 import Atari的游戏环境报错.Gym最新版本 0.21.0 虽然修复了一系列更新后的Bug,但是貌似只支持 Python 3.7及以上版本.于是为了能够 ...

  5. 第22天:如何使用OpenAI Gym和Universe构建AI游戏机器人

    by Harini Janakiraman 通过哈里尼·贾纳基拉曼 第22天:如何使用OpenAI Gym和Universe构建AI游戏机器人 (Day 22: How to build an AI ...

  6. 强化学习Openai Gym基础环境搭建

    ​ Gym提供了一些基础的强化学习环境,并且集成了许多有意思的环境,下面我们来一起看下如何在你的电脑上搭建Gym的开发环境吧. ​ Gym的Github地址. 1. ReadMe解读 ​ Gym 是一 ...

  7. Ubuntu下常用强化学习实验环境搭建(MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)

    原文地址:http://blog.csdn.net/jinzhuojun/article/details/77144590 和其它的机器学习方向一样,强化学习(Reinforcement Learni ...

  8. 强化学习——环境库OpenAI Gym

    前言 前段时间各大新闻媒体都在报道SpaceX的马斯克,因为其公司成功发射"猎鹰9号"火箭.马斯克是一个极具传奇色彩的人物,其成就也足以让他名垂青史.但今天我们要讨论的不是马斯克这 ...

  9. 常用增强学习实验环境 I (MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)

    常用增强学习实验环境 I (MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2) 标签: 强化学习OpenAI GymMuJoCoStarCra ...

  10. [环境] OpenAI gym经典控制环境CartPole-v0 介绍

    [环境]CartPole-v0 聊一聊我对强化学习的理解 对应的代码请访问我的GitHub:fxyang-bupt(可能你进去之后发现什么都没有,那是因为我注册了新的账号还在整理,这并不影响你先fol ...

最新文章

  1. struct2(四)编写Struct2 的Action
  2. 面试---如何在List<Integer>中如何存放String类型的数据?
  3. mysql with as_mysql数据库学习(第十六篇)- 视图
  4. tip use view.isineditmode() in your custom views to skip code when shown in eclipse
  5. QT-qevent 事件的accept()和ignore()
  6. 牛客15666 又见斐波那契(矩阵快速幂)
  7. 带有审计表的实体框架核心(EF Core)
  8. 贴片晶振脚位_贴片晶振的焊接方法和注意事项
  9. 1.2 Enterprise Library 应用程序块
  10. 动态规划-----(思路详解)
  11. Android 高效开发调试神器 JRebel
  12. java转换投影坐标_GeoTools坐标转换(投影转换和仿射变换)
  13. 电脑风扇转一下停一下开不了机解决方案
  14. FL Studio混合器之效果器插槽部分讲解
  15. jzy3D从入门到弃坑_3使用jzy3D0.9画2D散点图--多条线条
  16. 开机找不到硬盘的原因
  17. JavaWeb-简析MVC三层架构
  18. Java基础 快速学习(一)
  19. 修改android预览分辨率,wm命令使用方法(修改android 分辨率)修改
  20. 怎么在阿里妈妈投放广告?--人人有责-- .

热门文章

  1. 固定资产管理系统 概要说明书说明书
  2. Android实时日志查看工具Logcat
  3. 天勤系列的考研复习资料
  4. After Effects 自动导入素材和分类的脚本
  5. 亚太融媒+ | APEC数据+:“鲸确数集”环保熊猫“小保保”2022拜年 | APEC产业+
  6. NVMe 2.0 Telemetry
  7. 海洋cms模板免费下载
  8. 自己的微信小程序学习笔记【1】——小程序开发工具的使用及项目文件说明
  9. 笔试面试常见逻辑题及答案
  10. 杨百翰大学 排名Brigham Young University,入学要求,申请条件,简介_施强留学网...