关于OpenAI Gym的定义和使用

译文
人工智能
如果您无法从头开始构建一个机器学习模型,或者缺少相应的基础设施,仅仅将应用程序连接到工作模型就可以填补这个缺口。

译者 | 布加迪

审校 | 重楼

如果您无法从头开始构建一个机器学习模型,或者缺少相应的基础设施,仅仅将应用程序连接到工作模型就可以填补这个缺口

人工智能所有人以某种方式使用。至于OpenAI Gym,有许多值得一试的训练环境为您的强化学习代理馈送内容

那么OpenAI Gym到底是什么?它是如何工作的?您可以用它构建什么

OpenAI Gym的定义

OpenAI Gym是一个Python风格的API,为强化学习代理提供模拟训练环境,使其可以根据环境观察采取行动每个动作都有积极或消极的奖励,这种奖励在每个时间步长都会累积。虽然代理旨在实现奖励最大化,但它会因每个意想不到的决定而受到惩罚。

时间步长是环境进入另一种状态的离散时间单位。当代理的动作改变环境状态时,它就会加。

OpenAI Gym如何运作?

OpenAI Gym环境基于马尔可夫决策过程MDP),这是一种用于强化学习的动态决策模型。因此,只有当环境改变状态时,奖励才会出现。下一个状态的事件只依赖当前状态,因为MDP不考虑过去的事件。

在继续介绍之前,不妨通过一个快速了解OpenAI Gym在强化学习中的应用。

假设您打算在赛车游戏中训练一辆汽车,可以在OpenAI Gym启动赛道在强化学习中,如果车辆向右转而不是向左转,它可能会得到-1的负奖励。赛道在每个时间步都发生变化,并在随后的状态中可能变得更复杂。

消极的奖励或惩罚对于强化学习中的代理来说不是坏事。在些情况下,它会鼓励代理更快地实现目标。因此,随着时间的推移,汽车逐渐了解赛道,并使用一系列奖励熟练掌握导航。

比如说,我们创建了FrozenLake-v1环境,在这个环境中,代理因掉进冰洞会受到惩罚,但找回礼盒得到奖励。

我们第一次运行生成的惩罚较少,没有奖励

然而,第三次迭代生成了更复杂的环境。但代理得到了一些奖励

上面的结果并不意味着代理在下一迭代中得到改进。虽然下一次它可能会成功地避开更多的洞,但它可能得不到任何奖励。但修改几个参数可能会提高学习速度。

OpenAI的组件

OpenAI Gym API围绕以下组件:

  • 训练代理所在的环境。您可以使用gym.make方法初始化环境OpenAI Gym还支持多代理环境。
  • 用于修改现有环境的包装器。虽然每个基本环境在默认情况下都预包装,但您可以使用max_actionsmin_actionsmax rewards等参数重新调整规模。
  • 动作定义代理在观察环境中的变化时所做的事情。环境中的每个动作都是一个步骤,定义了代理对观察结果的响应。步骤完成返回观察值、励、信息以及截断值或终止值。
  • 观察定义代理在环境中的经验。一旦观察到结果,动作就会跟随信息。info参数是一个执行日志,便于调试。一旦一个步骤结束,环境将重置n次,这取决于指定迭代的次数。

可以用OpenAIGym做什么?

由于OpenAI Gym允许您启用自定义学习环境,以下是在现实场景中使用它的几个方法。

1. 游戏模拟

您可以利用OpenAI Gym的游戏环境来奖励所需的行为创建游戏奖励,并增加每个游戏级别的复杂性。

2. 图像识别

在数据、资源和时间有限的情况下,OpenAI Gym便于开发图像识别系统。在更深层次上,您可以扩展它来构建人脸识别系统,该系统将奖励正确识别人脸的代理。

3.机器人训练

OpenAI Gym还提供了3D和2D模拟的直观环境模型,您可以将所需的行为实现到机器人中。Roboschool是一个例子,可以使用OpenAI Gym构建扩展规模机器人模拟软件。

4. 市场营销

您还可以使用OpenAI Gym构建广告服务器、股票交易机器人、销售预测机器人、产品推荐系统等营销解决方案。比如说,您可以构建自定义OpenAI Gym模型,根据印象和点击率对广告进行惩罚。

5. 自然语言处理

将OpenAI Gym应用于自然语言处理的一些方法是涉及句子补全或构建垃圾邮件分类器的多项选择题。比如说,您可以训练一个代理学习句子变化,从而在标记参与者时避免

如何上手OpenAI Gym?

OpenAI Gym支持Python 3.7及更高版本。创建OpenAI Gym环境,就需要安装Gymnasium,这是不断得到支持的分叉Gym版本

pip install gymnasium

接下来,启动一个环境。不过,您可以创建自定义环境。但是,要想掌握OpenAI Gym概念,先从现有的环境开始。

下面的代码启动FrozenLake-v1。env.reset方法记录了初始观察结果:

import gymnasium as gym
env = gym.make('FrozenLake-v1', render_mode="human")

observation, info = env.reset()

注意:一些环境需要额外的库才能工作。如果您需要安装另一个库,Python会通过异常消息来推荐库。

比如说,您将安装额外的库(gymnasium[toy-text])来运行FrozenLake-v1环境

运用OpenAI Gym的力量

阻碍人工智能和机器学习发展的因素之一是缺少基础设施和训练数据集。但是当您希望将机器学习模型整合到应用程序或设备中时,由于现成的人工智能模型在网上唾手可得,现在一切都变得更容易了。其中一些工具是低成本工具包括OpenAI Gym在内的其他工具是免费的开源工具。

原文标题:What Is OpenAI Gym and How Can You Use It?,作者:Idowu Omisola

责任编辑:华轩 来源: 51CTO
相关推荐

2024-02-21 23:11:19

2023-11-23 08:00:00

OpenAILangChain

2024-04-10 09:08:05

WPFWinForms.NET

2024-03-27 11:26:39

2018-04-12 07:10:23

2023-01-30 17:14:40

人工智能语音识别

2010-08-23 13:05:16

padding-lef

2009-12-22 13:35:00

链接状态路由协议

2023-09-12 13:59:41

OpenAI数据集

2010-01-07 17:41:19

JSON定义法

2010-03-23 16:28:31

CentOS使用

2009-09-21 09:40:12

Java元数据Java注释

2010-08-13 10:01:46

Flex样式定义

2023-11-20 17:12:40

微软OpenAI

2023-12-08 14:50:45

Python枚举类工具

2020-07-25 16:33:02

tmuxGitLinux终端

2009-10-29 16:52:23

2010-05-26 14:41:38

JavaScript

2017-03-13 16:48:05

Git技巧

2023-08-11 09:16:14

点赞
收藏

51CTO技术栈公众号