Разработайте и сравните алгоритмы обучения с подкреплением, используя этот набор инструментов.
Если вы не можете создать модель машинного обучения с нуля или вам не хватает инфраструктуры, простое подключение вашего приложения к работающей модели устраняет этот пробел.
Искусственный интеллект здесь для всех, чтобы использовать так или иначе. Что касается OpenAI Gym, здесь есть множество исследуемых тренировочных площадок, на которых можно кормить своих агентов обучения с подкреплением.
Что такое OpenAI Gym, как он работает и что с его помощью можно построить?
Что такое тренажерный зал OpenAI?
OpenAI Gym — это Pythonic API, который предоставляет смоделированные тренировочные среды для агентов обучения с подкреплением, чтобы они могли действовать на основе наблюдений за окружающей средой; каждое действие сопровождается положительным или отрицательным вознаграждением, которое накапливается на каждом временном шаге. Хотя агент стремится максимизировать вознаграждение, он получает штраф за каждое неожиданное решение.
Временной шаг — это такт дискретного времени для перехода среды в другое состояние. Это складывается по мере того, как действия агента изменяют состояние среды.
Как работает тренажерный зал OpenAI?
Среды OpenAI Gym основаны на марковском процессе принятия решений (MDP), динамической модели принятия решений, используемой в обучении с подкреплением. Отсюда следует, что вознаграждение приходит только тогда, когда среда меняет свое состояние. И события в следующем состоянии зависят только от текущего состояния, так как MDP не учитывает прошлые события.
Прежде чем двигаться дальше, давайте рассмотрим пример, чтобы быстро понять применение OpenAI Gym в обучении с подкреплением.
Предполагая, что вы собираетесь тренировать машину в гоночной игре, вы можете раскрутить гоночную трассу в OpenAI Gym. При обучении с подкреплением, если транспортное средство поворачивает направо, а не налево, оно может получить отрицательное вознаграждение в размере -1. Ипподром меняется на каждом временном шаге и может усложняться в последующих состояниях.
Отрицательные награды или штрафы не так уж плохи для агента в обучении с подкреплением. В некоторых случаях это побуждает его к более быстрому достижению цели. Таким образом, автомобиль со временем узнает о трассе и осваивает навигацию, используя полосы вознаграждения.
Например, мы инициировали Замороженное озеро-v1 среда, где агент наказывается за падение в прорубь, но вознаграждается за восстановление подарочной коробки.
В нашем первом прогоне было меньше штрафов без наград:
Однако третья итерация создала более сложную среду. Но агент получил несколько наград:
Приведенный выше результат не означает, что агент улучшится в следующей итерации. Хотя в следующий раз он может успешно избежать большего количества отверстий, он может не получить вознаграждения. Но изменение нескольких параметров может улучшить скорость обучения.
Компоненты тренажерного зала OpenAI
API OpenAI Gym вращается вокруг следующих компонентов:
- среды где вы обучаете агента. Вы можете инициировать один с помощью спортзал.сделать метод. OpenAI Gym также поддерживает многоагентные среды.
- обертки для изменения существующей среды. Хотя каждое базовое окружение предварительно упаковано по умолчанию, вы можете масштабировать его с помощью таких параметров, как max_actions, min_actions и максимальное вознаграждение.
- Ан действие; определяет, что делает агент, наблюдая за изменениями в своей среде. Каждое действие в среде — это шаг, определяющий реакцию агента на наблюдения. Завершение шага возвращает наблюдение, вознаграждение, информацию и значение усечения или завершения.
- наблюдение; определяет опыт агента в среде. Как только есть наблюдение, следует действие с его информацией. Параметр info — это журнал выполнения, удобный для отладки. После завершения шага среда сбрасывается n раз, в зависимости от количества указанных итераций.
Что вы можете сделать с OpenAI Gym?
Поскольку OpenAI Gym позволяет создавать настраиваемые среды обучения, вот несколько способов его использования в реальном сценарии.
1. Игровое моделирование
Вы можете использовать игровую среду OpenAI Gym для поощрения желаемого поведения, создания игровых наград и повышения сложности на уровне игры.
2. Распознавание изображений
Там, где есть ограниченный объем данных, ресурсов и времени, OpenAI Gym может быть удобен для разработки системы распознавания изображений. На более глубоком уровне вы можете масштабировать его для создания системы распознавания лиц, которая вознаграждает агента за правильное распознавание лиц.
3. Обучение роботов
OpenAI Gym также предлагает интуитивно понятные модели среды для 3D- и 2D-моделирования, где вы можете реализовать желаемое поведение роботов. Робошкола является примером масштабируемого программного обеспечения для моделирования роботов, созданного с использованием OpenAI Gym.
4. Маркетинг
Вы также можете создавать маркетинговые решения, такие как рекламные серверы, боты для торговли акциями, боты для прогнозирования продаж, системы рекомендаций по продуктам и многое другое, используя OpenAI Gym. Например, вы можете создать собственную модель OpenAI Gym, которая наказывает рекламу на основе показов и рейтинга кликов.
5. Обработка естественного языка
Некоторые способы применения OpenAI Gym в обработка естественного языка представляют собой вопросы с несколькими вариантами ответов, включающие завершение предложения или создание классификатора спама. Например, вы можете обучить агента запоминать варианты предложений, чтобы избежать предвзятости при отметке участников.
Как начать работу с тренажерным залом OpenAI
OpenAI Gym поддерживает Python 3.7 и более поздние версии. Чтобы настроить среду OpenAI Gym, вы установите спортзал, разветвленная постоянно поддерживаемая версия тренажерного зала:
pip установить спортзал
Затем раскрутите среду. Однако вы можете создать пользовательскую среду. Но начните с того, что поиграйте с существующим, чтобы освоить концепцию OpenAI Gym.
Код ниже запускает Замороженное озеро-v1. env.reset метод записывает начальное наблюдение:
Импортировать спортзал как спортзал
env = спортзал.сделать(«Ледяное озеро-v1», режим_рендеринга ="человек")
наблюдение, информация = env.reset()
Для работы некоторых сред требуются дополнительные библиотеки. Если вам нужно установить другую библиотеку, Python рекомендует это через сообщение об исключении.
Например, вы установите дополнительную библиотеку (спортзал[toy-текст]) для запуска Замороженное озеро-v1 среда.
Используйте возможности OpenAI Gym
Одной из неудач в развитии ИИ и машинного обучения является нехватка инфраструктуры и обучающих наборов данных. Но когда вы хотите интегрировать модели машинного обучения в свои приложения или устройства, теперь все проще, когда готовые модели ИИ летают по Интернету. Хотя некоторые из этих инструментов недороги, другие, в том числе OpenAI Gym, бесплатны и имеют открытый исходный код.