Рубрики
Без рубрики

Понимание OpenAI Gym

В этой статье дается основное введение в OpenAI Gymtoolkit.

Автор оригинала: Ashish.

Логотип OpenAI Gym

OpenAI-это некоммерческая исследовательская компания, которая сосредоточена на создании ИИ таким образом, чтобы это было хорошо для всех. Он был основан Илоном Маском и Сэмом Альтманом. Миссия Openais, как указано на их веб-сайте, заключается в том, чтобы “создать безопасный AGI и обеспечить его преимущества как можно более широко и равномерно распределенными”.

OpenAI Gym-это инструментарий для разработки и сравнения алгоритмов обучения подкреплению. Он поддерживает обучение агентов всему – от ходьбы до игры в такие игры, как понг или пинбол. Тренажерный зал-это интерфейс с открытым исходным кодом для задач обучения подкреплению. Тренажерный зал предоставляет среду, и это зависит от разработчика, чтобы реализовать любые алгоритмы обучения подкреплению. Разработчики могут написать агент, используя существующую библиотеку численных вычислений, такую как TensorFlow или Theano.

Среда тренажерного зала OpenAI (AntV0): 3D-прогулка четвероногого робота

Пример Кода Тренажерного Зала

Давайте рассмотрим пример кода для создания среды под названием “Taxi-v1”.

import gym  
env = gym.make(["Taxi-v1"](https://gym.openai.com/envs/Taxi-v1))

Другой код ниже будет выполнять экземпляр среды ‘Cart Pole-v0’ для 1000 временных меток, визуализируя среду на каждом шаге. Как только это будет выполнено, мы увидим всплывающее окно, отображающее классическую проблему тележки-шеста:

import gym  
env = gym.make('CartPole-v0')  
obs = env.reset()  
for _ in range(1000):  
env.render()  
env.step(env.action\_space.sample()) ## take a random action

Ниже приведен вывод, который мы видим в терминале при выполнении приведенного выше кода.

Ниже приведено всплывающее окно, в котором отображается выполняемая среда cart pole.

Шест тележки-это традиционная задача обучения подкреплению, где вы должны сбалансировать палку.

Давайте попробуем разобраться в этом коде:

  1. gym.make(“ИМЯ СРЕДЫ”): возвращает среду, которая была передана в качестве параметра. Если вы перейдете по этой ссылке https://gym.openai.com/envs/#classic_control , вы можете увидеть список всех различных сред, которые были добавлены сообществом. Другой список всех сред можно найти по этой ссылке: https://github.com/openai/gym/wiki/Table-of-environments
  2. env.reset(): Эта команда сбросит среду, как показано ниже на скриншоте. Он возвращает начальное наблюдение.
  3. for _ in range(1000): Эта строка в коде python будет запускать экземпляр среды ‘Cart Pole-v0’ в течение 1000 временных шагов.
  4. env.render(): Эта команда отобразит всплывающее окно. Поскольку он написан в цикле, обновленное всплывающее окно будет отображаться для каждого нового действия, выполняемого на каждом шаге.
  5. env.step(): Эта команда будет выполнять действие на каждом шаге. Действие задается в качестве его параметра. Функция Env.step возвращает четыре параметра, а именно наблюдение, вознаграждение, сделано и информация. Эти четыре объяснены ниже:

а) наблюдение : специфический для окружающей среды объект, представляющий ваше наблюдение за окружающей средой.

б) вознаграждение : сумма вознаграждения, полученная за предыдущее действие. Это значение типа данных с плавающей запятой. Масштаб варьируется в зависимости от среды.

c) done : Логическое значение, указывающее, пришло ли время снова сбросить среду.

d) info (dict): диагностическая информация, полезная для отладки.

Каждый раз агент выбирает действие , а среда возвращает наблюдение и вознаграждение .

Надеюсь, эта статья даст вам представление о том, что такое Открытый тренажерный зал и как вы можете использовать его для реализации своих алгоритмов обучения подкреплению.