Логотип 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.
Шест тележки-это традиционная задача обучения подкреплению, где вы должны сбалансировать палку.
Давайте попробуем разобраться в этом коде:
- gym.make(“ИМЯ СРЕДЫ”): возвращает среду, которая была передана в качестве параметра. Если вы перейдете по этой ссылке https://gym.openai.com/envs/#classic_control , вы можете увидеть список всех различных сред, которые были добавлены сообществом. Другой список всех сред можно найти по этой ссылке: https://github.com/openai/gym/wiki/Table-of-environments
- env.reset(): Эта команда сбросит среду, как показано ниже на скриншоте. Он возвращает начальное наблюдение.
- for _ in range(1000): Эта строка в коде python будет запускать экземпляр среды ‘Cart Pole-v0’ в течение 1000 временных шагов.
- env.render(): Эта команда отобразит всплывающее окно. Поскольку он написан в цикле, обновленное всплывающее окно будет отображаться для каждого нового действия, выполняемого на каждом шаге.
- env.step(): Эта команда будет выполнять действие на каждом шаге. Действие задается в качестве его параметра. Функция Env.step возвращает четыре параметра, а именно наблюдение, вознаграждение, сделано и информация. Эти четыре объяснены ниже:
а) наблюдение : специфический для окружающей среды объект, представляющий ваше наблюдение за окружающей средой.
б) вознаграждение : сумма вознаграждения, полученная за предыдущее действие. Это значение типа данных с плавающей запятой. Масштаб варьируется в зависимости от среды.
c) done : Логическое значение, указывающее, пришло ли время снова сбросить среду.
d) info (dict): диагностическая информация, полезная для отладки.
Каждый раз агент выбирает действие , а среда возвращает наблюдение и вознаграждение .
Надеюсь, эта статья даст вам представление о том, что такое Открытый тренажерный зал и как вы можете использовать его для реализации своих алгоритмов обучения подкреплению.