TellWorldAI 世界档案
问档案English

首页›产品

产品

OpenAI Gym

OpenAI Gym 是 2016 年 4 月以 beta 形式公布的强化学习工具包,既提供从经典控制任务到 Atari 游戏、模拟机器人的环境集合,也提供一个用于比较和复现结果的网站。

时代 深度学习

发布日期
开发方
OpenAI

是什么

OpenAI Gym 是一套用来开发和比较强化学习(reinforcement learning)算法的工具包[1]。强化学习是机器学习的一个分支:程序不会被直接告知正确答案,而是通过在环境里不断尝试动作、接收奖励信号,逐步调整自己的行为,使长期累积到的奖励变大。这类程序表现好坏,既取决于算法本身,也取决于它被训练和测试时所处的环境。要让两个算法真正可比,就得先让它们面对同一套环境、同一套记录方式。Gym 处理的就是这个问题。

由来

2016 年 4 月 27 日,OpenAI 以 beta 版本的形式公布了 Gym,发布文章由联合创始人 Greg Brockman 撰写[1]。OpenAI 表示,做这套工具最初是为了加快自己的强化学习研究,同时也希望它能服务更广大的社区[1]。

两个组成部分

Gym 分为两半。一半是一套不断扩充的环境集合,从模拟机器人到 Atari 游戏;另一半是一个用于比较和复现结果的网站[1]。环境本身用 Python 编写[1];工具包则被设计成可以配合用任意框架写成的算法使用,TensorFlow 和 Theano 被举为例子[1]。后一点在实际使用中很关键:一个研究者如果已经用某个框架搭好了学习系统,不应该为了在一个标准任务上测试它而重写一遍。

首批发布的五组环境

首个版本把环境分成五组:经典控制与玩具文本任务、算法任务、Atari、棋盘游戏,以及 2D 和 3D 机器人[1]。这几组环境对学习者的要求各不相同。Atari 环境集成了 Arcade Learning Environment[1],于是此前在基准工作中使用的那批基于画面的电子游戏,可以通过 Gym 的接口取用。机器人环境依赖 MuJoCo 物理引擎[1],这类模拟器会计算运动物体的接触力和关节动力学。棋盘游戏环境提供 9x9 和 19x19 的围棋对局,对手是 Pachi 引擎[1],把状态空间极大的棋类与小规模控制任务放在了同一个工具包里。

版本号与可比性

每个环境都带有一个版本号,环境一旦发生变化,版本号就递增,从而让结果保持可比[1]。这是一个很小的设计决定,影响却不小。如果某个任务的动力学、初始条件或奖励尺度被悄悄改动,改动前后报告的数字就不再衡量同一件事。给每个环境绑定版本号,使得一个已发表的成绩可以对应到它产生时的确切版本。

是整理过的贡献列表,而非排行榜

OpenAI 表示不做排行榜,而是维护一份经过整理的贡献列表,并且更看重方法的一般性,而不是单纯的分数高低[1]。这个选择与工具包的两个部分是一致的:一个方法如果在某款游戏上分数很高,却需要为每个新任务手工调参,那它不如一个能在多种任务上通用的方法;而一份经过整理的列表可以记录下一个方法究竟需要什么条件才跑得起来,单纯的分数做不到这一点。

在领域中的位置

Gym 是以 beta 形式较早发布的,它被当作基础设施而非研究成果来呈现:不是一个新的学习算法,而是算法得以被试验和比较的共同地面。它的各个组成部分对应着当时这个领域的实际麻烦——环境散落在互不相通的代码库里、结果难以复现、算法被绑在特定框架上、基准容易奖励窄化的调参。环境集合、与框架无关的接口、逐环境的版本号,以及用整理过的列表取代排行榜,都是针对这些麻烦给出的回答[1]。

生态与地区开源开发者工具

历史研究史

开发方1

OpenAI

作为基础1

OpenAI Universe

注释与来源

  1. OpenAI Gym Betahttps://openai.com/index/openai-gym-beta/

引用本页: OpenAI Gym. TellWorld, https://www.tellworld.net/zh/products/openai-gym. 更新于 2026-11-07