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

强化学习实验环境库 gym/Gymnasium

Gym库(https://gym.openai.com) 是OpenAI推出的强化学习实验环境库。它用Python语言实现了离散之间智能体-环境接口中的环境部分。每个环境就代表着一类强化学习问题,用户通过设计和训练自己的智能体来解决这些强化学习问题。
OpenAI 已经将 Gym 的维护权移交给了 FARAMA 基金会。Gym 的官方继任者是 Gymnasium。

Gym/Gymnasium 中的主要环境类别

可以通过 gym.make('环境ID') 来创建这些环境。

1. 经典控制问题

低维、连续或离散状态/动作空间的经典问题,非常适合算法验证和教学。

  • CartPole-v1

    • 描述:控制一个小车,使其上的杆子保持直立不倒。

    • 目标:保持杆子直立的时间尽可能长。

    • 动作空间:离散(左推,右推)。

                     状态空间:连续(小车位置、速度、杆子角度、角速度)。

                     奖励机制:每一步杆子没有倒下,就给予 +1 的奖励。

                     终止条件:

                          杆子与垂直线的夹角超过 ±12°。

                          小车移动超出轨道边界(x坐标超过 ±2.4)。

                          步数达到 500(对于v1版本,这意味着最高奖励是500)

  • MountainCar-v0
    • 描述:一辆动力不足的小车位于山谷中,需要通过来回摆动才能爬上右边的山顶。

    • 目标:以最少的步骤到达右侧标志旗处。

    • 动作空间:离散(左加速,不加速,右加速)。

    • 状态空间:连续(小车位置,速度)。

                     奖励机制:在每一步,只要没有到达目标,就给予 -1 的奖励。

                     终止条件:小车到达目标位置(x >= 0.5)。

                     特点:这是一个典型的负奖励设计。智能体必须尽快到达目标,因为每一步都在“扣分”。它被迫学会“来回摆动”以积累动量,这是一种延迟满足的经典例子。

  • Pendulum-v1
    • 描述:一个无摩擦的钟摆,初始位置随机。

    • 目标:施加扭矩,使钟摆保持直立,并且消耗的能量最少。

    • 动作空间:连续(扭矩大小)。

    • 状态空间:连续(角度,角速度)。

    • 奖励机制:奖励计算是一个联合公式,旨在平衡角度和扭矩(能量消耗):
      奖励 = -(θ² + 0.1 * θ̇² + 0.001 * τ²)

      • θ:角度(0度是顶端,弧度表示)。越偏离顶端,惩罚越大。

      • θ̇:角速度。速度越快,惩罚越大,鼓励稳定。

      • τ:施加的扭矩。扭矩越大,惩罚越大,鼓励节能。

    • 特点:这是一个连续负奖励。奖励始终为负,智能体的目标是最大化这个负值(即让它尽可能接近0)。这是一个多目标优化的典型设计。

  • Acrobot-v1
    • 描述:一个由两个连杆组成的系统,像一个倒立的双摆。

    • 目标:通过摆动下方的连杆,使系统末端的点达到指定高度。

    • 动作空间:离散(对下方连杆施加正向、负向扭矩或不施加)。

    • 状态空间:连续(两个连杆的角度和角速度)。

                    奖励机制:每一步没有达到目标,就给予 -1 的奖励。

                    终止条件:末端点的y坐标超过指定高度。

                    特点:与MountainCar类似,是稀疏的负奖励。智能体需要找到一种高效的摆动策略,以最少的步骤完成任务。

2. Box2D 物理引擎环境

这些是使用 Box2D 物理引擎构建的连续控制任务,比经典控制问题更复杂。

  • LunarLander-v2

    • 描述:控制一个登月舱在月球表面平稳着陆。

    • 目标:在着陆点平稳着陆,速度不能太快。

    • 动作空间:离散(不点火,主引擎点火,左/右侧引擎点火)。

    • 状态空间:连续(位置、速度、角度、角速度、腿部是否触地等)。

                奖励机制:这是一个非常精细的稠密塑形奖励,包含多个部分:

    • 成功着陆:在着陆坪中心平稳着陆(速度慢、角度正),奖励约 +100 到 +140。

    • 坠毁:如果以过快速度撞击地面,奖励 -100。

    • 着陆位置:离着陆坪中心越近,奖励越高。

    • 燃料消耗:使用主引擎会有一个小的负奖励(约-0.3/帧),鼓励节省燃料。

    • 存活奖励:每一帧智能体还“活着”(未坠毁或成功),就有一个小的正奖励。

    • 腿接触地面:每条腿接触到着陆坪时有一个正奖励(约+10)。

               特点:这是一个奖励塑形的典范,它清晰地分解了任务目标(平稳、居中、省燃料),引导智能体学习复杂的控制策略。

  • BipedalWalker-v3 和 BipedalWalkerHardcore-v3

    • 描述:控制一个双足机器人向前行走。

    • 目标:走得越远越好,同时消耗的能量越少越好。

    • 动作空间:连续(对四个关节施加的扭矩)。

    • 状态空间:连续(身体速度,关节角度,激光雷达测距数据等)。

    • Hardcore 版本:增加了障碍物、陷阱等,难度极大。

                   奖励机制:

    1. 前进奖励:每向前移动一步,奖励等于向前移动的距离。

    2. 能量惩罚:对每个关节施加的扭矩进行惩罚(-0.001 * Σ(torque²)),鼓励高效行走。

    3. 关节稳定性惩罚:对关节的角速度进行小惩罚,鼓励平滑运动。

    4. 终止惩罚:如果机器人摔倒(躯干碰到地面),奖励 -100,并且episode结束。

                  特点:这是一个典型的权衡型奖励。智能体需要在“走得更快”和“消耗更少能量/更稳定”之间做出权衡。

  • CarRacing-v2

    • 描述:一个顶视角的赛车游戏,需要控制一辆车在赛道上行驶。

    • 观察空间:RGB 图像(96x96像素)。

    • 动作空间:连续(转向,油门,刹车)。

3. Atari 游戏环境

这些是基于 Arcade Learning Environment (ALE) 的经典雅达利2600游戏,是测试智能体从像素中学习能力的基准。

  • 特点:

    • 观察空间:通常是原始的 RGB 图像(210x160像素),但常被预处理为灰度并下采样(如84x84)。

    • 动作空间:离散(游戏手柄的操作,如上下左右、开火等)。

  • 常见示例:

    • Breakout-v4(打砖块)

    • Pong-v4(乒乓球)

    • SpaceInvaders-v4(太空侵略者)

    • MsPacman-v4(吃豆人小姐)

    • Seaquest-v4(海底大战)

  • 奖励机制:奖励直接来自于游戏的原始分数变化。

    • 例如,在 Pong 中,赢一个球得 +1 分,输一个球得 -1 分。

    • 在 Breakout 中,每打掉一个砖块,就获得相应的分数(如+1到+7)。

    • 在 SpaceInvaders 中,击毁一个外星人获得相应分数。

4. MuJoCo 物理引擎环境

MuJoCo 是一个高性能的物理模拟器,用于复杂的连续控制机器人任务。注意:MuJoCo 自 2021 年 10 月起已开源,但安装过程可能稍复杂。

这些环境现在通常包含在 Gymnasium Robotics 或 DeepMind Control Suite 中。

  • Ant-v4

    • 描述:控制一个四足“蚂蚁”机器人前进。

    • 目标:向前移动,同时减少能量消耗和保持稳定。

  • HalfCheetah-v4

    • 描述:控制一个双足“猎豹”机器人快速奔跑。

  • Hopper-v4

    • 描述:控制一个单足“袋鼠”机器人向前跳跃。

  • Humanoid-v4

    • 描述:控制一个仿人机器人行走,非常复杂。

  • Reacher-v4

    • 描述:一个两关节机械臂,需要让末端执行器触达目标点。

5. 其他环境和第三方扩展

  • Toy Text 环境:非常简单的网格世界式环境,用于演示表格型方法(如Q-Learning)。

    • FrozenLake-v1:智能体需要穿越一个结冰的湖面到达目标,避免掉入冰窟。

    • Taxi-v3:智能体(出租车)需要接上乘客并将其送到目的地。

    • Blackjack-v1:二十一点扑克游戏。

  • 第三方环境:Gym 的强大之处在于其开放的接口,社区创建了大量环境。

    • procgen: OpenAI 发布的程序化生成环境,用于测试泛化能力。

    • Minigrid: 简单的网格世界环境,包含部分可观察性和语言指令。

    • Safety Gym: 专注于安全强化学习的环境,包含成本约束。

    • PyBullet: 一个替代 MuJoCo 的免费开源物理引擎,也提供了许多机器人环境。

 

http://www.hskmm.com/?act=detail&tid=27180

相关文章:

  • 设备的分配与回收
  • Encoding.RegisterProvider(CodePagesEncodingProvider.Instance)了解
  • TortoiseGit——Error:Unable to write index
  • 2025 年最新推荐超声波清洗机源头厂家排行榜:深度解析各品牌核心优势与选购指南龙门式/悬挂链/全自动/多臂式/多槽式超声波清洗机厂家推荐
  • 2025 年等离子清洗机源头厂家最新推荐排行榜:聚焦大气真空宽幅等多类型设备,精选实力口碑双优企业自动化/常压/低温/大腔体/射频等离子清洗机厂家推荐
  • 2025 年最新推荐!国内空调机组厂家权威排行榜,含冷凝热回收等多类型机组企业优选指南冷凝热回收/泳池热泵/屋顶式/海水源养殖热泵空调机组厂家推荐
  • 基于Zernike灰度矩的亚像素边缘检测实现(精度0.05 pixel)
  • 鸿蒙应用开发从入门到实战(十七):ArkUI组件List列表布局
  • 2025 最新推荐!AI 写作工具公司榜单:综合实力、用户体验与新锐品牌深度解析
  • 2025 最新推荐:AI 写小说工具公司口碑排行榜,聚焦卓越品质与新锐实力的权威指南
  • Gitee领航本土DevOps平台发展新纪元:数字化转型中的中国方案
  • 一天一款实用的AI工具,第5期,AI翻译成日语
  • 2025 年最新推荐金相厂家榜单:涵盖磨抛机 / 切割机 / 显微镜等设备,助力企业精准选品
  • Go工程打包版本号
  • C#调用matlab封装的dll报错
  • 生产设备数据采集怎么做?主要有哪些应用?
  • 2025 年编码器源头厂家最新推荐榜单:聚焦无磁 / 光学 / 脉冲 / 绝对型等多类型编码器,精选优质企业助力采购决策
  • 2025 年绝对式编码器源头厂家最新推荐榜单:增量 / 多圈 / 二进制 /ssi/ 拉线型产品优质企业全面盘点
  • go.work工作区
  • 2025 房屋改造设计公司最新推荐榜:覆盖全场景需求,精准匹配老房 / 小户型 / 局部改造优质品牌
  • 2025 年最新推荐碳纤维布源头厂家口碑排行榜:实力企业重点项目案例与选择指南全解析建筑/加固/300克/碳纤维加固布厂家推荐
  • 如何在AutoCAD中进行GIS建库?
  • Java方法的值传递机制学习笔记
  • Gitee发布MCP Server:重新定义AI赋能的代码协作新时代
  • 小程序上传文件,如发票
  • AI问答与搜索引擎:信息获取的现状
  • 2025 年别墅电梯优质厂家最新推荐排行榜:聚焦技术安全与市场口碑,助力业主精准选购家用/自建房/电梯维修/电梯加装/电梯改造/老旧小区加装电梯厂家推荐
  • 跨网文件摆渡系统是什么?你想了解的问题都在这!
  • 使用Grok获取Sora2邀请码
  • 一文详解企业如何借助AI技术重构业务基因(附发展趋势、关键能力、具体策略)